Autor Thema: LotusScript Mail versenden an 1 - N Empfänger  (Gelesen 1992 mal)

Offline Loki

  • Frischling
  • *
  • Beiträge: 14
  • Geschlecht: Männlich
LotusScript Mail versenden an 1 - N Empfänger
« am: 23.07.12 - 16:51:29 »
Hallo an alle,

ich habe das Problem gegoogelt, aber leider nichts gefunden. Leider weiß ich auch nicht, wie ich das Problem für google anständig beschreiben könnte.

Ich möchte aus 1-N Dokumenten 1-N Empfänger aus einem NamesField rausziehen, und an diese eine E-Mail versenden. Das ganze soll über einen Button
in einer View per LotusScript passieren.

Folgendes habe ich bereits:

Code
Set docCur = docCol.GetFirstDocument
	
	While Not docCur Is Nothing
		vRecipients = docCur.GetItemValue("Recipient") 'hier sollten eigentlich die bisherigen Recipients und die neuen in die variant variable geschrieben werden
		
		Set docCur = docCol.getNextDocument(docCur)
		
	Wend
	
	Set docMail = db.CreateDocument
	
	Call docMail.ReplaceItemValue("Form","Memo")
	Call docMail.ReplaceItemValue("Subject","Test")
	Call docMail.ReplaceItemValue("Body","SecondTest")
	Call docMail.ReplaceItemValue("SendTo",vRecipients)
	
	Call docMail.Send(0)

Jedes mal, wenn ich versuche dem Variant vRecipients auch die nächsten Recipients (die des nächsten Docs) anzuhängen, bekomme ich einen Fehler.

Ich weiß nicht recht, warum vRecipients = vRecipients + doc.getitemvalue("Recipient) nicht funktioniert?

Steh ich gerade voll auf dem Schlauch?
gruß
Loki

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: LotusScript Mail versenden an 1 - N Empfänger
« Antwort #1 am: 23.07.12 - 17:30:11 »
vRecipients = vRecipients + doc.getitemvalue("Recipient)

Du verbindest einen String mit einem Array, das mag Notes nicht. Wenn es überhaupt so funktionieren sollte, dann müsste es so sein:

vRecipients = vRecipients + doc.getitemvalue("Recipient) (0)

(abgesehen davon, dass man Strings mit & verketten sollte und nicht mit +)

allerdings hättest Du dann den Empfänger des nächsten Dokuments (und zwar nur den ersten) stumpf an den vorigen "angeklatscht", ohne Trennzeichen dazwischen. Auch doppelte Empfänger werden dabei nicht entfernt.

Ich würde sowas über eine Liste realisieren, sinngemäß so:

Dim recipients List As Integer
Dim sendto As String

While Not docCur Is Nothing
   Forall recipient In docCur.Recipient
      If recipient <> "" Then
         recipients (recipient) = 1
      End If
   End Forall
      
   Set docCur = docCol.getNextDocument(docCur)
Wend

Forall r in recipients
   If sendto <> "" Then
      sendto = sendto & ","
   End if
   sendto = sendto & Listtag (r)
End Forall

...

docMail.Sendto = Split (sendto, ",")

Offline Loki

  • Frischling
  • *
  • Beiträge: 14
  • Geschlecht: Männlich
Re: LotusScript Mail versenden an 1 - N Empfänger
« Antwort #2 am: 24.07.12 - 08:19:45 »
Hat super funktioniert, vielen Dank.
gruß
Loki

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz