Skip to content
  • Categories
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • 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

  • Default (Flatly)
  • No Skin
Collapse

Odoo 中文社区

  1. Home
  2. Categories
  3. 集思广益
  4. 用最笨的办法保持领先

用最笨的办法保持领先

Scheduled Pinned Locked Moved 集思广益
5 Posts 3 Posters 9.9k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • W Offline
    W Offline
    wjfonhand
    wrote on last edited by
    #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 Reply Last reply
    0
    • JoshuaJ Offline
      JoshuaJ Offline
      Joshua
      管理员
      wrote on last edited by
      #2

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

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

      1 Reply Last reply
      0
      • X Offline
        X Offline
        xuxudodo
        wrote on last edited by
        #3

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

        1 Reply Last reply
        0
        • W Offline
          W Offline
          wjfonhand
          wrote on last edited by
          #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 Reply Last reply
          0

          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

          With your input, this post could be even better 💗

          Register Login
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Tags
          • Popular
          • Users
          • Groups