Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: SomeoneYouKnow am 24.03.05 - 14:18:45
-
Hi zusammen,
ich habe ein ähnliches Problem wie redspawn ein Stückchen weiter unten, mit dem Unterschied: bei meinem Code funktionierts manchmal, manchmal nicht - und ich sehe keinen Fehler im Code :(
Handelt sich um eine kleine Workflow-Anwendung, in der eine Aktionsschaltfläche "Genehmigen" existiert. Folgender Code liegt hinter dieser Schaltfläche:
******
@Command([EditDocument]);
@SetField("Status"; "genehmigt");
@SetField("GenStatus"; "Genehmigt von " + @Name([CN]; @UserName) + " am " + @Text(@Date(@Now)) + " um " + @Text(@Time(@Now)) + ".");
@PostedCommand([FileSave]);
@MailSend("GABUN/MyOrg"; ""; "Ich/MyOrg"; "Der GABUN - Auftrag " + @Text(GABUNNr) + " wurde genehmigt"; ""; @Name([CN]; G_Name) + " hat den GABUN - Auftrag " + @Text(GABUNNr) + " für " + @Implode(Name; ", ") + " genehmigt!" + @NewLine + @NewLine + "Klicken Sie bitte hier zum Öffnen: ==> " ; [IncludeDoclink]);
@MailSend(A_Name; ""; ""; "Der GABUN - Auftrag " + @Text(GABUNNr) + " wurde genehmigt"; ""; @Name([CN]; G_Name) + " hat den GABUN - Auftrag " + @Text(GABUNNr) + " für " + @Implode(Name; ", ") + " genehmigt!" + @NewLine + @NewLine + "Klicken Sie bitte hier zum Öffnen: ==> " ; [IncludeDoclink]);
@Command([FileCloseWindow]);
@All
******
Im Prinzip nichts großartiges... ich setze das aktuelle Dokument in den Editmode, setze 2 Felder und speichere das Dokument. Die Felder werden korrekt gesetzt, man kann also davon ausgehen, dass der Code bis einschließlich "@PostedCommand([FileSave]);" korrekt ausgeführt wird. Komischerweise werden die beiden @MailSends nicht immer ausgeführt. Derjenige der den Button klickt bekommt keine Fehlermeldung... aber es kommt ab und an (die letzten Tage immer häufiger) keine Mail an.
Im Notes-Log ist auch tatsächlich kein Eintrag für einen Mailversand zu sehen, in den Servermailboxen ist auch nichts hängen geblieben... es ist mir ein absolutes Rätsel. Vor allem weil sich kein Muster erkennen lässt, wanns funktioniert und wann nicht.
Das komische ist: die Anwendung tat seine Dienste seit 2 Jahren korrekt... diese Probleme traten erst Ende Januar 2005 zum ersten Mal vereinzelt auf... extrem jetzt seit etwa einer Woche. Geändert wurde am Code eigentlich nichts ausser vor ca. 3 Wochen eine Ergänzung: der DocLink wird nun mit angehängt und im Betreff wirde die GABUN-Nummer mit angezeigt. Dies funktioniert wenn ich teste aber alles korrekt. ???
Gruß
Ben
-
Ergänzung: ursprünglich war es natürlich ein Mailsend, der an GABUN/MyOrg und in CC an A_Name ging. Ich habe das nur jetzt zur Fehlerbehandlung mal aufgeschlüsselt in 2, weil ich vermutet hatte, jemand hätte eine in A_Name aufgeführte Person im persönlichen Adressbuch und dass deshalb die Mail evtl. nicht rausgeht. Nachdem sie aber dann aber auch bei den vollqualifizierten Namen Ich/MyOrg nicht ankommt wars das wohl nicht...
-
Wenn eine programmierte Mailfunktion MANCHMAL nicht funktioniert, liegt es oft daran, dass der Empfänger mehrfach gelistet ist, bspw. im persönlichen Adressbuch.
Das lässt sich umgehen, wenn man immer die Notes-Domäne anhängt, dann wird das persönliche Adressbuch nicht berücksichtigt.
Andreas
-
Hi,
danke für den Tipp - das ists jedoch nicht... siehe meine Ergänzung :)
Anmerkung: D'OH... sorry, lesen will gelernt sein... ja, die Domain hab ich tatsächlich nicht hinten dran. Aber ich kann mir nicht vorstellen, dass sich die Leute grade in den letzten 2 Wochen "GABUN" (was nun ja auch nicht grad ein weitverbreiteter Name im persönlichen Adressbuch sein dürfte) und/oder mich in ihr persönliches Adressbuch aufgenommen haben
Gruß
Ben
-
Ist denn sichergestellt, dass in A_Name immer was (vernünftiges) drin steht. Vielleicht wird durch das Speichern etwas ausgeführt, was A_Name verändert.
-
Ist denn sichergestellt, dass in A_Name immer was (vernünftiges) drin steht. Vielleicht wird durch das Speichern etwas ausgeführt, was A_Name verändert.
Eigentlich schon, ja.
Aber selbst wenn nicht: dann müsste ja immer noch der zweite MailSend ausgeführt werden, in dem A_Name gar nicht vorkommt
-
Hi,
war da nicht was mit "@PostedCommand() wird nach allen anderen @Commands ausgeführt - egal, an welcher Stelle im Code es steht"?
Ich weiss, ich weiss, eigtl. sollte - selbst wenn es so ist - das @Mailsend() trotzdem funktionieren. Aber spricht was dagegen, mal das @PostedCommand() durch ein @Command() zu ersetzen?
Ich trau dem nicht ;D
Und was mich auch nur etwas stutzig macht, ist das @All am Schluss.
Auch das sollte das @Mailsend() nicht beeinflussen, nur: Hat das einen bestimmten Grund? Ist eine ernst gemeinte Frage, denn bisher kenne ich @All nur bei SELECT-Anweisungen, Replikationsformeln und Formel-Agenten... ???