Versteckte User-Exits
Einige Skripte enthalten User-Exit Funktionen und viele dieser Funktionen sind in den verschiedenen "UserExit"-Bibliotheken enthalten. Wenn neue Funktionen hinzukommen müssten diese Bibliotheken allerdings immer manuell um diese Funktionen erweitert werden. Daher werden neue hinzugefügte UserExit Funktionen nur aufgerufen, wenn Sie als Funktion existieren.
Die Funktionen können bei Bedarf zur "DEXPRO__UserExit_CustomLib" hinzugefügt werden.
/** Über dieses UserExit kann der Name der Log-Datei angepasst werden.
* @param {string} logName Aktueller Dateiname
* @param {string} fileId Aktuelle Mappen-ID
* @param {string} fileTemplate Mappentyp der aktuellen Mappe
* @since Invoice 0.95
* @returns {string} Neuer Name für die Log-Datei
**/
function ue_ChangeRulesLogName(ue_ChangeRulesLogName(logName, fileId, fileTemplate){
return logName + "_" + fileId + "_" + fileTemplate;
}
/** Über dieses UserExit kann der Zusatz zum Log-Dateinamen angepasst werden.
* In der Regel wird ein täglicher oder monatlicher Zeitstempel angefügt, damit die einzelnen Logdateien nicht zu groß werden.
* Der zurückgegebene String wird einfach zum Dateinamen angefügt, falls es nicht einer dieser speziellen Rückgabewerte ist:
* "year"/"yyyy"/"y" fügt das Aktuelle Jahr hinzu
* "month"/"mm"/"m" fügt Jahr und Monat hinzu
* "date"/"day"/"dd"/"d" fügt Jahr, Monat und Tag hinzu
* "timestamp"/"ts" fügt Jahr, Monat, Tag und Uhrzeit hinzu
* @param {string} logName Incoming log-name
* @param {string} fileId Aktuelle Mappen-ID
* @param {string} fileTemplate Mappentyp der aktuellen Mappe
* @since Invoice 0.95
* @returns {string} new log add
**/
function ue_ChangeRulesLogAdd(ue_ChangeRulesLogAdd(logName, fileId, fileTemplate){
return "";
}
/** Über dieses UserExit kann der Log-Pfad generell für alle internen Logs umgestellt werden!*
* @since Invoice 0.95
*
function
return "E:\\Logs";
}
return path;
}
/** Die User-Exit-Funktion wird ausgeführt, wenn eine Aktion über die Workflow-Regeln übersprungen wird.
* @since 1.0.300
* @returns {boolean} true / false (führt zu einem Workflow-Fehler)
**/
function ue_OnSkipAction(){
return true;
}
/** Das UserExit wird am Ende des Skripts "DEXPRO_WF_Rules_BeforeUserAction" aufgerufen.aufgerufen.
* In dem Skript werden vor allem Zugriffsberechtigungen für die ermittelte Gruppe bzw. für den ermittelten Benutzer gesetzt.
* In dem Skript werden vor allem Zugriffsberechtigungen für die ermittelte Gruppe bzw. für den ermittelten Benutzer gesetzt.
* Über die Workflow-Regeln wurde bereits der Benutzer bzw. die Gruppe zugeordnet.
* Es handelt sich in dem Workflow-Schritt weder um eine technische Aktion noch wird die Aktion übersprungen!
* Bei einem Split wird das Skript für jede einzelne Split-Mappe ausgeführt.
* Bei einem Fehler (return false) wird die Gruppe 'WorkflowError' angesteuert.
* @since Invoice 0.94
*/
function
return
true;
}
* oder es passiert nichts mit dem Beleg ("" bzw. jeder beliebige andere String).
}
/** Am Workflow-Ende kann eine Mappe gelöscht ("delete") oder versiegelt ("seal") werden* oder es passiert nichts mit dem Beleg ("" bzw. jeder beliebige andere String).
* Die Information wird in der WEB-Konfiguration zur Workflow ID angegeben
* und kann über dieses UserExit manipuliert werden.
*
* @since Invoice 0.94
* @return {string} "delete" / "seal" / "".
*/
function
return
wfEndType;
}
}
/**Das UserExit wird vor der Bearbeitung einer Mappe direkt zu Beginn im Skript "Invoice_DF_BeforeEdit"aufgerufen.
aufgerufen.
* Bei einem Fehler muss "context.errorMessage" in der Funktion gesetzt werden!
* Bei einem Fehler muss "context.errorMessage" in der Funktion gesetzt werden!
* @since Invoice 0.94
* @return {boolean} true / false.
*/
function
return true;
}
/** Das UserExit wird vor der Bearbeitung einer Mappe am Ende des Skripts "Invoice_DF_BeforeEdit" aufgerufen.* Bei einem Fehler muss "context.errorMessage" in der Funktion gesetzt werden!
* @since Invoice 0.94
*
*/
function
return
}
/** Das UserExit wird vor derdem Weiterleitung Zurücksenden aufgerufen. * Bei einem Fehler muss "context.errorMessage" in der Funktion gesetzt werden!
*
* @since Invoice 0.94
*
*/
function
return
}
/** Das UserExit wird beim Zurücksenden auf den ausgehenden Kontrollflüssen * über das Skript "DEXPRO_WF_CheckSendBack" aufgerufen (ab Workflow-Version "WorkflowRules-3").
* Die Funktion greift demnach auch bei projektspezifischen UDA, welche diese Kontrollflüsse verwenden.
* Bei einem Fehler muss die Fehlermeldung zurückgegeben werden - andernfalls ein Leerstring!
* @since Invoice 1.0.001
*
*/
function
return "";
}
/** Das UserExit wird bei Übernahme einer Mappe aus einem Gruppenkorb aufgerufen.* Der Aufruf erfolgt über das Skript "DEXPRO_WF_CheckDataForwardUser".
* In dem Skript wird zuvor lediglich der aktuelle Benutzer in das Feld "ActionUser" geschrieben.
* Bei einem Fehler muss die Fehlermeldung zurückgegeben werden - andernfalls ein Leerstring!
* @since Invoice 1.0.010
*
*/
function
return "";
}
/**Das UserExit wird beim Zurücklegen in den Gruppenkorb aufgerufen.
* Der Aufruf erfolgt über das Skript "DEXPRO_WF_CheckDataBackAccessProfile".
* Bei einem Fehler muss die Fehlermeldung zurückgegeben werden - andernfalls ein Leerstring!
* @since Invoice 1.0.010
*
*/
function
return "";
}
/** Das UserExit wird direkt nach der Ermittlung der Workflow-Regeln aufgerufen.* Der Aufruf erfolgt über das Skript "DEXPRO_WF_Rules_DeterminationUser".
*
*
*
*
* @since Invoice 0.94
*
**/
function ue_CheckWorkflowRules(rulesJSONStr,
var rulesObj =
/** An dieser Stelle kann das Objekt manipuliert werden.... **/
return
}
/** Nach einer Weiterleitung über eine benutzerdefinierte Aktion muss die Anzeige nach der Weiterleitung über das Skript erfolgen.* Die Standard-Navigationen wie "Mappe beibehalten" oder "Nächste Mappe" oder "Zum Eingangsordner" wurden über das
* Objekt "NavigationReturnObjekt" umgesetzt. Die Ergebnisse können im Nachgang manipuliert werden.
* Hierzu kann das Objekt via 'prototype' um die nachfolgende Funktion erweitert werden.
* Am Objekt können die Werte "ReturnType" und "ReturnVal" wie im unteren Beispiel neu ermittelt werden.
* @property {string}
* @property {*}
* @property {SystemUser}
* @property {DocFile}
* @property {string}
* @property {string}
* @property {string}
* @property {string}
* @since Invoice 1.0.010
*/
NavigationReturnObject.prototype.ue_NavigationManipulation
this.Log
if(
this.Log += "[INFO] valid system user\n";
var
if(
/* Dieses Beispiel öffnet den privaten Ordner 'Zuletzt benutzt' und zeigt die aktuelle Mappe an. */
this.ReturnType =
this.ReturnVal =
{ returnType :
{ returnType :
] );
}
else{
this.Log += "[ERROR] invalid private folder(lastused)\n";
}
}
else{
this.Log += "[ERROR] invalid system user\n";
}
util.log(this.Log);
}