Domino 9 und frühere Versionen > ND7: Entwicklung
mail send --> Fehlermeldung spezielles Datenbankobjekt nicht gefunden
harrymatty:
Hallo Torsten,
werde deinen Hinweis beachten bis jetzt ist immer alles gut gegangen mit der Formel aber man weiss ja nie so fange ich es auf jedenfall ab.
Danke dir für deinen Hinweis !! :D
harrymatty:
Hallo Torsten,
bist du Hellseher lach musste jetzt tatsächlich eine Eingabevalidierung eingeben und dann passierte genau das was du gesagt hast.
habe es jetzt so gelöst und getestet und es funkt
@If(Technologie=""; @Prompt([Ok]; "Response Creation Error"; "Bitte wählen Sie eine Technologie aus, sonst wird Ihr Non Stage Gate Projekt nicht gespeichert !")& @Return("");@Success);
@If(@IsNewDoc; @MailSend(SendTo;"";"";"Non Stage Gate Dokument: "+Registriernummer;"document constructed by "+Author_G8;"please have a look to the new Non Stage Gate document !";[IncludeDoclink]);"");
@Command([FileSave]);@Command([FileCloseWindow])
Tode:
Und wenn eine zweite Validierung dazu kommt, dann trägst Du die in Deinen Button nochmal ein? UNd eine Dritte und eine vierte?
SO geht es universell:
--- Code: ---isNew := @IsnewDoc ;
@If( @Command([FileSave]) ; "" ; @Return( "" ) );
@If( isNew ; @MailSend(SendTo;"";"";"Non Stage Gate Dokument: "+Registriernummer;"document constructed by "+Author_G8;"please have a look to the new Non Stage Gate document !";[IncludeDoclink]);"");
@Command([FileCloseWindow]);
--- Ende Code ---
Ohne den Mailsend- Stunt sollte man den "Save & Close" - Button immer so machen:
@If( @Command([FileSave]); @COmmand([FileCloseWIndow]) ; "" );
Ach ja: Ein Benutzer, der das Dokument via STRG + S abspeichert macht Dir -so ganz nebenbei- Dein Mailsend kaputt, weil dann beim Button @IsNewDoc = @False ist.
Typischerweise arbeitet man bei sowas mit einem Flag- Feld, das man nach erfolgreichem Versand setzt... Aber danach muss das Dokument nochmal gespeichert werden, es sei denn man arbeitet mit einem Berechnet zur Anzeige- Flag- Feld und einigen Formel- Tricks...
Aber das findest Du sicher alles selbst auch raus...
harrymatty:
Danke dir Torsten für deine Anregungen
in diesem Beispiel habe ich nur eine Validierung aber es ist bestimmt für andere Aufgaben sehr hilfreich
Danke dir
Tode:
Es ist EGAL wie viele Valdierungen Du hast. Auch eine halbe Validierung würde NIEMALS in einen Button gehören...
Ein Button ist etwas, was ein Benutzer klickt (oder halt nicht) und kann -besonders beim speichern- so leicht "umgangen" werden.
Hier die gängigsten Methoden, um ein Dokument zu speichern, ohne dass Dein Button auch nur angeschaut wird:
- User Drückt Strg + S
- User drückt Escape oder auf das "x" des Fensters und beantwortet die Frage, ob gespeichert werden soll mit "Ja"
- User Geht auf Datei -> Speichern
- User drückt auf das Diskettensymbol in der Symbolleiste
Eine Validierung gehört an einen von zwei Orten (da gibt es regelrechte Philosophie- Debatten drüber welche der beiden die "richtigere" ist, deshalb spare ich mir eine Wertung hier:
1. In die Eingabevalidierung des jeweiligen Feldes, wo der Fehler per @Failure ausgegeben wird (Verabreitung der Maske bricht ab, Dok kann nicht gespeichert werden)
2. Ins QuerySave Event der Maske (hier kann ich selbst entsacheiden, ob ich nach dem ersten Fehler abbrechen will, oder erst alle Felder prüfen will, und dem Benutzer eine Liste der Fehler zukommen lassen will): Abbruch über Continue = False, geht aber nur, wenn man LotusScript verwendet, für Formelsprache im QuerySave gibt es KEIN continue=False
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln