19 lines
757 B
Python
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 |