1 <?xml version="1.0" encoding="utf-8"?>
4 <menuitem groups="base.group_extended" id="prod_config_main" name="Product" parent="base.menu_base_config" sequence="50"/>
5 <record id="product_search_form_view" model="ir.ui.view">
6 <field name="name">product.search.form</field>
7 <field name="model">product.product</field>
8 <field name="type">search</field>
9 <field name="arch" type="xml">
10 <search string="Product">
11 <filter string="Services" icon="terp-stock" domain="[('type','=','service')]"/>
12 <filter string="Stockable" icon="terp-stock" domain="['|',('type','=','product'),('type','=','consu')]"/>
13 <separator orientation="vertical"/>
14 <filter string="Can be sold" icon="terp-stock" domain="[('sale_ok','=',1)]"/>
15 <filter string="Can be Purchased" icon="terp-stock" domain="[('purchase_ok', '=', 1)]" />
16 <separator orientation="vertical"/>
17 <field name="default_code" select="1"/>
18 <field name="name" select="1"/>
19 <field name="categ_id" select="1" widget="selection" operator="child_of"/>
21 <group col='8' colspan='14' expand="1" string="Extended options...">
22 <field name="pricelist_id" select="1" widget="selection" context="{'pricelist': self}" />
25 <group col='8' colspan='15' expand='1' string='Group by...'>
26 <filter string='Category' icon="terp-stock" domain="[]" context="{'group_by' : 'categ_id'}" />
27 <separator orientation="vertical"/>
28 <filter string='Default UOM' icon="terp-stock" domain="[]" context="{'group_by' : 'uom_id'}" />
29 <separator orientation="vertical"/>
30 <filter string='Type' icon="terp-stock" domain="[]" context="{'group_by' : 'type'}" />
36 <record id="product_product_tree_view" model="ir.ui.view">
37 <field name="name">product.product.tree</field>
38 <field name="model">product.product</field>
39 <field name="type">tree</field>
40 <field eval="7" name="priority"/>
41 <field name="arch" type="xml">
42 <tree colors="red:virtual_available<0;blue:virtual_available>=0 and state in ('draft', 'end', 'obsolete');black:virtual_available>=0 and state not in ('draft', 'end', 'obsolete')" string="Products">
43 <field name="default_code"/>
45 <field name="categ_id" />
46 <field name="variants" groups="product.group_product_variant"/>
47 <field name="uom_id"/>
49 <field name="qty_available"/>
50 <field name="virtual_available"/>
51 <field name="lst_price"/>
52 <field name="standard_price"/>
53 <field name="price" invisible="not context.get('pricelist',False)"/>
58 <record id="product_normal_form_view" model="ir.ui.view">
59 <field name="name">product.normal.form</field>
60 <field name="model">product.product</field>
61 <field name="type">form</field>
62 <field eval="7" name="priority"/>
63 <field name="arch" type="xml">
64 <form string="Product">
65 <group colspan="4" col="6">
66 <group colspan="4" col="2">
67 <separator string="Product Description" colspan="4"/>
68 <field name="name" select="1" />
69 <field groups="product.group_product_variant" name="variants" select="2" />
71 <group colspan="1" col="2">
72 <separator string="Codes" colspan="2"/>
73 <field name="default_code" select="1"/>
74 <field groups="base.group_extended" name="ean13" select="2"/>
76 <group colspan="1" col="2">
77 <separator string="Product Characteristics" colspan="2"/>
78 <field name="sale_ok" select="2"/>
79 <field name="purchase_ok" select="2"/>
80 <field groups="base.group_extended" name="rental" select="2"/>
84 <notebook colspan="4">
85 <page string="Information">
86 <group colspan="2" col="2">
87 <separator string="Procurement" colspan="2"/>
88 <field name="type" select="2"/>
89 <field name="procure_method"/>
90 <field name="supply_method"/>
93 <group colspan="2" col="2" groups="base.group_extended">
94 <separator string="Weigths" colspan="2"/>
95 <field digits="(14, 3)" name="volume" attrs="{'readonly':[('type','=','service')]}"/>
96 <field digits="(14, 3)" name="weight" attrs="{'readonly':[('type','=','service')]}"/>
97 <field digits="(14, 3)" name="weight_net" attrs="{'readonly':[('type','=','service')]}"/>
100 <group colspan="2" col="2" name="status">
101 <separator string="Status" colspan="2"/>
102 <field name="categ_id" select="1"/>
103 <field name="state" select="2"/>
104 <field groups="base.group_extended" name="product_manager" select="2"/>
107 <group colspan="2" col="2" name="uom">
108 <separator string="UOM" colspan="2"/>
109 <field name="uom_id" on_change="onchange_uom(uom_id,uom_po_id)"/>
110 <field name="uom_po_id"/>
113 <group colspan="2" col="2" name="uos" groups="product.group_uos">
114 <separator string="Second UoM" colspan="2"/>
115 <field name="uos_id"/>
116 <field name="uos_coeff"/>
117 <field name="mes_type"/>
121 <page string="Procurement & Locations">
122 <group colspan="2" col="2" name="delay">
123 <separator string="Delays" colspan="2"/>
124 <field name="sale_delay" attrs="{'readonly':[('sale_ok','=',0)]}"/>
125 <field name="produce_delay"/>
126 <field name="warranty"/>
128 <group colspan="2" col="2" name="store">
129 <separator string="Storage Localisation" colspan="2"/>
130 <field name="loc_rack"/>
131 <field name="loc_row"/>
132 <field name="loc_case"/>
135 <group colspan="2" col="2" name="misc">
136 <separator string="Miscellaneous" colspan="2"/>
137 <field name="active" select="2"/>
138 <field name="company_id" select="2" groups="base.group_multi_company" widget="selection"/>
142 <page string="Prices & Suppliers">
143 <separator string="Base Prices" colspan="4"/>
144 <field name="standard_price" attrs="{'readonly':[('cost_method','=','average')]}"/>
145 <field name="list_price"/>
147 <field name="price_margin" groups="base.group_extended"/>
148 <field name="price_extra" groups="base.group_extended"/>
150 <field groups="base.group_extended" name="cost_method"/>
152 <field colspan="4" name="seller_ids" nolabel="1"/>
154 <page string="Descriptions">
155 <separator string="Description"/>
156 <field colspan="4" name="description" nolabel="1"/>
157 <separator string="Sale Description"/>
158 <field colspan="4" name="description_sale" nolabel="1"/>
159 <separator string="Purchase Description"/>
160 <field colspan="4" name="description_purchase" nolabel="1"/>
162 <page groups="base.group_extended" string="Packaging">
163 <field colspan="4" name="packaging" nolabel="1">
164 <form string="Packaging">
165 <field name="ean" select="1"/>
166 <field name="sequence"/>
168 <field name="qty" select="1"/>
170 <field name="weight_ul"/>
171 <separator colspan="4" string="Palletization"/>
172 <field name="ul_qty"/>
174 <field name="weight"/>
175 <separator colspan="4" string="Pallet Dimension"/>
176 <field name="height"/>
177 <field name="width"/>
178 <field name="length"/>
179 <separator colspan="4" string="Other Info"/>
180 <field colspan="4" name="name" select="1"/>
188 <record id="product_normal_action" model="ir.actions.act_window">
189 <field name="name">Products</field>
190 <field name="type">ir.actions.act_window</field>
191 <field name="res_model">product.product</field>
192 <field name="view_type">form</field>
193 <field name="view_id" ref="product_product_tree_view"/>
194 <field name="search_view_id" ref="product_search_form_view"/>
197 <menuitem id="base.menu_product" name="Products" parent="base.menu_base_partner" sequence="4"/>
198 <menuitem action="product.product_normal_action" id="product.menu_products" parent="base.menu_product" sequence="1"/>
199 <!-- <menuitem action="product_normal_action" id="menu_products" parent="product.menu_main_product" sequence="1"/>-->
201 <record id="product_normal_action_puchased" model="ir.actions.act_window">
202 <field name="name">Products</field>
203 <field name="type">ir.actions.act_window</field>
204 <field name="res_model">product.product</field>
205 <field name="view_type">form</field>
206 <field name="domain">[('purchase_ok','=',1)]</field>
207 <field name="view_id" ref="product_product_tree_view"/>
208 <field name="search_view_id" ref="product_search_form_view"/>
211 <record id="product_category_form_view" model="ir.ui.view">
212 <field name="name">product.category.form</field>
213 <field name="model">product.category</field>
214 <field name="type">form</field>
215 <field name="arch" type="xml">
216 <form string="Product Categories">
217 <field name="name" select="1"/>
218 <field name="parent_id"/>
219 <field name="sequence"/>
225 <record id="product_category_list_view" model="ir.ui.view">
226 <field name="name">product.category.list</field>
227 <field name="model">product.category</field>
228 <field name="type">tree</field>
229 <field name="priority">1</field>
230 <field name="arch" type="xml">
231 <tree string="Product Categories">
232 <field name="complete_name"/>
236 <record id="product_category_tree_view" model="ir.ui.view">
237 <field name="name">product.category.tree</field>
238 <field name="model">product.category</field>
239 <field name="type">tree</field>
240 <field name="field_parent">child_id</field>
241 <field name="arch" type="xml">
242 <tree toolbar="True" string="Product Categories">
247 <record id="product_category_action" model="ir.actions.act_window">
248 <field name="name">Products by Category</field>
249 <field name="type">ir.actions.act_window</field>
250 <field name="res_model">product.category</field>
251 <field name="domain">[('parent_id','=',False)]</field>
252 <field name="view_type">tree</field>
253 <field name="view_id" ref="product_category_tree_view"/>
255 <!-- <menuitem action="product_category_action" id="menu_product_category_action" parent="product.menu_main_product" sequence="3"/>-->
257 <record id="product_category_action_form" model="ir.actions.act_window">
258 <field name="name">Products Categories</field>
259 <field name="type">ir.actions.act_window</field>
260 <field name="res_model">product.category</field>
261 <field name="view_type">form</field>
262 <field name="view_id" ref="product_category_list_view"/>
264 <!-- <menuitem action="product_category_action_form" id="menu_product_category_action_form" parent="product.menu_config_product" sequence="1"/>-->
265 <menuitem action="product_category_action_form" id="menu_product_category_action_form" parent="prod_config_main" sequence="60"/>
268 <record id="product_normal_action_tree" model="ir.actions.act_window">
269 <field name="name">Products</field>
270 <field name="type">ir.actions.act_window</field>
271 <field name="res_model">product.product</field>
272 <field name="view_type">form</field>
273 <field name="view_mode">tree,form</field>
274 <field name="domain">[('categ_id','child_of',[active_id])]</field>
275 <field name="context">{'categ_id':active_id}</field>
277 <record id="ir_product_category_open" model="ir.values">
278 <field eval="'tree_but_open'" name="key2"/>
279 <field eval="'product.category'" name="model"/>
280 <field name="name">Products by Categories</field>
281 <field eval="'ir.actions.act_window,%d'%product_normal_action_tree" name="value"/>
282 <field eval="True" name="object"/>
286 <!-- Unit of Measure -->
288 <record id="product_uom_tree_view" model="ir.ui.view">
289 <field name="name">product.uom.tree</field>
290 <field name="model">product.uom</field>
291 <field name="type">tree</field>
292 <field name="arch" type="xml">
293 <tree string="Units of Measure">
295 <field name="category_id"/>
296 <field name="factor"/>
297 <field name="factor_inv"/>
298 <field name="rounding"/>
303 <record id="product_uom_form_view" model="ir.ui.view">
304 <field name="name">product.uom.form</field>
305 <field name="model">product.uom</field>
306 <field name="type">form</field>
307 <field name="arch" type="xml">
308 <form string="Units of Measure">
309 <field name="name" select="1"/>
310 <field name="category_id" select="1"/>
311 <field name="factor" select="1" attrs="{'readonly':[('uom_factor','=','bigger')]}"/>
312 <field name="factor_inv_data" select="1" string="Factor Data" attrs="{'readonly':[('uom_factor','=','smaller')]}"/>
313 <field name="factor_inv" invisible="1"/>
314 <field name="rounding"/>
315 <field name="uom_factor"/>
316 <field name="active"/>
320 <record id="product_uom_form_action" model="ir.actions.act_window">
321 <field name="name">Units of Measure</field>
322 <field name="type">ir.actions.act_window</field>
323 <field name="res_model">product.uom</field>
324 <field name="view_type">form</field>
325 <field name="view_id" ref="product_uom_tree_view"/>
327 <menuitem id="next_id_16" name="Units of Measure" parent="prod_config_main" sequence="65"/>
328 <menuitem action="product_uom_form_action" id="menu_product_uom_form_action" parent="next_id_16"/>
330 <record id="product_uom_categ_form_view" model="ir.ui.view">
331 <field name="name">product.uom.categ.form</field>
332 <field name="model">product.uom.categ</field>
333 <field name="type">form</field>
334 <field name="arch" type="xml">
335 <form string="Units of Measure categories">
336 <field colspan="4" name="name" select="1"/>
340 <record id="product_uom_categ_form_action" model="ir.actions.act_window">
341 <field name="name">Units of Measure Categories</field>
342 <field name="type">ir.actions.act_window</field>
343 <field name="res_model">product.uom.categ</field>
344 <field name="view_type">form</field>
345 <field name="view_mode">tree,form</field>
347 <menuitem action="product_uom_categ_form_action" id="menu_product_uom_categ_form_action" parent="product.next_id_16" sequence="5"/>
349 <record id="product_ul_form_view" model="ir.ui.view">
350 <field name="name">product.ul.form.view</field>
351 <field name="model">product.ul</field>
352 <field name="type">form</field>
353 <field name="arch" type="xml">
354 <form string="Packaging">
355 <field name="name" select="1" />
356 <field name="type" select="1" />
360 <record id="product_ul_tree" model="ir.ui.view">
361 <field name="name">product.ul.tree</field>
362 <field name="model">product.ul</field>
363 <field name="type">tree</field>
364 <field name="arch" type="xml">
365 <tree string="Packaging">
366 <field name="name" select="1"/>
367 <field name="type" select="1"/>
371 <record id="product_ul_form_action" model="ir.actions.act_window">
372 <field name="name">Packaging</field>
373 <field name="type">ir.actions.act_window</field>
374 <field name="res_model">product.ul</field>
375 <field name="view_type">form</field>
376 <field name="view_mode">tree,form</field>
378 <!-- <menuitem action="product_ul_form_action" groups="base.group_extended" id="menu_product_ul_form_action" parent="product.menu_config_product" sequence="4"/>-->
379 <menuitem action="product_ul_form_action" groups="base.group_extended" id="menu_product_ul_form_action" parent="prod_config_main" sequence="65"/>
381 <record id="product_packaging_tree_view" model="ir.ui.view">
382 <field name="name">product.packaging.tree.view</field>
383 <field name="model">product.packaging</field>
384 <field name="type">tree</field>
385 <field name="arch" type="xml">
386 <tree string="Packaging">
387 <field name="sequence"/>
395 <record id="product_packaging_form_view" model="ir.ui.view">
396 <field name="name">product.packaging.form.view</field>
397 <field name="model">product.packaging</field>
398 <field name="type">form</field>
399 <field name="arch" type="xml">
400 <form string="Packaging">
401 <field name="product_id" select="1"/>
403 <field name="ean" select="1"/>
404 <field name="sequence"/>
406 <field name="qty" select="1"/>
408 <field name="weight_ul"/>
409 <separator colspan="4" string="Palletization"/>
410 <field name="ul_qty"/>
412 <field name="weight"/>
413 <separator colspan="4" string="Pallet Dimension"/>
414 <field name="height"/>
415 <field name="width"/>
416 <field name="length"/>
417 <separator colspan="4" string="Other Info"/>
418 <field colspan="4" name="name" select="1"/>
423 <record id="product_supplierinfo_form_view" model="ir.ui.view">
424 <field name="name">product.supplierinfo.form.view</field>
425 <field name="model">product.supplierinfo</field>
426 <field name="type">form</field>
427 <field name="arch" type="xml">
428 <form string="Supplier Information">
430 <field name="sequence"/>
431 <field name="product_name" groups="base.group_extended"/>
432 <field name="product_code" groups="base.group_extended"/>
433 <field name="delay"/>
435 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
436 <field colspan="4" groups="base.group_extended" name="pricelist_ids" nolabel="1" widget="one2many_list">
437 <tree editable="bottom" string="Pricelist">
438 <field name="min_quantity"/>
439 <field name="price"/>
442 <field name="min_quantity"/>
443 <field name="price"/>
449 <record id="product_supplierinfo_tree_view" model="ir.ui.view">
450 <field name="name">product.supplierinfo.tree.view</field>
451 <field name="model">product.supplierinfo</field>
452 <field name="type">tree</field>
453 <field name="arch" type="xml">
454 <tree string="Supplier Information">
455 <field name="sequence" string="Seq"/>
457 <field name="delay"/>
459 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
464 <record id="product_variant_form_view" model="ir.ui.view">
465 <field name="name">product.variant.form</field>
466 <field name="model">product.product</field>
467 <field name="type">form</field>
468 <field name="arch" type="xml">
469 <form string="Product Variant">
470 <separator colspan="4" string="Description"/>
471 <field name="product_tmpl_id" select="1"/>
472 <field name="active" select="1"/>
473 <field name="variants" select="1"/>
474 <field name="default_code" select="1"/>
475 <field name="price_margin" select="1"/>
476 <field name="price_extra" select="1"/>
481 <record id="product_variant_tree_view" model="ir.ui.view">
482 <field name="name">product.variant.tree</field>
483 <field name="model">product.product</field>
484 <field name="type">tree</field>
485 <field name="arch" type="xml">
486 <tree string="Product Variant">
487 <field name="product_tmpl_id"/>
488 <field name="active"/>
489 <field name="variants"/>
490 <field name="default_code"/>
491 <field name="price_margin"/>
492 <field name="price_extra"/>
497 <record id="product_template_tree_view" model="ir.ui.view">
498 <field name="name">product.template.product.tree</field>
499 <field name="model">product.template</field>
500 <field name="type">tree</field>
501 <field name="arch" type="xml">
502 <tree string="Product Template">
504 <field name="categ_id"/>
506 <field name="state"/>
511 <record id="product_template_form_view" model="ir.ui.view">
512 <field name="name">product.template.product.form</field>
513 <field name="model">product.template</field>
514 <field name="type">form</field>
515 <field name="arch" type="xml">
516 <form string="Product Template">
517 <group colspan="2" col="4">
518 <separator string="Product Description" colspan="4"/>
519 <field name="name" select="1"/>
521 <group colspan="2" col="2">
522 <separator string="Product Type" colspan="2"/>
523 <field name="sale_ok" select="2"/>
524 <field name="purchase_ok" select="2"/>
525 <field groups="base.group_extended" name="rental" select="2"/>
527 <notebook colspan="4">
528 <page string="Information">
529 <group colspan="2" col="2">
530 <separator string="Procurement" colspan="2"/>
531 <field name="type" select="2"/>
532 <field name="procure_method"/>
533 <field name="supply_method"/>
536 <group colspan="2" col="2" groups="base.group_extended">
537 <separator string="Weigths" colspan="2"/>
538 <field digits="(14, 3)" name="volume" attrs="{'readonly':[('type','=','service')]}"/>
539 <field digits="(14, 3)" name="weight" attrs="{'readonly':[('type','=','service')]}"/>
540 <field digits="(14, 3)" name="weight_net" attrs="{'readonly':[('type','=','service')]}"/>
543 <group colspan="2" col="2" name="status">
544 <separator string="Status" colspan="2"/>
545 <field name="categ_id" select="1"/>
546 <field name="state" select="2"/>
547 <field groups="base.group_extended" name="product_manager" select="2"/>
550 <group colspan="2" col="2" name="uom">
551 <separator string="UOM" colspan="2"/>
552 <field name="uom_id" on_change="onchange_uom(uom_id,uom_po_id)"/>
553 <field name="uom_po_id"/>
556 <group colspan="2" col="2" name="uos" groups="product.group_uos">
557 <separator string="Second UoM" colspan="2"/>
558 <field name="uos_id"/>
559 <field name="uos_coeff"/>
560 <field name="mes_type"/>
564 <page string="Procurement & Locations" groups="base.group_extended">
565 <group colspan="2" col="2" name="delay">
566 <separator string="Delays" colspan="2"/>
567 <field name="sale_delay" attrs="{'readonly':[('sale_ok','=',0)]}"/>
568 <field name="produce_delay"/>
569 <field name="warranty"/>
571 <group colspan="2" col="2" name="store">
572 <separator string="Storage Localisation" colspan="2"/>
573 <field name="loc_rack"/>
574 <field name="loc_row"/>
575 <field name="loc_case"/>
577 <group colspan="2" col="2" name="misc">
578 <separator string="Miscelleanous" colspan="2"/>
582 <page string="Prices & Suppliers">
583 <separator string="Base Prices" colspan="4"/>
584 <field name="standard_price" attrs="{'readonly':[('cost_method','=','average')]}"/>
585 <field name="list_price"/>
586 <field groups="base.group_extended" name="cost_method"/>
588 <field colspan="4" name="seller_ids" nolabel="1"/>
590 <page string="Descriptions">
591 <separator string="Description"/>
592 <field colspan="4" name="description" nolabel="1"/>
593 <separator string="Sale Description"/>
594 <field colspan="4" name="description_sale" nolabel="1"/>
595 <separator string="Purchase Description"/>
596 <field colspan="4" name="description_purchase" nolabel="1"/>
603 <record id="product_template_action_tree" model="ir.actions.act_window">
604 <field name="name">Product Templates</field>
605 <field name="type">ir.actions.act_window</field>
606 <field name="res_model">product.template</field>
607 <field name="view_type">form</field>
608 <field name="view_id" ref="product_template_tree_view"/>
612 <menuitem action="product_template_action_tree" id="menu_templates" parent="product.menu_products" sequence="2"
613 groups="product.group_product_variant" />