[MERGE] lp:~openerp-dev/openobject-addosn/trunk-manufacturing-view-imp-kjo

bzr revid: stw@openerp.com-20120719064130-0kptzwofmzp7mt16
This commit is contained in:
Stephane Wirtel 2012-07-19 08:41:30 +02:00
commit 293677bdc9
5 changed files with 222 additions and 196 deletions

View File

@ -206,7 +206,7 @@ class mrp_bom(osv.osv):
'product_id': fields.many2one('product.product', 'Product', required=True),
'product_uos_qty': fields.float('Product UOS Qty'),
'product_uos': fields.many2one('product.uom', 'Product UOS', help="Product UOS (Unit of Sale) is the unit of measurement for the invoicing and promotion of stock."),
'product_qty': fields.float('Product Qty', required=True, digits_compute=dp.get_precision('Product Unit of Measure')),
'product_qty': fields.float('Product Quantity', required=True, digits_compute=dp.get_precision('Product Unit of Measure')),
'product_uom': fields.many2one('product.uom', 'Product Unit of Measure', required=True, help="Unit of Measure (Unit of Measure) is the unit of measurement for the inventory control"),
'product_rounding': fields.float('Product Rounding', help="Rounding applied on the product quantity."),
'product_efficiency': fields.float('Manufacturing Efficiency', required=True, help="A factor of 0.9 means a loss of 10% within the production process."),
@ -456,7 +456,7 @@ class mrp_production(osv.osv):
'product_id': fields.many2one('product.product', 'Product', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'product_qty': fields.float('Product Quantity', digits_compute=dp.get_precision('Product Unit of Measure'), required=True, states={'draft':[('readonly',False)]}, readonly=True),
'product_uom': fields.many2one('product.uom', 'Product Unit of Measure', required=True, states={'draft':[('readonly',False)]}, readonly=True),
'product_uos_qty': fields.float('Product UoS Qty', states={'draft':[('readonly',False)]}, readonly=True),
'product_uos_qty': fields.float('Product UoS Quantity', states={'draft':[('readonly',False)]}, readonly=True),
'product_uos': fields.many2one('product.uom', 'Product UoS', states={'draft':[('readonly',False)]}, readonly=True),
'location_src_id': fields.many2one('stock.location', 'Raw Materials Location', required=True,
@ -474,7 +474,7 @@ class mrp_production(osv.osv):
'routing_id': fields.many2one('mrp.routing', string='Routing', on_delete='set null', readonly=True, states={'draft':[('readonly',False)]}, help="The list of operations (list of work centers) to produce the finished product. The routing is mainly used to compute work center costs during operations and to plan future loads on work centers based on production plannification."),
'picking_id': fields.many2one('stock.picking', 'Picking List', readonly=True, ondelete="restrict",
help="This is the Internal Picking List that brings the finished product to the production plan"),
'move_prod_id': fields.many2one('stock.move', 'Move product', readonly=True),
'move_prod_id': fields.many2one('stock.move', 'Product Move', readonly=True),
'move_lines': fields.many2many('stock.move', 'mrp_production_move_ids', 'production_id', 'move_id', 'Products to Consume', domain=[('state','not in', ('done', 'cancel'))], states={'done':[('readonly',True)]}),
'move_lines2': fields.many2many('stock.move', 'mrp_production_move_ids', 'production_id', 'move_id', 'Consumed Products', domain=[('state','in', ('done', 'cancel'))]),
'move_created_ids': fields.one2many('stock.move', 'production_id', 'Products to Produce', domain=[('state','not in', ('done', 'cancel'))], states={'done':[('readonly',True)]}),
@ -1108,7 +1108,7 @@ class mrp_production_product_line(osv.osv):
'product_id': fields.many2one('product.product', 'Product', required=True),
'product_qty': fields.float('Product Quantity', digits_compute=dp.get_precision('Product Unit of Measure'), required=True),
'product_uom': fields.many2one('product.uom', 'Product Unit of Measure', required=True),
'product_uos_qty': fields.float('Product UOS Qty'),
'product_uos_qty': fields.float('Product UOS Quantity'),
'product_uos': fields.many2one('product.uom', 'Product UOS'),
'production_id': fields.many2one('mrp.production', 'Production Order', select=True),
}

View File

@ -122,12 +122,14 @@
action="mrp_property_action"
id="menu_mrp_property_action"
groups="product.group_mrp_properties"
parent="menu_mrp_property"/>
parent="menu_mrp_configuration"
sequence="30" />
<menuitem
action="mrp_property_group_action"
parent="menu_mrp_property"
groups="product.group_mrp_properties"
id="menu_mrp_property_group_action"/>
parent="menu_mrp_configuration"
groups="base.group_no_one,product.group_mrp_properties"
id="menu_mrp_property_group_action"
sequence="35" />
<!--
Work Centers
@ -153,12 +155,16 @@
<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>
<field name="name"/>
<field name="resource_type"/>
<field name="calendar_id" widget="selection"/>
</group>
<group>
<field name="code"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<field name="active"/>
</group>
</group>
<notebook>
<page string="General Information">
@ -260,18 +266,22 @@
<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>
<field name="name"/>
<field name="code"/>
</group>
<group>
<field name="location_id"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<field name="active"/>
</group>
</group>
<notebook>
<page string="Work Center Operations">
<field name="workcenter_lines"/>
<field name="workcenter_lines"/>
</page>
<page string="Notes">
<field name="note"/>
<field name="note"/>
</page>
</notebook>
</form>
@ -333,66 +343,68 @@
<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>
<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>
<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>
<field name="name"/>
<field name="code" string="Reference"/>
</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>
<field name="type"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<label for="product_uos_qty" groups="product.group_uos"/>
<div groups="product.group_uos" >
<field name="product_uos_qty"
class="oe_inline"/>
<label string="-" attrs="{'invisible':[('product_uos','=',False)]}" class="oe_inline"/>
<field name="product_uos" class="oe_inline"/>
</div>
</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>
<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>
<field name="position"/>
<field name="bom_id"/>
<field name="sequence"/>
<field name="active"/>
</group>
<separator string="Properties"/>
<field name="property_ids" widget="many2many_tags" />
</page>
</notebook>
<newline/>
</sheet>
<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>
</form>
</field>
</record>
@ -504,7 +516,7 @@
<menuitem
action="mrp_bom_form_action2"
id="menu_mrp_bom_form_action2"
parent="menu_mrp_bom"
parent="menu_mrp_configuration"
sequence="20"/>
<record id="action2" model="ir.actions.act_window">
@ -562,7 +574,7 @@
<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">
<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;gray:state in ('done','cancel') " string="Manufacturing Orders">
<field name="needaction_pending" invisible="1"/>
<field name="name"/>
<field name="date_planned"/>
@ -635,21 +647,22 @@
<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>
<label for="product_id" class="oe_edit_only"/>
<h1>
<field name="product_id" on_change="product_id_change(product_id)" domain="[('supply_method','=','produce')]" class="oe_inline"/>
</h1>
<label for="product_qty" class="oe_edit_only"/>
<h2>
<field name="product_qty" class="oe_inline"/>
<field name="product_uom" groups="product.group_uom" class="oe_inline"/>
<button type="action"
icon="terp-accessories-archiver+"
name="%(mrp.action_change_production_qty)d"
string="Change Qty" states="ready,confirmed" class="oe_inline"/>
</h2>
<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>
@ -659,95 +672,107 @@
</group>
<group>
<field name="user_id"/>
<field name="product_uos_qty" groups="product.group_uos"/>
<field name="product_uos" groups="product.group_uos"/>
<label for="product_uos_qty" groups="product.group_uos"/>
<div groups="product.group_uos">
<field name="product_uos_qty" class="oe_inline"/>
<label string="-" attrs="{'invisible':[('product_uos','=',False)]}" class="oe_inline"/>
<field name="product_uos" class="oe_inline"/>
</div>
</group>
</group>
<notebook>
<page string="Consumed Products">
<group>
<group groups="stock.group_locations">
<field name="bom_id" domain="[('product_id','=',product_id)]" context="{'default_product_id': product_id}" on_change="bom_id_change(bom_id)"/>
</group>
<group>
<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 string="Products to Consume">
<field name="move_lines" domain="[('state','&lt;&gt;', ('done', 'cancel'))]" nolabel="1">
<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"/>
<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>
</group>
<group string="Consumed Product">
<field name="move_lines2" domain="[('state','in', ('done', 'cancel'))]" nolabel="1">
<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>
</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 string="Products to Produce">
<field name="move_created_ids" domain="[('state','&lt;&gt;', ('done', 'cancel'))]" nolabel="1">
<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>
</group>
<group string="Produced Products">
<field name="move_created_ids2" domain="[('state','in', ('done', 'cancel'))]" nolabel="1">
<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>
</group>
</page>
<page string="Work Orders">
@ -758,7 +783,7 @@
<form string="Production Work Centers" version="7.0">
<group col="4">
<field colspan="4" name="name"/>
<field name="workcenter_id" widget="selection"/>
<field name="workcenter_id"/>
<field name="sequence"/>
<field name="cycle"/>
<field name="hour"/>
@ -767,7 +792,7 @@
<tree string="Production Work Centers">
<field name="sequence"/>
<field name="name"/>
<field name="workcenter_id" widget="selection"/>
<field name="workcenter_id"/>
<field name="cycle"/>
<field name="hour"/>
</tree>
@ -782,15 +807,15 @@
<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>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<field name="picking_id"/>
<field name="move_prod_id" groups="stock.group_locations"/>
</group>
</group>
</page>
</notebook>
@ -974,7 +999,7 @@
<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="name" string="Component Name"/>
<field name="bom_id"/>
<field name="product_qty" string="Quantity of Product"/>
<field name="type"/>
@ -1009,7 +1034,7 @@
<!-- Menu for Resource for MRP-->
<record id="mrp_workcenter_action" model="ir.actions.act_window">
<field name="name">Work Centers</field>
<field name="name">Work Center</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">mrp.workcenter</field>
<field name="view_type">form</field>
@ -1024,7 +1049,7 @@
</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="mrp_workcenter_action" id="menu_view_resource_search_mrp" groups="mrp.group_mrp_routings" parent="mrp.menu_mrp_configuration" 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"/>

View File

@ -8,18 +8,17 @@
<field name="type">form</field>
<field name="inherit_id" ref="mrp.mrp_production_form_view"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='workcenter_lines']/form//field[@name='hour']" position="after">
<group colspan="8" col="8">
<separator colspan="8"/>
<field name="state"/>
<button name="button_cancel" string="Cancel" states="draft,startworking" icon="gtk-stop" help="Cancel Order"/>
<button name="button_draft" string="Set Draft" states="cancel" icon="gtk-convert" help="Set to Draft"/>
<button name="button_start_working" string="Start" states="draft" icon="terp-gtk-jump-to-ltr" help="Start Working"/>
<button name="button_resume" string="Resume" states="pause" icon="gtk-media-pause" help="Resume Work Order"/>
<button name="button_pause" string="Pending" states="startworking" icon="gtk-media-pause" help="Pause Work Order"/>
<button name="button_done" string="Finished" states="startworking" icon="terp-check" help="Finish Order"/>
</group>
</xpath>
<xpath expr="//field[@name='workcenter_lines']/form//field[@name='name']" position="before">
<header colspan="8">
<button name="button_start_working" string="Start" states="draft" icon="terp-gtk-jump-to-ltr" help="Start Working"/>
<button name="button_cancel" string="Cancel" states="draft,startworking" icon="gtk-stop" help="Cancel Order"/>
<button name="button_draft" string="Set Draft" states="cancel" icon="gtk-convert" help="Set to Draft"/>
<button name="button_resume" string="Resume" states="pause" icon="gtk-media-pause" help="Resume Work Order"/>
<button name="button_pause" string="Pending" states="startworking" icon="gtk-media-pause" help="Pause Work Order"/>
<button name="button_done" string="Finished" states="startworking" icon="terp-check" help="Finish Order"/>
<field name="state" widget="statusbar"/>
</header>
</xpath>
</field>
</record>
@ -80,7 +79,7 @@
<sheet string="Work Orders">
<group col="4">
<field colspan="4" name="name"/>
<field name="workcenter_id" widget="selection"/>
<field name="workcenter_id"/>
<field name="production_id"/>
<field name="production_state"/>
<field name="sequence"/>
@ -351,7 +350,7 @@
<field name="model">mrp.production</field>
<field name="type">form</field>
<field name="arch" type="xml">
<field name="priority" position="after">
<field name="date_finished" position="after">
<field name="allow_reorder"/>
</field>
</field>

View File

@ -70,8 +70,8 @@ class mrp_production(osv.osv):
return res
_columns = {
'sale_name': fields.function(_ref_calc, multi='sale_name', type='char', string='Sales Name', help='Indicate the name of sales order.'),
'sale_ref': fields.function(_ref_calc, multi='sale_name', type='char', string='Sales Reference', help='Indicate the Customer Reference from sales order.'),
'sale_name': fields.function(_ref_calc, multi='sale_name', type='char', string='Sale Name', help='Indicate the name of sales order.'),
'sale_ref': fields.function(_ref_calc, multi='sale_name', type='char', string='Sale Reference', help='Indicate the Customer Reference from sales order.'),
}
mrp_production()

View File

@ -8,10 +8,12 @@
<field name="inherit_id" ref="mrp.mrp_production_form_view"/>
<field name="type">form</field>
<field name="arch" type="xml">
<xpath expr="//field[@name='move_prod_id']" position="after">
<field name="sale_name"/>
<xpath expr="//field[@name='company_id']" position="after">
<field name="sale_ref"/>
</xpath>
<xpath expr="//field[@name='sale_ref']" position="after">
<field name="sale_name"/>
</xpath>
</field>
</record>