From 2ad2426610d5d158dafd04c591e0b59e8a0afe94 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Mon, 28 May 2012 16:05:54 +0530 Subject: [PATCH] fix in get other charges of sales_common.py --- .../doctype/sales_common/sales_common.py | 33 ++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/erpnext/selling/doctype/sales_common/sales_common.py b/erpnext/selling/doctype/sales_common/sales_common.py index 5975e32898..7c5bfada28 100644 --- a/erpnext/selling/doctype/sales_common/sales_common.py +++ b/erpnext/selling/doctype/sales_common/sales_common.py @@ -207,21 +207,32 @@ class DocType(TransactionBase): if default: add_cond = 'ifnull(t2.is_default,0) = 1' else: add_cond = 't1.parent = "'+cstr(obj.doc.charge)+'"' idx = 0 - other_charge = webnotes.conn.sql("select t1.charge_type,t1.row_id,t1.description,t1.account_head,t1.rate,t1.tax_amount,t1.included_in_print_rate, t1.cost_center_other_charges from `tabSales Taxes and Charges` t1, `tabSales Taxes and Charges Master` t2 where t1.parent = t2.name and t2.company = '%s' and %s order by t1.idx" % (obj.doc.company, add_cond), as_dict = 1) + other_charge = webnotes.conn.sql("""\ + select t1.* + from + `tabSales Taxes and Charges` t1, + `tabSales Taxes and Charges Master` t2 + where + t1.parent = t2.name and + t2.company = '%s' and + %s + order by t1.idx""" % (obj.doc.company, add_cond), as_dict=1) + from webnotes.model import default_fields for other in other_charge: - d = addchild(obj.doc, 'other_charges', 'Sales Taxes and Charges', 1, obj.doclist) - d.charge_type = other['charge_type'] - d.row_id = other['row_id'] - d.description = other['description'] - d.account_head = other['account_head'] - d.cost_center_other_charges = other['cost_center_other_charges'] - d.rate = flt(other['rate']) - d.tax_amount = flt(other['tax_amount']) - d.included_in_print_rate = cint(other['included_in_print_rate']) + # remove default fields like parent, parenttype etc. + # from query results + for field in default_fields: + if field in other: del other[field] + + d = addchild(obj.doc, 'other_charges', 'Sales Taxes and Charges', 1, + obj.doclist) + d.fields.update(other) + d.rate = flt(d.rate) + d.tax_amount = flt(d.tax_rate) + d.included_in_print_rate = cint(d.included_in_print_rate) d.idx = idx idx += 1 - # Get TERMS AND CONDITIONS # ======================================================================================= def get_tc_details(self,obj):