繁体   English   中英

如何在odoo报价中的创建发票字段中将默认值从“按交货顺序”设置为“按需”?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM