Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: help am 09.12.11 - 17:56:53
-
Guten Abend;
wenn ich das richtig nachgelesen habe kann ich unter der Eingabeüberprüfung bezogen auf ein Feld diese prüfen
Ich habe 2 Felder mit benutzern
FIELD sup:=as_superior;-> ist eine combobox aus dem der benutzer gewählt wird
FIELD app:=as_applicant;-->ist der Ersteller des Dokuments
@If(app=sup;@Success;@Failure("Der applicant kann nicht auch superior sein"))
was habe ich hier falsch gemacht denn wenn ich das dokument weiterleiten will an den superior macht er es auch wenn beide namen gleich sind
-
FIELD sup:=as_superior;-> ist eine combobox aus dem der benutzer gewählt wird
FIELD app:=as_applicant;-->ist der Ersteller des Dokuments
-> diese beiden Zeilen erzeugen neue Felder sup und app im Dokument, das willst Du sicher nicht, brauchst Du auch nicht, weil Du direkt auf die Felder zugreifen kannst, also lösche die und ändere die nächste Zeile zuerst einmal so
@If(as_applicant=as_superior;@Success;@Failure("Der applicant kann nicht auch superior sein"))
Dann stimmt die Logik nicht. Wenn die beiden gleich sind, dann Success, sonst Fehler. Umgekehrt ist sicher korrekt. Also entweder Success und Failure tauschen, oder auf ungleich prüfen
@If(as_applicant!=as_superior;@Success;@Failure("Der applicant kann nicht auch superior sein"))
Das Ganze muss dann in die Eingabevalidierung
-
Das Ganze muss dann in die Eingabevalidierung
Hallo Peter, ich bin auch noch am Verstehen, daher bitte verzeih die Nachfrage.
Aber macht das in der Eingabevalidierung schon Sinn, bzw. macht "man" das generell in Notes so? Wenn ich so etwas prüfe, dann beim Speichern (ich glaube, das nennt sich in Notes "Query Save"?), mit Verweis auf das "invalide" Feld. Ich tue mich beim Prüfen auf "Speichern" (sind andere Programmiersprechen) sehr leicht, weil summierte Abhängigkeiten in einem Wisch abgearbeitet werden können. Nachteil ist dabei natürlich, dass mehrmals Fehler für den Benutzer ausgegeben werden, wenn in mehreren zusammengehörenden Plausis Prüfungen mit Fehler raus gehen.
Beste Grüsse.
Edit: Und so, wenn ich es richtig lesen kann, macht es auch ein sehr kommerzieller Anbieter unserer Lotus-Anwendung. :-:
-
Ich würde das so nicht machen, bei mir kommen Validierungen ins Querysave mit der Ausgabe einer Fehlermeldung über alle fehlenden Angaben. Das hatte ich neulich in einer anderen Diskussion mal dargestellt (Validierung über mehrere Teilmasken). Eingabevalidierungen in Feldern habe ich in diesem Jahrtausend noch nicht benutzt, und werde ich sicherlich auch nie wieder tun.
Meine Antwort galt der konkret gestellten Frage, die sollte möglichst nah am Thema bleiben. Schließlich ist es nicht falsch, es so zu machen.
Noch eleganter wäre in diesem Fall, die Auswahlliste so zu berechnen, dass eine Falschauswahl erst gar nicht erfolgen kann. D.h. der "applicant" darf nicht in der Auswahlliste der "superioren" erscheinen.
-
Hallo Peter,
Umd den applicant aus meiner Liste mit den Usern herauszufinden kann ich da mit @IsMember arbeiten
Ich habe meine Liste _tmp4 mit den supperior wie kann ich den applicant denn darausfiltern und den Rest wieder anzeigen in meiner Combo Box. Denn die Lösung ist natürlich die beste
Lg
Bea
-
Ein gut gemeinter Rat: Wenn Du hier (oder auch woanders) Tipps oder Code-Häppchen bekommst, versuche die zu verstehen, bevor Du sie nutzt. Hättest Du die Formel, die wir gestern mühsam erarbeitet haben, verstanden, würdest Du jetzt nicht fragen.
In Deiner Formel (s.u.) werden viermal aus einer Liste Einträge entfernt. Jedesmal wird hierzu ein @Trim (@Replace (liste; entfernen; "")) verwendet, warum sollte jetzt beim fünften Mal, bei dem wieder aus einer Liste (nämlich der _tmp4) ein Eintrag (nämlich as_applicant) entfernt werden soll, plötzlich @IsMember helfen?
_tmp1 := @Trim (@Replace (_result3; _result; ""));
_tmp2 := @Trim (@Replace (_tmp1; _result1; ""));
_tmp3 := @Trim (@Replace (_tmp2; _result2; ""));
_tmp4 := @Trim (@Replace (_result3; _tmp3; ""));
@Name([CN];_tmp4)
Ich bin sicher, dass Du das alleine hinbekommst, wenn Du einmal in Ruhe darüber nachdenkst ...
-
Ich würde das so nicht machen, bei mir kommen Validierungen ins Querysave mit der Ausgabe einer Fehlermeldung über alle fehlenden Angaben.
Vielen Dank für die Bestätigung.
Gruss
-
Hallo
danke für den Anstoß :-)