Domino 9 und frühere Versionen > Entwicklung
Per Formel in aktueller Ansicht gleiche Felder prüfen !!
hero7475:
Guten Abend allerseits :-)
Ich habe folgendes Problem :
Ich möchte, bevor ein (neues oder altes) Dok gespeichert wird prüfen, ob in der jeweiligen Ansicht bereits ein Dok gibt die denselben Wert im selbem Feld hat!!!
Habe damit leichte Probleme, da der alte Wert des Doks dabei nicht berücksicht werden darf!!
Mir LS hatte ich das Problem schon im Griff, dauernt je nach Dokumenten allerdings viel zu lange !!
Kann mir da mal jemand einen sinnvollen und vor allem sehr schnellen Weg weisen ?
Ich wäre euch sehr dankbar
koehlerbv:
Warum denn die vielen Ausrufezeichen ? Tut das denn wirklich nooot ?
Poste doch mal Deinen LS-Code, dann schauen wir mal, was da so lange dauert.
Bernhard
hero7475:
Sorry für die vielen !!! !!
Hab ich mir so angewöhnt..
Das LS hab ich längst entsorgt, da ich mit
der Lösung sämtliche Leitungen flachgelegt hätte.
TMC:
Hi,
ich hatte das mal so gelöst:
_Qu := @DbColumn("":"NoCache"; @DbName; "(lookup_Qu)");
REM "Prüfen, ob Qu bereits existiert, wenn ja: 1 zurückgeben";
_Check := @IsMember( Titel ; _Qu);
@If(
_Check = 1;
@Failure("Existiert bereits!!!!!!!!");
@Success
)
Ob das jetzt superperformant ist bezweifle ich, um wieviele Doks handelt es sich denn?
TMC
P.S. Die Fehlermeldung habe ich den Ausrufezeichen der Frage angepasst ;D
koehlerbv:
Hm, das mit den Ausrufezeichen solltest Du Dir fix wieder abgewöhnen. "!" heisst "brüllen" ...
Das Prüfen, ob ein Dokument an Hand eines bestimmten Feldes schon vorhanden ist, ist doch ganz simpel:
- Entsprechende Ansicht erstellen
- Mit LS NotesView.GetAllDocumentsByKey (key, true)
oder
- mit @dbLookup
Anzahl der gefundenen Docs ermitteln. Wenn Doc ein neues Dokument ist, dann muss die Trefferzahl = 0 sein, sonst darf sie 1 sein - wenn die DocumentUniqueID unterschiedlich ist.
Gib' mal nähere Info, wo Dein Performance-Problem liegt. Dein "entsorgter LS-Code" könnte da hilfreich sein ...
Bye,
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln