OnSearchScript
Über den Documents-Manager müssen 2 Eigenschaften "OnSearchScript" und "FillSearchMaskScript" hinzugefügt werden. Für die Eigenschaften werden 2 UserExit-Skripte "DEXPRO__UserExit_OnSearch" und "DEXPRO__UserExit_FillSearchMask" mit ausgeliefert. Die Eigenschaften werden im Standard nicht mehr gesetzt, da das OnSearch-Skript auch bei jedem FileResultset ausgeführt wird!
Anwendungsfall: Wirtschaftsprüfer
Ein Wirtschaftsprüfer soll zum Beispiel nur Zugriff auf Belege zu einem fest definierten Zeitraum erhalten. Über das "FillSearchMaskScript"FillSearchMaskScript" wurde das Belegdatum automatisch in der Suchmaske vorbelegt und mit einem schreibschutzSchreibschutz versehen.
Allerdings hat der Anwender immer noch die Option über die Volltextsuche zu suchen. Hierzu kann wiederum das "OnSearchScript"OnSearchScript" helfen. Die Volltextsuche wird verwendet, wenn die Suche nur ein Feld beinhaltet.
/** User exit on search.
* set: DlcGlobalOptions OnSearchScript
* @author DEXPRO MM
* @since 10.08.2022
**/
const user = context.getSystemUser();
var params = context.getQueryParams(); //DocQueryParams
util.out(context.scriptName + " -- " + context.event + " -- " + user.login);
util.out("requestType: " + params.requestType);
/* Nur bei Volltextsuche */
if( user.login==="meisner" ){
const count = params.searchFieldCount;
if(count===1){
context.errorMessage = "Bitte verwenden Sie immer die erweiterte Suche mit Datumsfilter!";
context.returnValue = -1; // Hinweis
//return -142; // Fehler
}
}
