Zum Hauptinhalt springen

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",
}],
},
}