I add a field for price in WAREHOUSE -> TRACEABILITY -> SERIAL NUMBER and i want this price to be display in SALE ORDER LINE. Once the user select the SERIAL NUMBER it will display the specific price that came from the WAREHOUSE. There is no errors occur but i does not display the price. how will i going to fix this onchange function..
Here's is my code:
def price_get_multi(self, cr, uid, pricelist_ids, products_by_qty_by_partner, serial=None, context=None):
"""multi products 'price_get'.
@param pricelist_ids:
@param products_by_qty:
@param partner:
@param context: {
'date': Date of the pricelist (%Y-%m-%d),}
@return: a dict of dict with product_id as key and a dict 'price by pricelist' as value
"""
def _create_parent_category_list(id, lst):
if not id:
return []
parent = product_category_tree.get(id)
if parent:
lst.append(parent)
return _create_parent_category_list(parent, lst)
else:
return lst
# _create_parent_category_list
if context is None:
context = {}
date = time.strftime('%Y-%m-%d')
if 'date' in context:
date = context['date']
currency_obj = self.pool.get('res.currency')
product_obj = self.pool.get('product.product')
product_category_obj = self.pool.get('product.category')
product_uom_obj = self.pool.get('product.uom')
supplierinfo_obj = self.pool.get('product.supplierinfo')
price_type_obj = self.pool.get('product.price.type')
# product.pricelist.version:
if not pricelist_ids:
pricelist_ids = self.pool.get('product.pricelist').search(cr, uid, [], context=context)
pricelist_version_ids = self.pool.get('product.pricelist.version').search(cr, uid, [
('pricelist_id', 'in', pricelist_ids),
'|',
('date_start', '=', False),
('date_start', '<=', date),
'|',
('date_end', '=', False),
('date_end', '>=', date),
])
if len(pricelist_ids) != len(pricelist_version_ids):
raise osv.except_osv(_('Warning!'), _("At least one pricelist has no active version !\nPlease create or activate one."))
# product.product:
product_ids = [i[0] for i in products_by_qty_by_partner]
#products = dict([(item['id'], item) for item in product_obj.read(cr, uid, product_ids, ['categ_id', 'product_tmpl_id', 'uos_id', 'uom_id'])])
products = product_obj.browse(cr, uid, product_ids, context=context)
products_dict = dict([(item.id, item) for item in products])
# product.category:
product_category_ids = product_category_obj.search(cr, uid, [])