bzr revid: fp@openerp.com-20121010203818-32otffomve5ifm16
This commit is contained in:
Fabien Pinckaers 2012-10-10 22:38:18 +02:00
commit dd5f5eca9b
26 changed files with 468 additions and 197 deletions

View File

@ -14,8 +14,8 @@
<field name="taxes_id" colspan="2" attrs="{'readonly':[('sale_ok','=',0)]}" widget="many2many_tags"/> <field name="taxes_id" colspan="2" attrs="{'readonly':[('sale_ok','=',0)]}" widget="many2many_tags"/>
</group> </group>
<group> <group>
<field name="property_account_expense" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]" attrs="{'readonly':[('purchase_ok','=',0)]}"/> <field name="property_account_expense" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]" />
<field name="supplier_taxes_id" colspan="2" attrs="{'readonly':[('purchase_ok','=',0)]}" widget="many2many_tags"/> <field name="supplier_taxes_id" colspan="2" widget="many2many_tags"/>
</group> </group>
</group> </group>
</page> </page>

View File

@ -6,10 +6,10 @@
<field name="model">product.product</field> <field name="model">product.product</field>
<field name="inherit_id" ref="product.product_normal_form_view" /> <field name="inherit_id" ref="product.product_normal_form_view" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<field name="purchase_ok" position="before"> <div name="options" position="inside">
<field name="event_ok" on_change="onchange_event_ok(event_ok, context)"/> <field name="event_ok" on_change="onchange_event_ok(event_ok, context)"/>
<label for="event_ok"/> <label for="event_ok"/>
</field> </div>
<field name='default_code' position='before'> <field name='default_code' position='before'>
<field name="event_type_id" attrs="{'readonly': [('event_ok', '=', False)]}"/> <field name="event_type_id" attrs="{'readonly': [('event_ok', '=', False)]}"/>
</field> </field>

View File

@ -243,7 +243,7 @@ class product_product(osv.osv):
data_obj = self.pool.get('ir.model.data') data_obj = self.pool.get('ir.model.data')
cat_id = data_obj._get_id(cr, uid, 'hr_expense', 'cat_expense') cat_id = data_obj._get_id(cr, uid, 'hr_expense', 'cat_expense')
categ_id = data_obj.browse(cr, uid, cat_id).res_id categ_id = data_obj.browse(cr, uid, cat_id).res_id
res = {'value' : {'type':'service','procure_method':'make_to_stock','supply_method':'buy','purchase_ok':True,'sale_ok' :False,'categ_id':categ_id }} res = {'value' : {'type':'service','sale_ok' :False,'categ_id':categ_id }}
return res return res
product_product() product_product()

View File

@ -196,10 +196,10 @@
<field name="model">product.product</field> <field name="model">product.product</field>
<field name="inherit_id" ref="product.product_normal_form_view"/> <field name="inherit_id" ref="product.product_normal_form_view"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<field name="purchase_ok" position="before"> <div name="options" position="inside">
<field name="hr_expense_ok" on_change="on_change_hr_expense_ok(hr_expense_ok)"/> <field name="hr_expense_ok" on_change="on_change_hr_expense_ok(hr_expense_ok)"/>
<label for="hr_expense_ok"/> <label for="hr_expense_ok"/>
</field> </div>
</field> </field>
</record> </record>

View File

@ -29,7 +29,7 @@
'sequence': 18, 'sequence': 18,
'summary': 'Manufacturing Orders, Bill of Materials, Routing', 'summary': 'Manufacturing Orders, Bill of Materials, Routing',
'images': ['images/bill_of_materials.jpeg', 'images/manufacturing_order.jpeg', 'images/planning_manufacturing_order.jpeg', 'images/production_analysis.jpeg', 'images/production_dashboard.jpeg','images/routings.jpeg','images/work_centers.jpeg'], 'images': ['images/bill_of_materials.jpeg', 'images/manufacturing_order.jpeg', 'images/planning_manufacturing_order.jpeg', 'images/production_analysis.jpeg', 'images/production_dashboard.jpeg','images/routings.jpeg','images/work_centers.jpeg'],
'depends': ['procurement', 'stock', 'resource', 'purchase', 'product','process'], 'depends': ['product','procurement', 'stock', 'resource', 'purchase','process'],
'description': """ 'description': """
Manage the Manufacturing process in OpenERP Manage the Manufacturing process in OpenERP
=========================================== ===========================================

View File

@ -962,10 +962,10 @@
</data> </data>
</field> </field>
</record> </record>
<record id="product.product_normal_form_supply_view" model="ir.ui.view"> <record id="product_product_normal_form_supply_view" model="ir.ui.view">
<field name="name">product.normal.form.mrp.inherit</field> <field name="name">product.normal.form.mrp.inherit</field>
<field name="model">product.product</field> <field name="model">product.product</field>
<field name="inherit_id" ref="product.product_normal_form_view"/> <field name="inherit_id" ref="procurement.product_form_view_procurement_button"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//field[@name='supply_method']" position="attributes"> <xpath expr="//field[@name='supply_method']" position="attributes">
<attribute name="invisible">False</attribute> <attribute name="invisible">False</attribute>
@ -976,7 +976,7 @@
order</b> using the bill of materials assigned to this product. order</b> using the bill of materials assigned to this product.
The delivery order will be ready once the production is done. The delivery order will be ready once the production is done.
</p> </p>
</group> </group>
</field> </field>
</record> </record>
@ -1051,7 +1051,5 @@
</xpath> </xpath>
</field> </field>
</record> </record>
</data> </data>
</openerp> </openerp>

View File

@ -1300,7 +1300,7 @@ class product_product(osv.osv):
'expense_pdt': fields.boolean('Point of Sale Cash Out', help="This is a product you can use to take cash from a statement for the point of sale backend, exemple: money lost, transfer to bank, etc."), 'expense_pdt': fields.boolean('Point of Sale Cash Out', help="This is a product you can use to take cash from a statement for the point of sale backend, exemple: money lost, transfer to bank, etc."),
'pos_categ_id': fields.many2one('pos.category','Point of Sale Category', 'pos_categ_id': fields.many2one('pos.category','Point of Sale Category',
help="If you want to sell this product through the point of sale, select the category it belongs to."), help="If you want to sell this product through the point of sale, select the category it belongs to."),
'to_weight' : fields.boolean('To Weight', help="This category contains products that should be weighted, mainly used for the self-checkout interface"), 'to_weight' : fields.boolean('To Weigh', help="This category contains products that should to be weighed, mainly used for the self-checkout interface"),
} }
def _default_pos_categ_id(self, cr, uid, context=None): def _default_pos_categ_id(self, cr, uid, context=None):

View File

@ -57,7 +57,7 @@ depending on the product's configuration.
'company_view.xml', 'company_view.xml',
'board_mrp_procurement_view.xml', 'board_mrp_procurement_view.xml',
], ],
'demo': ['stock_orderpoint.xml'], 'demo': ['stock_orderpoint.xml','procurement_demo.xml'],
'test': ['test/procurement.yml'], 'test': ['test/procurement.yml'],
'installable': True, 'installable': True,
'auto_install': True, 'auto_install': True,

View File

@ -102,7 +102,6 @@ class procurement_order(osv.osv):
'procure_method': fields.selection([('make_to_stock','Make to Stock'),('make_to_order','Make to Order')], 'Procurement Method', states={'draft':[('readonly',False)], 'confirmed':[('readonly',False)]}, 'procure_method': fields.selection([('make_to_stock','Make to Stock'),('make_to_order','Make to Order')], 'Procurement Method', states={'draft':[('readonly',False)], 'confirmed':[('readonly',False)]},
readonly=True, required=True, help="If you encode manually a Procurement, you probably want to use" \ readonly=True, required=True, help="If you encode manually a Procurement, you probably want to use" \
" a make to order method."), " a make to order method."),
'note': fields.text('Note'), 'note': fields.text('Note'),
'message': fields.char('Latest error', size=124, help="Exception occurred while computing procurement orders."), 'message': fields.char('Latest error', size=124, help="Exception occurred while computing procurement orders."),
'state': fields.selection([ 'state': fields.selection([
@ -630,7 +629,18 @@ class stock_warehouse_orderpoint(osv.osv):
}) })
return super(stock_warehouse_orderpoint, self).copy(cr, uid, id, default, context=context) return super(stock_warehouse_orderpoint, self).copy(cr, uid, id, default, context=context)
stock_warehouse_orderpoint() class product_template(osv.osv):
_inherit="product.template"
_columns = {
'type': fields.selection([('product','Stockable Product'),('consu', 'Consumable'),('service','Service')], 'Product Type', required=True, help="Will change the way procurements are processed. Consumable are product where you don't manage stock, a service is a non-material product provided by a company or an individual."),
'procure_method': fields.selection([('make_to_stock','Make to Stock'),('make_to_order','Make to Order')], 'Procurement Method', required=True, help="'Make to Stock': When needed, take from the stock or wait until re-supplying. 'Make to Order': When needed, purchase or produce for the procurement request."),
'supply_method': fields.selection([('produce','Manufacture'),('buy','Buy')], 'Supply Method', required=True, help="Produce will generate production order or tasks, according to the product type. Buy will trigger purchase orders when requested."),
}
_defaults = {
'procure_method': 'make_to_stock',
'supply_method': 'buy',
}
class product_product(osv.osv): class product_product(osv.osv):
_inherit="product.product" _inherit="product.product"
@ -638,6 +648,6 @@ class product_product(osv.osv):
'orderpoint_ids': fields.one2many('stock.warehouse.orderpoint', 'product_id', 'Minimum Stock Rules'), 'orderpoint_ids': fields.one2many('stock.warehouse.orderpoint', 'product_id', 'Minimum Stock Rules'),
} }
product_product()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,204 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<record id="product.product_product_1" model="product.product">
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
</record>
<record id="product.product_product_2" model="product.product">
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
</record>
<record id="product.product_product_3" model="product.product">
<field name="type">product</field>
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
</record>
<record id="product.product_product_4" model="product.product">
<field name="type">product</field>
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
</record>
<record id="product.product_product_5" model="product.product">
<field name="type">product</field>
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
</record>
<record id="product.product_product_6" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_7" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_8" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_9" model="product.product">
<field name="type">product</field>
<field name="procure_method">make_to_order</field>
</record>
<record id="product.product_product_10" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_11" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_12" model="product.product">
<field name="type">product</field>
<field name="procure_method">make_to_order</field>
</record>
<record id="product.product_product_13" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_14" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_15" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_16" model="product.product">
<field name="type">product</field>
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
</record>
<record id="product.product_product_17" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_18" model="product.product">
<field name="type">product</field>
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
</record>
<record id="product.product_product_19" model="product.product">
<field name="type">product</field>
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
</record>
<record id="product.product_product_20" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_21" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_22" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_23" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_24" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_25" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_26" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_27" model="product.product">
<field name="type">product</field>
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
</record>
<record id="product.product_product_28" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_29" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_30" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_31" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_32" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_33" model="product.product">
<field name="type">product</field>
<field name="procure_method">make_to_order</field>
</record>
<record id="product.product_product_34" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_35" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_36" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_37" model="product.product">
<field name="type">product</field>
<field name="procure_method">make_to_order</field>
</record>
<record id="product.product_product_38" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_39" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_44" model="product.product">
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
</record>
<record id="product.product_product_45" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_46" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_47" model="product.product">
<field name="type">product</field>
</record>
<record id="product.product_product_48" model="product.product">
<field name="type">product</field>
</record>
</data>
</openerp>

View File

@ -294,6 +294,29 @@
<field name="res_model">stock.warehouse.orderpoint</field> <field name="res_model">stock.warehouse.orderpoint</field>
</record> </record>
<record model="ir.ui.view" id="product_template_form_view_procurement">
<field name="name">product.template.procurement</field>
<field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_form_view"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='type']" position="after">
<field name="procure_method"/>
<field name="supply_method"/>
</xpath>
</field>
</record>
<record id="product_search_form_view_procurment" model="ir.ui.view">
<field name="name">product.search.procurment.form</field>
<field name="model">product.product</field>
<field name="inherit_id" ref="product.product_search_form_view"/>
<field name="arch" type="xml">
<filter name="consumable" position="before">
<filter string="Products" icon="terp-accessories-archiver" domain="[('type','=','product')]" help="Stockable products"/>
</filter>
</field>
</record>
<record model="ir.ui.view" id="product_form_view_procurement_button"> <record model="ir.ui.view" id="product_form_view_procurement_button">
<field name="name">product.product.procurement</field> <field name="name">product.product.procurement</field>
<field name="model">product.product</field> <field name="model">product.product</field>
@ -303,6 +326,33 @@
<button string="Request Procurement" name="%(act_make_procurement)d" type="action"/> <button string="Request Procurement" name="%(act_make_procurement)d" type="action"/>
<button string="Orderpoints" name="%(product_open_orderpoint)d" type="action"/> <button string="Orderpoints" name="%(product_open_orderpoint)d" type="action"/>
</xpath> </xpath>
<xpath expr="//field[@name='cost_method']" position="before">
<field name="procure_method" groups="base.group_user"/>
<field name="supply_method" groups="base.group_user"/>
</xpath>
<xpath expr="//group[@name='general']" position="after" >
<group name="procurement_help" class="oe_grey" col="1" groups="base.group_user">
<p attrs="{'invisible': [('type','&lt;&gt;','service'),('procure_method','&lt;&gt;','make_to_stock')]}">
When you sell this service, nothing special will be trigered
to deliver the customer, as you set the procurement method as
'Make to Stock'.
</p>
<p attrs="{'invisible': [('type','&lt;&gt;','product'),('procure_method','&lt;&gt;','make_to_stock')]}">
When you sell this product, OpenERP will <b>use the available
inventory</b> for the delivery order.
<br/><br/>
If there are not enough quantities available, the delivery order
will wait for new products. To fulfill the inventory, you should
create others rules like orderpoints.
</p>
<p attrs="{'invisible': [('type','&lt;&gt;','consu'),('procure_method','&lt;&gt;','make_to_stock')]}">
When you sell this product, a delivery order will be created.
OpenERP will consider that the <b>required quantities are always
available</b> as it's a consumable (as a result of this, the quantity
on hand may become negative).
</p>
</group>
</xpath>
</field> </field>
</record> </record>

View File

@ -280,11 +280,8 @@ class product_template(osv.osv):
'description': fields.text('Description',translate=True), 'description': fields.text('Description',translate=True),
'description_purchase': fields.text('Purchase Description',translate=True), 'description_purchase': fields.text('Purchase Description',translate=True),
'description_sale': fields.text('Sale Description',translate=True), 'description_sale': fields.text('Sale Description',translate=True),
'type': fields.selection([('product','Stockable Product'),('consu', 'Consumable'),('service','Service')], 'Product Type', required=True, help="Will change the way procurements are processed. Consumable are product where you don't manage stock."), 'type': fields.selection([('consu', 'Consumable'),('service','Service')], 'Product Type', required=True, help="Consumable are product where you don't manage stock, a service is a non-material product provided by a company or an individual."),
'supply_method': fields.selection([('produce','Manufacture'),('buy','Buy')], 'Supply Method', required=True, help="Produce will generate production order or tasks, according to the product type. Buy will trigger purchase orders when requested."),
'sale_delay': fields.float('Customer Lead Time', help="This is the average delay in days between the confirmation of the customer order and the delivery of the finished products. It's the time you promise to your customers."),
'produce_delay': fields.float('Manufacturing Lead Time', help="Average delay in days to produce this product. This is only for the production order and, if it is a multi-level bill of material, it's only for the level of this product. Different lead times will be summed for all levels and purchase orders."), 'produce_delay': fields.float('Manufacturing Lead Time', help="Average delay in days to produce this product. This is only for the production order and, if it is a multi-level bill of material, it's only for the level of this product. Different lead times will be summed for all levels and purchase orders."),
'procure_method': fields.selection([('make_to_stock','Make to Stock'),('make_to_order','Make to Order')], 'Procurement Method', required=True, help="'Make to Stock': When needed, take from the stock or wait until re-supplying. 'Make to Order': When needed, purchase or produce for the procurement request."),
'rental': fields.boolean('Can be Rent'), 'rental': fields.boolean('Can be Rent'),
'categ_id': fields.many2one('product.category','Category', required=True, change_default=True, domain="[('type','=','normal')]" ,help="Select category for the current product"), 'categ_id': fields.many2one('product.category','Category', required=True, change_default=True, domain="[('type','=','normal')]" ,help="Select category for the current product"),
'list_price': fields.float('Sale Price', digits_compute=dp.get_precision('Product Price'), help="Base price for computing the customer price. Sometimes called the catalog price."), 'list_price': fields.float('Sale Price', digits_compute=dp.get_precision('Product Price'), help="Base price for computing the customer price. Sometimes called the catalog price."),
@ -296,7 +293,6 @@ class product_template(osv.osv):
help="Standard Price: the cost price is fixed and recomputed periodically (usually at the end of the year), Average Price: the cost price is recomputed at each reception of products."), help="Standard Price: the cost price is fixed and recomputed periodically (usually at the end of the year), Average Price: the cost price is recomputed at each reception of products."),
'warranty': fields.float('Warranty'), 'warranty': fields.float('Warranty'),
'sale_ok': fields.boolean('Can be Sold', help="Determines if the product can be visible in the list of product within a selection from a sale order line."), 'sale_ok': fields.boolean('Can be Sold', help="Determines if the product can be visible in the list of product within a selection from a sale order line."),
'purchase_ok': fields.boolean('Can be Purchased', help="Determine if the product is visible in the list of products within a selection from a purchase order line."),
'state': fields.selection([('',''), 'state': fields.selection([('',''),
('draft', 'In Development'), ('draft', 'In Development'),
('sellable','Normal'), ('sellable','Normal'),
@ -309,11 +305,8 @@ class product_template(osv.osv):
'uos_coeff': fields.float('Unit of Measure -> UOS Coeff', digits_compute= dp.get_precision('Product UoS'), 'uos_coeff': fields.float('Unit of Measure -> UOS Coeff', digits_compute= dp.get_precision('Product UoS'),
help='Coefficient to convert Unit of Measure to UOS\n' help='Coefficient to convert Unit of Measure to UOS\n'
' uos = uom * coeff'), ' uos = uom * coeff'),
'mes_type': fields.selection((('fixed', 'Fixed'), ('variable', 'Variable')), 'Measure Type', required=True), 'mes_type': fields.selection((('fixed', 'Fixed'), ('variable', 'Variable')), 'Measure Type'),
'seller_ids': fields.one2many('product.supplierinfo', 'product_id', 'Partners'), 'seller_ids': fields.one2many('product.supplierinfo', 'product_id', 'Partners'),
'loc_rack': fields.char('Rack', size=16),
'loc_row': fields.char('Row', size=16),
'loc_case': fields.char('Case', size=16),
'company_id': fields.many2one('res.company', 'Company', select=1), 'company_id': fields.many2one('res.company', 'Company', select=1),
} }
@ -351,21 +344,17 @@ class product_template(osv.osv):
_defaults = { _defaults = {
'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'product.template', context=c), 'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'product.template', context=c),
'list_price': lambda *a: 1, 'list_price': 1,
'cost_method': lambda *a: 'standard', 'cost_method': 'standard',
'supply_method': lambda *a: 'buy', 'standard_price': 0.0,
'standard_price': lambda *a: 0.0, 'sale_ok': 1,
'sale_ok': lambda *a: 1, 'produce_delay': 1,
'sale_delay': lambda *a: 7,
'produce_delay': lambda *a: 1,
'purchase_ok': lambda *a: 1,
'procure_method': lambda *a: 'make_to_stock',
'uom_id': _get_uom_id, 'uom_id': _get_uom_id,
'uom_po_id': _get_uom_id, 'uom_po_id': _get_uom_id,
'uos_coeff' : lambda *a: 1.0, 'uos_coeff' : 1.0,
'mes_type' : lambda *a: 'fixed', 'mes_type' : 'fixed',
'categ_id' : _default_category, 'categ_id' : _default_category,
'type' : lambda *a: 'consu', 'type' : 'consu',
} }
def _check_uom(self, cursor, user, ids, context=None): def _check_uom(self, cursor, user, ids, context=None):

View File

@ -197,7 +197,6 @@ parameter) will see those record just disappear.
<field name="name">Service</field> <field name="name">Service</field>
<field name="categ_id" ref="product.product_category_all"/> <field name="categ_id" ref="product.product_category_all"/>
<field name="type">service</field> <field name="type">service</field>
<field eval="False" name="purchase_ok"/>
</record> </record>
</data> </data>
</openerp> </openerp>

View File

@ -70,8 +70,6 @@
<field name="standard_price">20.5</field> <field name="standard_price">20.5</field>
<field name="list_price">30.75</field> <field name="list_price">30.75</field>
<field name="type">service</field> <field name="type">service</field>
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
<field name="uom_id" ref="product_uom_hour"/> <field name="uom_id" ref="product_uom_hour"/>
<field name="uom_po_id" ref="product_uom_hour"/> <field name="uom_po_id" ref="product_uom_hour"/>
<field name="description">This type of service include basic monitoring of products.</field> <field name="description">This type of service include basic monitoring of products.</field>
@ -84,8 +82,6 @@
<field name="standard_price">25.5</field> <field name="standard_price">25.5</field>
<field name="list_price">38.25</field> <field name="list_price">38.25</field>
<field name="type">service</field> <field name="type">service</field>
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
<field name="uom_id" ref="product_uom_hour"/> <field name="uom_id" ref="product_uom_hour"/>
<field name="uom_po_id" ref="product_uom_hour"/> <field name="uom_po_id" ref="product_uom_hour"/>
<field name="description">This type of service include assistance for security questions, system configuration requirements, implementation or special needs.</field> <field name="description">This type of service include assistance for security questions, system configuration requirements, implementation or special needs.</field>
@ -97,9 +93,7 @@
<field name="categ_id" ref="product_category_4"/> <field name="categ_id" ref="product_category_4"/>
<field name="list_price">450.0</field> <field name="list_price">450.0</field>
<field name="standard_price">300.0</field> <field name="standard_price">300.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
<field name="sale_delay">4.0</field> <field name="sale_delay">4.0</field>
@ -115,9 +109,8 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_4"/> <field name="categ_id" ref="product_category_4"/>
<field name="standard_price">500.0</field> <field name="standard_price">500.0</field>
<field name="list_price">750.0</field> <field name="list_price">750.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
<field name="sale_delay">4.0</field> <field name="sale_delay">4.0</field>
@ -133,9 +126,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_4"/> <field name="categ_id" ref="product_category_4"/>
<field name="standard_price">600.0</field> <field name="standard_price">600.0</field>
<field name="list_price">900.0</field> <field name="list_price">900.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
<field name="sale_delay">7.0</field> <field name="sale_delay">7.0</field>
@ -148,7 +139,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">800.0</field> <field name="standard_price">800.0</field>
<field name="list_price">1200.0</field> <field name="list_price">1200.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -158,7 +149,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">880.0</field> <field name="standard_price">880.0</field>
<field name="list_price">1350.0</field> <field name="list_price">1350.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -168,7 +159,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">10.0</field> <field name="standard_price">10.0</field>
<field name="list_price">13.0</field> <field name="list_price">13.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -178,8 +169,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">10.0</field> <field name="standard_price">10.0</field>
<field name="list_price">13.0</field> <field name="list_price">13.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="procure_method">make_to_order</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -189,7 +179,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">12.50</field> <field name="standard_price">12.50</field>
<field name="list_price">14</field> <field name="list_price">14</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -199,7 +189,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">14</field> <field name="standard_price">14</field>
<field name="list_price">16.50</field> <field name="list_price">16.50</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -209,8 +199,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">18</field> <field name="standard_price">18</field>
<field name="list_price">12.50</field> <field name="list_price">12.50</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="procure_method">make_to_order</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -220,7 +209,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">78.0</field> <field name="standard_price">78.0</field>
<field name="list_price">85.0</field> <field name="list_price">85.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -230,7 +219,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">87.0</field> <field name="standard_price">87.0</field>
<field name="list_price">95.0</field> <field name="list_price">95.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -240,7 +229,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">80.0</field> <field name="standard_price">80.0</field>
<field name="list_price">85.0</field> <field name="list_price">85.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -250,9 +239,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">20.0</field> <field name="standard_price">20.0</field>
<field name="list_price">25.0</field> <field name="list_price">25.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -262,7 +249,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">860.0</field> <field name="standard_price">860.0</field>
<field name="list_price">975.0</field> <field name="list_price">975.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -272,9 +259,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">1020.0</field> <field name="standard_price">1020.0</field>
<field name="list_price">1150.0</field> <field name="list_price">1150.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -284,9 +269,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">1100.0</field> <field name="standard_price">1100.0</field>
<field name="list_price">1250.0</field> <field name="list_price">1250.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
<field name="description">On demand hard-disk having capacity based on requirement.</field> <field name="description">On demand hard-disk having capacity based on requirement.</field>
@ -297,7 +280,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">1700.0</field> <field name="standard_price">1700.0</field>
<field name="list_price">1950.0</field> <field name="list_price">1950.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -307,7 +290,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">1790.0</field> <field name="standard_price">1790.0</field>
<field name="list_price">2000.0</field> <field name="list_price">2000.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -317,7 +300,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">2010.0</field> <field name="standard_price">2010.0</field>
<field name="list_price">2100.0</field> <field name="list_price">2100.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -327,7 +310,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">1910.0</field> <field name="standard_price">1910.0</field>
<field name="list_price">1980.0</field> <field name="list_price">1980.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -337,7 +320,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_8"/> <field name="categ_id" ref="product_category_8"/>
<field name="standard_price">876.0</field> <field name="standard_price">876.0</field>
<field name="list_price">885.0</field> <field name="list_price">885.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -347,7 +330,7 @@ HDD SH-1</field>
<field name="categ_id" ref="product_category_4"/> <field name="categ_id" ref="product_category_4"/>
<field name="standard_price">2870.0</field> <field name="standard_price">2870.0</field>
<field name="list_price">2950.0</field> <field name="list_price">2950.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
<field name="description">17" Monitor <field name="description">17" Monitor
@ -361,7 +344,7 @@ QWERTY keyboard</field>
<field name="categ_id" ref="product_category_4"/> <field name="categ_id" ref="product_category_4"/>
<field name="standard_price">3000.0</field> <field name="standard_price">3000.0</field>
<field name="list_price">3245.0</field> <field name="list_price">3245.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
<field name="description">17" Monitor <field name="description">17" Monitor
@ -375,9 +358,7 @@ QWERTY keyboard</field>
<field name="categ_id" ref="product_category_4"/> <field name="categ_id" ref="product_category_4"/>
<field name="standard_price">3300.0</field> <field name="standard_price">3300.0</field>
<field name="list_price">3645.0</field> <field name="list_price">3645.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
<field name="description">Custom Laptop based on customer's requirement.</field> <field name="description">Custom Laptop based on customer's requirement.</field>
@ -388,7 +369,7 @@ QWERTY keyboard</field>
<field name="categ_id" ref="product_category_6"/> <field name="categ_id" ref="product_category_6"/>
<field name="standard_price">390.0</field> <field name="standard_price">390.0</field>
<field name="list_price">405.0</field> <field name="list_price">405.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -399,7 +380,7 @@ QWERTY keyboard</field>
<field name="categ_id" ref="product_category_7"/> <field name="categ_id" ref="product_category_7"/>
<field name="standard_price">90.0</field> <field name="standard_price">90.0</field>
<field name="list_price">100.0</field> <field name="list_price">100.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -410,7 +391,7 @@ QWERTY keyboard</field>
<field name="categ_id" ref="product_category_7"/> <field name="categ_id" ref="product_category_7"/>
<field name="standard_price">126.0</field> <field name="standard_price">126.0</field>
<field name="list_price">145.0</field> <field name="list_price">145.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -420,7 +401,7 @@ QWERTY keyboard</field>
<field name="categ_id" ref="product_category_7"/> <field name="categ_id" ref="product_category_7"/>
<field name="standard_price">134.0</field> <field name="standard_price">134.0</field>
<field name="list_price">150.0</field> <field name="list_price">150.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
<field name="description">.</field> <field name="description">.</field>
@ -431,7 +412,7 @@ QWERTY keyboard</field>
<field name="categ_id" ref="product_category_7"/> <field name="categ_id" ref="product_category_7"/>
<field name="standard_price">57.0</field> <field name="standard_price">57.0</field>
<field name="list_price">62.0</field> <field name="list_price">62.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
<field name="description">Hands free headset for laptop PC with in-line microphone and headphone plug.</field> <field name="description">Hands free headset for laptop PC with in-line microphone and headphone plug.</field>
@ -442,8 +423,7 @@ QWERTY keyboard</field>
<field name="categ_id" ref="product_category_7"/> <field name="categ_id" ref="product_category_7"/>
<field name="standard_price">60.0</field> <field name="standard_price">60.0</field>
<field name="list_price">65.0</field> <field name="list_price">65.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="procure_method">make_to_order</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
<field name="description">Headset for laptop PC with USB connector.</field> <field name="description">Headset for laptop PC with USB connector.</field>
@ -455,7 +435,7 @@ QWERTY keyboard</field>
<field name="categ_id" ref="product_category_7"/> <field name="categ_id" ref="product_category_7"/>
<field name="standard_price">38.0</field> <field name="standard_price">38.0</field>
<field name="list_price">45.0</field> <field name="list_price">45.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -466,7 +446,7 @@ QWERTY keyboard</field>
<field name="categ_id" ref="product_category_7"/> <field name="categ_id" ref="product_category_7"/>
<field name="standard_price">18.40</field> <field name="standard_price">18.40</field>
<field name="list_price">20.0</field> <field name="list_price">20.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_dozen"/> <field name="uom_id" ref="product_uom_dozen"/>
<field name="uom_po_id" ref="product_uom_dozen"/> <field name="uom_po_id" ref="product_uom_dozen"/>
</record> </record>
@ -477,7 +457,7 @@ QWERTY keyboard</field>
<field name="categ_id" ref="product_category_7"/> <field name="categ_id" ref="product_category_7"/>
<field name="standard_price">21.60</field> <field name="standard_price">21.60</field>
<field name="list_price">24.0</field> <field name="list_price">24.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_dozen"/> <field name="uom_id" ref="product_uom_dozen"/>
<field name="uom_po_id" ref="product_uom_dozen"/> <field name="uom_po_id" ref="product_uom_dozen"/>
</record> </record>
@ -488,8 +468,7 @@ QWERTY keyboard</field>
<field name="categ_id" ref="product_category_6"/> <field name="categ_id" ref="product_category_6"/>
<field name="standard_price">4258.0</field> <field name="standard_price">4258.0</field>
<field name="list_price">4410.0</field> <field name="list_price">4410.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="procure_method">make_to_order</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
<field name="description">All in one hi-speed printer with fax and scanner.</field> <field name="description">All in one hi-speed printer with fax and scanner.</field>
@ -501,7 +480,7 @@ QWERTY keyboard</field>
<field name="categ_id" ref="product_category_6"/> <field name="categ_id" ref="product_category_6"/>
<field name="standard_price">60.0</field> <field name="standard_price">60.0</field>
<field name="list_price">65.0</field> <field name="list_price">65.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -512,7 +491,7 @@ QWERTY keyboard</field>
<field name="categ_id" ref="product_category_6"/> <field name="categ_id" ref="product_category_6"/>
<field name="standard_price">66.0</field> <field name="standard_price">66.0</field>
<field name="list_price">70.0</field> <field name="list_price">70.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -569,8 +548,6 @@ QWERTY keyboard</field>
<field name="standard_price">155.0</field> <field name="standard_price">155.0</field>
<field name="list_price">173.0</field> <field name="list_price">173.0</field>
<field name="type">consu</field> <field name="type">consu</field>
<field name="procure_method">make_to_order</field>
<field name="supply_method">produce</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
<field name="description_sale">Full featured image editing software.</field> <field name="description_sale">Full featured image editing software.</field>
@ -582,7 +559,7 @@ QWERTY keyboard</field>
<field name="categ_id" ref="product_category_6"/> <field name="categ_id" ref="product_category_6"/>
<field name="standard_price">55.0</field> <field name="standard_price">55.0</field>
<field name="list_price">60.0</field> <field name="list_price">60.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -593,7 +570,7 @@ QWERTY keyboard</field>
<field name="categ_id" ref="product_category_6"/> <field name="categ_id" ref="product_category_6"/>
<field name="standard_price">35.0</field> <field name="standard_price">35.0</field>
<field name="list_price">40.0</field> <field name="list_price">40.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -604,7 +581,7 @@ QWERTY keyboard</field>
<field name="categ_id" ref="product_category_6"/> <field name="categ_id" ref="product_category_6"/>
<field name="standard_price">55.0</field> <field name="standard_price">55.0</field>
<field name="list_price">70.0</field> <field name="list_price">70.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>
@ -615,7 +592,7 @@ QWERTY keyboard</field>
<field name="categ_id" ref="product_category_6"/> <field name="categ_id" ref="product_category_6"/>
<field name="standard_price">13.0</field> <field name="standard_price">13.0</field>
<field name="list_price">18.0</field> <field name="list_price">18.0</field>
<field name="type">product</field> <field name="type">consu</field>
<field name="uom_id" ref="product_uom_unit"/> <field name="uom_id" ref="product_uom_unit"/>
<field name="uom_po_id" ref="product_uom_unit"/> <field name="uom_po_id" ref="product_uom_unit"/>
</record> </record>

View File

@ -10,11 +10,9 @@
<search string="Product"> <search string="Product">
<field name="name" string="Product" filter_domain="['|',('name','ilike',self),('default_code','ilike',self)]"/> <field name="name" string="Product" filter_domain="['|',('name','ilike',self),('default_code','ilike',self)]"/>
<filter string="Services" icon="terp-accessories-archiver" domain="[('type','=','service')]"/> <filter string="Services" icon="terp-accessories-archiver" domain="[('type','=','service')]"/>
<filter string="Products" icon="terp-accessories-archiver" domain="['|',('type','=','product'),('type','=','consu')]" help="Both stockable and consumable products"/> <filter string="Consumable" name="consumable" icon="terp-accessories-archiver" domain="[('type','=','consu')]" help="Consumable products"/>
<separator/> <separator/>
<filter name="filter_to_purchase" string="To Purchase" icon="terp-accessories-archiver+" domain="[('purchase_ok', '=', 1)]"/>
<filter string="Can be Sold" name="filter_to_sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/> <filter string="Can be Sold" name="filter_to_sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/>
<filter name="filter_to_purchase" string="Can be Purchased" icon="terp-accessories-archiver+" domain="[('purchase_ok', '=', 1)]"/>
<field name="categ_id" operator="child_of"/> <field name="categ_id" operator="child_of"/>
<group expand="0" string="Context..."> <group expand="0" string="Context...">
<field name="pricelist_id" context="{'pricelist': self}" groups="product.group_sale_pricelist"/> <field name="pricelist_id" context="{'pricelist': self}" groups="product.group_sale_pricelist"/>
@ -60,7 +58,7 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Product" version="7.0"> <form string="Product" version="7.0">
<sheet> <sheet>
<field name="image_medium" widget="image" class="oe_avatar oe_right"/> <field name="image_medium" widget="image" class="oe_avatar oe_left"/>
<div class="oe_title"> <div class="oe_title">
<div class="oe_edit_only"> <div class="oe_edit_only">
<label for="name" string="Product Name"/> <label for="name" string="Product Name"/>
@ -73,8 +71,6 @@
<div name="options" groups="base.group_user"> <div name="options" groups="base.group_user">
<field name="sale_ok"/> <field name="sale_ok"/>
<label for="sale_ok"/> <label for="sale_ok"/>
<field name="purchase_ok"/>
<label for="purchase_ok"/>
</div> </div>
</div> </div>
<div class="oe_right oe_button_box" name="buttons"> <div class="oe_right oe_button_box" name="buttons">
@ -104,34 +100,11 @@
</page> </page>
<page string="Procurements" groups="base.group_user"> <page string="Procurements" groups="base.group_user">
<group name="procurement"> <group name="procurement">
<group> <group name="general">
<field name="procure_method" groups="base.group_user"/>
<field name="supply_method" groups="base.group_user" invisible="1"/>
<field name="cost_method" groups="product.group_costing_method"/> <field name="cost_method" groups="product.group_costing_method"/>
<field name="standard_price" attrs="{'readonly':[('cost_method','=','average')]}"/> <field name="standard_price" attrs="{'readonly':[('cost_method','=','average')]}"/>
</group> </group>
<group name="procurement_help" class="oe_grey" col="1" groups="base.group_user"> <group name="procurement_uom" groups="product.group_uom">
<p attrs="{'invisible': [('type','&lt;&gt;','service'),('procure_method','&lt;&gt;','make_to_stock')]}">
When you sell this service, nothing special will be trigered
to deliver the customer, as you set the procurement method as
'Make to Stock'.
</p>
<p attrs="{'invisible': [('type','&lt;&gt;','product'),('procure_method','&lt;&gt;','make_to_stock')]}">
When you sell this product, OpenERP will <b>use the available
inventory</b> for the delivery order.
<br/><br/>
If there are not enough quantities available, the delivery order
will wait for new products. To fulfill the inventory, you should
create others rules like orderpoints.
</p>
<p attrs="{'invisible': [('type','&lt;&gt;','consu'),('procure_method','&lt;&gt;','make_to_stock')]}">
When you sell this product, a delivery order will be created.
OpenERP will consider that the <b>required quantities are always
available</b> as it's a consumable (as a result of this, the quantity
on hand may become negative).
</p>
</group>
<group groups="product.group_uom">
<field name="uom_po_id"/> <field name="uom_po_id"/>
</group> </group>
</group> </group>
@ -144,13 +117,7 @@
<field name="state"/> <field name="state"/>
<field name="product_manager"/> <field name="product_manager"/>
</group> </group>
<group name="store" string="Storage Localisation"> <group name="Weights" groups="product.group_stock_packaging" string="Weights">
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<field name="loc_rack" attrs="{'invisible':[('type','=','service')]}"/>
<field name="loc_row" attrs="{'invisible':[('type','=','service')]}"/>
<field name="loc_case" attrs="{'invisible':[('type','=','service')]}"/>
</group>
<group groups="product.group_stock_packaging" string="Weights">
<field digits="(14, 3)" name="volume" attrs="{'readonly':[('type','=','service')]}"/> <field digits="(14, 3)" name="volume" attrs="{'readonly':[('type','=','service')]}"/>
<field name="weight" attrs="{'readonly':[('type','=','service')]}"/> <field name="weight" attrs="{'readonly':[('type','=','service')]}"/>
<field name="weight_net" attrs="{'readonly':[('type','=','service')]}"/> <field name="weight_net" attrs="{'readonly':[('type','=','service')]}"/>
@ -160,10 +127,6 @@
<page string="Sales" attrs="{'readonly':[('sale_ok','=',0)]}"> <page string="Sales" attrs="{'readonly':[('sale_ok','=',0)]}">
<group name="sale"> <group name="sale">
<group string="Sale Conditions"> <group string="Sale Conditions">
<label for="sale_delay"/>
<div>
<field name="sale_delay" class="oe_inline"/> days
</div>
<label for="warranty"/> <label for="warranty"/>
<div> <div>
<field name="warranty" class="oe_inline"/> months <field name="warranty" class="oe_inline"/> months
@ -715,12 +678,9 @@
<group> <group>
<group string="Product Type"> <group string="Product Type">
<field name="sale_ok"/> <field name="sale_ok"/>
<field name="purchase_ok"/>
</group> </group>
<group string="Procurement"> <group string="Procurement">
<field name="type"/> <field name="type"/>
<field name="procure_method"/>
<field name="supply_method"/>
</group> </group>
<group string="Base Prices"> <group string="Base Prices">
@ -733,7 +693,7 @@
<field digits="(14, 3)" name="volume" attrs="{'readonly':[('type','=','service')]}"/> <field digits="(14, 3)" name="volume" attrs="{'readonly':[('type','=','service')]}"/>
<field digits="(14, 3)" name="weight" attrs="{'readonly':[('type','=','service')]}"/> <field digits="(14, 3)" name="weight" attrs="{'readonly':[('type','=','service')]}"/>
<field digits="(14, 3)" name="weight_net" attrs="{'readonly':[('type','=','service')]}"/> <field digits="(14, 3)" name="weight_net" attrs="{'readonly':[('type','=','service')]}"/>
</group> </group>
<group name="status" string="Status"> <group name="status" string="Status">
<field name="categ_id"/> <field name="categ_id"/>
@ -756,18 +716,12 @@
<page string="Procurement &amp; Locations"> <page string="Procurement &amp; Locations">
<group> <group>
<group name="delay" string="Delays"> <group name="delay" string="Delays">
<field name="sale_delay" attrs="{'readonly':[('sale_ok','=',0)]}"/>
<label for="produce_delay"/> <label for="produce_delay"/>
<div> <div>
<field name="produce_delay" class="oe_inline"/> days <field name="produce_delay" class="oe_inline"/> days
</div> </div>
<field name="warranty"/> <field name="warranty"/>
</group> </group>
<group name="store" string="Storage Localisation">
<field name="loc_rack"/>
<field name="loc_row"/>
<field name="loc_case"/>
</group>
</group> </group>
</page> </page>

View File

@ -19,9 +19,9 @@
<record model="ir.ui.view" id="view_product_form_expiry"> <record model="ir.ui.view" id="view_product_form_expiry">
<field name="name">product.normal.form</field> <field name="name">product.normal.form</field>
<field name="model">product.product</field> <field name="model">product.product</field>
<field name="inherit_id" ref="product.product_normal_form_view" /> <field name="inherit_id" ref="stock.view_normal_procurement_locations_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<group name="inventory"> <group name="Weights" position="after">
<group string="Dates"> <group string="Dates">
<field name="life_time" /> <field name="life_time" />
<field name="use_time" /> <field name="use_time" />

View File

@ -31,10 +31,10 @@
</field> </field>
</field> </field>
</record> </record>
<record id="product.product_normal_form_supply_view" model="ir.ui.view"> <record id="product_product_normal_form_supply_view" model="ir.ui.view">
<field name="name">product.normal.form.project_mrp.inherit</field> <field name="name">product.normal.form.project_mrp.inherit</field>
<field name="model">product.product</field> <field name="model">product.product</field>
<field name="inherit_id" ref="product.product_normal_form_view"/> <field name="inherit_id" ref="procurement.product_form_view_procurement_button"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//field[@name='supply_method']" position="attributes"> <xpath expr="//field[@name='supply_method']" position="attributes">
<attribute name="invisible">False</attribute> <attribute name="invisible">False</attribute>

View File

@ -1106,4 +1106,16 @@ class mail_mail(osv.osv):
mail_mail() mail_mail()
class product_template(osv.osv):
_name = 'product.template'
_inherit = 'product.template'
_columns = {
'purchase_ok': fields.boolean('Can be Purchased', help="Determine if the product is visible in the list of products within a selection from a purchase order line."),
}
_defaults = {
'purchase_ok': 1,
}
product_template()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -14,6 +14,9 @@
<field eval="80.0" name="schedule_range"/> <field eval="80.0" name="schedule_range"/>
</record> </record>
<record id="product.product_product_consultant" model="product.product">
<field eval="False" name="purchase_ok"/>
</record>
</data> </data>
</openerp> </openerp>

View File

@ -590,10 +590,22 @@
<field name="model">product.product</field> <field name="model">product.product</field>
<field name="inherit_id" ref="product.product_normal_form_view"/> <field name="inherit_id" ref="product.product_normal_form_view"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<div name="options" position="inside">
<field name="purchase_ok"/>
<label for="purchase_ok"/>
</div>
<group name="procurement" position="after"> <group name="procurement" position="after">
<separator string="Suppliers"/> <separator string="Suppliers"/>
<field name="seller_ids" context="{'uom_id': uom_id}"/> <field name="seller_ids" context="{'uom_id': uom_id}"/>
</group> </group>
</field>
</record>
<record id="product_product_normal_form_procurement_help_view" model="ir.ui.view">
<field name="name">product.normal.form.procurement.help.inherit</field>
<field name="model">product.product</field>
<field name="inherit_id" ref="procurement.product_form_view_procurement_button"/>
<field name="arch" type="xml">
<group name="procurement_help" position="inside"> <group name="procurement_help" position="inside">
<p attrs="{'invisible': [('type','&lt;&gt;','service'),('procure_method','&lt;&gt;','make_to_order'),('supply_method','&lt;&gt;','buy')]}"> <p attrs="{'invisible': [('type','&lt;&gt;','service'),('procure_method','&lt;&gt;','make_to_order'),('supply_method','&lt;&gt;','buy')]}">
When you sell this service to a customer, <b>a draft purchase order</b> When you sell this service to a customer, <b>a draft purchase order</b>
@ -610,5 +622,45 @@
</group> </group>
</field> </field>
</record> </record>
<record id="product_search_form_view_purchase" model="ir.ui.view">
<field name="name">product.search.purchase.form</field>
<field name="model">product.product</field>
<field name="inherit_id" ref="product.product_search_form_view"/>
<field name="arch" type="xml">
<filter name="filter_to_sell" position="before">
<filter name="filter_to_purchase" string="To Purchase" icon="terp-accessories-archiver+" domain="[('purchase_ok', '=', 1)]"/>
</filter>
<filter name="filter_to_sell" position="after">
<filter name="filter_to_purchase" string="Can be Purchased" icon="terp-accessories-archiver+" domain="[('purchase_ok', '=', 1)]"/>
</filter>
</field>
</record>
<record id="view_template_purchase_ok_form" model="ir.ui.view">
<field name="name">product.template.purchase.ok.form.inherit</field>
<field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_form_view"/>
<field name="arch" type="xml">
<field name="sale_ok" position="after">
<field name="purchase_ok"/>
</field>
</field>
</record>
<record id="view_product_account_purchase_ok_form" model="ir.ui.view">
<field name="name">product.account.purchase.ok.form.inherit</field>
<field name="model">product.product</field>
<field name="inherit_id" ref="account.product_normal_form_view"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='property_account_expense']" position="replace" >
<field name="property_account_expense" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]" attrs="{'readonly':[('purchase_ok','=',0)]}" />
</xpath>
<xpath expr="//field[@name='supplier_taxes_id']" position="replace" >
<field name="supplier_taxes_id" colspan="2" widget="many2many_tags" attrs="{'readonly':[('purchase_ok','=',0)]}"/>
</xpath>
</field>
</record>
</data> </data>
</openerp> </openerp>

View File

@ -180,7 +180,7 @@
<record model="ir.ui.view" id="product_normal_form_view_inherit"> <record model="ir.ui.view" id="product_normal_form_view_inherit">
<field name="name">product.form.inherit</field> <field name="name">product.form.inherit</field>
<field name="model">product.product</field> <field name="model">product.product</field>
<field name="inherit_id" ref="product.product_normal_form_view"/> <field name="inherit_id" ref="procurement.product_form_view_procurement_button"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<field name="procure_method" position="before"> <field name="procure_method" position="before">
<field name="purchase_requisition"/> <field name="purchase_requisition"/>

View File

@ -513,8 +513,15 @@ class product_template(osv.osv):
string='Stock Output Account', view_load=True, string='Stock Output Account', view_load=True,
help="When doing real-time inventory valuation, counterpart journal items for all outgoing stock moves will be posted in this account, unless " help="When doing real-time inventory valuation, counterpart journal items for all outgoing stock moves will be posted in this account, unless "
"there is a specific valuation account set on the destination location. When not set on the product, the one from the product category is used."), "there is a specific valuation account set on the destination location. When not set on the product, the one from the product category is used."),
'sale_delay': fields.float('Customer Lead Time', help="This is the average delay in days between the confirmation of the customer order and the delivery of the finished products. It's the time you promise to your customers."),
'loc_rack': fields.char('Rack', size=16),
'loc_row': fields.char('Row', size=16),
'loc_case': fields.char('Case', size=16),
} }
_defaults = {
'sale_delay': 7,
}
product_template() product_template()
class product_category(osv.osv): class product_category(osv.osv):

View File

@ -35,6 +35,16 @@
<field name="model">product.template</field> <field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_form_view"/> <field name="inherit_id" ref="product.product_template_form_view"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<group name="delay" position="inside">
<field name="sale_delay" attrs="{'readonly':[('sale_ok','=',False)]}"/>
</group>
<group name="delay" position="after">
<group name="store" string="Storage Localisation">
<field name="loc_rack"/>
<field name="loc_row"/>
<field name="loc_case"/>
</group>
</group>
<page position="after" string="Information"> <page position="after" string="Information">
<page string="Properties"> <page string="Properties">
<group string="Counter-Part Locations Properties" groups="stock.group_locations"> <group string="Counter-Part Locations Properties" groups="stock.group_locations">
@ -56,7 +66,7 @@
<field name="model">product.product</field> <field name="model">product.product</field>
<field name="inherit_id" ref="product.product_normal_form_view"/> <field name="inherit_id" ref="product.product_normal_form_view"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<group name="procurement_help" position="after"> <group name="procurement_uom" position="before">
<group name="delay" string="Delays"> <group name="delay" string="Delays">
<label for="produce_delay" attrs="{'invisible':[('type','=','service')]}"/> <label for="produce_delay" attrs="{'invisible':[('type','=','service')]}"/>
<div attrs="{'invisible':[('type','=','service')]}"> <div attrs="{'invisible':[('type','=','service')]}">
@ -65,12 +75,45 @@
<field name="active"/> <field name="active"/>
</group> </group>
</group> </group>
<group name="inventory" position="inside"> <xpath expr="//group[@string='Sale Conditions']" position="inside">
<group name="store" groups="stock.group_locations" string="Counter-Part Locations Properties"> <label for="sale_delay"/>
<field name="property_stock_procurement" attrs="{'readonly':[('type','=','service')]}" domain="[('usage','=','procurement')]"/> <div>
<field name="property_stock_production" attrs="{'readonly':[('type','=','service')]}" domain="[('usage','=','production')]"/> <field name="sale_delay" class="oe_inline"/> days
<field name="property_stock_inventory" attrs="{'readonly':[('type','=','service')]}" domain="[('usage','=','inventory')]"/> </div>
</xpath>
<group name="status" position="before" version="7.0">
<group string="Stock and Expected Variations" attrs="{'invisible': [('type', '=', 'service')]}" groups="base.group_user">
<label for="qty_available"/>
<div>
<field name="qty_available" class="oe_inline"/>
<button name="%(action_view_change_product_quantity)d" string="update"
type="action"
class="oe_link"/>
</div>
<field name="incoming_qty" class="oe_inline"/>
<field name="outgoing_qty" class="oe_inline"/>
<field name="virtual_available" class="oe_inline"/>
</group> </group>
<group name="lot" groups="stock.group_tracking_lot,stock.group_production_lot" string="Lots">
<field name="track_production" groups="stock.group_production_lot"/>
<field name="track_incoming" groups="stock.group_tracking_lot"/>
<field name="track_outgoing" groups="stock.group_tracking_lot"/>
</group>
</group>
<group name="status" position="after" version="7.0">
<group name="store" string="Storage Localisation">
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<field name="loc_rack" attrs="{'invisible':[('type','=','service')]}"/>
<field name="loc_row" attrs="{'invisible':[('type','=','service')]}"/>
<field name="loc_case" attrs="{'invisible':[('type','=','service')]}"/>
</group>
</group>
<group name="Weights" position="after">
<group name="store" groups="stock.group_locations" string="Counter-Part Locations Properties">
<field name="property_stock_procurement" attrs="{'readonly':[('type','=','service')]}" domain="[('usage','=','procurement')]"/>
<field name="property_stock_production" attrs="{'readonly':[('type','=','service')]}" domain="[('usage','=','production')]"/>
<field name="property_stock_inventory" attrs="{'readonly':[('type','=','service')]}" domain="[('usage','=','inventory')]"/>
</group>
</group> </group>
</field> </field>
</record> </record>
@ -116,32 +159,6 @@
</field> </field>
</record> </record>
<record id="view_normal_stock_property_form" model="ir.ui.view">
<field name="name">product.normal.stock.form.inherit</field>
<field name="model">product.product</field>
<field name="inherit_id" ref="product.product_normal_form_view"/>
<field name="arch" type="xml">
<group name="status" position="before" version="7.0">
<group string="Stock and Expected Variations" attrs="{'invisible': [('type', '=', 'service')]}" groups="base.group_user">
<label for="qty_available"/>
<div>
<field name="qty_available" class="oe_inline"/>
<button name="%(action_view_change_product_quantity)d" string="update"
type="action"
class="oe_link"/>
</div>
<field name="incoming_qty" class="oe_inline"/>
<field name="outgoing_qty" class="oe_inline"/>
<field name="virtual_available" class="oe_inline"/>
</group>
<group name="lot" groups="stock.group_tracking_lot,stock.group_production_lot" string="Lots">
<field name="track_production" groups="stock.group_production_lot"/>
<field name="track_incoming" groups="stock.group_tracking_lot"/>
<field name="track_outgoing" groups="stock.group_tracking_lot"/>
</group>
</group>
</field>
</record>
<record id="action_receive_move" model="ir.actions.act_window"> <record id="action_receive_move" model="ir.actions.act_window">
<field name="name">Receptions</field> <field name="name">Receptions</field>

View File

@ -31,7 +31,6 @@
name: Ice Cream name: Ice Cream
type: product type: product
categ_id: product.product_category_1 categ_id: product.product_category_1
supply_method: buy
list_price: 100.0 list_price: 100.0
standard_price: 70.0 standard_price: 70.0
uom_id: product.product_uom_kgm uom_id: product.product_uom_kgm

View File

@ -5,7 +5,7 @@
<record model="ir.ui.view" id="view_product_form_auto_pick"> <record model="ir.ui.view" id="view_product_form_auto_pick">
<field name="name">product.normal.auto_pick.form</field> <field name="name">product.normal.auto_pick.form</field>
<field name="model">product.product</field> <field name="model">product.product</field>
<field name="inherit_id" ref="product.product_normal_form_view" /> <field name="inherit_id" ref="procurement.product_form_view_procurement_button"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<field name="product_manager" position="after"> <field name="product_manager" position="after">
<field name="auto_pick" /> <field name="auto_pick" />

View File

@ -41,7 +41,7 @@
<record id="product_warning_form_view" model="ir.ui.view"> <record id="product_warning_form_view" model="ir.ui.view">
<field name="name">product.warning.form.inherit</field> <field name="name">product.warning.form.inherit</field>
<field name="model">product.product</field> <field name="model">product.product</field>
<field name="inherit_id" ref="product.product_normal_form_view"/> <field name="inherit_id" ref="procurement.product_template_form_view_procurement"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<notebook position="inside"> <notebook position="inside">
<page string="Warnings"> <page string="Warnings">