[MERGE]: Merge with lp:openobject-addons
[odoo/odoo.git] / addons / mrp / mrp_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4
5         <menuitem icon="terp-mrp" id="base.menu_mrp_root" parent="" name="Manufacturing"
6             groups="group_mrp_user,group_mrp_manager" sequence="8"
7             web_icon="images/manufacturing.png"
8             web_icon_hover="images/manufacturing-hover.png"/>
9
10         <menuitem id="menu_mrp_manufacturing" name="Manufacturing" parent="base.menu_mrp_root" sequence="1"/>
11
12         <menuitem name="Master Data"
13             id="menu_mrp_bom"
14             parent="base.menu_mrp_root"
15             sequence="5" />
16
17         <!--
18         Property / Property Group
19         -->
20
21         <record id="mrp_property_group_form_view" model="ir.ui.view">
22             <field name="name">mrp.property.group.form</field>
23             <field name="model">mrp.property.group</field>
24             <field name="type">form</field>
25             <field name="arch" type="xml">
26                 <form string="Properties categories" version="7.0">
27                     <label for="name"/>
28                     <field name="name"/>
29                     <label name="description"/>
30                     <field name="description"/>
31                 </form>
32             </field>
33         </record>
34         <record id="mrp_property_group_action" model="ir.actions.act_window">
35             <field name="name">Property Groups</field>
36             <field name="type">ir.actions.act_window</field>
37             <field name="res_model">mrp.property.group</field>
38             <field name="view_type">form</field>
39             <field name="view_mode">tree,form</field>
40             <field name="help">Define specific property groups that can be assigned to the properties of your bill of materials.</field>
41         </record>
42         <menuitem
43             id="menu_mrp_configuration"
44             name="Configuration"
45             parent="base.menu_mrp_root"
46             groups="group_mrp_manager"
47             sequence="50" />
48
49         <record id="mrp_property_tree_view" model="ir.ui.view">
50             <field name="name">mrp.property.tree</field>
51             <field name="model">mrp.property</field>
52             <field name="type">tree</field>
53             <field name="arch" type="xml">
54                 <tree string="Properties">
55                     <field name="name"/>
56                     <field name="composition"/>
57                     <field name="group_id"/>
58                 </tree>
59             </field>
60         </record>
61         <record id="mrp_property_form_view" model="ir.ui.view">
62             <field name="name">mrp.property.form</field>
63             <field name="model">mrp.property</field>
64             <field name="type">form</field>
65             <field name="arch" type="xml">
66                 <form string="Properties" version="7.0">
67                     <group col="4">
68                         <field colspan="4" name="name"/>
69                         <field name="group_id"/>
70                         <field name="composition"/>
71                     </group>
72                     <label for="description"/>
73                     <field name="description"/>
74                 </form>
75             </field>
76         </record>
77
78         <record id="view_mrp_property_search" model="ir.ui.view">
79             <field name="name">mrp.property.search</field>
80             <field name="model">mrp.property</field>
81             <field name="type">search</field>
82             <field name="arch" type="xml">
83                 <search string="Search">
84                    <group>
85                        <field name="name"/>
86                        <field name="composition"/>
87                        <field name="group_id"  widget="selection" />
88                    </group>
89                    <newline/>
90                    <group expand="0" string="Group By...">
91                         <filter string="Property Group" icon="terp-personal" domain="[]" context="{'group_by':'group_id'}"/>
92                     </group>
93                </search>
94             </field>
95         </record>
96
97
98         <record id="mrp_property_action" model="ir.actions.act_window">
99             <field name="name">Properties</field>
100             <field name="type">ir.actions.act_window</field>
101             <field name="res_model">mrp.property</field>
102             <field name="view_type">form</field>
103             <field name="view_mode">tree,form</field>
104             <field name="search_view_id" ref="view_mrp_property_search"/>
105             <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 sales person creates a sales order, he can relate it to several properties and OpenERP will automatically select the BoM to use according the needs.</field>
106         </record>
107         <menuitem name="Master Bill of Materials"
108             id="menu_mrp_property"
109             parent="menu_mrp_configuration"
110             groups="mrp.group_mrp_routings,product.group_mrp_properties"
111             sequence="20" />
112         <menuitem
113             action="mrp_property_action"
114             id="menu_mrp_property_action"
115             groups="product.group_mrp_properties"
116             parent="menu_mrp_property"/>
117         <menuitem
118             action="mrp_property_group_action"
119             parent="menu_mrp_property"
120             groups="product.group_mrp_properties"
121             id="menu_mrp_property_group_action"/>
122
123         <!--
124         Work Centers
125         -->
126
127         <record id="mrp_workcenter_tree_view" model="ir.ui.view">
128             <field name="name">mrp.workcenter.tree</field>
129             <field name="model">mrp.workcenter</field>
130             <field name="type">tree</field>
131             <field name="arch" type="xml">
132                 <tree string="Work Center">
133                     <field name="code"/>
134                     <field name="name"/>
135                     <field name="resource_type"/>
136                     <field name="company_id" groups="base.group_multi_company"/>
137                 </tree>
138             </field>
139         </record>
140         <record id="mrp_workcenter_view" model="ir.ui.view">
141             <field name="name">mrp.workcenter.form</field>
142             <field name="model">mrp.workcenter</field>
143             <field name="type">form</field>
144             <field name="arch" type="xml">
145                 <form string="Work Center" version="7.0">
146                     <group col="4">
147                         <field name="name"/>
148                         <field name="code"/>
149                         <field name="active"/>
150                         <field name="resource_type"/>
151                         <field name="calendar_id" widget="selection"/>
152                         <field name="company_id" groups="base.group_multi_company" widget="selection"/>
153                     </group>
154                     <notebook>
155                         <page string="General Information">
156                             <group>
157                                 <group string="Capacity Information">
158                                     <field name="time_efficiency"/>
159                                     <field name="capacity_per_cycle"/>
160                                     <field name="time_cycle" widget="float_time"/>
161                                     <field name="time_start" widget="float_time"/>
162                                     <field name="time_stop" widget="float_time"/>
163                                 </group>
164                                 <group string="Costing Information">
165                                     <field name="product_id" on_change="on_change_product_cost(product_id)"/>
166                                     <field name="costs_hour"/>
167                                     <field name="costs_hour_account_id" groups="analytic.group_analytic_accounting"/>
168                                     <field name="costs_cycle"/>
169                                     <field name="costs_cycle_account_id" groups="analytic.group_analytic_accounting"/>
170                                     <field name="costs_journal_id" attrs="{'required':['|',('costs_hour_account_id', '=', True),('costs_cycle_account_id', '=', True)]}" groups="analytic.group_analytic_accounting"/>
171                                     <field name="costs_general_account_id" attrs="{ 'required':['|',('costs_cycle_account_id', '=', True),('costs_hour_account_id', '=', True)]}" groups="analytic.group_analytic_accounting"/>
172                                 </group>
173                             </group>
174                             <label for="note"/>
175                             <field name="note"/>
176                         </page>
177                     </notebook>
178                 </form>
179             </field>
180         </record>
181
182         <!-- Search Views -->
183
184         <record id="view_mrp_workcenter_search" model="ir.ui.view">
185             <field name="name">mrp.workcenter.search</field>
186             <field name="model">mrp.workcenter</field>
187             <field name="type">search</field>
188             <field name="arch" type="xml">
189                 <search string="Search for mrp workcenter">
190                    <group>
191                         <filter string="Inactive" icon="terp-gdu-smart-failing" domain="[('active','=',False)]"/>
192                         <separator orientation="vertical"/>
193                         <field name="code"/>
194                         <field name="name"/>
195                         <field name="resource_type"/>
196                    </group>
197                    <newline/>
198                    <group expand="0" string="Group By...">
199                         <filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'resource_type'}"/>
200                         <separator orientation="vertical" groups="base.group_multi_company"/>
201                         <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
202                     </group>
203                </search>
204             </field>
205         </record>
206
207         <!--
208         Routings
209         -->
210
211         <record id="mrp_routing_workcenter_tree_view" model="ir.ui.view">
212             <field name="name">mrp.routing.workcenter.tree</field>
213             <field name="model">mrp.routing.workcenter</field>
214             <field name="type">tree</field>
215             <field name="arch" type="xml">
216                 <tree string="Routing Work Centers">
217                     <field name="sequence"/>
218                     <field name="name"/>
219                     <field name="workcenter_id"/>
220                     <field name="cycle_nbr"/>
221                     <field name="hour_nbr"/>
222                     <field name="company_id" widget="selection" groups="base.group_multi_company"/>
223                 </tree>
224             </field>
225         </record>
226
227         <record id="mrp_routing_workcenter_form_view" model="ir.ui.view">
228             <field name="name">mrp.routing.workcenter.form</field>
229             <field name="model">mrp.routing.workcenter</field>
230             <field name="type">form</field>
231             <field name="arch" type="xml">
232                 <form string="Routing Work Centers" version="7.0">
233                     <group col="4" string="General Information">
234                         <field colspan="4" name="name"/>
235                         <field name="sequence"/>
236                         <field name="workcenter_id"/>
237                         <field name="cycle_nbr"/>
238                         <field name="hour_nbr" widget="float_time"/>
239                         <field name="company_id" widget="selection" groups="base.group_multi_company"/>
240                     </group>
241                     <label for="note"/>
242                     <field name="note"/>
243                 </form>
244             </field>
245         </record>
246
247         <record id="mrp_routing_form_view" model="ir.ui.view">
248             <field name="name">mrp.routing.form</field>
249             <field name="model">mrp.routing</field>
250             <field name="type">form</field>
251             <field name="arch" type="xml">
252                 <form string="Routing" version="7.0">
253                     <group col="4">
254                         <field name="name"/>
255                         <field name="code"/>
256                         <field name="active"/>
257                         <field name="location_id"/>
258                         <field name="company_id" widget="selection" groups="base.group_multi_company"/>
259                     </group>
260                     <notebook>
261                         <page string="Work Center Operations">
262                            <field name="workcenter_lines"/>
263                         </page>
264                         <page string="Notes">
265                            <field name="note"/>
266                         </page>
267                     </notebook>
268                 </form>
269             </field>
270         </record>
271         <record id="mrp_routing_tree_view" model="ir.ui.view">
272             <field name="name">mrp.routing.tree</field>
273             <field name="model">mrp.routing</field>
274             <field name="type">tree</field>
275             <field name="arch" type="xml">
276                 <tree string="Routing">
277                     <field name="code"/>
278                     <field name="name"/>
279                     <field name="location_id"/>
280                     <field name="company_id" groups="base.group_multi_company"/>
281                 </tree>
282             </field>
283         </record>
284         <record id="mrp_routing_search_view" model="ir.ui.view">
285             <field name="name">mrp.routing.search</field>
286             <field name="model">mrp.routing</field>
287             <field name="type">search</field>
288             <field name="arch" type="xml">
289                 <search string="Routing">
290                     <filter string="Inactive" icon="terp-gdu-smart-failing" domain="[('active','=',False)]"/>
291                     <separator orientation="vertical"/>
292                     <field name="code"/>
293                     <field name="name"/>
294                     <field name="location_id"/>
295                     <field name="company_id" groups="base.group_multi_company"/>
296                     <newline/>
297                     <group expand="0" string="Group By...">
298                         <filter string="Production Location" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'location_id'}"/>
299                     </group>
300                 </search>
301             </field>
302         </record>
303         <record id="mrp_routing_action" model="ir.actions.act_window">
304             <field name="name">Routings</field>
305             <field name="type">ir.actions.act_window</field>
306             <field name="res_model">mrp.routing</field>
307             <field name="view_type">form</field>
308             <field name="view_id" ref="mrp_routing_tree_view"/>
309             <field name="search_view_id" ref="mrp_routing_search_view"/>
310             <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>
311         </record>
312         <menuitem action="mrp_routing_action" id="menu_mrp_routing_action" parent="mrp.menu_mrp_bom" groups="mrp.group_mrp_routings" sequence="15"/>
313
314         <!--
315           Bill of Materials
316         -->
317
318         <record id="mrp_bom_form_view" model="ir.ui.view">
319             <field name="name">mrp.bom.form</field>
320             <field name="model">mrp.bom</field>
321             <field name="type">form</field>
322             <field name="arch" type="xml">
323                 <form string="Bill of Material" version="7.0">
324                         <sheet>
325                             <label for="product_id" class="oe_form_readonly_hidden"/>
326                             <h1>
327                                 <field name="product_id" on_change="onchange_product_id(product_id, name, context)" class="oe_form_inline"/>: 
328                                 <field name="product_qty" class="oe_form_inline"/>
329                                 <field name="product_uom" class="oe_form_inline" groups="product.group_uom"/>
330                             </h1>
331                             <label for="routing_id" class="oe_form_readonly_hidden"/>
332                             <h2>
333                                 <field name="routing_id"  groups="mrp.group_mrp_routings"/>
334                             </h2>
335                             <group>
336                                 <group>
337                                     <field name="name"/>
338                                     <field name="code" string="Reference"/>
339                                 </group>
340                                 <group>
341                                     <field name="type"/>
342                                     <field name="company_id" groups="base.group_multi_company" widget="selection"/>
343                                     <field name="product_uos_qty" groups="product.group_uos" />
344                                     <field name="product_uos"  groups="product.group_uos"/>
345                                 </group>
346                             </group>
347                             <notebook>
348                                 <page string="Components">
349                                     <field name="bom_lines" widget="one2many_list">
350                                         <tree string="Components" editable="bottom">
351                                             <field name="product_id" on_change="onchange_product_id(product_id, name)"/>
352                                             <field name="product_qty"/>
353                                             <field name="product_uom" groups="product.group_uom"/>
354                                             <field name="name" invisible="1"/>
355                                             <field name="date_start"/>
356                                             <field name="date_stop"/>
357                                         </tree>
358                                     </field>
359                                 </page>
360                                 <page string="Revisions" attrs="{'invisible': [('bom_id','!=',False)]}">
361                                     <field name="revision_ids"/>
362                                 </page>
363                                 <page string="Properties" groups="product.group_mrp_properties">
364                                     <group>
365                                         <group>
366                                             <field name="position"/>
367                                             <field name="bom_id"/>
368                                             <field name="sequence"/>
369                                             <field name="active"/>
370                                         </group>
371                                         <group>
372                                             <field name="date_start"/>
373                                             <field name="date_stop"/>
374                                             <field name="product_rounding"/>
375                                             <field name="product_efficiency"/>
376                                         </group>
377                                     </group>
378                                     <separator string="Properties"/>
379                                     <field name="property_ids" widget="many2many_tags" />
380                                 </page>
381                             </notebook>
382                             <newline/>
383                     </sheet>
384                 </form>
385             </field>
386         </record>
387
388         <record id="view_mrp_bom_filter" model="ir.ui.view">
389             <field name="name">mrp.bom.select</field>
390             <field name="model">mrp.bom</field>
391            <field name="type">search</field>
392             <field name="arch" type="xml">
393                 <search string="Search Bill Of Material">
394                     <group>
395                          <field name="name"/>
396                          <field name="code" string="Reference"/>
397                          <field name="product_id"/>
398                          <field name="company_id" groups="base.group_multi_company"/>
399                     </group>
400                     <newline/>
401                     <group expand="0" string="Group By...">
402                         <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
403                         <filter string='Default Unit of Measure' icon="terp-mrp" domain="[]" context="{'group_by' : 'product_uom'}" />
404                         <separator orientation="vertical"/>
405                         <filter string="Routing" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'routing_id'}"/>
406                         <filter string='Type' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'type'}" />
407                         <separator orientation="vertical"/>
408                         <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}" help="Starting Date"/>
409                    </group>
410                 </search>
411             </field>
412         </record>
413
414        <record id="mrp_bom_tree_view" model="ir.ui.view">
415             <field name="name">mrp.bom.tree</field>
416             <field name="model">mrp.bom</field>
417             <field name="type">tree</field>
418             <field name="field_parent">child_complete_ids</field>
419             <field name="arch" type="xml">
420                 <tree string="Bill of Materials" colors="blue:method">
421                     <field name="sequence" invisible="1"/>
422                     <field name="name"/>
423                     <field name="code"/>
424                     <field name="product_id"/>
425                     <field name="product_qty"/>
426                     <field name="product_uom" groups="product.group_uom"/>
427                     <field name="type"/>
428                     <field name="method"/>
429                     <field name="routing_id" groups="mrp.group_mrp_routings"/>
430                     <field name="date_start"/>
431                     <field name="date_stop"/>
432                 </tree>
433             </field>
434         </record>
435        <record id="mrp_bom_component_tree_view" model="ir.ui.view">
436             <field name="name">mrp.bom.component.tree</field>
437             <field name="model">mrp.bom</field>
438             <field name="type">tree</field>
439             <field name="field_parent">child_complete_ids</field>
440             <field name="arch" type="xml">
441                 <tree string="BoM Structure" colors="blue:method">
442                     <field name="sequence" invisible="1"/>
443                     <field name="name" string="Component Name"/>
444                     <field name="code"/>
445                     <field name="product_id" string="Component Product"/>
446                     <field name="bom_id"/>
447                     <field name="product_qty"/>
448                     <field name="product_uom" groups="product.group_uom"/>
449                     <field name="type"/>
450                     <field name="method"/>
451                     <field name="routing_id" groups="mrp.group_mrp_routings"/>
452                     <field name="date_start"/>
453                     <field name="date_stop"/>
454                 </tree>
455             </field>
456         </record>
457         <record id="mrp_bom_form_action" model="ir.actions.act_window">
458             <field name="name">Bill of Materials</field>
459             <field name="type">ir.actions.act_window</field>
460             <field name="res_model">mrp.bom</field>
461             <field name="view_type">form</field>
462             <field name="domain">[('bom_id','=',False)]</field>
463             <field name="search_view_id" ref="view_mrp_bom_filter"/>
464             <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 will use 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>
465         </record>
466         <record id="mrp_bom_form_action2" model="ir.actions.act_window">
467             <field name="name">Bill of Material Components</field>
468             <field name="type">ir.actions.act_window</field>
469             <field name="res_model">mrp.bom</field>
470             <field name="view_type">form</field>
471             <field name="view_id" ref="mrp_bom_component_tree_view"/>
472             <field name="domain">[('bom_id','!=',False)]</field>
473             <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>
474         </record>
475
476         <!-- BOM menus -->
477
478         <menuitem
479             action="mrp_bom_form_action"
480             id="menu_mrp_bom_form_action"
481             parent="menu_mrp_bom"
482             sequence="10"/>
483         <menuitem
484             action="mrp_bom_form_action2"
485             id="menu_mrp_bom_form_action2"
486             parent="menu_mrp_bom"
487             sequence="20"/>
488
489         <record id="action2" model="ir.actions.act_window">
490             <field name="name">Bill of Materials Structure</field>
491             <field name="type">ir.actions.act_window</field>
492             <field name="res_model">mrp.bom</field>
493             <field name="domain">[('id','in',active_ids)]</field>
494             <field name="view_type">tree</field>
495             <field name="view_mode">tree</field>
496             <field name="view_id" ref="mrp_bom_tree_view"/>
497         </record>
498         <record id="ir_BOM_structure" model="ir.values">
499             <field eval="'client_action_multi'" name="key2"/>
500             <field eval="'mrp.bom'" name="model"/>
501             <field name="name">Bill of Materials Structure</field>
502             <field eval="'ir.actions.act_window,'+str(action2)" name="value"/>
503         </record>
504
505         <record id="mrp_bom_revision_tree" model="ir.ui.view">
506             <field name="name">mrp.bom.revision</field>
507             <field name="model">mrp.bom.revision</field>
508             <field name="type">tree</field>
509             <field name="arch" type="xml">
510                 <tree string="BoM Revisions">
511                     <field name="indice"/>
512                     <field name="author_id"/>
513                     <field name="date"/>
514                     <field colspan="4" name="name"/>
515                 </tree>
516             </field>
517         </record>
518         <record id="mrp_bom_revision_form" model="ir.ui.view">
519             <field name="name">mrp.bom.revision</field>
520             <field name="model">mrp.bom.revision</field>
521             <field name="type">form</field>
522             <field name="arch" type="xml">
523                 <form string="BoM Revisions" version="7.0">
524                     <group col="4">
525                         <field name="name"/>
526                         <field name="indice"/>
527                         <field name="date"/>
528                         <field name="author_id" readonly="1"/>
529                     </group>
530                     <separator string="Description"/>
531                     <field name="description"/>
532                 </form>
533             </field>
534         </record>
535
536         <!--
537         Production Management
538         -->
539         <record id="mrp_production_tree_view" model="ir.ui.view">
540             <field name="name">mrp.production.tree</field>
541             <field name="model">mrp.production</field>
542             <field name="type">tree</field>
543             <field name="arch" type="xml">
544                 <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">
545                     <field name="needaction_pending" invisible="1"/>
546                     <field name="name"/>
547                     <field name="date_planned"/>
548                     <field name="product_id"/>
549                     <field name="product_qty" sum="Total Qty"/>
550                     <field name="product_uom" groups="product.group_uom"/>
551                     <field name="routing_id" groups="mrp.group_mrp_routings"/>
552                     <field name="hour_total" sum="Total Hours"/>
553                     <field name="cycle_total" sum="Total Cycles"/>
554                     <field name="origin"/>
555                     <field name="state"/>
556                 </tree>
557             </field>
558         </record>
559
560         <record id="view_production_calendar" model="ir.ui.view">
561             <field name="name">mrp.production.calendar</field>
562             <field name="model">mrp.production</field>
563             <field name="type">calendar</field>
564             <field eval="2" name="priority"/>
565             <field name="arch" type="xml">
566                 <calendar color="routing_id" date_start="date_planned" string="Manufacturing Orders">
567                     <field name="name"/>
568                     <field name="product_id"/>
569                     <field name="product_qty"/>
570                 </calendar>
571             </field>
572         </record>
573
574
575         <record id="view_production_gantt" model="ir.ui.view">
576             <field name="name">mrp.production.gantt</field>
577             <field name="model">mrp.production</field>
578             <field name="type">gantt</field>
579             <field name="arch" type="xml">
580                 <gantt date_stop="date_finished" date_start="date_start" string="Productions" default_group_by="routing_id">
581                 </gantt>
582             </field>
583         </record>
584
585
586         <record model="ir.ui.view" id="view_production_graph">
587             <field name="name">mrp.production.graph</field>
588             <field name="model">mrp.production</field>
589             <field name="type">graph</field>
590             <field name="arch" type="xml">
591                 <graph string="Manufacturing Orders" type="bar">
592                     <field name="date_planned_date"/>
593                     <field name="hour_total" operator="+"/>
594                     <field name="cycle_total" operator="+"/>
595                 </graph>
596             </field>
597         </record>
598
599         <record id="mrp_production_form_view" model="ir.ui.view">
600             <field name="name">mrp.production.form</field>
601             <field name="model">mrp.production</field>
602             <field name="type">form</field>
603             <field name="arch" type="xml">
604                 <form string="Manufacturing Orders" version="7.0">
605                 <header>
606                     <button name="button_confirm" states="draft" string="Confirm Production" class="oe_form_button_hi"/>
607                     <button name="button_produce" states="ready" string="Start Production" class="oe_form_button_hi"/>
608                     <button name="%(act_mrp_product_produce)d" states="in_production" string="Produce" type="action" class="oe_form_button_hi"/>
609                     <button name="force_production" states="confirmed,picking_except" string="Force Reservation" type="object"/>
610                     <button name="button_recreate" states="picking_except" string="Recreate Picking"/>
611                     <button name="button_cancel" states="draft,ready,in_production,picking_except" string="Cancel"/>
612                     <button name="action_cancel" type="object" states="confirmed" string="Cancel"/>
613                     <field name="state" widget="statusbar" statusbar_visible="draft,ready,in_production,done" statusbar_colors='{"picking_except":"red","confirmed":"blue"}'/>
614                 </header>
615                 <sheet>
616                     <label for="product_id" class="oe_form_readonly_hidden"/>
617                     <h1>
618                         <field name="product_id" on_change="product_id_change(product_id)" domain="[('supply_method','=','produce')]" class="oe_form_inline"/>
619                         <field name="product_qty" class="oe_form_inline"/>
620                         <field name="product_uom" class="oe_form_inline" groups="product.group_uom"/>
621                         <button type="action"
622                             icon="terp-accessories-archiver+" class="oe_form_inline"
623                             name="%(mrp.action_change_production_qty)d"
624                             string="Change Quantity" states="ready,confirmed" />
625                     </h1>
626                     <label for="routing_id"  groups="mrp.group_mrp_routings"  class="oe_form_readonly_hidden"/>
627                     <h2>
628                         <field name="routing_id" groups="mrp.group_mrp_routings"/>
629                     </h2>
630                     <group>
631                         <group>
632                             <field name="name"/>
633                             <field name="date_planned"/>
634                             <field name="origin"/>
635                         </group>
636                         <group>
637                             <field name="user_id"/>
638                             <field name="product_uos_qty" groups="product.group_uos"/>
639                             <field name="product_uos" groups="product.group_uos"/>
640                         </group>
641                     </group>
642                     <notebook>
643                         <page string="Consumed Products">
644                             <group col="4">
645                                 <group>
646                                     <field name="location_src_id" domain="[('usage','=','internal')]" on_change="location_id_change(location_src_id,location_dest_id)" groups="stock.group_locations"/>
647                                     <field name="location_dest_id" domain="[('usage','=','internal')]" groups="stock.group_locations"/>
648                                 </group>
649                                 <group>
650                                     <field name="bom_id" domain="[('product_id','=',product_id)]" context="{'default_product_id': product_id}" on_change="bom_id_change(bom_id)"/>
651                                 </group>
652                              </group>
653                              <newline/>
654                              <group>
655                                 <field name="move_lines" domain="[('state','&lt;&gt;', ('done', 'cancel'))]">
656                                     <tree colors="blue:state == 'draft';black:state in ('picking_except','confirmed','ready','in_production');gray:state in ('cancel','done') " string="Products to Consume">
657                                         <field name="product_id"/>
658                                         <field name="product_qty"/>
659                                         <field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
660                                         <field name="location_id" string="Source Loc." groups="stock.group_locations"/>
661                                         <field name="state" invisible="1"/>
662                                         <button name="%(stock.move_consume)d"
663                                             string="Consume Products" type="action"
664                                             icon="gtk-go-forward" context="{'consume': True}"
665                                             states="draft,waiting,confirmed,assigned" />
666                                         <button
667                                                name="%(stock.track_line)d"
668                                                string="Split in Serial Numbers"
669                                                type="action" icon="gtk-justify-fill"
670                                                states="draft,waiting,confirmed,assigned" />
671                                         <button name="%(stock.move_scrap)d"
672                                             string="Scrap Products" type="action"
673                                             icon="gtk-convert" context="{'scrap': True}"
674                                             states="draft,waiting,confirmed,assigned"/>
675                                     </tree>
676                                 </field>
677                                 <field name="move_lines2" domain="[('state','in', ('done', 'cancel'))]">
678                                    <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">
679                                        <field name="product_id" readonly="1"/>
680                                        <field name="product_qty" readonly="1"/>
681                                        <field name="product_uom" readonly="1" string="Unit of Measure" groups="product.group_uom"/>
682                                        <field name="prodlot_id" context="{'product_id': product_id}"/>
683                                        <field name="state" invisible="1"/>
684                                        <field name="scrapped" invisible="1"/>
685                                        <button
686                                            name="%(stock.move_scrap)d"
687                                            string="Scrap Products" type="action"
688                                            icon="gtk-convert"
689                                            states="done,cancel"/>
690                                    </tree>
691                                 </field>
692                                </group>
693                         </page>
694                         <page string="Finished Products">
695                             <group>
696                             <field name="move_created_ids" domain="[('state','&lt;&gt;', ('done', 'cancel'))]">
697                                 <tree string="Products to Finish">
698                                     <field name="product_id"/>
699                                     <field name="product_qty"/>
700                                     <field name="product_uom"  string="Unit of Measure" groups="product.group_uom"/>
701                                     <field name="state" invisible="1"/>
702                                     <button name="%(stock.action_partial_move_server)d"
703                                         string="Partial"
704                                         type="action" states="confirmed,assigned"
705                                         icon="gtk-justify-fill"/>
706                                     <button name="%(stock.move_scrap)d"
707                                         string="Scrap Products" type="action"
708                                         icon="gtk-convert" context="{'scrap': True}"
709                                         states="draft,waiting,confirmed,assigned" />
710                                 </tree>
711                             </field>
712                             <field name="move_created_ids2" domain="[('state','in', ('done', 'cancel'))]">
713                                 <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">
714                                     <field name="product_id" readonly="1"/>
715                                     <field name="product_qty" readonly="1"/>
716                                     <field name="product_uom" readonly="1" string="Unit of Measure" groups="product.group_uom"/>
717                                     <field name="location_dest_id"  readonly="1" string="Destination Loc." widget="selection" groups="stock.group_locations"/>
718                                     <field name="prodlot_id" context="{'product_id': product_id}"/>
719                                     <field name="scrapped" invisible="1"/>
720                                     <field name="state" invisible="1"/>
721                                     <button name="%(stock.track_line)d"
722                                          string="Split in Serial Numbers" type="action" icon="gtk-justify-fill" states="done,cancel"/>
723                                     <button name="%(stock.move_scrap)d"
724                                         string="Scrap Products" type="action" icon="gtk-convert"
725                                         states="done,cancel" />
726                                 </tree>
727                             </field>
728                             </group>
729                         </page>
730                         <page string="Work Orders">
731                             <button name="action_compute" states="draft"
732                                 string="Compute Data" type="object"
733                                 icon="terp-stock_format-scientific"/>
734                             <field name="workcenter_lines">
735                                 <form string="Production Work Centers" version="7.0">
736                                     <group col="4">
737                                         <field colspan="4" name="name"/>
738                                         <field name="workcenter_id" widget="selection"/>
739                                         <field name="sequence"/>
740                                         <field name="cycle"/>
741                                         <field name="hour"/>
742                                     </group>
743                                 </form>
744                                 <tree string="Production Work Centers">
745                                     <field name="sequence"/>
746                                     <field name="name"/>
747                                     <field name="workcenter_id" widget="selection"/>
748                                     <field name="cycle"/>
749                                     <field name="hour"/>
750                                 </tree>
751                             </field>
752                         </page>
753                         <page string="Scheduled Products">
754                             <button name="action_compute" states="draft"
755                                 string="Compute Data" type="object"
756                                 icon="terp-stock_format-scientific"/>
757                             <field name="product_lines"/>
758                         </page>
759                         <page string="Extra Information">
760                             <group col="4">
761                                 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
762                                 <field name="priority"/>
763                                 <field name="date_start"/>
764                                 <field name="date_finished"/>
765                                 <field name="picking_id"/>
766                                 <field name="move_prod_id" groups="stock.group_locations"/>
767                             </group>
768                         </page>
769                     </notebook>
770                 </sheet>
771                 <footer>
772                     <field name="message_ids" widget="ThreadView"/>
773                 </footer>
774                 </form>
775             </field>
776         </record>
777
778         <record id="view_mrp_production_filter" model="ir.ui.view">
779             <field name="name">mrp.production.select</field>
780             <field name="model">mrp.production</field>
781             <field name="type">search</field>
782             <field name="arch" type="xml">
783                 <search string="Search Production">
784                    <group>
785                        <filter icon="terp-gtk-media-pause" string="Pending" name="pending"
786                            domain="[('state','=','confirmed')]"
787                            help="Manufacturing Orders which are waiting for raw materials."/>
788                        <filter icon="terp-camera_test" string="Ready" name="ready"
789                            domain="[('state','=','ready')]"
790                            help="Manufacturing Orders which are ready to start production."/>
791                        <filter icon="terp-check" string="In Production" name="inprogress"
792                            domain="[('state','=','in_production')]"
793                            help="Manufacturing Orders which are currently in production."/>
794                        <separator orientation="vertical"/>
795                        <filter icon="terp-gnome-cpu-frequency-applet+" string="Late"
796                            domain="['&amp;', ('date_planned','&lt;', current_date), ('state', 'in', ('draft', 'confirmed', 'ready'))]"
797                            help="Production started late" />
798                        <separator orientation="vertical"/>
799                        <field name="name"/>
800                        <field name="product_id"/>
801                        <field name="routing_id" groups="mrp.group_mrp_routings"/>
802                        <field name="origin"/>
803                     </group>
804                     <newline/>
805                     <group expand="0" string="Group By...">
806                         <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
807                         <separator orientation="vertical"/>
808                         <filter string="Routing" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'routing_id'}"/>
809                         <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
810                         <separator orientation="vertical"/>
811                         <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_planned'}" help="Scheduled Date"/>
812                     </group>
813                </search>
814             </field>
815         </record>
816
817         <record id="mrp_production_action" model="ir.actions.act_window">
818             <field name="name">Manufacturing Orders</field>
819             <field name="type">ir.actions.act_window</field>
820             <field name="res_model">mrp.production</field>
821             <field name="view_type">form</field>
822             <field name="view_mode">tree,form,calendar,graph,gantt</field>
823             <field name="view_id" eval="False"/>
824             <field name="search_view_id" ref="view_mrp_production_filter"/>
825             <field name="context">{}</field>
826             <field name="help">Click here to create a new Manufacturing Order.
827                 &lt;p&gt;
828                 To process the production, don't forget to create a Bill of Material. Manufacturing Order can be automatically generated based on procurement rules specified on the product.</field>
829         </record>
830         <menuitem action="mrp_production_action" id="menu_mrp_production_action"
831             parent="menu_mrp_manufacturing" sequence="1"/>
832
833         <record id="mrp_production_action_planning" model="ir.actions.act_window">
834             <field name="name">Manufacturing Orders</field>
835             <field name="type">ir.actions.act_window</field>
836             <field name="res_model">mrp.production</field>
837             <field name="view_type">form</field>
838             <field name="view_mode">calendar,tree,form,graph</field>
839             <field name="domain">[('state','in',('ready','confirmed','in_production'))]</field>
840             <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>
841         </record>
842
843         <record id="mrp_production_action2" model="ir.actions.act_window">
844             <field name="name">Manufacturing Orders To Start</field>
845             <field name="type">ir.actions.act_window</field>
846             <field name="res_model">mrp.production</field>
847             <field name="view_type">form</field>
848             <field name="view_mode">tree,form,calendar,graph,gantt</field>
849             <field name="domain">[('state','=','ready')]</field>
850             <field name="filter" eval="True"/>
851             <field name="search_view_id" ref="view_mrp_production_filter"/>
852         </record>
853
854         <record id="mrp_production_action3" model="ir.actions.act_window">
855             <field name="name">Manufacturing Orders in Progress</field>
856             <field name="type">ir.actions.act_window</field>
857             <field name="res_model">mrp.production</field>
858             <field name="view_type">form</field>
859             <field name="view_mode">tree,form,calendar,graph,gantt</field>
860             <field name="domain">[('state','=','in_production')]</field>
861             <field name="filter" eval="True"/>
862             <field name="search_view_id" ref="view_mrp_production_filter"/>
863         </record>
864
865         <record id="mrp_production_action4" model="ir.actions.act_window">
866             <field name="name">Manufacturing Orders Waiting Products</field>
867             <field name="type">ir.actions.act_window</field>
868             <field name="res_model">mrp.production</field>
869             <field name="view_type">form</field>
870             <field name="view_mode">tree,form,calendar,graph,gantt</field>
871             <field name="domain">[('state','=','confirmed')]</field>
872             <field name="filter" eval="True"/>
873             <field name="search_view_id" ref="view_mrp_production_filter"/>
874         </record>
875
876         <record id="mrp_production_product_form_view" model="ir.ui.view">
877             <field name="name">mrp.production.product.line.form</field>
878             <field name="model">mrp.production.product.line</field>
879             <field name="type">form</field>
880             <field name="arch" type="xml">
881                 <form string="Scheduled Products" version="7.0">
882                     <group col="4">
883                         <field name="name"/>
884                         <field name="product_id"/>
885                         <field name="product_qty"/>
886                         <field name="product_uom" groups="product.group_uom"/>
887                         <field name="product_uos_qty" groups="product.group_uos"/>
888                         <field name="product_uos" groups="product.group_uos"/>
889                     </group>
890                 </form>
891             </field>
892         </record>
893         <record id="mrp_production_product_tree_view" model="ir.ui.view">
894             <field name="name">mrp.production.product.line.tree</field>
895             <field name="model">mrp.production.product.line</field>
896             <field name="type">tree</field>
897             <field name="arch" type="xml">
898                 <tree string="Scheduled Products">
899                     <field name="product_id"/>
900                     <field name="product_qty"/>
901                     <field name="product_uom" groups="product.group_uom"/>
902                     <field name="product_uos_qty" groups="product.group_uos"/>
903                     <field name="product_uos" groups="product.group_uos"/>
904                 </tree>
905             </field>
906         </record>
907
908         <!--
909             Procurements
910         -->
911
912         <record id="view_procurement_form_inherit" model="ir.ui.view">
913             <field name="name">procurement.order.form.inherit</field>
914             <field name="model">procurement.order</field>
915             <field name="inherit_id" ref="procurement.procurement_form_view"/>
916             <field name="type">form</field>
917             <field name="arch" type="xml">
918             <data>
919                 <xpath expr="//field[@name='move_id']" position="before">
920                     <field name="bom_id" domain="[('product_id','=',product_id),('bom_id','=',False)]"/>
921                 </xpath>
922                 <xpath expr="//field[@name='close_move']" position="after">
923                     <group colspan="4"  groups="product.group_mrp_properties">
924                     <separator colspan="4" string="Properties" />
925                     <field colspan="4" name="property_ids" nolabel="1"/>
926                      </group>
927                 </xpath>
928                </data>
929             </field>
930         </record>
931
932         <record id="product_normal_form_view" model="ir.ui.view">
933             <field name="name">product.normal.form.mrp.inherit</field>
934             <field name="model">product.product</field>
935             <field name="type">form</field>
936             <field name="inherit_id" ref="product.product_normal_form_view"/>
937             <field name="arch" type="xml">
938                 <group name="misc" position="after">
939                     <separator string="Bill of Materials" colspan="4"/>
940                     <field name="bom_ids" nolabel="1" colspan="4" context="{'default_product_id': active_id}"  widget="one2many_list" 
941                             mode="tree">
942                                 <tree string="Bill of Materials">
943                                      <field name="name" string="Component Name"/>
944                                     <field name="bom_id"/>
945                                     <field name="product_qty" string="Quantity of Product"/>
946                                     <field name="type"/>
947                                     <field name="date_start"/>
948                                     <field name="date_stop"/>
949                                 </tree>
950                             </field>
951                 </group>
952             </field>
953         </record>
954
955         <act_window
956             context="{'search_default_product_id': [active_id]}"
957             id="act_product_manufacturing_open"
958             name="Manufacturing Orders"
959             view_id="mrp_production_tree_view"
960             res_model="mrp.production"
961             src_model="product.product"/>
962
963         <act_window
964             id="action_product_bom_structure"
965             name="Product BoM Structure"
966             domain="[('product_id', 'in', active_ids),('bom_id','=',False)]"
967             context="{'default_product_id': active_id}"
968             view_type="tree"
969             view_mode="tree"
970             view_id="mrp_bom_tree_view"
971             res_model="mrp.bom"
972             src_model="product.product"
973             groups="mrp.group_mrp_user"/>
974
975         <!-- Menu for Resource for MRP-->
976
977         <record id="mrp_workcenter_action" model="ir.actions.act_window">
978             <field name="name">Work Centers</field>
979             <field name="type">ir.actions.act_window</field>
980             <field name="res_model">mrp.workcenter</field>
981             <field name="view_type">form</field>
982             <field name="view_id" ref="mrp_workcenter_tree_view"/>
983             <field name="search_view_id" ref="view_mrp_workcenter_search"/>
984             <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>
985         </record>
986
987         <menuitem id="menu_pm_resources_config" name="Resources" parent="menu_mrp_configuration"/>
988         <menuitem action="mrp_workcenter_action" id="menu_view_resource_search_mrp" groups="mrp.group_mrp_routings" parent="mrp.menu_mrp_bom" sequence="25"/>
989         <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"/>
990         <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"/>
991
992         <!-- Planning -->
993
994         <menuitem id="menu_mrp_planning" name="Planning"
995                 parent="base.menu_mrp_root" sequence="2"/>
996         <menuitem action="mrp.mrp_production_action_planning"
997                 id="menu_mrp_production_order_action" name="Orders Planning"
998                 parent="menu_mrp_planning" sequence="1"/>
999
1000     </data>
1001 </openerp>