更新工艺外协流程的报错问题

This commit is contained in:
liaodanlong
2025-04-17 16:32:18 +08:00
parent 1b22d02700
commit 3fb2890bf1
4 changed files with 40 additions and 9 deletions

View File

@@ -1,3 +1,4 @@
# from . import product_template
# from . import product_supplierinfo
from . import sf_production_common
from . import mrp_routing_workcenter

View File

@@ -0,0 +1,16 @@
import logging
from odoo import fields, models, api
from odoo.exceptions import UserError
from odoo.tools import str2bool
class ResMrpRoutingWorkcenter(models.Model):
_inherit = 'mrp.routing.workcenter'
def init(self):
super(ResMrpRoutingWorkcenter, self).init()
# 在模块初始化时触发计算字段的更新
records = self.search([])
if str2bool(self.env['ir.config_parameter'].get_param('sf.production.process.parameter.is_init_workcenter',default='False')):
return
records.optional_process_parameters_date()
self.env['ir.config_parameter'].set_param('sf.production.process.parameter.is_init_workcenter', True)

View File

@@ -7,6 +7,8 @@ from odoo.tools import str2bool
class SfProductionProcessParameter(models.Model):
_inherit = 'sf.production.process.parameter'
@api.model
def create(self, vals):
if vals.get('code', '/') == '/' or vals.get('code', '/') is False:

View File

@@ -40,14 +40,26 @@ class ResMrpRoutingWorkcenter(models.Model):
])
record.optional_process_parameters = parameter_ids.ids
def init(self):
super(ResMrpRoutingWorkcenter, self).init()
# 在模块初始化时触发计算字段的更新
records = self.search([])
if str2bool(self.env['ir.config_parameter'].get_param('sf.production.process.parameter.is_init_workcenter',default='False')):
return
records.optional_process_parameters_date()
self.env['ir.config_parameter'].set_param('sf.production.process.parameter.is_init_workcenter', True)
# @api.model
# def _auto_init(self):
# # 先执行标准初始化
# res = super(ResMrpRoutingWorkcenter, self)._auto_init()
# # 然后执行自定义初始化
# records = self.search([])
# if str2bool(self.env['ir.config_parameter'].get_param('sf.production.process.parameter.is_init_workcenter',
# default='False')):
# return
# records.optional_process_parameters_date()
# self.env['ir.config_parameter'].set_param('sf.production.process.parameter.is_init_workcenter', True)
# return res
# def init(self):
# super(ResMrpRoutingWorkcenter, self).init()
# # 在模块初始化时触发计算字段的更新
# records = self.search([])
# if str2bool(self.env['ir.config_parameter'].get_param('sf.production.process.parameter.is_init_workcenter',default='False')):
# return
# records.optional_process_parameters_date()
# self.env['ir.config_parameter'].set_param('sf.production.process.parameter.is_init_workcenter', True)
def get_no(self):
international_standards = self.search(
[('code', '!=', ''), ('active', 'in', [True, False])],