2
0
mirror of https://github.com/frappe/books.git synced 2024-09-20 11:29:00 +00:00
books/models/baseModels/AccountingLedgerEntry/AccountingLedgerEntry.ts
2022-05-23 16:18:22 +05:30

56 lines
1.2 KiB
TypeScript

import { Doc } from 'fyo/model/doc';
import { ListViewSettings } from 'fyo/model/types';
import { ModelNameEnum } from 'models/types';
import Money from 'pesa/dist/types/src/money';
export class AccountingLedgerEntry extends Doc {
date?: string | Date;
account?: string;
party?: string;
debit?: Money;
credit?: Money;
referenceType?: string;
referenceName?: string;
balance?: Money;
reverted?: boolean;
async revert() {
if (this.reverted) {
return;
}
await this.set('reverted', true);
const revertedEntry = this.fyo.doc.getNewDoc(
ModelNameEnum.AccountingLedgerEntry,
{
account: this.account,
party: this.party,
date: new Date(),
referenceType: this.referenceType,
referenceName: this.referenceName,
debit: this.credit,
credit: this.debit,
reverted: true,
reverts: this.name,
}
);
await this.sync();
await revertedEntry.sync();
}
static getListViewSettings(): ListViewSettings {
return {
columns: [
'account',
'party',
'debit',
'credit',
'balance',
'referenceName',
'reverted',
],
};
}
}