合并企业版代码(未测试,先提交到测试分支)
This commit is contained in:
18
mrp_workorder/data/mrp_production_demo.xml
Normal file
18
mrp_workorder/data/mrp_production_demo.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
<!-- <function model="mrp.production" name="button_plan" eval="[ref('mrp.mrp_production_1')]"/> -->
|
||||
|
||||
<record id="quality_point_picture" model="quality.point">
|
||||
<field name="product_ids" eval="[(4, ref('mrp.product_product_computer_desk'))]"/>
|
||||
<field name="picking_type_ids" model="stock.warehouse" eval="[(4, obj().env.ref('stock.warehouse0').manu_type_id.id)]"/>
|
||||
<field name="operation_id" ref="mrp.mrp_routing_workcenter_5"/>
|
||||
<field name="test_type_id" ref="quality.test_type_picture"/>
|
||||
<field name="note">Take a picture of the table head serial number.</field>
|
||||
<field name="title">Picture of the SN</field>
|
||||
<field name="worksheet_page">1</field>
|
||||
<field name="sequence">1</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
25
mrp_workorder/data/mrp_workorder_data.xml
Normal file
25
mrp_workorder/data/mrp_workorder_data.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
<record id="tablet_client_action" model="ir.actions.client">
|
||||
<field name="name">Tablet Client Action</field>
|
||||
<field name="tag">tablet_client_action</field>
|
||||
<field name="res_model">mrp_workorder</field>
|
||||
</record>
|
||||
<record id="mrp_workorder.test_type_register_consumed_materials" model="quality.point.test_type">
|
||||
<field name="name">Register Consumed Materials</field>
|
||||
<field name="technical_name">register_consumed_materials</field>
|
||||
</record>
|
||||
|
||||
<record id="mrp_workorder.test_type_register_byproducts" model="quality.point.test_type">
|
||||
<field name="name">Register By-products</field>
|
||||
<field name="technical_name">register_byproducts</field>
|
||||
<field name="active" eval="False"/>
|
||||
</record>
|
||||
|
||||
<record id="mrp_workorder.test_type_print_label" model="quality.point.test_type">
|
||||
<field name="name">Print label</field>
|
||||
<field name="technical_name">print_label</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
79
mrp_workorder/data/mrp_workorder_demo.xml
Normal file
79
mrp_workorder/data/mrp_workorder_demo.xml
Normal file
@@ -0,0 +1,79 @@
|
||||
<odoo>
|
||||
<!-- Quality Control From Manufacturing -->
|
||||
|
||||
<!-- For [FURN001] Computer Desk-->
|
||||
<record id="quality_point_component_registration" model="quality.point">
|
||||
<field name="product_ids" eval="[(4, ref('mrp.product_product_computer_desk'))]"/>
|
||||
<field name="picking_type_ids" model="stock.warehouse" eval="[(4, obj().env.ref('stock.warehouse0').manu_type_id.id)]"/>
|
||||
<field name="operation_id" ref="mrp.mrp_routing_workcenter_5"/>
|
||||
<field name="test_type_id" ref="mrp_workorder.test_type_register_consumed_materials"/>
|
||||
<field name="note">Please enter the table head serial number.</field>
|
||||
<field name="title">Component Registration: Table Head</field>
|
||||
<field name="component_id" ref="mrp.product_product_computer_desk_head"/>
|
||||
<field name="worksheet_page">1</field>
|
||||
<field name="sequence">2</field>
|
||||
</record>
|
||||
|
||||
<record id="quality_point_instructions" model="quality.point">
|
||||
<field name="product_ids" eval="[(4, ref('mrp.product_product_computer_desk'))]"/>
|
||||
<field name="picking_type_ids" model="stock.warehouse" eval="[(4, obj().env.ref('stock.warehouse0').manu_type_id.id)]"/>
|
||||
<field name="operation_id" ref="mrp.mrp_routing_workcenter_5"/>
|
||||
<field name="test_type_id" ref="quality.test_type_instructions"/>
|
||||
<field name="note">Please ensure you are using the new SRX679 screwdriver.</field>
|
||||
<field name="title">Choice of screwdriver</field>
|
||||
<field name="worksheet_page">1</field>
|
||||
<field name="sequence">3</field>
|
||||
</record>
|
||||
|
||||
<record id="quality_point_component_registration_2" model="quality.point">
|
||||
<field name="product_ids" eval="[(4, ref('mrp.product_product_computer_desk'))]"/>
|
||||
<field name="picking_type_ids" model="stock.warehouse" eval="[(4, obj().env.ref('stock.warehouse0').manu_type_id.id)]"/>
|
||||
<field name="operation_id" ref="mrp.mrp_routing_workcenter_5"/>
|
||||
<field name="test_type_id" ref="mrp_workorder.test_type_register_consumed_materials"/>
|
||||
<field name="note">Please encode the table legs lot number(s).</field>
|
||||
<field name="title">Component Registration: Table Legs</field>
|
||||
<field name="component_id" ref="mrp.product_product_computer_desk_leg"/>
|
||||
<field name="worksheet_page">4</field>
|
||||
<field name="sequence">7</field>
|
||||
</record>
|
||||
|
||||
<record id="quality_point_instructions_2" model="quality.point">
|
||||
<field name="product_ids" eval="[(4, ref('mrp.product_product_computer_desk'))]"/>
|
||||
<field name="picking_type_ids" model="stock.warehouse" eval="[(4, obj().env.ref('stock.warehouse0').manu_type_id.id)]"/>
|
||||
<field name="operation_id" ref="mrp.mrp_routing_workcenter_5"/>
|
||||
<field name="test_type_id" ref="quality.test_type_instructions"/>
|
||||
<field name="note">Please attach the legs to the table as shown below.</field>
|
||||
<field name="title">Table Legs</field>
|
||||
<field name="worksheet_page">4</field>
|
||||
<field name="sequence">6</field>
|
||||
</record>
|
||||
|
||||
<record id="quality_point_print_labels" model="quality.point">
|
||||
<field name="product_ids" eval="[(4, ref('mrp.product_product_computer_desk'))]"/>
|
||||
<field name="picking_type_ids" model="stock.warehouse" eval="[(4, obj().env.ref('stock.warehouse0').manu_type_id.id)]"/>
|
||||
<field name="operation_id" ref="mrp.mrp_routing_workcenter_5"/>
|
||||
<field name="test_type_id" ref="mrp_workorder.test_type_print_label"/>
|
||||
<field name="title">Print Labels</field>
|
||||
<field name="worksheet_page">0</field>
|
||||
<field name="sequence">8</field>
|
||||
</record>
|
||||
|
||||
<!-- Quality Control From WorkOrder -->
|
||||
<!-- For [PCSC234] Computer SC234 -->
|
||||
<record id="quality_point4" model="quality.point">
|
||||
<field name="product_ids" eval="[(4, ref('product.product_product_3'))]"/>
|
||||
<field name="operation_id" ref="mrp.mrp_routing_workcenter_0"/>
|
||||
<field name="picking_type_ids" model="stock.warehouse" eval="[(4, obj().env.ref('stock.warehouse0').manu_type_id.id)]"/>
|
||||
<field name="note">Assemble the different parts of the desk combination.</field>
|
||||
</record>
|
||||
|
||||
<!-- Split the pdf added in mrp demo data-->
|
||||
<record id="base.group_user" model="res.groups">
|
||||
<field name="implied_ids" eval="[(4, ref('mrp.group_mrp_routings')), (4, ref('mrp_workorder.group_mrp_wo_tablet_timer'))]"/>
|
||||
</record>
|
||||
|
||||
<function model="mrp.workorder" name="_create_checks">
|
||||
<function eval="[[('state', 'not in', ('cancel', 'done'))]]" model="mrp.workorder" name="search"/>
|
||||
</function>
|
||||
|
||||
</odoo>
|
||||
508
mrp_workorder/data/mrp_workorder_demo_stool.xml
Normal file
508
mrp_workorder/data/mrp_workorder_demo_stool.xml
Normal file
@@ -0,0 +1,508 @@
|
||||
<odoo>
|
||||
<!-- Stool demo data -->
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="product_attribute_color_radio" model="product.attribute" forcecreate="0">
|
||||
<field name="name">Color</field>
|
||||
<field name="sequence">1</field>
|
||||
</record>
|
||||
<record id="product_attribute_value_1_radio" model="product.attribute.value" forcecreate="0">
|
||||
<field name="name">Dark Blue</field>
|
||||
<field name="attribute_id" ref="product_attribute_color_radio"/>
|
||||
<field name="sequence">1</field>
|
||||
</record>
|
||||
<record id="product_attribute_value_2_radio" model="product.attribute.value" forcecreate="0">
|
||||
<field name="name">Green</field>
|
||||
<field name="attribute_id" ref="product_attribute_color_radio"/>
|
||||
<field name="sequence">2</field>
|
||||
</record>
|
||||
<record id="product_attribute_value_3_radio" model="product.attribute.value" forcecreate="0">
|
||||
<field name="name">Grey</field>
|
||||
<field name="attribute_id" ref="product_attribute_color_radio"/>
|
||||
<field name="sequence">2</field>
|
||||
</record>
|
||||
|
||||
<record id="product_attribute_value_1" model="product.attribute.value" forcecreate="0">
|
||||
<field name="name">Dark Blue</field>
|
||||
<field name="html_color">#00008b</field>
|
||||
<field name="attribute_id" ref="product.product_attribute_2"/>
|
||||
<field name="sequence">1</field>
|
||||
</record>
|
||||
<record id="product_attribute_value_2" model="product.attribute.value" forcecreate="0">
|
||||
<field name="name">Green</field>
|
||||
<field name="html_color">#00ff00</field>
|
||||
<field name="attribute_id" ref="product.product_attribute_2"/>
|
||||
<field name="sequence">2</field>
|
||||
</record>
|
||||
<record id="product_attribute_value_3" model="product.attribute.value" forcecreate="0">
|
||||
<field name="name">Grey</field>
|
||||
<field name="html_color">#505050</field>
|
||||
<field name="attribute_id" ref="product.product_attribute_2"/>
|
||||
<field name="sequence">2</field>
|
||||
</record>
|
||||
|
||||
<record id="product_template_stool" model="product.template" forcecreate="0">
|
||||
<field name="name">Stool</field>
|
||||
<field name="categ_id" ref="product.product_category_5"/>
|
||||
<field name="standard_price">500.0</field>
|
||||
<field name="list_price">500.0</field>
|
||||
<field name="detailed_type">product</field>
|
||||
<field name="weight">2</field>
|
||||
<field name="default_code">D_0045</field>
|
||||
<field name="tracking">serial</field>
|
||||
<field name="uom_id" ref="uom.product_uom_unit"/>
|
||||
<field name="uom_po_id" ref="uom.product_uom_unit"/>
|
||||
<field name="description_sale">Small wooden stool</field>
|
||||
<field name="produce_delay">1</field>
|
||||
<field name="sale_delay">1</field>
|
||||
</record>
|
||||
|
||||
<!-- the product template attribute lines have to be defined before creating the variants -->
|
||||
<record id="product_template_stool_attribute_line_1" model="product.template.attribute.line" forcecreate="0">
|
||||
<field name="product_tmpl_id" ref="product_template_stool"/>
|
||||
<field name="attribute_id" ref="product.product_attribute_2"/>
|
||||
<field name="value_ids" eval="[(6, 0, [ref('product_attribute_value_1'), ref('product_attribute_value_2'), ref('product_attribute_value_3')])]"/>
|
||||
</record>
|
||||
|
||||
<function model="ir.model.data" name="_update_xmlids">
|
||||
<value model="base" eval="[{
|
||||
'xml_id': 'mrp_workorder.product_attribute_value_1',
|
||||
'record': obj().env.ref('mrp_workorder.product_template_stool_attribute_line_1').product_template_value_ids[0],
|
||||
'noupdate': True,
|
||||
}, {
|
||||
'xml_id': 'mrp_workorder.product_attribute_value_2',
|
||||
'record': obj().env.ref('mrp_workorder.product_template_stool_attribute_line_1').product_template_value_ids[1],
|
||||
'noupdate': True,
|
||||
}, {
|
||||
'xml_id': 'mrp_workorder.product_attribute_value_3',
|
||||
'record': obj().env.ref('mrp_workorder.product_template_stool_attribute_line_1').product_template_value_ids[2],
|
||||
'noupdate': True,
|
||||
}]"/>
|
||||
</function>
|
||||
|
||||
<function model="ir.model.data" name="_update_xmlids">
|
||||
<value model="base" eval="[{
|
||||
'xml_id': 'mrp_workorder.product_product_stool_1',
|
||||
'record': obj().env.ref('mrp_workorder.product_template_stool')._get_variant_for_combination(obj().env.ref('mrp_workorder.product_attribute_value_1')),
|
||||
'noupdate': True,
|
||||
}, {
|
||||
'xml_id': 'mrp_workorder.product_product_stool_2',
|
||||
'record': obj().env.ref('mrp_workorder.product_template_stool')._get_variant_for_combination(obj().env.ref('mrp_workorder.product_attribute_value_2')),
|
||||
'noupdate': True,
|
||||
}, {
|
||||
'xml_id': 'mrp_workorder.product_product_stool_3',
|
||||
'record': obj().env.ref('mrp_workorder.product_template_stool')._get_variant_for_combination(obj().env.ref('mrp_workorder.product_attribute_value_3')),
|
||||
'noupdate': True,
|
||||
}]"/>
|
||||
</function>
|
||||
<function model="product.product" name="write">
|
||||
<value eval="[ref('product_product_stool_1')]"/>
|
||||
<value eval="{'default_code': 'D_0045_B'}"/>
|
||||
</function>
|
||||
<function model="product.product" name="write">
|
||||
<value eval="[ref('product_product_stool_2')]"/>
|
||||
<value eval="{'default_code': 'D_0045_G'}"/>
|
||||
</function>
|
||||
<function model="product.product" name="write">
|
||||
<value eval="[ref('product_product_stool_3')]"/>
|
||||
<value eval="{'default_code': 'D_0045_GR'}"/>
|
||||
</function>
|
||||
<function model="product.template" name="write">
|
||||
<value eval="[ref('product_template_stool')]"/>
|
||||
<value eval="{'default_code': 'D_0045'}"/>
|
||||
</function>
|
||||
<record id="product_template_stool_foot" model="product.template" forcecreate="0">
|
||||
<field name="name">Stool Foot</field>
|
||||
<field name="default_code">FURN_1145</field>
|
||||
<field name="categ_id" ref="product.product_category_5"/>
|
||||
<field name="standard_price">5</field>
|
||||
<field name="detailed_type">product</field>
|
||||
<field name="weight">2</field>
|
||||
<field name="sale_ok" eval="False"/>
|
||||
<field name="uom_id" ref="uom.product_uom_unit"/>
|
||||
<field name="uom_po_id" ref="uom.product_uom_unit"/>
|
||||
<field name="description_sale">wooden stool foot</field>
|
||||
<field name="image_1920" type="base64" file="mrp_workorder/static/img/stool_foot.jpeg"/>
|
||||
</record>
|
||||
<record id="product_supplierinfo_stool_foot" model="product.supplierinfo" forcecreate="0">
|
||||
<field name="product_tmpl_id" ref="product_template_stool_foot"/>
|
||||
<field name="partner_id" ref="base.res_partner_1"/>
|
||||
<field name="delay">3</field>
|
||||
<field name="min_qty">1</field>
|
||||
<field name="price">5</field>
|
||||
<field name="currency_id" ref="base.USD"/>
|
||||
</record>
|
||||
<!-- the product template attribute lines have to be defined before creating the variants -->
|
||||
<record id="product_template_stool_foot_attribute_line_1" model="product.template.attribute.line" forcecreate="0">
|
||||
<field name="product_tmpl_id" ref="product_template_stool_foot"/>
|
||||
<field name="attribute_id" ref="product_attribute_color_radio"/>
|
||||
<field name="value_ids" eval="[(6, 0, [ref('product_attribute_value_1_radio'), ref('product_attribute_value_2_radio'), ref('product_attribute_value_3_radio')])]"/>
|
||||
</record>
|
||||
|
||||
<function model="ir.model.data" name="_update_xmlids">
|
||||
<value model="base" eval="[{
|
||||
'xml_id': 'mrp_workorder.product_attribute_value_1_radio',
|
||||
'record': obj().env.ref('mrp_workorder.product_template_stool_foot_attribute_line_1').product_template_value_ids[0],
|
||||
'noupdate': True,
|
||||
}, {
|
||||
'xml_id': 'mrp_workorder.product_attribute_value_2_radio',
|
||||
'record': obj().env.ref('mrp_workorder.product_template_stool_foot_attribute_line_1').product_template_value_ids[1],
|
||||
'noupdate': True,
|
||||
}, {
|
||||
'xml_id': 'mrp_workorder.product_attribute_value_3_radio',
|
||||
'record': obj().env.ref('mrp_workorder.product_template_stool_foot_attribute_line_1').product_template_value_ids[2],
|
||||
'noupdate': True,
|
||||
}]"/>
|
||||
</function>
|
||||
|
||||
<function model="ir.model.data" name="_update_xmlids">
|
||||
<value model="base" eval="[{
|
||||
'xml_id': 'mrp_workorder.product_product_stool_foot_1',
|
||||
'record': obj().env.ref('mrp_workorder.product_template_stool_foot')._get_variant_for_combination(obj().env.ref('mrp_workorder.product_attribute_value_1_radio')),
|
||||
'noupdate': True,
|
||||
}, {
|
||||
'xml_id': 'mrp_workorder.product_product_stool_foot_2',
|
||||
'record': obj().env.ref('mrp_workorder.product_template_stool_foot')._get_variant_for_combination(obj().env.ref('mrp_workorder.product_attribute_value_2_radio')),
|
||||
'noupdate': True,
|
||||
}, {
|
||||
'xml_id': 'mrp_workorder.product_product_stool_foot_3',
|
||||
'record': obj().env.ref('mrp_workorder.product_template_stool_foot')._get_variant_for_combination(obj().env.ref('mrp_workorder.product_attribute_value_3_radio')),
|
||||
'noupdate': True,
|
||||
}]"/>
|
||||
</function>
|
||||
<function model="product.product" name="write">
|
||||
<value eval="[ref('product_product_stool_foot_1')]"/>
|
||||
<value eval="{'default_code': 'FURN_1145_B'}"/>
|
||||
</function>
|
||||
<function model="product.product" name="write">
|
||||
<value eval="[ref('product_product_stool_foot_2')]"/>
|
||||
<value eval="{'default_code': 'FURN_1145_G'}"/>
|
||||
</function>
|
||||
<function model="product.product" name="write">
|
||||
<value eval="[ref('product_product_stool_foot_3')]"/>
|
||||
<value eval="{'default_code': 'FURN_1145_GR'}"/>
|
||||
</function>
|
||||
<function model="product.template" name="write">
|
||||
<value eval="[ref('product_template_stool_foot')]"/>
|
||||
<value eval="{'default_code': 'FURN_1145'}"/>
|
||||
</function>
|
||||
<record id="product_template_stool_top" model="product.template" forcecreate="0">
|
||||
<field name="name">Stool Top</field>
|
||||
<field name="default_code">FURN_1245</field>
|
||||
<field name="categ_id" ref="product.product_category_5"/>
|
||||
<field name="standard_price">7</field>
|
||||
<field name="tracking">lot</field>
|
||||
<field name="detailed_type">product</field>
|
||||
<field name="weight">2</field>
|
||||
<field name="sale_ok" eval="False"/>
|
||||
<field name="uom_id" ref="uom.product_uom_unit"/>
|
||||
<field name="uom_po_id" ref="uom.product_uom_unit"/>
|
||||
<field name="description_sale">wooden stool top</field>
|
||||
<field name="image_1920" type="base64" file="mrp_workorder/static/img/stool_top.jpeg"/>
|
||||
</record>
|
||||
<record id="product_supplierinfo_stool_top" model="product.supplierinfo" forcecreate="0">
|
||||
<field name="product_tmpl_id" ref="product_template_stool_top"/>
|
||||
<field name="partner_id" ref="base.res_partner_1"/>
|
||||
<field name="delay">7</field>
|
||||
<field name="min_qty">1</field>
|
||||
<field name="price">5</field>
|
||||
<field name="currency_id" ref="base.USD"/>
|
||||
</record>
|
||||
<!-- the product template attribute lines have to be defined before creating the variants -->
|
||||
<record id="product_template_stool_top_attribute_line_1" model="product.template.attribute.line" forcecreate="0">
|
||||
<field name="product_tmpl_id" ref="product_template_stool_top"/>
|
||||
<field name="attribute_id" ref="product_attribute_color_radio"/>
|
||||
<field name="value_ids" eval="[(6, 0, [ref('product_attribute_value_1_radio'), ref('product_attribute_value_2_radio'), ref('product_attribute_value_3_radio')])]"/>
|
||||
</record>
|
||||
|
||||
<function model="ir.model.data" name="_update_xmlids">
|
||||
<value model="base" eval="[{
|
||||
'xml_id': 'mrp_workorder.product_attribute_value_1_radio',
|
||||
'record': obj().env.ref('mrp_workorder.product_template_stool_top_attribute_line_1').product_template_value_ids[0],
|
||||
'noupdate': True,
|
||||
}, {
|
||||
'xml_id': 'mrp_workorder.product_attribute_value_2_radio',
|
||||
'record': obj().env.ref('mrp_workorder.product_template_stool_top_attribute_line_1').product_template_value_ids[1],
|
||||
'noupdate': True,
|
||||
}, {
|
||||
'xml_id': 'mrp_workorder.product_attribute_value_3_radio',
|
||||
'record': obj().env.ref('mrp_workorder.product_template_stool_top_attribute_line_1').product_template_value_ids[2],
|
||||
'noupdate': True,
|
||||
}]"/>
|
||||
</function>
|
||||
|
||||
<function model="ir.model.data" name="_update_xmlids">
|
||||
<value model="base" eval="[{
|
||||
'xml_id': 'mrp_workorder.product_product_stool_top_1',
|
||||
'record': obj().env.ref('mrp_workorder.product_template_stool_top')._get_variant_for_combination(obj().env.ref('mrp_workorder.product_attribute_value_1_radio')),
|
||||
'noupdate': True,
|
||||
}, {
|
||||
'xml_id': 'mrp_workorder.product_product_stool_top_2',
|
||||
'record': obj().env.ref('mrp_workorder.product_template_stool_top')._get_variant_for_combination(obj().env.ref('mrp_workorder.product_attribute_value_2_radio')),
|
||||
'noupdate': True,
|
||||
}, {
|
||||
'xml_id': 'mrp_workorder.product_product_stool_top_3',
|
||||
'record': obj().env.ref('mrp_workorder.product_template_stool_top')._get_variant_for_combination(obj().env.ref('mrp_workorder.product_attribute_value_3_radio')),
|
||||
'noupdate': True,
|
||||
}]"/>
|
||||
</function>
|
||||
|
||||
<record id="lot_stool_top_1" model="stock.lot" forcecreate="0">
|
||||
<field name="name">SN0012022</field>
|
||||
<field name="product_id" ref="product_product_stool_top_1"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
</record>
|
||||
<record id="lot_stool_top_2" model="stock.lot" forcecreate="0">
|
||||
<field name="name">SN0012022</field>
|
||||
<field name="product_id" ref="product_product_stool_top_2"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
</record>
|
||||
<record id="lot_stool_top_3" model="stock.lot" forcecreate="0">
|
||||
<field name="name">SN0012022</field>
|
||||
<field name="product_id" ref="product_product_stool_top_3"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
</record>
|
||||
<function model="product.product" name="write">
|
||||
<value eval="[ref('product_product_stool_top_1')]"/>
|
||||
<value eval="{'default_code': 'FURN_1245_B'}"/>
|
||||
</function>
|
||||
<function model="product.product" name="write">
|
||||
<value eval="[ref('product_product_stool_top_2')]"/>
|
||||
<value eval="{'default_code': 'FURN_1245_G'}"/>
|
||||
</function>
|
||||
<function model="product.product" name="write">
|
||||
<value eval="[ref('product_product_stool_top_3')]"/>
|
||||
<value eval="{'default_code': 'FURN_1245_GR'}"/>
|
||||
</function>
|
||||
<function model="product.template" name="write">
|
||||
<value eval="[ref('product_template_stool_top')]"/>
|
||||
<value eval="{'default_code': 'FURN_1245'}"/>
|
||||
</function>
|
||||
|
||||
<record id="stock_inventory_stool_top_1" model="stock.quant" forcecreate="0">
|
||||
<field name="product_id" ref="product_product_stool_top_1"/>
|
||||
<field name="lot_id" ref="lot_stool_top_1"/>
|
||||
<field name="inventory_quantity">20</field>
|
||||
<field name="location_id" model="stock.location"
|
||||
eval="obj().env.ref('stock.warehouse0').lot_stock_id.id"
|
||||
/>
|
||||
</record>
|
||||
<record id="stock_inventory_stool_top_2" model="stock.quant" forcecreate="0">
|
||||
<field name="product_id" ref="product_product_stool_top_2"/>
|
||||
<field name="lot_id" ref="lot_stool_top_2"/>
|
||||
<field name="inventory_quantity">20</field>
|
||||
<field name="location_id" model="stock.location"
|
||||
eval="obj().env.ref('stock.warehouse0').lot_stock_id.id"
|
||||
/>
|
||||
</record>
|
||||
<record id="stock_inventory_stool_top_3" model="stock.quant" forcecreate="0">
|
||||
<field name="product_id" ref="product_product_stool_top_3"/>
|
||||
<field name="lot_id" ref="lot_stool_top_3"/>
|
||||
<field name="inventory_quantity">20</field>
|
||||
<field name="location_id" model="stock.location"
|
||||
eval="obj().env.ref('stock.warehouse0').lot_stock_id.id"
|
||||
/>
|
||||
</record>
|
||||
|
||||
<record id="stock_inventory_stool_foot_1" model="stock.quant" forcecreate="0">
|
||||
<field name="product_id" ref="product_product_stool_foot_1"/>
|
||||
<field name="inventory_quantity">20</field>
|
||||
<field name="location_id" model="stock.location"
|
||||
eval="obj().env.ref('stock.warehouse0').lot_stock_id.id"
|
||||
/>
|
||||
</record>
|
||||
<record id="stock_inventory_stool_foot_2" model="stock.quant" forcecreate="0">
|
||||
<field name="product_id" ref="product_product_stool_foot_2"/>
|
||||
<field name="inventory_quantity">20</field>
|
||||
<field name="location_id" model="stock.location"
|
||||
eval="obj().env.ref('stock.warehouse0').lot_stock_id.id"
|
||||
/>
|
||||
</record>
|
||||
<record id="stock_inventory_stool_foot_3" model="stock.quant" forcecreate="0">
|
||||
<field name="product_id" ref="product_product_stool_foot_3"/>
|
||||
<field name="inventory_quantity">20</field>
|
||||
<field name="location_id" model="stock.location"
|
||||
eval="obj().env.ref('stock.warehouse0').lot_stock_id.id"
|
||||
/>
|
||||
</record>
|
||||
|
||||
<function model="stock.quant" name="action_apply_inventory">
|
||||
<function eval="[[('product_id', 'in', [
|
||||
(ref('product_product_stool_top_1')),
|
||||
(ref('product_product_stool_top_2')),
|
||||
(ref('product_product_stool_top_3')),
|
||||
(ref('product_product_stool_foot_1')),
|
||||
(ref('product_product_stool_foot_2')),
|
||||
(ref('product_product_stool_foot_3')),
|
||||
])]]" model="stock.quant" name="search"/>
|
||||
</function>
|
||||
|
||||
<record id="mrp_bom_stool" model="mrp.bom" forcecreate="0">
|
||||
<field name="product_tmpl_id" ref="product_template_stool"/>
|
||||
<field name="product_uom_id" ref="uom.product_uom_unit"/>
|
||||
<field name="sequence">3</field>
|
||||
<field name="consumption">flexible</field>
|
||||
</record>
|
||||
<record id="mrp_routing_workcenter_stool" model="mrp.routing.workcenter" forcecreate="0">
|
||||
<field name="bom_id" ref="mrp_bom_stool"/>
|
||||
<field name="workcenter_id" ref="mrp.mrp_workcenter_3"/>
|
||||
<field name="time_cycle_manual">10</field>
|
||||
<field name="sequence">10</field>
|
||||
<field name="name">Assembly</field>
|
||||
</record>
|
||||
|
||||
<record id="mrp_bom_stool_line_1" model="mrp.bom.line" forcecreate="0">
|
||||
<field name="product_id" ref="product_product_stool_top_1"/>
|
||||
<field name="product_qty">1</field>
|
||||
<field name="product_uom_id" ref="uom.product_uom_unit"/>
|
||||
<field name="sequence">1</field>
|
||||
<field name="bom_product_template_attribute_value_ids" eval="[(6, 0, [ref('mrp_workorder.product_attribute_value_1')])]"/>
|
||||
<field name="bom_id" ref="mrp_bom_stool"/>
|
||||
</record>
|
||||
<record id="mrp_bom_stool_line_2" model="mrp.bom.line" forcecreate="0">
|
||||
<field name="product_id" ref="product_product_stool_top_2"/>
|
||||
<field name="product_qty">1</field>
|
||||
<field name="product_uom_id" ref="uom.product_uom_unit"/>
|
||||
<field name="sequence">1</field>
|
||||
<field name="bom_product_template_attribute_value_ids" eval="[(6, 0, [ref('mrp_workorder.product_attribute_value_2')])]"/>
|
||||
<field name="bom_id" ref="mrp_bom_stool"/>
|
||||
</record>
|
||||
<record id="mrp_bom_stool_line_3" model="mrp.bom.line" forcecreate="0">
|
||||
<field name="product_id" ref="product_product_stool_top_3"/>
|
||||
<field name="product_qty">1</field>
|
||||
<field name="product_uom_id" ref="uom.product_uom_unit"/>
|
||||
<field name="sequence">1</field>
|
||||
<field name="bom_product_template_attribute_value_ids" eval="[(6, 0, [ref('mrp_workorder.product_attribute_value_3')])]"/>
|
||||
<field name="bom_id" ref="mrp_bom_stool"/>
|
||||
</record>
|
||||
<record id="mrp_bom_stool_line_4" model="mrp.bom.line" forcecreate="0">
|
||||
<field name="product_id" ref="product_product_stool_foot_1"/>
|
||||
<field name="product_qty">4</field>
|
||||
<field name="product_uom_id" ref="uom.product_uom_unit"/>
|
||||
<field name="sequence">1</field>
|
||||
<field name="bom_product_template_attribute_value_ids" eval="[(6, 0, [ref('mrp_workorder.product_attribute_value_1')])]"/>
|
||||
<field name="bom_id" ref="mrp_bom_stool"/>
|
||||
</record>
|
||||
<record id="mrp_bom_stool_line_5" model="mrp.bom.line" forcecreate="0">
|
||||
<field name="product_id" ref="product_product_stool_foot_2"/>
|
||||
<field name="product_qty">4</field>
|
||||
<field name="product_uom_id" ref="uom.product_uom_unit"/>
|
||||
<field name="sequence">1</field>
|
||||
<field name="bom_product_template_attribute_value_ids" eval="[(6, 0, [ref('mrp_workorder.product_attribute_value_2')])]"/>
|
||||
<field name="bom_id" ref="mrp_bom_stool"/>
|
||||
</record>
|
||||
<record id="mrp_bom_stool_line_6" model="mrp.bom.line" forcecreate="0">
|
||||
<field name="product_id" ref="product_product_stool_foot_3"/>
|
||||
<field name="product_qty">4</field>
|
||||
<field name="product_uom_id" ref="uom.product_uom_unit"/>
|
||||
<field name="sequence">1</field>
|
||||
<field name="bom_product_template_attribute_value_ids" eval="[(6, 0, [ref('mrp_workorder.product_attribute_value_3')])]"/>
|
||||
<field name="bom_id" ref="mrp_bom_stool"/>
|
||||
</record>
|
||||
<record id="quality_point_stool_instruction_1" model="quality.point" forcecreate="0">
|
||||
<field name="product_ids" model="product.product" eval="[(4, p) for p in obj().env.ref('mrp_workorder.product_template_stool').product_variant_ids.ids]"/>
|
||||
<field name="picking_type_ids" model="stock.warehouse" eval="[(4, obj().env.ref('stock.warehouse0').manu_type_id.id)]"/>
|
||||
<field name="operation_id" ref="mrp_routing_workcenter_stool"/>
|
||||
<field name="test_type_id" ref="quality.test_type_instructions"/>
|
||||
<field name="note"><![CDATA[
|
||||
<p>Make sure all parts that you need are in front of you : </p>
|
||||
<ul>
|
||||
<li>1x Stool Top </li>
|
||||
<li>4x Stool Foot </li>
|
||||
</ul>
|
||||
<p><img class="img-fluid o_we_custom_image" src="mrp_workorder/static/img/qp_stool_1.jpeg" style="width: 50%;"><br></p>]]>
|
||||
</field>
|
||||
<field name="title">Parts</field>
|
||||
<field name="sequence">10</field>
|
||||
</record>
|
||||
<record id="quality_point_stool_instruction_2" model="quality.point" forcecreate="0">
|
||||
<field name="product_ids" model="product.product" eval="[(6, 0, [ref('product_product_stool_1')])]"/>
|
||||
<field name="picking_type_ids" model="stock.warehouse" eval="[(4, obj().env.ref('stock.warehouse0').manu_type_id.id)]"/>
|
||||
<field name="operation_id" ref="mrp_routing_workcenter_stool"/>
|
||||
<field name="test_type_id" ref="test_type_register_consumed_materials"/>
|
||||
<field name="component_id" ref="product_product_stool_top_1"/>
|
||||
<field name="note"><![CDATA[
|
||||
<p>Please scan the Table Head data matrix which contains the part lot number to register its consumption.</p>
|
||||
<p><img class="img-fluid o_we_custom_image" src="mrp_workorder/static/img/qp_stool_2.jpeg" style="width: 50%;"><br></p>
|
||||
]]>
|
||||
</field>
|
||||
<field name="title">Stool Lot (Dark Blue)</field>
|
||||
<field name="sequence">20</field>
|
||||
</record>
|
||||
<record id="quality_point_stool_instruction_3" model="quality.point" forcecreate="0">
|
||||
<field name="product_ids" model="product.product" eval="[(6, 0, [ref('product_product_stool_2')])]"/>
|
||||
<field name="picking_type_ids" model="stock.warehouse" eval="[(4, obj().env.ref('stock.warehouse0').manu_type_id.id)]"/>
|
||||
<field name="operation_id" ref="mrp_routing_workcenter_stool"/>
|
||||
<field name="test_type_id" ref="test_type_register_consumed_materials"/>
|
||||
<field name="component_id" ref="product_product_stool_top_2"/>
|
||||
<field name="note"><![CDATA[
|
||||
<p>Please scan the Table Head data matrix which contains the part lot number to register its consumption.</p>
|
||||
<p><img class="img-fluid o_we_custom_image" src="mrp_workorder/static/img/qp_stool_2.jpeg" style="width: 50%;"><br></p>
|
||||
]]>
|
||||
</field>
|
||||
<field name="title">Stool Lot (Green)</field>
|
||||
<field name="sequence">20</field>
|
||||
</record>
|
||||
<record id="quality_point_stool_instruction_4" model="quality.point" forcecreate="0">
|
||||
<field name="product_ids" model="product.product" eval="[(6, 0, [ref('product_product_stool_3')])]"/>
|
||||
<field name="picking_type_ids" model="stock.warehouse" eval="[(4, obj().env.ref('stock.warehouse0').manu_type_id.id)]"/>
|
||||
<field name="operation_id" ref="mrp_routing_workcenter_stool"/>
|
||||
<field name="test_type_id" ref="test_type_register_consumed_materials"/>
|
||||
<field name="component_id" ref="product_product_stool_top_3"/>
|
||||
<field name="note"><![CDATA[
|
||||
<p>Please scan the Table Head data matrix which contains the part lot number to register its consumption.</p>
|
||||
<p><img class="img-fluid o_we_custom_image" src="mrp_workorder/static/img/qp_stool_2.jpeg" style="width: 50%;"><br></p>
|
||||
]]>
|
||||
</field>
|
||||
<field name="title">Stool Lot (Grey)</field>
|
||||
<field name="sequence">20</field>
|
||||
</record>
|
||||
<record id="quality_point_stool_instruction_5" model="quality.point" forcecreate="0">
|
||||
<field name="product_ids" model="product.product" eval="[(4, p) for p in obj().env.ref('mrp_workorder.product_template_stool').product_variant_ids.ids]"/>
|
||||
<field name="picking_type_ids" model="stock.warehouse" eval="[(4, obj().env.ref('stock.warehouse0').manu_type_id.id)]"/>
|
||||
<field name="operation_id" ref="mrp_routing_workcenter_stool"/>
|
||||
<field name="test_type_id" ref="quality.test_type_instructions"/>
|
||||
<field name="note"><![CDATA[
|
||||
<p>Please attach the four feet to the Stool Top as shown. </p>
|
||||
<p><img class="img-fluid o_we_custom_image" src="mrp_workorder/static/img/qp_stool_3.jpeg" style="width: 50%;"><br></p>
|
||||
]]>
|
||||
</field>
|
||||
<field name="title">Assembly</field>
|
||||
<field name="sequence">30</field>
|
||||
</record>
|
||||
<record id="quality_point_stool_instruction_6" model="quality.point" forcecreate="0">
|
||||
<field name="product_ids" model="product.product" eval="[(4, p) for p in obj().env.ref('mrp_workorder.product_template_stool').product_variant_ids.ids]"/>
|
||||
<field name="picking_type_ids" model="stock.warehouse" eval="[(4, obj().env.ref('stock.warehouse0').manu_type_id.id)]"/>
|
||||
<field name="operation_id" ref="mrp_routing_workcenter_stool"/>
|
||||
<field name="test_type_id" ref="quality.test_type_instructions"/>
|
||||
<field name="note"><![CDATA[
|
||||
<p>Generate a new Serial Number for the assembled product.</p>
|
||||
]]>
|
||||
</field>
|
||||
<field name="title">Generate Serial Number</field>
|
||||
<field name="sequence">40</field>
|
||||
</record>
|
||||
<record id="quality_point_stool_instruction_7" model="quality.point" forcecreate="0">
|
||||
<field name="product_ids" model="product.product" eval="[(4, p) for p in obj().env.ref('mrp_workorder.product_template_stool').product_variant_ids.ids]"/>
|
||||
<field name="picking_type_ids" model="stock.warehouse" eval="[(4, obj().env.ref('stock.warehouse0').manu_type_id.id)]"/>
|
||||
<field name="operation_id" ref="mrp_routing_workcenter_stool"/>
|
||||
<field name="test_type_id" ref="test_type_print_label"/>
|
||||
<field name="note"><![CDATA[
|
||||
<p>Print the finished product label and place it onto the assembled stool as shown.</p>
|
||||
<p><img class="img-fluid o_we_custom_image" src="mrp_workorder/static/img/qp_stool_5.jpeg" style="width: 50%;"><br></p>
|
||||
]]>
|
||||
</field>
|
||||
<field name="title">Print Label</field>
|
||||
<field name="sequence">50</field>
|
||||
</record>
|
||||
<record id="quality_point_stool_instruction_8" model="quality.point" forcecreate="0">
|
||||
<field name="product_ids" model="product.product" eval="[(4, p) for p in obj().env.ref('mrp_workorder.product_template_stool').product_variant_ids.ids]"/>
|
||||
<field name="picking_type_ids" model="stock.warehouse" eval="[(4, obj().env.ref('stock.warehouse0').manu_type_id.id)]"/>
|
||||
<field name="operation_id" ref="mrp_routing_workcenter_stool"/>
|
||||
<field name="test_type_id" ref="quality.test_type_picture"/>
|
||||
<field name="note">Take a picture of the assembled stool.</field>
|
||||
<field name="title">Picture</field>
|
||||
<field name="sequence">60</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user