brotherton-erpnext/erpnext/public/js/financial_statements.js

102 lines
3.0 KiB
JavaScript
Raw Normal View History

frappe.provide("erpnext.financial_statements");
erpnext.financial_statements = {
"filters": get_filters(),
2014-07-22 13:32:11 +00:00
"formatter": function(row, cell, value, columnDef, dataContext, default_formatter) {
if (columnDef.df.fieldname=="account") {
2014-07-22 13:32:11 +00:00
value = dataContext.account_name;
columnDef.df.link_onclick =
"erpnext.financial_statements.open_general_ledger(" + JSON.stringify(dataContext) + ")";
2014-07-22 13:32:11 +00:00
columnDef.df.is_tree = true;
}
2014-07-22 13:32:11 +00:00
value = default_formatter(row, cell, value, columnDef, dataContext);
if (!dataContext.parent_account) {
2014-07-21 10:43:06 +00:00
var $value = $(value).css("font-weight", "bold");
2014-07-22 13:32:11 +00:00
if (dataContext.warn_if_negative && dataContext[columnDef.df.fieldname] < 0) {
2014-07-21 10:43:06 +00:00
$value.addClass("text-danger");
}
value = $value.wrap("<p></p>").parent().html();
}
return value;
},
2014-07-21 10:43:06 +00:00
"open_general_ledger": function(data) {
if (!data.account) return;
frappe.route_options = {
2014-07-21 10:43:06 +00:00
"account": data.account,
"company": frappe.query_report_filters_by_name.company.get_value(),
"from_date": data.from_date || data.year_start_date,
"to_date": data.to_date || data.year_end_date
};
frappe.set_route("query-report", "General Ledger");
2014-07-22 13:32:11 +00:00
},
"tree": true,
"name_field": "account",
"parent_field": "parent_account",
"initial_depth": 3,
onload: function(report) {
// dropdown for links to other financial statements
erpnext.financial_statements.filters = get_filters()
report.page.add_inner_button(__("Balance Sheet"), function() {
var filters = report.get_values();
frappe.set_route('query-report', 'Balance Sheet', {company: filters.company});
}, 'Financial Statements');
report.page.add_inner_button(__("Profit and Loss"), function() {
var filters = report.get_values();
frappe.set_route('query-report', 'Profit and Loss Statement', {company: filters.company});
}, 'Financial Statements');
report.page.add_inner_button(__("Cash Flow Statement"), function() {
var filters = report.get_values();
frappe.set_route('query-report', 'Cash Flow', {company: filters.company});
}, 'Financial Statements');
}
};
function get_filters(){
return [
{
"fieldname":"company",
"label": __("Company"),
"fieldtype": "Link",
"options": "Company",
"default": frappe.defaults.get_user_default("Company"),
"reqd": 1
},
{
"fieldname":"from_fiscal_year",
2016-08-21 11:44:12 +00:00
"label": __("Start Year"),
"fieldtype": "Link",
"options": "Fiscal Year",
"default": frappe.defaults.get_user_default("fiscal_year"),
"reqd": 1
},
{
"fieldname":"to_fiscal_year",
2016-08-21 11:44:12 +00:00
"label": __("End Year"),
"fieldtype": "Link",
"options": "Fiscal Year",
"default": frappe.defaults.get_user_default("fiscal_year"),
"reqd": 1
},
{
"fieldname": "periodicity",
"label": __("Periodicity"),
"fieldtype": "Select",
"options": [
{ "value": "Monthly", "label": __("Monthly") },
{ "value": "Quarterly", "label": __("Quarterly") },
{ "value": "Half-Yearly", "label": __("Half-Yearly") },
{ "value": "Yearly", "label": __("Yearly") }
],
"default": "Monthly",
"reqd": 1
}
]
}