diff --git a/app_product_type_sequence/data/product_sequence.xml b/app_product_type_sequence/data/product_sequence.xml index f36a27f1..e30981cf 100644 --- a/app_product_type_sequence/data/product_sequence.xml +++ b/app_product_type_sequence/data/product_sequence.xml @@ -42,7 +42,7 @@ Sequence for Sourced Product product.product - CL%(y)s%(month)s + WL%(y)s%(month)s 5 True @@ -89,13 +89,13 @@ Sourced Product - cl + wl 4 product 1 1 - Set prefix as "CL" in link sequence + Set prefix as "WL" in link sequence diff --git a/app_product_type_sequence/data/product_sequence_felive.xml b/app_product_type_sequence/data/product_sequence_felive.xml index 86737139..5278299c 100644 --- a/app_product_type_sequence/data/product_sequence_felive.xml +++ b/app_product_type_sequence/data/product_sequence_felive.xml @@ -6,7 +6,7 @@ Sequence for All Products product.product - P%(y)s%(month)s + PR%(y)s%(month)s 5 True @@ -42,12 +42,11 @@ Sequence for Sourced Product product.product - CL%(y)s%(month)s + WL%(y)s%(month)s 5 True - @@ -58,7 +57,7 @@ product 1 0 - + Set prefix as "CP" in link sequence @@ -70,7 +69,7 @@ product 0 0 - + Set prefix as "BJ" in link sequence @@ -82,7 +81,7 @@ product 0 1 - + Set prefix as "BC" in link sequence @@ -94,7 +93,7 @@ product 1 1 - + Set prefix as "CL" in link sequence @@ -123,13 +122,13 @@ - - internal_type - product.template - default - - - - + + + + + + + + diff --git a/app_product_type_sequence/models/product_product.py b/app_product_type_sequence/models/product_product.py index 23f820c4..28ded679 100644 --- a/app_product_type_sequence/models/product_product.py +++ b/app_product_type_sequence/models/product_product.py @@ -30,6 +30,20 @@ class ProductProduct(models.Model): 'The reference must be unique'), ] + @api.model + def default_get(self, fields): + context = self._context or {} + res = super(ProductProduct, self).default_get(fields) + # 内部编码类型默认值的录入 + if context.get("default_internal_type"): + self._onchange_internal_type() + elif context.get("default_internal_type_ref"): + types = self.env['product.internal.type'].search_read([('ref', '=', context.get("default_internal_type_ref"))], limit=1) + if types: + res.update({'internal_type':types[0]['id']}) + self._onchange_internal_type() + return res + @api.model def create(self, vals): # todo: but 先建空白产品后,编辑2个以上变体,序号会少个 -1 diff --git a/app_product_type_sequence/models/product_template.py b/app_product_type_sequence/models/product_template.py index ff8213c6..0a357ced 100644 --- a/app_product_type_sequence/models/product_template.py +++ b/app_product_type_sequence/models/product_template.py @@ -36,6 +36,20 @@ class ProductTemplate(models.Model): default_code_stored = fields.Char('Internal Reference Stored', default=lambda self: _('New')) + @api.model + def default_get(self, fields): + context = self._context or {} + res = super(ProductTemplate, self).default_get(fields) + # 内部编码类型默认值的录入 + if context.get("default_internal_type"): + self._onchange_internal_type() + elif context.get("default_internal_type_ref"): + types = self.env['product.internal.type'].search_read([('ref', '=', context.get("default_internal_type_ref"))], limit=1) + if types: + res.update({'internal_type':types[0]['id']}) + self._onchange_internal_type() + return res + @api.model def create(self, vals): if 'attribute_line_ids' in vals: