Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: sja am 25.01.11 - 11:09:56

Titel: Beim Fehler soll das Dokument nicht geöffnet werden.
Beitrag 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



Titel: Re: Beim Fehler soll das Dokument nicht geöffnet werden.
Beitrag von: Peter Klett am 25.01.11 - 11:16:39
Schreibe es in Script und setze im Fehlerfall Continue = False
Titel: Re: Beim Fehler soll das Dokument nicht geöffnet werden.
Beitrag von: sja am 25.01.11 - 11:32:59
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
Titel: Re: Beim Fehler soll das Dokument nicht geöffnet werden.
Beitrag von: Banni am 27.01.11 - 15:32:38
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