[fix] gross profit report
diff --git a/erpnext/accounts/report/gross_profit/gross_profit.py b/erpnext/accounts/report/gross_profit/gross_profit.py
index 5ede882..618c9cf 100644
--- a/erpnext/accounts/report/gross_profit/gross_profit.py
+++ b/erpnext/accounts/report/gross_profit/gross_profit.py
@@ -98,7 +98,7 @@
row.base_amount = flt(row.base_net_amount)
- sales_boms = self.sales_boms.get(row.parenttype, {}).get(row.name, frappe._dict())
+ sales_boms = self.sales_boms.get(row.parenttype, {}).get(row.parent, frappe._dict())
# get buying amount
if row.item_code in sales_boms:
@@ -158,7 +158,7 @@
def get_buying_amount_from_sales_bom(self, row, sales_bom):
buying_amount = 0.0
- for bom_item in sales_bom[row.item_code]:
+ for bom_item in sales_bom:
if bom_item.get("parent_detail_docname")==row.item_row:
buying_amount += self.get_buying_amount(row, bom_item.item_code)
@@ -174,14 +174,17 @@
return flt(row.qty) * item_rate
else:
- if row.dn_detail:
- row.parenttype = "Delivery Note"
- row.parent = row.delivery_note
- row.item_row = row.dn_detail
+ if row.update_stock or row.dn_detail:
+ if row.dn_detail:
+ row.parenttype = "Delivery Note"
+ row.parent = row.delivery_note
+ row.item_row = row.dn_detail
my_sle = self.sle.get((item_code, row.warehouse))
for i, sle in enumerate(my_sle):
# find the stock valution rate from stock ledger entry
+ print sle.voucher_type, row.parenttype, sle.voucher_no, row.parent, \
+ sle.voucher_detail_no, row.item_row
if sle.voucher_type == row.parenttype and row.parent == sle.voucher_no and \
sle.voucher_detail_no == row.item_row:
previous_stock_value = len(my_sle) > i+1 and \
@@ -215,7 +218,7 @@
if self.filters.to_date:
conditions += " and posting_date <= %(to_date)s"
- self.si_list = frappe.db.sql("""select item.parenttype, si.name,
+ self.si_list = frappe.db.sql("""select item.parenttype, item.parent,
si.posting_date, si.posting_time, si.project_name, si.update_stock,
si.customer, si.customer_group, si.territory,
item.item_code, item.item_name, item.description, item.warehouse,