问题描述
我的模块是为制造mrp模块而定制的
我想为资源内容(名称、resource_state、workcenter_id)添加新模型,并根据 workcenter_id 和 resource_state(domain) 在工作订单中添加资源列表
并根据工单状态更新 resource_state
我尝试更新和写入函数和 onchange 但是
我希望你能帮助我
python
from datetime import datetime
from typing import ByteString,DefaultDict
from odoo import models,fields,api,exceptions,_
from odoo.exceptions import ValidationError,UserError
""" Defines manufactureing resource """
class MrpWorkcenter(models.Model):
_inherit = 'mrp.workcenter'
_description = 'Work Center'
_rec_name = 'name'
name =fields.Char(string="Nmae")
class MrpResource(models.Model):
_name = "mrp.resource"
_description = "Mrp Resource"
name = fields.Char( string="Name",required=True)
resource_state = fields.Selection([
('available','Available'),('unavailable','Unavailable')],string='Status')
work_id = fields.Many2one('mrp.workorder',ondelete="cascade",string="work order",required=True)
workcenter_id = fields.Many2one('mrp.workcenter',string="work center",store=True)
class ManufacurWorkorder(models.Model):
_inherit = 'mrp.workorder'
_description = 'Work Order'
workcenter_id = fields.Many2one(
'mrp.workcenter','Work Center',required=True,states={'done': [('readonly',True)],'cancel': [('readonly',True)]},store=True)
resource_ids = fields.Many2many('mrp.resource','mrp_resource_rel','work_id','mrp_resource_id',string="List Of Resource",store=True)
workorder_id = fields.Many2one('mrp.workorder',string="work order")
resource_state = fields.Selection([
('available',string='Status')
xml
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<!-- Created by Mehad Mregany at 01022021 10:30 am -->
<!-- Edited by Mehad Mregany at 07022021 08:30 am -->
<!-- Manufacture Resource -->
<record id="mrp_resource_form_id" model="ir.ui.view">
<field name="name">mrp.resource.form</field>
<field name="model">mrp.resource</field>
<field name="arch" type="xml">
<form string="Resource">
<sheet>
<group>
<field name="name"/>
<field name="resource_state" default="available"/>
<field name="workcenter_id"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="mrp_resource_tree_id" model="ir.ui.view">
<field name="name">mrp.resource.tree</field>
<field name="model">mrp.resource</field>
<field name="arch" type="xml">
<tree string="Resource">
<field name="name"/>
<field name="resource_state"/>
<field name="workcenter_id"/>
</tree>
</field>
</record>
<record id="mrp_resource_action" model="ir.actions.act_window">
<field name="name">Resource</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">mrp.resource</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="mrp_resource_action"
id="menu_mrp_resource_action"
parent="mrp.menu_mrp_bom"
sequence="6"/>
<record id="manufacture_resource_workorder_form_id" model="ir.ui.view">
<field name="name">mrp.workorder.form</field>
<field name="model">mrp.workorder</field>
<field name="inherit_id" ref="mrp.mrp_production_workcenter_form_view_inherit"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='product_id']" position="after">
<field name="workcenter_id" readonly="True"></field>
</xpath>
<notebook position="inside">
<page string= "List Of Resource">
<field name="resource_ids" domain="[('resource_state','=','available')]">
<tree string="Resources" editable="bottom">
<field name="name" />
<field name="resource_state"/>
<field name="workcenter_id"/>
<field name="work_id" invisible="1"/>
</tree>
</field>
</page>
</notebook>
</field>
</record>
</data>
</odoo>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)