fix: Return data as dict if the report is grouped by Invoice
This commit is contained in:
parent
4a77bd2304
commit
76921137ed
@ -41,14 +41,35 @@ def execute(filters=None):
|
|||||||
|
|
||||||
columns = get_columns(group_wise_columns, filters)
|
columns = get_columns(group_wise_columns, filters)
|
||||||
|
|
||||||
for src in gross_profit_data.grouped_data:
|
if filters.group_by == 'Invoice':
|
||||||
row = []
|
column_names = get_column_names()
|
||||||
for col in group_wise_columns.get(scrub(filters.group_by)):
|
|
||||||
row.append(src.get(col))
|
|
||||||
|
|
||||||
row.append(filters.currency)
|
for src in gross_profit_data.si_list:
|
||||||
data.append(row)
|
row = frappe._dict()
|
||||||
|
row['currency'] = filters.currency
|
||||||
|
|
||||||
|
for col in group_wise_columns.get(scrub(filters.group_by)):
|
||||||
|
row[column_names[col]] = src.get(col)
|
||||||
|
|
||||||
|
if row.item_code:
|
||||||
|
row.indent = 1.0
|
||||||
|
row.parent_invoice = src.parent_invoice
|
||||||
|
else:
|
||||||
|
row.indent = 0.0
|
||||||
|
row.parent_invoice = ''
|
||||||
|
|
||||||
|
data.append(row)
|
||||||
|
|
||||||
|
else:
|
||||||
|
for src in gross_profit_data.grouped_data:
|
||||||
|
row = []
|
||||||
|
row.append(filters.currency)
|
||||||
|
|
||||||
|
for col in group_wise_columns.get(scrub(filters.group_by)):
|
||||||
|
row.append(src.get(col))
|
||||||
|
|
||||||
|
data.append(row)
|
||||||
|
|
||||||
return columns, data
|
return columns, data
|
||||||
|
|
||||||
def get_columns(group_wise_columns, filters):
|
def get_columns(group_wise_columns, filters):
|
||||||
@ -91,12 +112,38 @@ def get_columns(group_wise_columns, filters):
|
|||||||
|
|
||||||
return columns
|
return columns
|
||||||
|
|
||||||
|
def get_column_names():
|
||||||
|
return frappe._dict({
|
||||||
|
'parent': 'sales_invoice',
|
||||||
|
'customer': 'customer',
|
||||||
|
'customer_group': 'customer_group',
|
||||||
|
'posting_date': 'posting_date',
|
||||||
|
'item_code': 'item_code',
|
||||||
|
'item_name': 'item_name',
|
||||||
|
'item_group': 'item_group',
|
||||||
|
'brand': 'brand',
|
||||||
|
'description': 'description',
|
||||||
|
'warehouse': 'warehouse',
|
||||||
|
'qty': 'qty',
|
||||||
|
'base_rate': 'avg._selling_rate',
|
||||||
|
'buying_rate': 'valuation_rate',
|
||||||
|
'base_amount': 'selling_amount',
|
||||||
|
'buying_amount': 'buying_amount',
|
||||||
|
'gross_profit': 'gross_profit',
|
||||||
|
'gross_profit_percent': 'gross_profit_%',
|
||||||
|
'project': 'project'
|
||||||
|
})
|
||||||
|
|
||||||
class GrossProfitGenerator(object):
|
class GrossProfitGenerator(object):
|
||||||
def __init__(self, filters=None):
|
def __init__(self, filters=None):
|
||||||
self.data = []
|
self.data = []
|
||||||
self.average_buying_rate = {}
|
self.average_buying_rate = {}
|
||||||
self.filters = frappe._dict(filters)
|
self.filters = frappe._dict(filters)
|
||||||
self.load_invoice_items()
|
self.load_invoice_items()
|
||||||
|
|
||||||
|
# if filters.group_by == 'Invoice':
|
||||||
|
# self.group_items_by_invoice()
|
||||||
|
|
||||||
self.load_stock_ledger_entries()
|
self.load_stock_ledger_entries()
|
||||||
self.load_product_bundle()
|
self.load_product_bundle()
|
||||||
self.load_non_stock_items()
|
self.load_non_stock_items()
|
||||||
|
Loading…
Reference in New Issue
Block a user