odoo/addons/mrp/mrp_view.xml

1045 lines
55 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- Top menu item -->
<menuitem name="Manufacturing"
id="base.menu_mrp_root"
groups="group_mrp_user,group_mrp_manager"
sequence="60"/>
<menuitem name="Manufacturing"
id="menu_mrp_manufacturing"
parent="base.menu_mrp_root"
sequence="1"/>
<menuitem name="Master Data"
id="menu_mrp_bom"
parent="base.menu_mrp_root"
sequence="5" />
<!--
Property / Property Group
-->
<record id="mrp_property_group_form_view" model="ir.ui.view">
<field name="name">mrp.property.group.form</field>
<field name="model">mrp.property.group</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Properties categories" version="7.0">
<label for="name"/>
<field name="name"/>
<label name="description"/>
<field name="description"/>
</form>
</field>
</record>
<record id="mrp_property_group_action" model="ir.actions.act_window">
<field name="name">Property Groups</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">mrp.property.group</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="help">
Define specific property groups that can be assigned to the properties of your bill of materials.
</field>
</record>
<menuitem
id="menu_mrp_configuration"
name="Configuration"
parent="base.menu_mrp_root"
groups="group_mrp_manager"
sequence="50" />
<record id="mrp_property_tree_view" model="ir.ui.view">
<field name="name">mrp.property.tree</field>
<field name="model">mrp.property</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Properties">
<field name="name"/>
<field name="composition"/>
<field name="group_id"/>
</tree>
</field>
</record>
<record id="mrp_property_form_view" model="ir.ui.view">
<field name="name">mrp.property.form</field>
<field name="model">mrp.property</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Properties" version="7.0">
<group col="4">
<field colspan="4" name="name"/>
<field name="group_id"/>
<field name="composition"/>
</group>
<label for="description"/>
<field name="description"/>
</form>
</field>
</record>
<record id="view_mrp_property_search" model="ir.ui.view">
<field name="name">mrp.property.search</field>
<field name="model">mrp.property</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search">
<group>
<field name="name" string="Name"/>
<separator orientation="vertical"/>
<field name="group_id" widget="selection" />
<field name="composition"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="Property Group" icon="terp-personal" domain="[]" context="{'group_by':'group_id'}"/>
</group>
</search>
</field>
</record>
<record id="mrp_property_action" model="ir.actions.act_window">
<field name="name">Properties</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">mrp.property</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_mrp_property_search"/>
<field name="help">
The Properties in OpenERP are used to select the right bill of 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
and OpenERP will automatically select the BoM to use according the needs.
</field>
</record>
<menuitem name="Master Bill of Materials"
id="menu_mrp_property"
parent="menu_mrp_configuration"
groups="mrp.group_mrp_routings,product.group_mrp_properties"
sequence="20" />
<menuitem
action="mrp_property_action"
id="menu_mrp_property_action"
groups="product.group_mrp_properties"
parent="menu_mrp_property"/>
<menuitem
action="mrp_property_group_action"
parent="menu_mrp_property"
groups="product.group_mrp_properties"
id="menu_mrp_property_group_action"/>
<!--
Work Centers
-->
<record id="mrp_workcenter_tree_view" model="ir.ui.view">
<field name="name">mrp.workcenter.tree</field>
<field name="model">mrp.workcenter</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Work Center">
<field name="code"/>
<field name="name"/>
<field name="resource_type"/>
<field name="company_id" groups="base.group_multi_company"/>
</tree>
</field>
</record>
<record id="mrp_workcenter_view" model="ir.ui.view">
<field name="name">mrp.workcenter.form</field>
<field name="model">mrp.workcenter</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Work Center" version="7.0">
<group col="4">
<field name="name"/>
<field name="code"/>
<field name="active"/>
<field name="resource_type"/>
<field name="calendar_id" widget="selection"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
<notebook>
<page string="General Information">
<group>
<group string="Capacity Information">
<field name="time_efficiency"/>
<field name="capacity_per_cycle"/>
<field name="time_cycle" widget="float_time"/>
<field name="time_start" widget="float_time"/>
<field name="time_stop" widget="float_time"/>
</group>
<group string="Costing Information">
<field name="product_id" on_change="on_change_product_cost(product_id)"/>
<field name="costs_hour"/>
<field name="costs_hour_account_id" groups="analytic.group_analytic_accounting"/>
<field name="costs_cycle"/>
<field name="costs_cycle_account_id" groups="analytic.group_analytic_accounting"/>
<field name="costs_journal_id" attrs="{'required':['|',('costs_hour_account_id', '=', True),('costs_cycle_account_id', '=', True)]}" groups="analytic.group_analytic_accounting"/>
<field name="costs_general_account_id" attrs="{ 'required':['|',('costs_cycle_account_id', '=', True),('costs_hour_account_id', '=', True)]}" groups="analytic.group_analytic_accounting"/>
</group>
</group>
<label for="note"/>
<field name="note"/>
</page>
</notebook>
</form>
</field>
</record>
<!-- Search Views -->
<record id="view_mrp_workcenter_search" model="ir.ui.view">
<field name="name">mrp.workcenter.search</field>
<field name="model">mrp.workcenter</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search for mrp workcenter">
<group>
<field name="name" string="Mrp Workcenter" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
<separator orientation="vertical"/>
<filter string="Inactive" icon="terp-gdu-smart-failing" domain="[('active','=',False)]"/>
<separator orientation="vertical"/>
<field name="resource_type"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'resource_type'}"/>
<separator orientation="vertical" groups="base.group_multi_company"/>
<filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
</group>
</search>
</field>
</record>
<!--
Routings
-->
<record id="mrp_routing_workcenter_tree_view" model="ir.ui.view">
<field name="name">mrp.routing.workcenter.tree</field>
<field name="model">mrp.routing.workcenter</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Routing Work Centers">
<field name="sequence"/>
<field name="name"/>
<field name="workcenter_id"/>
<field name="cycle_nbr"/>
<field name="hour_nbr"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
</tree>
</field>
</record>
<record id="mrp_routing_workcenter_form_view" model="ir.ui.view">
<field name="name">mrp.routing.workcenter.form</field>
<field name="model">mrp.routing.workcenter</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Routing Work Centers" version="7.0">
<group col="4" string="General Information">
<field colspan="4" name="name"/>
<field name="sequence"/>
<field name="workcenter_id"/>
<field name="cycle_nbr"/>
<field name="hour_nbr" widget="float_time"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
</group>
<label for="note"/>
<field name="note"/>
</form>
</field>
</record>
<record id="mrp_routing_form_view" model="ir.ui.view">
<field name="name">mrp.routing.form</field>
<field name="model">mrp.routing</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Routing" version="7.0">
<group col="4">
<field name="name"/>
<field name="code"/>
<field name="active"/>
<field name="location_id"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
</group>
<notebook>
<page string="Work Center Operations">
<field name="workcenter_lines"/>
</page>
<page string="Notes">
<field name="note"/>
</page>
</notebook>
</form>
</field>
</record>
<record id="mrp_routing_tree_view" model="ir.ui.view">
<field name="name">mrp.routing.tree</field>
<field name="model">mrp.routing</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Routing">
<field name="code"/>
<field name="name"/>
<field name="location_id"/>
<field name="company_id" groups="base.group_multi_company"/>
</tree>
</field>
</record>
<record id="mrp_routing_search_view" model="ir.ui.view">
<field name="name">mrp.routing.search</field>
<field name="model">mrp.routing</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Routing">
<field name="name" string="Routing" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
<separator orientation="vertical"/>
<filter string="Inactive" icon="terp-gdu-smart-failing" domain="[('active','=',False)]"/>
<separator orientation="vertical"/>
<field name="location_id"/>
<field name="company_id" groups="base.group_multi_company"/>
<group expand="0" string="Group By...">
<filter string="Production Location" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'location_id'}"/>
</group>
</search>
</field>
</record>
<record id="mrp_routing_action" model="ir.actions.act_window">
<field name="name">Routings</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">mrp.routing</field>
<field name="view_type">form</field>
<field name="view_id" ref="mrp_routing_tree_view"/>
<field name="search_view_id" ref="mrp_routing_search_view"/>
<field name="help">
Routings allow you to create and manage the manufacturing operations that should be
followed within your work centers in order to produce a product.
They are attached to bills of materials that will define the required raw materials.
</field>
</record>
<menuitem action="mrp_routing_action" id="menu_mrp_routing_action" parent="mrp.menu_mrp_bom" groups="mrp.group_mrp_routings" sequence="15"/>
<!--
Bill of Materials
-->
<record id="mrp_bom_form_view" model="ir.ui.view">
<field name="name">mrp.bom.form</field>
<field name="model">mrp.bom</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Bill of Material" version="7.0">
<sheet>
<label for="product_id" string="Product and Quantity" class="oe_edit_only"/>
<h1>
<field name="product_id" on_change="onchange_product_id(product_id, name, context)" class="oe_inline"/>:
<field name="product_qty" class="oe_inline"/>
<field name="product_uom" class="oe_inline" groups="product.group_uom"/>
</h1>
<div groups="mrp.group_mrp_routings">
<label for="routing_id" class="oe_edit_only"/>
<h2><field name="routing_id" class="oe_inline"/></h2>
</div>
<group>
<group>
<field name="name"/>
<field name="code" string="Reference"/>
</group>
<group>
<field name="type"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<field name="product_uos_qty" groups="product.group_uos" />
<field name="product_uos" groups="product.group_uos"/>
</group>
</group>
<notebook>
<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_qty"/>
<field name="product_uom" groups="product.group_uom"/>
<field name="name" invisible="1"/>
<field name="date_start"/>
<field name="date_stop"/>
</tree>
</field>
</page>
<page string="Revisions" attrs="{'invisible': [('bom_id','!=',False)]}">
<field name="revision_ids"/>
</page>
<page string="Properties" groups="product.group_mrp_properties">
<group>
<group>
<field name="position"/>
<field name="bom_id"/>
<field name="sequence"/>
<field name="active"/>
</group>
<group>
<field name="date_start"/>
<field name="date_stop"/>
<field name="product_rounding"/>
<field name="product_efficiency"/>
</group>
</group>
<separator string="Properties"/>
<field name="property_ids" widget="many2many_tags" />
</page>
</notebook>
<newline/>
</sheet>
</form>
</field>
</record>
<record id="view_mrp_bom_filter" model="ir.ui.view">
<field name="name">mrp.bom.select</field>
<field name="model">mrp.bom</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Bill Of Material">
<group>
<field name="name" string="Bill Of Material" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
<separator orientation="vertical"/>
<field name="product_id"/>
<field name="company_id" groups="base.group_multi_company"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
<filter string='Default Unit of Measure' icon="terp-mrp" domain="[]" context="{'group_by' : 'product_uom'}" />
<separator orientation="vertical"/>
<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'}" />
<separator orientation="vertical"/>
<filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}" help="Starting Date"/>
</group>
</search>
</field>
</record>
<record id="mrp_bom_tree_view" model="ir.ui.view">
<field name="name">mrp.bom.tree</field>
<field name="model">mrp.bom</field>
<field name="type">tree</field>
<field name="field_parent">child_complete_ids</field>
<field name="arch" type="xml">
<tree string="Bill of Materials" colors="blue:method">
<field name="sequence" invisible="1"/>
<field name="name"/>
<field name="code"/>
<field name="product_id"/>
<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"/>
</tree>
</field>
</record>
<record id="mrp_bom_component_tree_view" model="ir.ui.view">
<field name="name">mrp.bom.component.tree</field>
<field name="model">mrp.bom</field>
<field name="type">tree</field>
<field name="field_parent">child_complete_ids</field>
<field name="arch" type="xml">
<tree string="BoM Structure" colors="blue:method">
<field name="sequence" invisible="1"/>
<field name="name" string="Component Name"/>
<field name="code"/>
<field name="product_id" string="Component Product"/>
<field name="bom_id"/>
<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"/>
</tree>
</field>
</record>
<record id="mrp_bom_form_action" model="ir.actions.act_window">
<field name="name">Bill of Materials</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">mrp.bom</field>
<field name="view_type">form</field>
<field name="domain">[('bom_id','=',False)]</field>
<field name="search_view_id" ref="view_mrp_bom_filter"/>
<field name="help">
Master Bills of Materials allow you to create and manage the list of necessary
raw materials used to make a finished product.
OpenERP uses these BoMs to automatically propose manufacturing orders according to product needs.
You can either create a bill of materials to define specific production steps,
or define a single multi-level bill of materials.
</field>
</record>
<record id="mrp_bom_form_action2" model="ir.actions.act_window">
<field name="name">Bill of Material Components</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">mrp.bom</field>
<field name="view_type">form</field>
<field name="view_id" ref="mrp_bom_component_tree_view"/>
<field name="domain">[('bom_id','!=',False)]</field>
<field name="help">
Bills of materials components are components and sub-products used to create master bills of materials.
Use this menu to search in which BoM a specific component is used.
</field>
</record>
<!-- BOM menus -->
<menuitem
action="mrp_bom_form_action"
id="menu_mrp_bom_form_action"
parent="menu_mrp_bom"
sequence="10"/>
<menuitem
action="mrp_bom_form_action2"
id="menu_mrp_bom_form_action2"
parent="menu_mrp_bom"
sequence="20"/>
<record id="action2" model="ir.actions.act_window">
<field name="name">Bill of Materials Structure</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">mrp.bom</field>
<field name="domain">[('id','in',active_ids)]</field>
<field name="view_type">tree</field>
<field name="view_mode">tree</field>
<field name="view_id" ref="mrp_bom_tree_view"/>
</record>
<record id="ir_BOM_structure" model="ir.values">
<field eval="'client_action_multi'" name="key2"/>
<field eval="'mrp.bom'" name="model"/>
<field name="name">Bill of Materials Structure</field>
<field eval="'ir.actions.act_window,'+str(action2)" name="value"/>
</record>
<record id="mrp_bom_revision_tree" model="ir.ui.view">
<field name="name">mrp.bom.revision</field>
<field name="model">mrp.bom.revision</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="BoM Revisions">
<field name="indice"/>
<field name="author_id"/>
<field name="date"/>
<field colspan="4" name="name"/>
</tree>
</field>
</record>
<record id="mrp_bom_revision_form" model="ir.ui.view">
<field name="name">mrp.bom.revision</field>
<field name="model">mrp.bom.revision</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="BoM Revisions" version="7.0">
<group col="4">
<field name="name"/>
<field name="indice"/>
<field name="date"/>
<field name="author_id" readonly="1"/>
</group>
<separator string="Description"/>
<field name="description"/>
</form>
</field>
</record>
<!--
Production Management
-->
<record id="mrp_production_tree_view" model="ir.ui.view">
<field name="name">mrp.production.tree</field>
<field name="model">mrp.production</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree fonts="bold:needaction_pending==True" colors="blue:state in ('draft','confirmed');red:date_planned&lt;current_date and state not in ('done','cancel');black:date_planned&gt;=current_date and state not in ('done','cancel');gray:state in ('done','cancel')" string="Manufacturing Orders">
<field name="needaction_pending" invisible="1"/>
<field name="name"/>
<field name="date_planned"/>
<field name="product_id"/>
<field name="product_qty" sum="Total Qty"/>
<field name="product_uom" groups="product.group_uom"/>
<field name="routing_id" groups="mrp.group_mrp_routings"/>
<field name="hour_total" sum="Total Hours"/>
<field name="cycle_total" sum="Total Cycles"/>
<field name="origin"/>
<field name="state"/>
</tree>
</field>
</record>
<record id="view_production_calendar" model="ir.ui.view">
<field name="name">mrp.production.calendar</field>
<field name="model">mrp.production</field>
<field name="type">calendar</field>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<calendar color="routing_id" date_start="date_planned" string="Manufacturing Orders">
<field name="name"/>
<field name="product_id"/>
<field name="product_qty"/>
</calendar>
</field>
</record>
<record id="view_production_gantt" model="ir.ui.view">
<field name="name">mrp.production.gantt</field>
<field name="model">mrp.production</field>
<field name="type">gantt</field>
<field name="arch" type="xml">
<gantt date_stop="date_finished" date_start="date_start" string="Productions" default_group_by="routing_id">
</gantt>
</field>
</record>
<record model="ir.ui.view" id="view_production_graph">
<field name="name">mrp.production.graph</field>
<field name="model">mrp.production</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<graph string="Manufacturing Orders" type="bar">
<field name="date_planned_date"/>
<field name="hour_total" operator="+"/>
<field name="cycle_total" operator="+"/>
</graph>
</field>
</record>
<record id="mrp_production_form_view" model="ir.ui.view">
<field name="name">mrp.production.form</field>
<field name="model">mrp.production</field>
<field name="type">form</field>
<field name="arch" type="xml">
<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="force_production" states="picking_except" string="Force Reservation" type="object"/>
<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"/>
<field name="state" widget="statusbar" statusbar_visible="draft,ready,in_production,done" statusbar_colors='{"picking_except":"red","confirmed":"blue"}'/>
</header>
<sheet>
<div class="oe_button_box oe_right">
<button name="%(mrp.action_change_production_qty)d" type="action" states="ready,confirmed"
string="Change Quantity" icon="terp-accessories-archiver+"/>
</div>
<div class="oe_title">
<label for="product_id" string="Product and Quantity" class="oe_edit_only"/>
<h1>
<field name="product_id" on_change="product_id_change(product_id)" domain="[('supply_method','=','produce')]" class="oe_inline"/>:
<field name="product_qty" class="oe_inline"/>
<field name="product_uom" class="oe_inline" groups="product.group_uom"/>
</h1>
<div groups="mrp.group_mrp_routings">
<label for="routing_id" class="oe_edit_only"/>
<h2><field name="routing_id" class="oe_inline"/></h2>
</div>
</div>
<group>
<group>
<field name="name"/>
<field name="date_planned"/>
<field name="origin"/>
</group>
<group>
<field name="user_id"/>
<field name="product_uos_qty" groups="product.group_uos"/>
<field name="product_uos" groups="product.group_uos"/>
</group>
</group>
<notebook>
<page string="Consumed Products">
<group>
<group groups="stock.group_locations">
<field name="location_src_id" domain="[('usage','=','internal')]" on_change="location_id_change(location_src_id,location_dest_id)"/>
<field name="location_dest_id" domain="[('usage','=','internal')]"/>
</group>
<group>
<field name="bom_id" domain="[('product_id','=',product_id)]" context="{'default_product_id': product_id}" on_change="bom_id_change(bom_id)"/>
</group>
</group>
<group>
<field name="move_lines" domain="[('state','&lt;&gt;', ('done', 'cancel'))]">
<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"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="location_id" string="Source Loc." groups="stock.group_locations"/>
<field name="state" invisible="1"/>
<button name="%(stock.move_consume)d"
string="Consume Products" type="action"
icon="gtk-go-forward" context="{'consume': True}"
states="draft,waiting,confirmed,assigned" />
<button
name="%(stock.track_line)d"
string="Split in Serial Numbers"
type="action" icon="gtk-justify-fill"
states="draft,waiting,confirmed,assigned" />
<button name="%(stock.move_scrap)d"
string="Scrap Products" type="action"
icon="gtk-convert" context="{'scrap': True}"
states="draft,waiting,confirmed,assigned"/>
</tree>
</field>
<field name="move_lines2" domain="[('state','in', ('done', 'cancel'))]">
<tree colors="red:scrapped==True;blue:state == 'draft';black:state in('picking_except','confirmed','ready','in_production');gray:state == 'cancel' " string="Consumed Products" editable="bottom">
<field name="product_id" readonly="1"/>
<field name="product_qty" readonly="1"/>
<field name="product_uom" readonly="1" string="Unit of Measure" groups="product.group_uom"/>
<field name="prodlot_id" context="{'product_id': product_id}"/>
<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>
</page>
<page string="Finished Products">
<group>
<field name="move_created_ids" domain="[('state','&lt;&gt;', ('done', 'cancel'))]">
<tree string="Products to Finish">
<field name="product_id"/>
<field name="product_qty"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="state" invisible="1"/>
<button name="%(stock.action_partial_move_server)d"
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>
<field name="move_created_ids2" domain="[('state','in', ('done', 'cancel'))]">
<tree colors="red:scrapped==True;blue:state == 'draft';black:state in('picking_except','confirmed','ready','in_production');gray:state in('cancel','done') " string="Finished Products">
<field name="product_id" readonly="1"/>
<field name="product_qty" readonly="1"/>
<field name="product_uom" readonly="1" string="Unit of Measure" groups="product.group_uom"/>
<field name="location_dest_id" readonly="1" string="Destination Loc." widget="selection" groups="stock.group_locations"/>
<field name="prodlot_id" context="{'product_id': product_id}"/>
<field name="scrapped" invisible="1"/>
<field name="state" invisible="1"/>
<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"
states="done,cancel" />
</tree>
</field>
</group>
</page>
<page string="Work Orders">
<button name="action_compute" states="draft"
string="Compute Data" type="object"
icon="terp-stock_format-scientific"/>
<field name="workcenter_lines">
<form string="Production Work Centers" version="7.0">
<group col="4">
<field colspan="4" name="name"/>
<field name="workcenter_id" widget="selection"/>
<field name="sequence"/>
<field name="cycle"/>
<field name="hour"/>
</group>
</form>
<tree string="Production Work Centers">
<field name="sequence"/>
<field name="name"/>
<field name="workcenter_id" widget="selection"/>
<field name="cycle"/>
<field name="hour"/>
</tree>
</field>
</page>
<page string="Scheduled Products">
<button name="action_compute" states="draft"
string="Compute Data" type="object"
icon="terp-stock_format-scientific"/>
<field name="product_lines"/>
</page>
<page string="Extra Information">
<group>
<group>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<field name="priority"/>
<field name="picking_id"/>
<field name="move_prod_id" groups="stock.group_locations"/>
</group>
<group>
<field name="date_start"/>
<field name="date_finished"/>
</group>
</group>
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_ids" widget="mail_thread"/>
</div>
</form>
</field>
</record>
<record id="view_mrp_production_filter" model="ir.ui.view">
<field name="name">mrp.production.select</field>
<field name="model">mrp.production</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Production">
<group>
<field name="name" string="Production" filter_domain="['|',('name','ilike',self),('origin','ilike',self)]"/>
<separator orientation="vertical"/>
<filter icon="terp-gtk-media-pause" string="Pending" name="pending"
domain="[('state','=','confirmed')]"
help="Manufacturing Orders which are waiting for raw materials."/>
<filter icon="terp-camera_test" string="Ready" name="ready"
domain="[('state','=','ready')]"
help="Manufacturing Orders which are ready to start production."/>
<filter icon="terp-check" string="In Production" name="inprogress"
domain="[('state','=','in_production')]"
help="Manufacturing Orders which are currently in production."/>
<filter icon="terp-gnome-cpu-frequency-applet+" string="Late"
domain="['&amp;', ('date_planned','&lt;', current_date), ('state', 'in', ('draft', 'confirmed', 'ready'))]"
help="Production started late" />
<separator orientation="vertical"/>
<field name="product_id"/>
<field name="routing_id" groups="mrp.group_mrp_routings"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
<separator orientation="vertical"/>
<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'}"/>
<separator orientation="vertical"/>
<filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_planned'}" help="Scheduled Date"/>
</group>
</search>
</field>
</record>
<record id="mrp_production_action" model="ir.actions.act_window">
<field name="name">Manufacturing Orders</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">mrp.production</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,graph,gantt</field>
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="view_mrp_production_filter"/>
<field name="context">{}</field>
<field name="help">
Click here to create a new Manufacturing Order.
&lt;p&gt;
To process the production, do not forget to create a Bill of Material.
Manufacturing orders can be automatically generated based on procurement rules specified on the product.
</field>
</record>
<menuitem action="mrp_production_action" id="menu_mrp_production_action"
parent="menu_mrp_manufacturing" sequence="1"/>
<record id="mrp_production_action_planning" model="ir.actions.act_window">
<field name="name">Manufacturing Orders</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">mrp.production</field>
<field name="view_type">form</field>
<field name="view_mode">calendar,tree,form,graph</field>
<field name="domain">[('state','in',('ready','confirmed','in_production'))]</field>
<field name="help">
Manufacturing Orders describe the operations that need to be carried out,
and the raw materials usage for each production stage.
You use specifications (bills of materials or BoM) to work out the raw material requirements
and the manufacturing orders needed for the finished products.
Once the bills of materials have been defined, OpenERP is capable of automatically deciding
on the manufacturing route depending on the needs of the company.
</field>
</record>
<record id="mrp_production_action2" model="ir.actions.act_window">
<field name="name">Manufacturing Orders To Start</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">mrp.production</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,graph,gantt</field>
<field name="domain">[('state','=','ready')]</field>
<field name="filter" eval="True"/>
<field name="search_view_id" ref="view_mrp_production_filter"/>
</record>
<record id="mrp_production_action3" model="ir.actions.act_window">
<field name="name">Manufacturing Orders in Progress</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">mrp.production</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,graph,gantt</field>
<field name="domain">[('state','=','in_production')]</field>
<field name="filter" eval="True"/>
<field name="search_view_id" ref="view_mrp_production_filter"/>
</record>
<record id="mrp_production_action4" model="ir.actions.act_window">
<field name="name">Manufacturing Orders Waiting Products</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">mrp.production</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,graph,gantt</field>
<field name="domain">[('state','=','confirmed')]</field>
<field name="filter" eval="True"/>
<field name="search_view_id" ref="view_mrp_production_filter"/>
</record>
<record id="mrp_production_product_form_view" model="ir.ui.view">
<field name="name">mrp.production.product.line.form</field>
<field name="model">mrp.production.product.line</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Scheduled Products" version="7.0">
<group col="4">
<field name="name"/>
<field name="product_id"/>
<field name="product_qty"/>
<field name="product_uom" groups="product.group_uom"/>
<field name="product_uos_qty" groups="product.group_uos"/>
<field name="product_uos" groups="product.group_uos"/>
</group>
</form>
</field>
</record>
<record id="mrp_production_product_tree_view" model="ir.ui.view">
<field name="name">mrp.production.product.line.tree</field>
<field name="model">mrp.production.product.line</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Scheduled Products">
<field name="product_id"/>
<field name="product_qty"/>
<field name="product_uom" groups="product.group_uom"/>
<field name="product_uos_qty" groups="product.group_uos"/>
<field name="product_uos" groups="product.group_uos"/>
</tree>
</field>
</record>
<!--
Procurements
-->
<record id="view_procurement_form_inherit" model="ir.ui.view">
<field name="name">procurement.order.form.inherit</field>
<field name="model">procurement.order</field>
<field name="inherit_id" ref="procurement.procurement_form_view"/>
<field name="type">form</field>
<field name="arch" type="xml">
<data>
<xpath expr="//field[@name='move_id']" position="before">
<field name="bom_id" domain="[('product_id','=',product_id),('bom_id','=',False)]"/>
</xpath>
<xpath expr="//field[@name='close_move']" position="after">
<group colspan="4" groups="product.group_mrp_properties">
<field colspan="4" name="property_ids" widget="many2many_tags"/>
</group>
</xpath>
</data>
</field>
</record>
<record id="product_normal_form_view" model="ir.ui.view">
<field name="name">product.normal.form.mrp.inherit</field>
<field name="model">product.product</field>
<field name="type">form</field>
<field name="inherit_id" ref="product.product_normal_form_view"/>
<field name="arch" type="xml">
<page string="Procurement &amp; Locations" position="inside">
<separator string="Bill of Materials"/>
<field name="bom_ids" widget="one2many_list" mode="tree" context="{'default_product_id': active_id}">
<tree string="Bill of Materials">
<field name="name" string="Component Name"/>
<field name="bom_id"/>
<field name="product_qty" string="Quantity of Product"/>
<field name="type"/>
<field name="date_start"/>
<field name="date_stop"/>
</tree>
</field>
</page>
</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">
<field name="name">Work Centers</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">mrp.workcenter</field>
<field name="view_type">form</field>
<field name="view_id" ref="mrp_workcenter_tree_view"/>
<field name="search_view_id" ref="view_mrp_workcenter_search"/>
<field name="help">
Work Centers allow you to create and manage manufacturing units.
They consist of workers and/or machines, which are considered as units for capacity and planning forecast.
Keep in mind that the working time and resource leave are not taken into account in the time computation
of the work center.
</field>
</record>
<menuitem id="menu_pm_resources_config" name="Resources" parent="menu_mrp_configuration"/>
<menuitem action="mrp_workcenter_action" id="menu_view_resource_search_mrp" groups="mrp.group_mrp_routings" parent="mrp.menu_mrp_bom" sequence="25"/>
<menuitem action="resource.action_resource_calendar_form" id="menu_view_resource_calendar_search_mrp" parent="menu_pm_resources_config" sequence="1" groups="base.group_no_one"/>
<menuitem action="resource.action_resource_calendar_leave_tree" id="menu_view_resource_calendar_leaves_search_mrp" parent="menu_pm_resources_config" sequence="1" groups="base.group_no_one"/>
<!-- Planning -->
<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"
parent="menu_mrp_planning" sequence="1"/>
</data>
</openerp>