Guten Morgen zusammen,
ich benötige für eine Notes DB zur Verwaltung von Projekten eine Prüfroutine, um den Sachbearbeiter auf ein evt. schon angelegtes Projekt mit gleicher Nummer aufmerksam zu machen.
Da die Projektnummern aus der Warenwirtschaft übertragen werden, ist eine manuelle Eingabe nötig.
Nun habe ich die Eingabevalidierung der Projektnummer über eine Formel prüfen lassen:
_View := "Alle";
_Key := Projeknummer;
_Col := 1;
_Lookup := @DbLookup("":"NoCache";"";_View;_Key;_Col);
@If(@IsError(_Lookup);
@Success;
@Elements(_Lookup ) = 1 & _Lookup = @Text(@DocumentUniqueID); @Success;
@Failure("Ein Projekt mit dieser Projektnummer ist bereits vorhanden!")
)
Die Validierung findet nun aber auch bei schon angelegten Projekten statt und die Projektnummer wird als schon vorhanden gemeldet.
Wie sollte ich die Formel sinnvoll erweitern damit z.B. @isnewdoument die Prüfung eingrenzt auf Prüfung bei Neuanlage?
Oder hat jemand einen anderen Ansatz mit einem Skript, welches in dieser Form ja des öfteren zum Einsatz kommen dürfte? Kann man vieleicht sogar auf eine interne Funktion zurückgreifen, um die eindeutigkeit von Werten zu gewährleisten?
Sonnige Grüße und vielen Dank an die erfahrenen Helfer,
Mario
@if (@IsNewDoc;"Prüfung notwendig";@Return("schon geprüft"));
_View := "Alle";
_Key := Projeknummer;
_Col := 1;
_Lookup := @DbLookup("":"NoCache";"";_View;_Key;_Col);
@If(@IsError(_Lookup);
@Success;
@Elements(_Lookup ) = 1 & _Lookup = @Text(@DocumentUniqueID); @Success;
@Failure("Ein Projekt mit dieser Projektnummer ist bereits vorhanden!")
)
Oder Du setzt Dir ein Kennzeichen im Document. Wenn der Wert z. B. 1 ist, braucht nicht mehr geprüft werden. Hängt natürlich von Deiner Anwendung ab, aber dann wärst Du etwas flexibler, falls mal eine "nachträgliche Prüfung" stattfinden sollte. Einfach den Wert auf 0 zurückstellen und beim nächsten Mal wird wieder geprüft ....
@if (<MeinFeldname> != 1;"Prüfung notwendig";@Return("schon geprüft"));
Markus