Openerp 如何在CRM opportunity form视图中添加新字段?
我是OpenERP开发的新手,我想在Opportunity表单视图中添加一些字段 1) 我想为阶段添加选择列表字段 2) 我想添加类型为float(coefficient)的新字段,只读,它取决于opportunity的概率和创建时间:Openerp 如何在CRM opportunity form视图中添加新字段?,openerp,Openerp,我是OpenERP开发的新手,我想在Opportunity表单视图中添加一些字段 1) 我想为阶段添加选择列表字段 2) 我想添加类型为float(coefficient)的新字段,只读,它取决于opportunity的概率和创建时间: If probability <50% then coefficient == 1 Else if probability >50% then coefficient == 0.1
If probability <50% then coefficient == 1
Else if probability >50% then coefficient == 0.1
Else coefficient == 0.5
如果概率为50%,则系数==0.1
其他系数==0.5
第一次计算系数后,不应更改系数。您需要先继承模型以添加自定义字段,然后继承视图并在视图中添加字段(树、表单、搜索等)。创建自己的自定义模块来实现这一点是实现它的最佳方式 有关继承的更多信息,请参见此处 在中查看继承我添加了该方法:
def _get_coefficient_value(self, cr, uid, context=None):
stage = self.pool.get('crm.case.stage').browse(cr, uid, stage_id, context)
if stage.probability > 50:
x_coefficient = 0.1
elif value < 50:
x_coefficient = 1
else:
x_coefficient = 0.5
return x_coefficient
但当我创建新的opportunity时,无论opportunity处于哪个阶段,系数字段==0
我想在保存新opportunity时,执行_get_cofficient_value,我的字段系数应根据阶段自动计算
vals['x_coefficient'] = self._get_coefficient_value(cr, uid, context=ctx)
def create(self, cr, uid, vals, context=None):
if context is None:
context = {}
if not vals.get('stage_id'):
ctx = context.copy()
vals['x_coefficient'] = self._get_coefficient_value(cr, uid, context=ctx)
if vals.get('section_id'):
ctx['default_section_id'] = vals['section_id']
if vals.get('type'):
ctx['default_type'] = vals['type']
vals['stage_id'] = self._get_default_stage_id(cr, uid, context=ctx)
return super(crm_lead, self).create(cr, uid, vals, context=context)