Weitere Verwendung
Archivierung
Möchte man beim Archivieren den Report neu generieren, so kann das im ou.cust.ptpINV.job.archiv geschehen.
Ein Beispiel könnte so aussehen:
context.enableModules();
const lib = require("ou.cust.ptpINV.lib.curtail");
/** @type {ptpInvoice} */
const docFile = context.file;
const report = lib.createReport(docFile);
lib.uploadReport(report, docFile);
Validierungen
Für Validierungen kann die getCurtails Funktion in der ou.cust.ptpINV.lib.curtail verwendet werden.
Siehe getCurtails.
Verwenden der ou.cust.ptpINV.lib.curtail
Das Skript ou.cust.ptpINV.lib.curtail bietet kleine Hilfsfunktionen, die in dem Prozess integriert werden können.
createReport
Erstellt eine PDF-Datei mit den aktuellen Kürzungen.
context.enableModules();
const lib = require("ou.cust.ptpINV.lib.curtail");
const report = lib.createReport();
return report.filePath;
deleteExistingReport
Löscht die Kuerzungsinfo.pdf im attachments Register.
context.enableModules();
const lib = require("ou.cust.ptpINV.lib.curtail");
try {
lib.deleteExistingReport();
} catch (error) {
// handle error
}
uploadReport
Lädt den generierten Report (siehe createReport) in das attachments Register. Existiert das PDF bereits, so wird dieses ersetzt (siehe deleteExistingReport).
context.enableModules();
const lib = require("ou.cust.ptpINV.lib.curtail");
/** @type {ptpInvoice} */
const docFile = context.file;
const report = lib.createReport(docFile);
lib.uploadReport(report, docFile);
getCurtails
Diese Funktion liefert ein Object zurück, welche die Nettobeträge inkl. Kürzungen
context.enableModules();
const lib = require("ou.cust.ptpINV.lib.curtail");
/** @type {ptpInvoice} */
const docFile = context.file;
const result = lib.getCurtails(docFile);
result sieht dann ungefähr so aus:
{
netAmount1: {
originalNetAmount: 5000,
newNetAmount: 4000,
vatRate: 19,
curtailsAmount: 1000,
curtails: [{
comment: "nope",
amount: 1000,
field: "netAmount1",
user: "oucadmin",
date: "2023-01-27T10:10:34.620Z",
}],
},
netAmount2: {
originalNetAmount: 7000,
newNetAmount: 6000,
vatRate: 7,
curtailsAmount: 1000,
curtails: [{
comment: "nope 2",
amount: 1000,
field: "netAmount2",
user: "oucadmin",
date: "2023-01-27T10:10:34.620Z",
}],
},
}