mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-07 23:22:52 +00:00
(cherry picked from commit 8785342fce)
# Conflicts:
# erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js
# erpnext/accounts/report/supplier_ledger_summary/supplier_ledger_summary.js
112 lines
2.8 KiB
JavaScript
112 lines
2.8 KiB
JavaScript
// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
|
// License: GNU General Public License v3. See license.txt
|
|
|
|
frappe.query_reports["Gross Profit"] = {
|
|
filters: [
|
|
{
|
|
fieldname: "company",
|
|
label: __("Company"),
|
|
fieldtype: "Link",
|
|
options: "Company",
|
|
default: frappe.defaults.get_user_default("Company"),
|
|
reqd: 1,
|
|
},
|
|
{
|
|
fieldname: "from_date",
|
|
label: __("From Date"),
|
|
fieldtype: "Date",
|
|
default: erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[1],
|
|
reqd: 1,
|
|
},
|
|
{
|
|
fieldname: "to_date",
|
|
label: __("To Date"),
|
|
fieldtype: "Date",
|
|
default: erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[2],
|
|
reqd: 1,
|
|
},
|
|
{
|
|
fieldname: "sales_invoice",
|
|
label: __("Sales Invoice"),
|
|
fieldtype: "Link",
|
|
options: "Sales Invoice",
|
|
},
|
|
{
|
|
fieldname: "group_by",
|
|
label: __("Group By"),
|
|
fieldtype: "Select",
|
|
options:
|
|
"Invoice\nItem Code\nItem Group\nBrand\nWarehouse\nCustomer\nCustomer Group\nTerritory\nSales Person\nProject\nCost Center\nMonthly\nPayment Term",
|
|
default: "Invoice",
|
|
},
|
|
{
|
|
fieldname: "item_group",
|
|
label: __("Item Group"),
|
|
fieldtype: "Link",
|
|
options: "Item Group",
|
|
},
|
|
{
|
|
fieldname: "sales_person",
|
|
label: __("Sales Person"),
|
|
fieldtype: "Link",
|
|
options: "Sales Person",
|
|
},
|
|
{
|
|
fieldname: "warehouse",
|
|
label: __("Warehouse"),
|
|
fieldtype: "Link",
|
|
options: "Warehouse",
|
|
get_query: function () {
|
|
var company = frappe.query_report.get_filter_value("company");
|
|
return {
|
|
filters: [["Warehouse", "company", "=", company]],
|
|
};
|
|
},
|
|
},
|
|
{
|
|
fieldname: "cost_center",
|
|
label: __("Cost Center"),
|
|
fieldtype: "MultiSelectList",
|
|
options: "Cost Center",
|
|
get_data: function (txt) {
|
|
return frappe.db.get_link_options("Cost Center", txt, {
|
|
company: frappe.query_report.get_filter_value("company"),
|
|
});
|
|
},
|
|
},
|
|
{
|
|
fieldname: "project",
|
|
label: __("Project"),
|
|
fieldtype: "MultiSelectList",
|
|
options: "Project",
|
|
get_data: function (txt) {
|
|
return frappe.db.get_link_options("Project", txt, {
|
|
company: frappe.query_report.get_filter_value("company"),
|
|
});
|
|
},
|
|
},
|
|
],
|
|
tree: true,
|
|
name_field: "parent",
|
|
parent_field: "parent_invoice",
|
|
initial_depth: 3,
|
|
formatter: function (value, row, column, data, default_formatter) {
|
|
if (column.fieldname == "sales_invoice" && column.options == "Item" && data && data.indent == 0) {
|
|
column._options = "Sales Invoice";
|
|
} else {
|
|
column._options = "";
|
|
}
|
|
value = default_formatter(value, row, column, data);
|
|
|
|
if (data && (data.indent == 0.0 || (row[1] && row[1].content == "Total"))) {
|
|
value = $(`<span>${value}</span>`);
|
|
var $value = $(value).css("font-weight", "bold");
|
|
value = $value.wrap("<p></p>").parent().html();
|
|
}
|
|
|
|
return value;
|
|
},
|
|
};
|
|
|
|
erpnext.utils.add_dimensions("Gross Profit", 15);
|