Schnellere Anzeige von Dokumenten

Schnellere Anzeige von Dokumenten

Dokumente, deren zugrundeliegende Maske eine der Funktionen @DbLookup oder @DbColumn verwendet, benötigen oft beim Öffnen vergleichsweise lange bis zur Anzeige im Notes Client - auch wenn die Dokumente nur im "Lesen-Modus" betrachtet werden.
 

Warum ist das so?


Das liegt daran, dass bestimmte berechnete oder editierbare Felder ihre Formeln auch beim lesenden Öffnen eines Dokumentes ausführen.
Das Ausführen der Feld-Formeln wird man nicht verhindern können, aber die "Lookup-Funktionen" müssen ja nicht immer ausgeführt werden.
 

Was kann man als Entwickler dagegen unternehmen?


In den entsprechenden Feldformeln sollten die "Lookup-Funktionen" eben nicht ausgeführt werden, wenn ein Dokument nur zur Anzeige am Bildschirm im Notes Client geöffnet wird. Die @If-Funktion ist hierbei der Schlüssel.
 

1. Beispiel: Schlüsselwortliste-Formel mit @DbColumn

@DbColumn(class:cache; server:database; view; columnNumber)
sollte geändert werden in:
@If( !@IsNewDoc & @IsDocBeingLoaded; @Return(""); @DbColumn(class:cache; server:database; view; columnNumber) )

2. Beispiel: Schlüsselwortliste-Formel mit @DbLookup

@DbLookup(class:cache; server:database; view; key; columnNumber; keywords)
sollte geändert werden in:
@If( !@IsNewDoc & @IsDocBeingLoaded; @Return(""); @DbLookup(class:cache; server:database; view; key; columnNumber; keywords) )

Hinweis zur Funktion @Return

Aus der HCL Online-Hilfe:
Immediately stops the execution of a formula and returns the specified value. This is useful when you only want the remainder of the formula to be executed only if certain conditions are True.
 

Amazon Affiliate Link
notion image