[英]How to set default value from 'on delivery order' to 'on demand' in create invoice field in quotations in odoo?
我试图在odoo中的“报价其他信息”标签中的'on demand'
创建发票”字段中将默认值从'on delivery order'
为'on demand'
。 但这不是将默认值设置为按需设置。 任何人都可以帮助我如何在“按需”中设置创建发票的默认值。
码:
'order_policy': fields.selection([
('manual', 'On Demand'),
('picking', 'On Delivery Order'),
('prepaid', 'Before Delivery'),
],
'Create Invoice',
required=True,
readonly=True,
states={
'draft': [('readonly', False)],
'sent': [('readonly', False)]
},
),
结果
_defaults = {
'order_policy': 'manual',
}
您可以在字段中使用默认属性
'order_policy': fields.selection([
('manual', 'On Demand'),
('picking', 'On Delivery Order'),
('prepaid', 'Before Delivery'),
],
'Create Invoice',
default='manual',
required=True,
readonly=True,
states={
'draft': [('readonly', False)],
'sent': [('readonly', False)]
},
),
您可以通过两种方式来实现。
1)。 正如@KHELILI Hamza建议的那样,您应该重新定义该字段并设置默认值。
2)。 您需要重写default_get方法。
解:
def default_get(self, cr, uid, fields, context=None):
res = super(class_name, self).default_get(cr, uid, fields, context=context)
res.update({'order_policy': 'manual'})
return res
如果要有条件地设置默认值,则可以轻松地在该代码中进行管理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.