-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathset_expense_account.py
More file actions
22 lines (15 loc) · 914 Bytes
/
set_expense_account.py
File metadata and controls
22 lines (15 loc) · 914 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import frappe
def set_items(**kwargs):
items = frappe.get_all('Item', filters={'disabled': 0})
item_length = len(items)
for i, item in enumerate(items):
print 'Setting up {0}/{1} items.'.format(i + 1, item_length)
frappe.db.sql("""UPDATE `tabItem` SET expense_account=%s WHERE name=%s""", (kwargs['expense_account'], item.name))
frappe.db.commit()
def set_invoice_items(**kwargs):
items = frappe.db.sql("""SELECT DISTINCT item_code FROM `tabSales Invoice Item`""", as_dict=True)
max_items = len(items)
for i, item in enumerate(items):
print 'Updating {0}/{1}'.format(i + 1, max_items)
account = frappe.db.sql("""SELECT expense_account FROM `tabItem` WHERE name=%s""", item.item_code, as_dict=1)[0]
frappe.db.sql("""UPDATE `tabSales Invoice Item` SET expense_account=%s WHERE item_code=%s""", (account.expense_account, item.item_code))