FillSearchMaskScript
Über die globale Eigenschaft "FillSearchMaskScript" kann ein Skript eingebunden werden, über welches die Suchmaske manipuliert werden kann. Bei der Einschränkung eines Datumfeldes muss berücksichtigt werden, dass in der Suche 2 Felder "von" und "bis" eingeblendet werden. Technisch müssen diese Felder über die technischen Präfixe "SOH" bzw. "STX" ergänzt werden. Das sieht in Notepad++ zum Beispiel wie folgt aus:
Das folgende Skript holt sich die Abfrage-Parameter und iteriert die Felder. Bei den Feldern für das Rechnungsdatum werden die Datumsfelder vorbelegt und das Feld selber erhält einen Schreibschutz.
/** User exit on search.
* set: DlcGlobalOptions FillSearchMaskScript
* @author DEXPRO MM
* @since 10.08.2022
**/
var user = context.getSystemUser();
var params = context.getQueryParams();
var cnt = 0;
const count = params.searchFieldCount;
for( ; cnt<count; ++cnt ){
var searchField = params.getSearchField(cnt, false);
if( searchField.name==="InvoiceDate" ){ // Feldname anpassen
searchField.setDefault("01.01.2022", true);
var filter = searchField.name + searchField.compOp + searchField.valueExpr;
util.out("["+cnt+"] [SOH]InvoiceDate.setDefault(01.01.2022, true) new filter: " + filter);
}
else if( searchField.name==="InvoiceDate" ){ // Feldname anpassen
searchField.setDefault("31.12.2022", true);
var filter = searchField.name + searchField.compOp + searchField.valueExpr;
util.out("["+cnt+"] [STX]InvoiceDate.setDefault(31.12.2022, true) new filter: " + filter);
}
else{
//var filter = searchField.name + searchField.compOp + searchField.valueExpr;
//util.out("["+cnt+"] - " + (searchField.name).toString() + " fullfilter: " + filter);
}
}
//util.out(context.scriptName + " #["+count+"] " + context.event + " -- " + user.login);
No Comments