Skip to main content

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(logName, fileId, fileTemplate){
    return logName + "_" + fileId + "_" + fileTemplate;
}

/** Über dieses UserExit kann der Log-Pfad zur Log-Datei angepasst werden.
 * Achtung! Diese Funktion kann ggf. über den später ausgeführten UserExit ue_ChangeLogPath() nochmals überschrieben werden!
 * @param {string} logFolder Aktueller Datei-Pfad
 * @param {string} fileId Aktuelle Mappen-ID
 * @param {string} fileTemplate Mappentyp der aktuellen Mappe
 * @since Invoice 0.95
 * @returns {string} Neuer Log-Pfad
 **/
function ue_ChangeRulesLogFolder(logFolder, fileId, fileTemplate){
    return logFolder + cFS + "WfRules"; // cFS ist bei Linux "/" und bei Windows "\\"
}

/** Ü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(logName, fileId, fileTemplate){
    return "y";
}

/** Über dieses UserExit kann der Log-Pfad generell für alle internen Logs umgestellt werden!
 * @param {string} path Aktueller Pfad.
 * @since Invoice 0.95
 * @return {string} Angepasster Pfad.
 */
function ue_ChangeLogPath(path){
    if( context.scriptName==="abc" ){
        return "E:\\Logs";
    }
    return path;
}

/** Das UserExit wird vor der Bearbeitung einer Mappe direkt zu Beginn im Skript "Invoice_DF_BeforeEdit" aufgerufen.
 * @since Invoice 0.94
 * @return {boolean} true / false.
 */
function ue_BeforeEdit_Start(){
    if( !context.file ){
        context.errorMessage = "Ungültige Mappe";
        return false;
    }
    return true;
}

/** Das UserExit wird vor der Bearbeitung einer Mappe am Ende des Skripts "Invoice_DF_BeforeEdit" aufgerufen.
 * @since Invoice 0.94
 * @return {boolean} true / false.
 */
function ue_BeforeEdit_End(){
    if( !context.file ){
        context.errorMessage = "Ungültige Mappe";
        return false;
    }
    return true;
}

/** Das UserExit wird vor der Weiterleitung  aufgerufen.
 * Das aufrufende Skript bei der Weiterleitung an einen Benutzer ist "DEXPRO_Action_ForwardUser" und
 * das aufrufende Skript bei der Weiterleitung an eine Gruppe lautet "DEXPRO_Action_ForwardAP".
 * @param {string} loginOrAccessProfile Login eines Benutzers bzw. Name des Zugriffsprofils (je nach aufrufendem Skript).
 * @since Invoice 0.94
 * @return {boolean} true / false.
 */
function ue_BeforeForwardFile(loginOrAccessProfile){
    if( context.scriptName==="DEXPRO_Action_ForwardAP" ){
       // ...
    }
    else if( context.scriptName==="DEXPRO_Action_ForwardUser" ){
       // ...
    }
    return true;
}