<menuitem name="Manufacturing"
id="base.menu_mrp_root"
groups="group_mrp_user,group_mrp_manager"
- sequence="60"/>
+ sequence="80"/>
<menuitem name="Manufacturing"
id="menu_mrp_manufacturing"
Define specific property groups that can be assigned to your
bill of materials and sales orders. Properties allows OpenERP
to automatically select the right bill of materials according
- to properties selected in the sale order by salesperson.
+ to properties selected in the sales order by salesperson.
</p><p>
For instance, in the property group "Warranty", you an have
two properties: 1 year warranty, 3 years warranty. Depending
- on the propoerties selected in the sale order, OpenERP will
+ on the propoerties selected in the sales order, OpenERP will
schedule a production using the matching bill of materials.
</p>
</field>
materials for manufacturing a product when you have different
ways of building the same product. You can assign several
properties to each bill of materials. When a salesperson
- creates a sale order, they can relate it to several properties
+ creates a sales order, they can relate it to several properties
and OpenERP will automatically select the BoM to use according
the needs.
</p>
<form string="Bill of Material" version="7.0">
<group>
<group>
- <field name="product_id" on_change="onchange_product_id(product_id, name, context)" class="oe_inline"/>
+ <field name="product_id" on_change="onchange_product_id(product_id, name, context)" context="{'default_supply_method':'produce'}" class="oe_inline"/>
<label for="product_qty" string="Quantity"/>
<div>
<field name="product_qty" class="oe_inline"/>
- <field name="product_uom" class="oe_inline" groups="product.group_uom"/>
+ <field name="product_uom" class="oe_inline" on_change="onchange_uom(product_id, product_uom)" groups="product.group_uom"/>
</div>
<label for="product_uos_qty" groups="product.group_uos"/>
<div groups="product.group_uos" >
<label string="-" attrs="{'invisible':[('product_uos','=',False)]}" class="oe_inline"/>
<field name="product_uos" class="oe_inline"/>
</div>
+ <label for="routing_id" class="oe_inline" groups="mrp.group_mrp_routings"/>
<div groups="mrp.group_mrp_routings">
- <label for="routing_id" class="oe_edit_only"/>
- <h2><field name="routing_id" class="oe_inline"/></h2>
+ <field name="routing_id" class="oe_inline"/>
</div>
</group>
<group>
- <field name="name" class="oe_inline"/>
+ <field name="name" groups="base.group_no_one"/>
<field name="code" string="Reference"/>
<field name="type"/>
<p colspan="2" class="oe_grey" attrs="{'invisible': [('type','=','normal')]}">
- When processing a sale order for this product, the delivery order
+ When processing a sales order for this product, the delivery order
will contain the raw materials, instead of the finished product.
</p>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<page string="Components">
<field name="bom_lines" widget="one2many_list">
<tree string="Components" editable="bottom">
- <field name="product_id" on_change="onchange_product_id(product_id, name)"/>
+ <field name="product_id" context="{'default_supply_method':'produce'}" on_change="onchange_product_id(product_id, name)"/>
<field name="product_qty"/>
- <field name="product_uom" groups="product.group_uom"/>
+ <field name="product_uom" on_change="onchange_uom(product_id, product_uom)" groups="product.group_uom"/>
<field name="name" invisible="1"/>
<field name="date_start"/>
<field name="date_stop"/>
</page>
</notebook>
<div class="oe_chatter">
- <field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
<field name="message_follower_ids" widget="mail_followers"/>
+ <field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
</div>
</form>
</field>
<filter string='Default Unit of Measure' icon="terp-mrp" domain="[]" context="{'group_by' : 'product_uom'}"/>
<filter string="Routing" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'routing_id'}"/>
<filter string='Type' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'type'}"/>
- <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}" help="Starting Date"/>
+ <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}" help="Start Date by Month"/>
</group>
</search>
</field>
<field name="model">mrp.bom</field>
<field name="field_parent">child_complete_ids</field>
<field name="arch" type="xml">
- <tree string="Bill of Materials" colors="blue:method">
+ <tree string="Bill of Materials">
<field name="sequence" invisible="1"/>
- <field name="name"/>
- <field name="code"/>
+ <field name="name" invisible="1"/>
<field name="product_id"/>
<field name="product_qty"/>
<field name="product_uom" groups="product.group_uom"/>
+ <field name="code"/>
<field name="type"/>
- <field name="method"/>
<field name="routing_id" groups="mrp.group_mrp_routings"/>
<field name="date_start"/>
<field name="date_stop"/>
<field name="model">mrp.bom</field>
<field name="field_parent">child_complete_ids</field>
<field name="arch" type="xml">
- <tree string="BoM Structure" colors="blue:method">
+ <tree string="BoM Structure">
<field name="sequence" invisible="1"/>
- <field name="name" string="Component Name"/>
+ <field name="name" groups="base.group_no_one"/>
<field name="code"/>
- <field name="product_id" string="Component Product"/>
- <field name="bom_id"/>
+ <field name="product_id"/>
+ <field name="bom_id" groups="product.group_mrp_properties"/>
<field name="product_qty"/>
<field name="product_uom" groups="product.group_uom"/>
<field name="type"/>
- <field name="method"/>
<field name="routing_id" groups="mrp.group_mrp_routings"/>
- <field name="date_start"/>
- <field name="date_stop"/>
+ <field name="date_start" groups="product.group_mrp_properties"/>
+ <field name="date_stop" groups="product.group_mrp_properties"/>
</tree>
</field>
</record>
<p class="oe_view_nocontent_create">
Click to add a component to a bill of material.
</p><p>
- Bills of materials components are components and sub-products
+ Bills of materials components are components and by-products
used to create master bills of materials. Use this menu to
search in which BoM a specific component is used.
</p>
<field name="type">ir.actions.act_window</field>
<field name="res_model">mrp.bom</field>
<field name="domain">[('bom_id', '=',active_ids)]</field>
+ <field name="view_type">tree</field>
<field name="view_id" ref="mrp_bom_tree_view"/>
</record>
<record id="ir_BOM_structure" model="ir.values">
<field name="name">mrp.production.gantt</field>
<field name="model">mrp.production</field>
<field name="arch" type="xml">
- <gantt date_stop="date_finished" date_start="date_start" string="Productions" default_group_by="routing_id">
+ <gantt date_stop="date_finished" date_start="date_start" progress="progress" string="Productions" default_group_by="routing_id">
</gantt>
</field>
</record>
<field name="model">mrp.production</field>
<field name="arch" type="xml">
<graph string="Manufacturing Orders" type="bar">
- <field name="date_planned_date"/>
+ <field name="date_planned"/>
<field name="hour_total" operator="+"/>
<field name="cycle_total" operator="+"/>
</graph>
<form string="Manufacturing Orders" version="7.0">
<header>
<button name="button_confirm" states="draft" string="Confirm Production" class="oe_highlight"/>
- <button name="button_produce" states="ready" string="Start Production" class="oe_highlight"/>
- <button name="%(act_mrp_product_produce)d" states="in_production" string="Produce" type="action" class="oe_highlight"/>
- <button name="force_production" states="confirmed" string="Force Reservation" type="object" class="oe_highlight"/>
+ <button name="%(act_mrp_product_produce)d" states="confirmed,ready,in_production" string="Produce" type="action" class="oe_highlight"/>
+ <button name="force_production" states="confirmed" string="Force Reservation" type="object"/>
<button name="force_production" states="picking_except" string="Force Reservation" type="object"/>
+ <button name="button_produce" states="ready" string="Mark as Started"/>
<button name="button_recreate" states="picking_except" string="Recreate Picking"/>
- <button name="button_cancel" states="draft,ready,in_production,picking_except" string="Cancel"/>
- <button name="action_cancel" type="object" states="confirmed" string="Cancel"/>
+ <button name="button_cancel" states="draft,ready,in_production,picking_except" string="Cancel Production"/>
+ <button name="action_cancel" type="object" states="confirmed" string="Cancel Production"/>
<field name="state" widget="statusbar" statusbar_visible="draft,ready,in_production,done" statusbar_colors='{"picking_except":"red","confirmed":"blue"}'/>
</header>
<sheet>
<page string="Consumed Products">
<group>
<group string="Products to Consume">
- <field name="move_lines" nolabel="1">
+ <field name="move_lines" nolabel="1" options="{'reload_on_button': true}">
<tree colors="blue:state == 'draft';black:state in ('picking_except','confirmed','ready','in_production');gray:state in ('cancel','done') " string="Products to Consume">
<field name="product_id"/>
<field name="product_qty" string="Quantity"/>
groups="stock.group_production_lot"/>
<button name="%(stock.move_scrap)d"
string="Scrap Products" type="action"
- icon="gtk-convert" context="{'scrap': True}"
+ icon="terp-gtk-jump-to-ltr" context="{'scrap': True}"
states="draft,waiting,confirmed,assigned"/>
</tree>
</field>
<field name="prodlot_id" context="{'product_id': product_id}" groups="stock.group_production_lot"/>
<field name="state" invisible="1"/>
<field name="scrapped" invisible="1"/>
- <button
- name="%(stock.move_scrap)d"
- string="Scrap Products" type="action"
- icon="gtk-convert"
- states="done,cancel"/>
</tree>
</field>
</group>
string="Partial"
type="action" states="confirmed,assigned"
icon="gtk-justify-fill"/>
- <button name="%(stock.move_scrap)d"
- string="Scrap Products" type="action"
- icon="gtk-convert" context="{'scrap': True}"
- states="draft,waiting,confirmed,assigned"/>
</tree>
</field>
</group>
<button name="%(stock.track_line)d"
string="Split in Serial Numbers" type="action" icon="gtk-justify-fill" states="done,cancel"/>
<button name="%(stock.move_scrap)d"
- string="Scrap Products" type="action" icon="gtk-convert"
+ string="Scrap Products" type="action" icon="terp-gtk-jump-to-ltr"
states="done,cancel"/>
</tree>
</field>
</group>
</group>
</page>
- <page string="Work Orders">
+ <page string="Work Orders" groups="mrp.group_mrp_routings">
<button name="action_compute" states="draft"
string="Compute Data" type="object"
icon="terp-stock_format-scientific"/>
<group>
<group>
<field name="priority"/>
- <field name="date_start"/>
- <field name="date_finished"/>
+ <field name="date_start" invisible="1"/>
+ <field name="date_finished" invisible="1"/>
</group>
<group>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</notebook>
</sheet>
<div class="oe_chatter">
- <field name="message_ids" widget="mail_thread"/>
<field name="message_follower_ids" widget="mail_followers"/>
+ <field name="message_ids" widget="mail_thread"/>
</div>
</form>
</field>
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
<filter string="Routing" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'routing_id'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_planned'}" help="Scheduled Date"/>
+ <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'date_planned'}" help="Scheduled Date by Month"/>
</group>
</search>
</field>
<attribute name="invisible">False</attribute>
</xpath>
<group name="procurement_help" position="inside">
- <p attrs="{'invisible': [('type','=','service'),('procure_method','<>','make_to_order'),('supply_method','<>','produce')]}">
+ <p attrs="{'invisible': ['|','|',('type','=','service'),('procure_method','<>','make_to_order'),('supply_method','<>','produce')]}">
When you sell this product, OpenERP will trigger <b>a manufacturing
order</b> using the bill of materials assigned to this product.
The delivery order will be ready once the production is done.
</field>
</record>
- <act_window
- context="{'search_default_product_id': [active_id]}"
- id="act_product_manufacturing_open"
- name="Manufacturing Orders"
- view_id="mrp_production_tree_view"
- res_model="mrp.production"
- src_model="product.product"/>
-
- <act_window
- id="action_product_bom_structure"
- name="Product BoM Structure"
- domain="[('product_id', 'in', active_ids),('bom_id','=',False)]"
- context="{'default_product_id': active_id}"
- view_type="tree"
- view_mode="tree"
- view_id="mrp_bom_tree_view"
- res_model="mrp.bom"
- src_model="product.product"
- groups="mrp.group_mrp_user"/>
-
<!-- Menu for Resource for MRP-->
<record id="mrp_workcenter_action" model="ir.actions.act_window">
<menuitem id="menu_mrp_planning" name="Planning"
parent="base.menu_mrp_root" sequence="2"/>
<menuitem action="mrp.mrp_production_action_planning"
- id="menu_mrp_production_order_action" name="Orders Planning"
+ id="menu_mrp_production_order_action" name="Order Planning"
parent="menu_mrp_planning" sequence="1"/>
-
+ <record id="act_product_mrp_bom_open" model="ir.actions.act_window">
+ <field name="name">BoM Structure</field>
+ <field name="context">{'default_product_id': active_id}</field>
+ <field name="domain">[('product_id', 'in', active_ids),('bom_id','=',False)]</field>
+ <field name="res_model">mrp.bom</field>
+ </record>
<record model="ir.actions.act_window" id="product_open_bom">
<field name="context">{'default_product_id': active_id, 'search_default_product_id': active_id}</field>
<field name="name">Bill of Materials</field>
+ <field name="domain">[('bom_id','=',False)]</field>
<field name="res_model">mrp.bom</field>
</record>
-
+ <record id="act_product_mrp_production" model="ir.actions.act_window">
+ <field name="context">{'search_default_product_id': [active_id]}</field>
+ <field name="name">Manufacturing Orders</field>
+ <field name="res_model">mrp.production</field>
+ <field name="view_id" ref="mrp_production_tree_view"/>
+ </record>
<record model="ir.ui.view" id="product_form_view_bom_button">
<field name="name">product.product.procurement</field>
<field name="model">product.product</field>
<field name="inherit_id" ref="product.product_normal_form_view"/>
<field name="arch" type="xml">
<xpath expr="//div[@name='buttons']" position="inside">
- <button string="Bill of Materials" name="%(product_open_bom)d" type="action"/>
+ <button string="Bill of Materials" name="%(product_open_bom)d" type="action" attrs="{'invisible':[('type', '=', 'service')]}"/>
+ <button string="BoM Structure" name="%(act_product_mrp_bom_open)d" type="action" groups="mrp.group_mrp_user" attrs="{'invisible':[('type', '=', 'service')]}"/>
+ <button string="Manufacturing Orders" name="%(act_product_mrp_production)d" type="action" groups="mrp.group_mrp_user" attrs="{'invisible':[('type', '=', 'service')]}"/>
</xpath>
</field>
</record>