2
0
mirror of https://github.com/frappe/books.git synced 2024-12-23 11:29:03 +00:00
books/reports/ProfitAndLoss/viewConfig.js

71 lines
1.6 KiB
JavaScript
Raw Normal View History

import frappe, { t } from 'fyo';
2021-12-21 09:21:13 +00:00
import getCommonExportActions from '../commonExporter';
2022-03-30 10:57:45 +00:00
const title = t`Profit and Loss`;
2022-03-30 10:57:45 +00:00
const periodicityMap = {
Monthly: t`Monthly`,
Quarterly: t`Quarterly`,
'Half Yearly': t`Half Yearly`,
Yearly: t`Yearly`,
};
export default {
2018-10-25 20:57:34 +00:00
title: title,
method: 'profit-and-loss',
treeView: true,
2018-10-25 20:57:34 +00:00
filterFields: [
{
fieldtype: 'Date',
fieldname: 'fromDate',
size: 'small',
2022-03-30 10:57:45 +00:00
placeholder: t`From Date`,
2022-02-16 06:19:16 +00:00
label: t`From Date`,
required: 1,
default: async () => {
return (await frappe.getSingle('AccountingSettings')).fiscalYearStart;
},
},
{
fieldtype: 'Date',
fieldname: 'toDate',
size: 'small',
2022-03-30 10:57:45 +00:00
placeholder: t`To Date`,
2022-02-16 06:19:16 +00:00
label: t`To Date`,
required: 1,
default: async () => {
return (await frappe.getSingle('AccountingSettings')).fiscalYearEnd;
},
},
{
fieldtype: 'Select',
size: 'small',
2022-03-30 10:57:45 +00:00
options: Object.keys(periodicityMap),
map: periodicityMap,
default: 'Monthly',
2022-02-16 06:19:16 +00:00
label: t`Periodicity`,
2022-03-30 10:57:45 +00:00
placeholder: t`Select Period...`,
fieldname: 'periodicity',
},
2018-10-25 20:57:34 +00:00
],
2021-12-21 09:21:13 +00:00
actions: getCommonExportActions('profit-and-loss'),
getColumns({ data }) {
2018-10-25 20:57:34 +00:00
const columns = [
2022-02-16 06:19:16 +00:00
{ label: t`Account`, fieldtype: 'Data', fieldname: 'account', width: 2 },
2018-10-25 20:57:34 +00:00
];
if (data && data.columns) {
const currencyColumns = data.columns;
const columnDefs = currencyColumns.map((name) => ({
2018-10-25 20:57:34 +00:00
label: name,
fieldname: name,
fieldtype: 'Currency',
width: 1,
2018-10-25 20:57:34 +00:00
}));
columns.push(...columnDefs);
}
return columns;
},
2018-10-25 20:57:34 +00:00
};