Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: sja am 25.01.11 - 11:09:56
-
Hallo Zusammen,
folgende Situation:
per einen Agent werden Daten aus eine DB1 in eine DB2 übernommen und dabei werden in der DB2 entsprechende Dokumente mit diesen Daten und mit Namen den Benutzer erstellt.
Die Benutzer sollen die Dokumente in der DB2 öffnen und bearbeiten. Die Dokumente erhalten berechnete Felder, die die Daten aus dem Profile-Dokumente benutzen.
In der DB2 sollen für die Benutzer Mitarbeiterprofile-Dokumente vorhanden sein.
Wenn einen Mitarbeiter hat kein Profile-Dokument, dann beim Öffnen des Dokumentes kommt natürlich Fehlermeldungen „Eintrag in Index nicht gefunden ....“
Das Problem:
es sollte beim Versuchen das Dokument zu öffnen überprüft werden ob ein Profile-Dokument für den Benutzer vorhanden ist, wenn nicht, dann sollte nur entsprechende Info-Meldung erscheinen aber Dokument soll nicht geöffnet werden!
Um das zu lösen, habe ich die folgende Coda ich in QueryOpen:
MP:= @DbLookup("Notes":"NoCache";"":"";"MP";MA;1);
@If(
MP ="" | @IsError(MP);
@Do(
@Prompt([Ok];"INFO";" Es wurde kein Mitarbeiterprofil für " +@Name([CN];MA)+ "gefunden. Bitte das Mitarbeiterprofile erstellen!");
@Command( [CloseWindow] ));
"")
Info-Meldung erscheint richtig, aber Dokument wird nicht sofort geschlossen, (obwohl ich habe gedacht, dass den Befehl @Command( [CloseWindow] ) soll das Dokument sofort schließen) Stattdessen wird die Datenbank geschlossen. Was sollte gemacht werden, damit nur Info-Meldung erscheint und das Dokument wird nicht geöffnet?
Vielen Dank für jede Hilfe, Verweis usw. im Voraus.
Sofia
-
Schreibe es in Script und setze im Fehlerfall Continue = False
-
Hallo Peter,
vielen Dank für Deine Hilfe.
Ich habe nur gedacht, dass auch in Formelsprache kann man eine Lösung zu finden, nur ich kann das nicht.
Schöne Grüße
Sofia
-
Hallo,
ich vermute mal, die Dokumente werden aus einer Ansicht heraus geöffnet. Kann man die Prüfung auf das Vorhandensein des Profildokuments nicht in das QueryOpen der Ansicht verschieben und im Fall das keins vorhanden ist nach dem @Prompt mit
@command([Compose]; "": ""; "maskenname des Profildoks")
gleich die entsprechende Maske öffnen?
Jan