Domino 9 und frühere Versionen > ND9: Entwicklung

Sendto as Button

<< < (2/3) > >>

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