2014-07-09 97 views
2

是否有一种将OpenERP(oodo)中的新自定义字段(在客户记录或订单项中)与外部链接(即说明或iframe)相关联的简单方法这样它可以链接到一个不同的系统?OpenERP(Odoo)与外部系统的集成

当记录被创建时,是否有一个简单的方法用(新)GUID初始化此链接?

有没有一种简单的方法将客户端JavaScript注入标准OpenERP页面?

我需要为此创建一个新模块吗?

回答

4

对于OpenERP的7.0+

  1. 您可以将链接添加额外的field of type text/char到像sale.order/purchase.order /任何其他对象的任何对象。这是可能的每个模块或webclient(如果你有技术权利)。

  2. 创建时,创建了一个GUID最简单的方法是延长该记录并重写构造:

    class extended_sale_order(osv.osv): 
        _name = 'sale.order' # override current sale.order by replacing it (same name) 
        _inherit = 'sale.order' # inherit from "original" sale.order 
        _columns = { 
           'GUID': field.text('GUID') # add GUID textfield 
        } 
    
        def create(self, cr, uid, vals, context=None): 
        ''' 
         On sale.order construction create a GUID and replace the GUID field in 
         sale.order with the generated value. 
        ''' 
        guid = generate_guid() # implement this or use oerp sequences 
        vals['GUID'] = guid 
        result = super(extended_sale_order,self).create(cr,uid,vals,context) 
        return result 
    
  3. 是的,你可以直接添加脚本/ HTML到的意见等中描述在OpenERP海湾博客上(我不能添加2个以上的链接..垃圾邮件防护可能,你可以很容易找到与大多数搜索引擎的块)。这些修改既可以通过Web客户端和UI部分的技术权限来完成,也可以通过使用修改视图的模块来完成 - 或者通过使用小部件或其他扩展点来实现可以使用JS的视图相关修改。

  4. 关键部分是在哪里把创建GUID创建在记录创建逻辑。如果你可以在JS中做到这一点 - 例如通过创建一个新的GUID并将其放入字段中,每当使用表单创建一条新记录时 - 并且您知道对象始终是按照Web客户端的形式创建的,那就没问题。对于黑客。 编写一个模块并将逻辑放入业务对象中是一个干净的解决方案。 OERP模块的开发文档对于这一点已经足够了,并且对于像添加额外字段这样的小问题,网络中的网络还是可以使用的there are good Tutorials。 的OpenERP的模块编程很可能只是

    • 创建模块
    • 继承模型/对象应修改
    • 增加其持有的GUID /链接字段
    • 选择创建一个计算字段,从guid字段建立链接,因此您只需要保存guid或创建应该插入到视图中的任意html的内容
    • 向构造函数添加一些逻辑以创建并保存指导
    • 继承应该放置链接的视图
    • 添加应显示为f.e.的字段/内容。使用XPath表达式来放置新的ViewPart时/场/后面的一些其他领域
    • 内容安装并测试它
      • 重启每当Python代码被改变
      • 更新每当XML改变该模块的服务器

或短,是这些修改是简单的,如果你有技术p的足够知识OpenERP的艺术,是的,你应该把它放在一个模块中保持清洁。

0

Odoo是帮助企业提升的顶级CRM之一。但有时它并不能给你全面的提升。你必须定制它。这里Odoo integration是一个过程,公司,组织或其他业务通过Odoo integration service通过crm cons 强文本修改它。

你可以找到大多数最好的专家,如Techloyce。

你能得到什么?通过实施这些变化,您将获得最佳的Odoo使用体验,并且您的客户或业务得到推动。