还原问题操作步骤
- 创建 PO,状态为询价单;
- 确认订单后,状态由询价单–>采购订单;
- 在此基础上,再添加采购订单行,这时出现问题: 新创建的采购订单行的状态为空(新创建的采购订单行状态也应该为采购订单才合理)
解决过程
1. 源码
# purchase.order
state = fields.Selection([
('draft', 'RFQ'),
('sent', 'RFQ Sent'),
('to approve', 'To Approve'),
('purchase', 'Purchase Order'),
('done', 'Locked'),
('cancel', 'Cancelled')
], string='Status', readonly=True, index=True, copy=False, default='draft', tracking=True)
# purchase.order.line
order_id = fields.Many2one('purchase.order', string='Order Reference', index=True, required=True, ondelete='cascade')
state = fields.Selection(related='order_id.state', store=True, readonly=False)
2. odoo github上
odoo 官方github 上已经解决,发现是在 2020.10.21 解决的,出错的版本是 2020.8 的,源码导致的。
解决方法:更新 odoo 源码,重启 odoo 服务后再次更新 purchase 模块即可。
这时再在确认订单的采购订单上添加订单行,订单行的状态就跟采购订单的一致了。