from odoo import models, fields from odoo.exceptions import ValidationError class ResProductTemplate(models.Model): _inherit = 'product.template' model_long = fields.Float('长[mm]', digits=(16, 3)) model_width = fields.Float('宽[mm]', digits=(16, 3)) model_height = fields.Float('高[mm]', digits=(16, 3)) model_volume = fields.Float('体积[mm³]', digits=(16, 3)) model_precision = fields.Float('精度要求', digits=(16, 3)) materials_id = fields.Many2one('mrs.production.materials', string='材料') # 业务平台分配工厂后在智能工厂先创建销售订单再创建该产品 def product_create(self, product_id, item, order_id, order_number, i): copy_product_id = product_id.with_user(self.env.ref("base.user_admin")).copy() copy_product_id.product_tmpl_id.active = True vals = { 'name': '%s-%s' % (order_id.name, i), 'model_long': item['model_long'], 'model_width': item['model_width'], 'model_height': item['model_height'], 'model_volume': item['model_volume'], 'list_price': item['price'], 'materials_id': self.env['mrs.production.materials'].sudo().search( [('materials_no', '=', item['texture_code'])]).id, 'default_code': '%s-%s' % (order_number, i), 'barcode': item['barcode'], 'active': True } return copy_product_id.sudo().create(vals)