有没有一种简单的方法可以将OpenERP(oodo)中的新自定义字段(在客户记录或订单项中)与外部链接(即描述或iframe)相关联,以便它可以链接到不同的系统?
在创建记录时,是否有一种使用(新)GUID初始化此链接的简单方法?
是否有一种简单的方法将客户端JavaScript注入标准的OpenERP页面?
我需要为此创建一个新模块吗?
对于OpenERP 7.0+
您可以为任何对象(如sale.order/purchase.order /任何其他对象)添加一个text/char类型的附加字段.这对于每个模块或webclient都是可能的(如果您有技术权限).
创建记录时创建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
Run Code Online (Sandbox Code Playgroud)是的,您可以将脚本/ html直接添加到OpenERP Bay博客中描述的视图中(我不能添加超过2个链接..垃圾邮件保护可能,您可以轻松找到大多数搜索引擎的块).可以使用UI部分中的Web客户端和技术权限或使用修改视图的模块来完成修改 - 或者通过使用窗口小部件或其他扩展点来进行可以使用JS的视图相关修改.
关键部分是将GUID创建放在记录创建逻辑上的位置.如果你可以在JS中做到这一点 - 例如通过创建一个新的GUID并在每次使用表单创建新记录时将其放在字段中 - 并且您知道对象总是按照Web客户端表单创建它是可以的.对于一个黑客.编写模块并将逻辑放入Business对象是一个干净的解决方案.OERP模块的开发文档就足够了,网上有很好的教程可以解决一些小问题,例如只添加一个额外的字段.OpenERP模块程序员可能只是
或者简而言之,如果您对OpenERP的技术部分有足够的了解,那么这些修改很简单,是的,您应该将其放在模块中以保持其清洁.