Domino 9 und frühere Versionen > ND9: Entwicklung
Sendto as Button
Sommersprosse:
Hallo zusammen,
ich habe noch einmal eine Frage zum Thema Send Mail.
In meinen Felder hresponsible muss nicht immer etwas eingetragen werden, da es in den Protokollen nicht immer eine verantwortliche Person bei reinen Informationsinhalten gesetzt wird.
Mein Script läuft aber hier in einen Fehler, daß er keinen Namen findet an den er senden kann und das Script wird beendet.
Wie kann ich das über eine Messagebox abfangen und den leeren Inhalt ignorieren und das Script ordnungsgemäß beenden lassen?
Ich habe mit is empty / evaluate so noch nicht gearbeitet und bräuchte da einen Tipp von Euch.
Danke im voraus.
DominoDancing:
Hallo Ulli,
If Trim (strUnid) = Trim (MainID) And Not docnext.hresponsible(0) = "" Then
anstelle
If Trim (strUnid) = Trim (MainID) Then
sollte genügen, um in Deinem Fall keine Mail zu senden. Wenn dann noch eine Messagebox generiert werden soll, dann kannst Du diese an der gewünschten Stelle (z.B. als Else If Trim (strUnid) = Trim (MainID) Then) aufrufen.
Liebe Grüße
René
Peter Klett:
Ich frage mich, wie Du das "über eine Messagebox abfangen" willst?
Du hast 25 zugehörige Dokumente, davon sind 12 ohne Verantwortlichen. Willst Du 12 mal eine Messagebox bringen, "Dokument kann nicht gesendet werden"? Die Begeisterung wird dann groß sein.
Eine sinnvolle Messagebox wäre, wenn Du die versendeten Dokumente zählst und dann so etwas ausgibst, wie "13 Dokumente wurden versendet", oder umgekehrt, "12 Dokumente wurden nicht gesendet", aber das hat nichts damit zu tun, dass Du den Fehler mit einer Messagebox abfängst.
Nebenbei: Warum speicherst Du das docnext in Deiner Schleife?
Und noch eine Pingeligkeit:
bodyitem.AppendText "New Job for Meeting: " + refdoc.title (0) + " please click attached link to open --> "
hier solltest Du anstelle von "+" ein "&" verwenden. In Script ist "+" für die Addition von Zahlen gedacht, "&" für das Zusammenfügen von Texten.
Sommersprosse:
Hallo Peter,
dein Einwand ist berechtigt mit der Messagebox, die Begeisterung wäre mit der Summe der Abfragen nicht so wirklich gegeben.
Das andere mit & habe ich noch angepasst.
Danke Rene für den Tipp, das war es was ich noch gebraucht habe.
Eine Frage zum Doc.save habe ich noch.
Ich hatte noch einen kleinen Fehler in meinem Script.
While Not (docnext Is Nothing)
strUnid = docnext.Getitemvalue( "db_detail_doc_id" )(0)
If Not docnext.HasItem("senddoc") Then
If docnext.GetItemValue("senddoc")(0)="" Then
If Trim (strUnid) = Trim (MainID) And Not docnext.hresponsible(0) = "" Then
Set maildoc = New NotesDocument (db)
maildoc.form="Memo"
maildoc.principal="New Job available"
Call maildoc.Replaceitemvalue("Subject",docnext.Getitemvalue("hDescription")(0))
Call maildoc.Replaceitemvalue("sendto",docnext.Getitemvalue("hresponsible")(0))
Set bodyitem=maildoc.CreateRichTextItem("Body")
bodyitem.AppendText "New Job for Meeting: " & refdoc.title (0) & " please click attached link to open --> "
Call bodyitem.AppendDocLink( docnext, "" )
Set senddoc = docnext.Replaceitemvalue("senddoc",1 )
Call docnext.Save(True,False)
maildoc.Send (False)
End If
End If
End If
Set docnext = view.GetnextDocument (docnext)
Wend
So sieht das ganze jetzt aus, ich möchte verhindern das die Mail unendlich viele Male verschickt werden kann, wenn auf den Button geklickt wird, sondern nur wenn ein neuer Eintrag erstellt wird. Ich dachte dafür brauche ich dann dieses Save damit der Parameter uch gespeichert wird, lasse mich da aber gerne korrigieren.
Peter Klett:
Klar, wenn Du etwas in das Dokument schreibst, was dort auch gespeichert werden soll, dann musst Du es auch speichern. In dem ursprünglichen Script hattest Du nichts in das docnext geschrieben, damit war das Speichern da überflüssig.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln