Versteckte User-Exits Invoice-Jobs
Invoice_JOB_CheckPostingStatus
Der Job überprüft den Buchungs-Status (Spalte "PostingStatus") in der Tabelle "Invoice_PostingHead" für alle Rechnungs-Mappen mit der Aktions-ID "Posting" und dem Aktions-Status "TechActionJob". Aus der Tabelle werden folgende Feldwerte in die Mappe übernommen:
- PostingStatus
- PostingNumber
- PostingPeriod
- PostingDate
- PostingUser
- PostingError
Bei einem Fehler-Status ("error") wird der Beleg zur im Feld "ActionAccessProfile" hinterlegten Gruppe zur Nachbearbeitung gesendet. Technisch kann in das Feld "ActionAccessProfile" auch ein Benutzer-Login geschrieben werden. Bei erfolgter Buchung (Status "posted") wird der Beleg zur nächsten Workflow-Aktion gesendet.
Im Skript wird zunächst das FileResultset ermittelt. Erst wenn mindestens 1 Beleg gefunden wurde wird ein Log erzeugt und erst dann werden auch die folgenden User-Exit-Funktion ausgeführt. Der Job importiert die "Invoice__ImportLib". Die UserExits können demnach zur "Invoice__UserExit_CustomLib" hinzugefügt werden.
/** Diese optionale Funktion wird noch vor der FileResultset-Schleife ausgeführt und kann verwendet werden,
* um zum Beispiel den Buchungs-Status aus einem externen System zu übertragen.
* @param {Log} log Logging-Objekt
* @returns {} Die Rückgabe wird nicht ausgewertet
* @since Invoice 1.1.015
**/
function ue_checkPostingStatus_BeforeLoop(log){
log.info("["+docFile.getid()+"] function ue_checkPostingStatus_BeforeLoop(log)");
return true;
}
/** Diese optionale Funktion wird direkt zu Beginn in der Schleife ausgeführt.
* @param {DocFile} docFile Aktuelle Rechnungs-Mappe im FileResultset
* @param {Log} log Logging-Objekt
* @returns {boolean} true / false (durch false wird die Überprüfung der Mappe abgebrochen)
* @since Invoice 1.1.015
**/
function ue_checkPostingStatus_DocFileStart(docFile, log){
log.info("["+docFile.getid()+"] function ue_checkPostingStatus_DocFileStart(docFile, log)");
return true;
}
/** Diese optionale Funktion wird nur ausgeführt, wenn der Buchungsstatus in der Tabelle "error" zurückliefert.
* Die Feldwerte werden gesetzt aber die Mappe wurde noch nicht weitergeleitet.
* @param {DocFile} docFile Aktuelle Rechnungs-Mappe im FileResultset
* @param {Log} log Logging-Objekt
* @returns {boolean} true / false (durch false wird die Mappe nicht an die Gruppe zur Überprüfung weitergeleitet)
* @since Invoice 1.1.015
**/
function ue_checkPostingStatus_OnPostingError(docFile, log){
log.info("["+docFile.getid()+"] function ue_checkPostingStatus_OnPostingError(docFile, log)");
return true;
}
/** Diese optionale Funktion wird nur ausgeführt, wenn der Buchungsstatus in der Tabelle "posted" zurückliefert.
* Die Feldwerte werden gesetzt aber die Mappe wurde noch nicht weitergeleitet.
* @param {DocFile} docFile Aktuelle Rechnungs-Mappe im FileResultset
* @param {Log} log Logging-Objekt
* @returns {boolean} true / false (durch false wird die Mappe nicht zur nächsten Workflow-Aktion weitergeleitet)
* @since Invoice 1.1.015
**/
function ue_checkPostingStatus_Posted(docFile, log){
log.info("["+docFile.getid()+"] function ue_checkPostingStatus_Posted(docFile, log)");
return true;
}
/** Diese optionale Funktion wird nur ausgeführt, wenn der Buchungsstatus in der Tabelle "posted" zurückliefert.
* Die Feldwerte werden gesetzt und die Mappe erfolgreich weitergeleitet.
* @param {DocFile} docFile Aktuelle Rechnungs-Mappe im FileResultset
* @param {Log} log Logging-Objekt
* @returns {} Die Rückgabe wird nicht ausgewertet
* @since Invoice 1.1.015
**/
function ue_checkPostingStatus_PostedAndForwarded(docFile, log){
log.info("["+docFile.getid()+"] function ue_checkPostingStatus_PostedAndForwarded(docFile, log)");
return true;
}