brotherton-erpnext/patches/march_2013/p07_update_valuation_rate.py
2013-04-09 14:31:14 +05:30

19 lines
757 B
Python

import webnotes
def execute():
webnotes.reload_doc("accounts", "doctype", "purchase_invoice_item")
webnotes.conn.auto_commit_on_many_writes = True
for purchase_invoice in webnotes.conn.sql_list("""select distinct parent
from `tabPurchase Invoice Item` where docstatus = 1 and ifnull(valuation_rate, 0)=0"""):
pi = webnotes.get_obj("Purchase Invoice", purchase_invoice)
try:
pi.calculate_taxes_and_totals()
except:
pass
pi.update_raw_material_cost()
pi.update_valuation_rate("entries")
for item in pi.doclist.get({"parentfield": "entries"}):
webnotes.conn.sql("""update `tabPurchase Invoice Item` set valuation_rate = %s
where name = %s""", (item.valuation_rate, item.name))
webnotes.conn.auto_commit_on_many_writes = False