Domino 9 und frühere Versionen > ND6: Entwicklung

Abfrage ob name schon vorhanden

<< < (2/2)

brathaenchen:
Hey!

danke für die tollen Antworten. Hat alles Prima geklappt. hab es im Querysafe untergebracht, da dies etwas sicherer ist.
hab nur noch ein kleines Problem. Ich möchte nicht das das Dokument bei falschem Feldnamen gespeichert und geschlossen werden kann.
Wie kann das verhindert werden?

rar:
Mit Continue = False

-d

TMC:
Weiß nicht ob man da unbedingt LotusScript braucht  ???

Idee:

_DeinFeld := FeldDasDuPrüfenWillst;
_Lookup := @DbColumn("":"NoCache"; ""; "(lookupName)");
_AlreadyExists := @IsMember( _DeinFeld ; _Lookup);

@If(_AlreadyExists;
   @Failure("Möööp, Name existiert bereits");
   @Success
)

Die Ansicht "(lookupName)" enthält da Deine Namen...
Dabei vielleicht noch @Trim und andere String-Absicherungen verwenden, um z.B. Leerzeichen rauszuwerfen.

TMC:
Ach ja, was machst Du, wenn mit mehreren Repliken gearbeitet wird? Dann kannst Du das so vergessen. Da müssen dann andere - sehr durchdachte - Werkzeuge ran, sonst lässt es sich nicht vermeiden, dass doppelte Namen erzeugt werden.

koehlerbv:
Alle bisherigen Vorschläge setzen voraus, das die Prüfung nur dann durchgeführt wird, wenn das Dokument gerade erstellt wird. Jede spätere Änderung des Dokuments würde dann entweder ungeprüft verlaufen oder zu einer "Document already exists !"-Meldung führen.

Ergo: Entweder darf das zu prüfende Feld nur bei der Erstellung editierbar sein oder die Prüfung muss aufwändiger werden (GetAllDocumentsByKey, wenn in der Collection dann ein Doc ist, das nicht die UNID des aktuellen Docs hat, dann schlägt die Prüfung fehl).

Sowas liesse sich mit Verrenkungen auch mit @functions machen, aber das sollte hier mal nicht das erste Mittel der Wahl sein  ;D

Bernhard

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln