Files
test/sf_manufacturing/wizard/process_outsourcing.py

42 lines
2.0 KiB
Python

from odoo import models, fields, api
class ProductCreationWizard(models.TransientModel):
_name = 'product.creation.wizard'
_description = '产品创建向导'
# 唯一需要用户输入的字段:产品类别
categ_id = fields.Many2one(
'product.category',
string='产品类别',
required=True,default=lambda self: self.env.ref(
'sf_manufacturing.product_category_outsource_other_process',
raise_if_not_found=False
).sudo(),
)
process_parameter_id = fields.Many2one('sf.production.process.parameter')
def action_create_service_product(self):
# 获取产品分类(服务)
service_categ = self.env.ref('sf_manufacturing.product_category_outsource_other_process').sudo()
default_values = {
'detailed_type': 'service',
'name': f"{self.process_parameter_id.routing_id.name}_{self.process_parameter_id.name}",
'invoice_policy': 'delivery',
'categ_id': service_categ.id,
'description': f"基于{self.process_parameter_id.name}创建的服务产品",
'sale_ok': True, # 可销售
'purchase_ok': True, # 可采购
'server_product_process_parameters_id': self.process_parameter_id.id,
}
def action_create_product(self):
service_categ = self.env.ref('sf_manufacturing.product_category_outsource_other_process').sudo()
default_values = {
'detailed_type': 'service',
'name': f"{self.process_parameter_id.process_id.name}{self.process_parameter_id.name}",
'invoice_policy': 'delivery',
'categ_id': self.categ_id.id,
'description': f"基于{self.process_parameter_id.name}创建的服务产品",
'sale_ok': True, # 可销售
'purchase_ok': True, # 可采购
'server_product_process_parameters_id': self.process_parameter_id.id,
}
self.env['product.template'].create(default_values)