buying - update valuation rate when item row has item_code and quantity, else set valuation rate as 0

This commit is contained in:
Anand Doshi 2013-02-28 19:17:46 +05:30
parent 5b56e78580
commit 1bfec3a6c8
2 changed files with 4 additions and 2 deletions

View File

@ -53,7 +53,7 @@ def get_item_details(args):
"qty": 0, "qty": 0,
"stock_uom": item.stock_uom, "stock_uom": item.stock_uom,
"uom": item.stock_uom, "uom": item.stock_uom,
"conversion_factor": 1, "conversion_factor": 1.0,
"warehouse": args.warehouse or item.default_warehouse, "warehouse": args.warehouse or item.default_warehouse,
"item_tax_rate": json.dumps(dict(([d.tax_type, d.tax_rate] for d in "item_tax_rate": json.dumps(dict(([d.tax_type, d.tax_rate] for d in
item_wrapper.doclist.get({"parentfield": "item_tax"})))), item_wrapper.doclist.get({"parentfield": "item_tax"})))),

View File

@ -331,7 +331,9 @@ class BuyingController(AccountsController):
# update valuation rate # update valuation rate
def update_valuation_rate(self, parentfield): def update_valuation_rate(self, parentfield):
for d in self.doclist.get({"parentfield": parentfield}): for d in self.doclist.get({"parentfield": parentfield}):
if d.qty: if d.item_code and d.qty:
# if no item code, which is sometimes the case in purchase invoice,
# then it is not possible to track valuation against it
d.valuation_rate = (flt(d.purchase_rate or d.rate) d.valuation_rate = (flt(d.purchase_rate or d.rate)
+ (flt(d.item_tax_amount) + flt(d.rm_supp_cost)) / flt(d.qty) + (flt(d.item_tax_amount) + flt(d.rm_supp_cost)) / flt(d.qty)
) / flt(d.conversion_factor) ) / flt(d.conversion_factor)