跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. 集思广益
  4. 用最笨的办法保持领先

用最笨的办法保持领先

已定时 已固定 已锁定 已移动 集思广益
5 帖子 3 发布者 7.7k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • wjfonhandW 离线
    wjfonhandW 离线
    wjfonhand
    写于 最后由 编辑
    #1

    原文载于先安博客,http://cn.openerp.cn/1222。Joshua建议我转发在这里听听大家的意见。其实主要目的就是忽悠更多人来一起写openerp-china.org的页面
    ------------------------------------------------------------------------------------------------------------------------------------------

    ERP功能繁多,细节琐碎,上手容易,精通难。这是行业的共识。

    实际上最终用户只要了解大体流程、熟悉自己每天使用的那几个界面即可。并不需要对整个系统有精深的把握。

    顾问就不这么轻松了。人家“雇”你来“问”你问题的,你必须不假思索地回答,而且得答对。顾问不仅要作为老师培训最终用户如何在日常工作中使用,还要根据企业的实际情况对软件现有功能和逻辑做定制。培训要求突出重点,定制要求影响面小。这些都是在熟悉系统前提下才能达到的标准。

    OpenERP社区里有很多要成为OpenERP顾问的人,有些企业内部的IT人员也不得不自己承担这个职责(没有实施预算)。那么如何深入掌握OpenERP的方方面面细节从而保障项目实施进度,这是很多人关注的问题。

    首先说一个前提,每个人的技术背景不同,思维方式不同,做事习惯不同,所以一个方法不一定适用所有人。

    第一步,看资料达到了解。

    要了解OpenERP很容易,老肖的书、我录制的10天试用OpenERP系列、官方的OpenERP Book、6.1的Demo视频这些都有助于你了解OpenERP大体是什么样。但掌握这些您只能介绍OpenERP给别人,要实施基本上很难。

    第二步,做翻译达到熟悉。

    OpenERP有1000个模块,但并不都是常用的。基本上我们现在实施的客户主要还是进销存、财务、项目管理、人力资源、CRM这几块。当然每一块都有一些附加的小模块实现特殊功能,不过抓住主线往往是成功的关键。我在翻译OpenERP中文包的过程中,基本了解了系统自带的169个模块的功能(因为每个界面字段和错误消息都需要翻译)。可以说参与界面中文翻译是最笨但是最有效的熟悉OpenERP功能的方式。经过了这个过程,OpenERP的功能在你脑中就有了一个地图。虽然还没有细化到指导作战,但足够让你有把握回答客户,OpenERP有没有这个功能,这个功能在哪里。作为初级顾问,已经算合格了。

    第三步,写wiki达到掌握。

    初级顾问主导不了一个项目,还有一个台阶要上。如果说初级顾问脑子里有一张地图,那高级顾问脑子里就要有一本字典。对于OpenERP界面上的每一个字段、按钮,都能解释清楚数据或逻辑从哪里来,要到哪里去。这个字典用到的时候很给力,直接解决误解、困惑和问题。可是写的时候很痛苦,重复性劳动和枯燥的术语,有时可能因为一个点不明确要看两个小时代码,最后落实到字典里只是一句话。用这种方式掌握系统虽然很笨,但是很扎实。就像在地图上插红旗,红旗插满了就胜利了。其实你把地图看几百遍也不如去实地走一下,能映入你脑海的不是那个地名,而是只有那个时间那个地点才有的风景。实际上我们在开始写OpenERP中国社区的wiki之后,也深深感到,自己参与或是等别人写完了再来看,区别很大。别人写好了,那只是一张更详细的地图而已,你看了它你还是初级顾问。只有你新建了这个页面,复制了大量文本作为骨架,经过仔细研究斟酌填满了血肉,你才能说你真正掌握了。而且对你说,这个字典不需要索引(索引是给初级顾问看的),你总是知道用什么关键字来找回这段记忆。

    第四步,读源码达到精通。

    脑子里有了那本字典,你已经是高级顾问了。遗憾的是,高级顾问是名片上印的,这个行业里最多的就是参差不齐的高级顾问。如何把优秀变成卓越,保持领先?要知其然更要知其所以然,能问出有启发性的扩展问题,才是能力的体现。最后一个笨办法就读源代码。顾问读源代码,听起来有点儿疯狂。这不应该是码农的事情么?实际上,源代码是开源项目的最大资产,我们一直只关注了分发的自由,却没有重视阅读的自由。对于ERP咨询顾问这个行当来说,其他厂商很少为你提供这个机会。所以其他ERP顾问可以背地图、背字典,却无法更深入,深入到加入expert的maillist影响下一个版本的功能设计。在googlecode上逐行注释写上自己的理解并发布出来请技术牛人指正,这本身就是跨界交流的最好方式。为你在项目上提出最优的实现方案打下坚实的基础。更重要的是,源码提供最终答案。你在资料里看到的、在界面上感觉的,不一定是正确的。源代码不会粉饰、无法润色,系统有没有这个功能、功能实现到什么程度、有没有隐含的或是显式的bug,怎么修补或是绕过这个bug,源代码里都有唯一正确的标准答案。

    —- 突兀的分割线 —-

    [glow=red,2,300]阅读文档、参与翻译、整理wiki、阅读源码[/glow],这是先安员工正在使用的方学习方法。不是什么技巧,相反很慢、很笨,但很有效。希望介绍给其他人共同进步,通过扎扎实实的进步与初学者拉开距离,积累能力为用户创造价值。

    当然,笨办法不适合聪明人。其他的路也可以通罗马。是否选择这条路,仍旧是自由的。

    GoodERP -- Odoo China fork

    1 条回复 最后回复
    0
    • JoshuaJ 离线
      JoshuaJ 离线
      Joshua 管理员
      写于 最后由 编辑
      #2

      阅读文档、参与翻译、整理wiki、阅读源码 刚好是我的顺序,我就是开始从官方文档开始,然后一步步走过来的 🙂

      【上海先安科技】(joshua AT openerp.cn),欢迎关注公众号:openerp_cn

      1 条回复 最后回复
      0
      • X 离线
        X 离线
        xuxudodo
        写于 最后由 编辑
        #3

        加一个,不知是否合适, 熟悉数据库,了解数据之间关系,这样也能"看透"她.

        1 条回复 最后回复
        0
        • wjfonhandW 离线
          wjfonhandW 离线
          wjfonhand
          写于 最后由 编辑
          #4

          前几天忽悠ccdos读源代码,没想到它写出一篇23页的读后感,还提出10个问题

          我的问题1:Sale_CRM是怎么被自动安装的(反向的依赖关系是如何实现的)?

          我的问题2:这里的客户和商店,都是 many2one的字段,为什么 商店不能直接创建?而 客户却可以?
          答:在视图(crm_make_sale_view.xml)定义中:,shop_id 被指定了一个 widget=selection,使其为“选择型”,而partnet_id是默认的根据数据类型获得的widget,估计是many2one_list,参见下面网址对widget属性的描述。<br / http://doc.openerp.com/v6.1/developer/03_modules_3.html#field br />
          我的问题3: XPATH 怎么定义的?语法?还看不懂

          我的问题4: YML 文件的测试数据 怎么玩的?

          我的问题5: 按钮是怎么触发打开向导窗口的?
          答:按钮的类型type=action, 该类型的按钮触发 name 中定义的action_windows。

          这里定义的action_windows 是"%(action_crm_make_sale)d"。
          这语法暂不懂,初步理解是 在 其他的视图中定义的 action_crm_make_sale 的实际ID 整型数值在这里替换后

          我的问题6: 视图描述中,groups 属性是什么含义?
          答:文档没找到说明:根据测试,估计是应用到 用户首选项的 简化界面和扩展界面红。groups="base.group_extended" 的字段,将不会出现在扩展界面中

          我的问题7: 这个 section_id 字段的描述中有这样一个属性 domain="[('section_id.user_id','=',uid)]",  数据库中user_id都是空的,此表达式会产生什么效果?

          我的问题8 :view_crm_make_sale 里 <group col="4" colspan="4">,这col和colspan是什么区别?
          答:(猜想?)col 是分割成4列,而colspan是指将占用4列

          我的问题8 :makeOrder  方法的 返回值 return value  是后续动作的定义 ?接下去是指定了另外一个 action ?

          我的问题10 :function 类型的字段中,sotre 是如何理解的?

          我的问题11 :属性字段(properties  fields)和 标准字段(normal fields) 有什么区别 ? 什么场合使用?
          答:(猜想)properties  fields 的值会随着不同公司不同而变化?

          今天YY语音专题讨论

          GoodERP -- Odoo China fork

          1 条回复 最后回复
          0

          • 登录

          • 没有帐号? 注册

          • 登录或注册以进行搜索。
          • 第一个帖子
            最后一个帖子
          0
          • 版块
          • 标签
          • 热门
          • 用户
          • 群组