Line/Bar chart in Balance Sheet / Profit and Loss statement
This commit is contained in:
parent
28bdff5a55
commit
44c1b8e63b
@ -27,8 +27,10 @@ def execute(filters=None):
|
||||
data.append(provisional_profit_loss)
|
||||
|
||||
columns = get_columns(filters.periodicity, period_list, company=filters.company)
|
||||
|
||||
graph_data = get_graph_data(columns, asset, liability, equity)
|
||||
|
||||
return columns, data, message
|
||||
return columns, data, message, graph_data
|
||||
|
||||
def get_provisional_profit_loss(asset, liability, equity, period_list, company):
|
||||
if asset and (liability or equity):
|
||||
@ -69,4 +71,21 @@ def check_opening_balance(asset, liability, equity):
|
||||
opening_balance -= flt(asset[0].get("opening_balance", 0))
|
||||
|
||||
if opening_balance:
|
||||
return _("Previous Financial Year is not closed")
|
||||
return _("Previous Financial Year is not closed")
|
||||
|
||||
def get_graph_data(columns, asset, liability, equity):
|
||||
x_intervals = ['x'] + [d.get("label") for d in columns[2:]]
|
||||
|
||||
asset_data, liability_data, equity_data = ["Assets"], ["Liabilities"], ["Equity"]
|
||||
|
||||
for p in columns[2:]:
|
||||
asset_data.append(asset[-2].get(p.get("fieldname")))
|
||||
liability_data.append(liability[-2].get(p.get("fieldname")))
|
||||
equity_data.append(equity[-2].get(p.get("fieldname")))
|
||||
|
||||
return {
|
||||
"data": {
|
||||
'x': 'x',
|
||||
'columns': [x_intervals, asset_data, liability_data, equity_data]
|
||||
}
|
||||
}
|
@ -112,7 +112,7 @@ def get_data(company, root_type, balance_must_be, period_list,
|
||||
out = filter_out_zero_value_rows(out, parent_children_map)
|
||||
|
||||
if out:
|
||||
add_total_row(out, balance_must_be, period_list, company_currency)
|
||||
add_total_row(out, root_type, balance_must_be, period_list, company_currency)
|
||||
|
||||
return out
|
||||
|
||||
@ -193,9 +193,9 @@ def filter_out_zero_value_rows(data, parent_children_map, show_zero_values=False
|
||||
|
||||
return data_with_value
|
||||
|
||||
def add_total_row(out, balance_must_be, period_list, company_currency):
|
||||
def add_total_row(out, root_type, balance_must_be, period_list, company_currency):
|
||||
total_row = {
|
||||
"account_name": "'" + _("Total ({0})").format(balance_must_be) + "'",
|
||||
"account_name": "'" + _("Total {0} ({1})").format(root_type, balance_must_be) + "'",
|
||||
"account": None,
|
||||
"currency": company_currency
|
||||
}
|
||||
|
@ -24,8 +24,10 @@ def execute(filters=None):
|
||||
data.append(net_profit_loss)
|
||||
|
||||
columns = get_columns(filters.periodicity, period_list, filters.accumulated_values, filters.company)
|
||||
|
||||
graph_data = get_graph_data(filters, columns, income, expense, net_profit_loss)
|
||||
|
||||
return columns, data
|
||||
return columns, data, None, graph_data
|
||||
|
||||
def get_net_profit_loss(income, expense, period_list, company):
|
||||
if income and expense:
|
||||
@ -50,3 +52,25 @@ def get_net_profit_loss(income, expense, period_list, company):
|
||||
|
||||
if has_value:
|
||||
return net_profit_loss
|
||||
|
||||
def get_graph_data(filters, columns, income, expense, net_profit_loss):
|
||||
x_intervals = ['x'] + [d.get("label") for d in columns[2:-1]]
|
||||
|
||||
income_data, expense_data, net_profit = ["Income"], ["Expense"], ["Net Profit/Loss"]
|
||||
|
||||
for p in columns[2:]:
|
||||
income_data.append(income[-2].get(p.get("fieldname")))
|
||||
expense_data.append(expense[-2].get(p.get("fieldname")))
|
||||
net_profit.append(net_profit_loss.get(p.get("fieldname")))
|
||||
|
||||
graph_data = {
|
||||
"data": {
|
||||
'x': 'x',
|
||||
'columns': [x_intervals, income_data, expense_data, net_profit]
|
||||
}
|
||||
}
|
||||
|
||||
if not filters.accumulated_values:
|
||||
graph_data["data"]["type"] = "bar"
|
||||
|
||||
return graph_data
|
@ -28,7 +28,7 @@ erpnext.financial_statements = {
|
||||
{ "value": "Half-Yearly", "label": __("Half-Yearly") },
|
||||
{ "value": "Yearly", "label": __("Yearly") }
|
||||
],
|
||||
"default": "Yearly",
|
||||
"default": "Monthly",
|
||||
"reqd": 1
|
||||
}
|
||||
],
|
||||
@ -83,5 +83,5 @@ erpnext.financial_statements = {
|
||||
var filters = report.get_values();
|
||||
frappe.set_route('query-report', 'Cash Flow', {company: filters.company});
|
||||
}, 'Financial Statements');
|
||||
},
|
||||
}
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user