Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Lancelot am 27.09.07 - 16:22:46

Titel: Hilfe bei Listenverarbeitung via Script
Beitrag von: Lancelot am 27.09.07 - 16:22:46
Ich habe ein Feld "senden_an" dort werden mehrere Namen aus dem Adreßbuch eingetragen.
Das Feld ist ein Namenfeld mit Mehrfachwerte. Getrennt und angezeigt werden diese mit Komma.
z.B. "Manfred Tester, Michael Müller, Hans Huber"

Da es sich hierbei um keine wirkliche Textliste handelt, bricht der Befehl "memo.send(True)" im Agent immer ab.

Wie kann ich in Script aus dem Feld "senden_an" einen richtige Liste machen und diese wieder zurückgeben, so das mir die Mail auch gesendet werden kann?

Schon jetzt vielen dank an Euch!
Titel: Re: Hilfe bei Listenverarbeitung via Script
Beitrag von: m3 am 27.09.07 - 16:27:56
Split?
Titel: Re: Hilfe bei Listenverarbeitung via Script
Beitrag von: flaite am 27.09.07 - 16:33:09
Wenn du das Dokument als Mail verschicken willst, kann das Feld nicht irgendeinen random-Namen wie senden_an haben sondern muß SendTo heissen.
Titel: Re: Hilfe bei Listenverarbeitung via Script
Beitrag von: koehlerbv am 27.09.07 - 17:57:40
Zitat
Das Feld ist ein Namenfeld mit Mehrfachwerte. Getrennt und angezeigt werden diese mit Komma.

Unter diesen Vorgaben - wenn das so stimmt - ist das im Backend - und darauf kommt es ja an - eine korrekte Textliste. Nur "senden-an" ist eben ein Item, dass für NotesDocument.Send so wichtig ist wie 'ne Briefmarke auf einem ICE-Triebkopf. Wie es Axel ja schon schrieb.

Bernhard
Titel: Re: Hilfe bei Listenverarbeitung via Script
Beitrag von: Lancelot am 28.09.07 - 07:25:37
Guten Morgen,

ich weiß das mit SendTo.

Doch da es sich in meinem Feld enthält keine Liste, somit werden alle dort enthaltenen
Namen als ein name gesehen und dann kommt die Meldung, dass kein Eintrag im ADB gefunden wurde.
Selbst wenn ich das Feld SendTo nenne.
Ich muß daraus eine richtige Liste machen sonst klappt es nicht.

Habt Ihr noch eine Idee?
Titel: Re: Hilfe bei Listenverarbeitung via Script
Beitrag von: Demian am 28.09.07 - 08:08:25
Moin, moin,

hatte mal was ähnliches und hab das über ein Array gelöst. Allerdings stand jede Adresse in einem eigenen Dok. Aber das PRinzip ist das selbe.

Code
	
...	
Redim Preserve Adressaten(view.AllEntries.count) As String
	
While Not (doc Is Nothing)	
   i = i + 1	

   VerteilerArt = doc.MailverteilerArt(0)
		
   If VerteilerArt = "Geburtstagsliste" Then
      Adressaten(i) = Mid$(doc.EnterSendTo(0),4,Instr(1,doc.EnterSendTo(0),"/")-4) & ","
   End If	

   Set doc = view.GetNextDocument(doc)
Wend		

'Mail starten
mail.SendTo = Adressaten
mail.Subject = "Geburtstagsliste"
mail.Form = "Memo"
mail.Logo = MailProfil.DefaultLogo(0)
mail.Principal = MailProfil.Owner(0)	


Hoffe du kannst da was mit anfangen.

Gruß
Demian
Titel: Re: Hilfe bei Listenverarbeitung via Script
Beitrag von: Axel am 28.09.07 - 08:18:34
Hast du es denn schon mal mit Split versucht? Martin hat das ja in der ersten Antwort schon angesprochen.


Axel
Titel: Re: Hilfe bei Listenverarbeitung via Script
Beitrag von: Lancelot am 28.09.07 - 08:23:04
Ich habe es  mit Split versucht ging bei mir nicht so wirklich, liegt aber daran, dass
ich es nicht richtig verstanden habe damit um zu gehen.

Der Tipp mit der Tabelle von Demian hat funktioniert udn so habe ich es gelöst.

Listen in Formelsprache sind wirklich einfach, aber das sich Notes in Script so einen Abbricht.
Etwas komplizierteres als das gib es doch nicht.
Titel: Re: Hilfe bei Listenverarbeitung via Script
Beitrag von: Axel am 28.09.07 - 08:44:03
Was gibt's denn daran nicht zu verstehen?

Dim retValue As Variant

retValue = Split(doc.senden_an, ", ")


Das sollte es gewesen sein. retValue enthält nun eine Liste von Namen aus dem Feld senden_an. Die kannst du dann einfach in das Feld SendTo packen.

Listen in Formelsprache sind wirklich einfach, aber das sich Notes in Script so einen Abbricht.
Etwas komplizierteres als das gib es doch nicht.

Du hast aber auch noch mit Evalute einige Möglichkeiten. Die sind u.U. performanter als die Script-Lösungen.


Axel
Titel: Re: Hilfe bei Listenverarbeitung via Script
Beitrag von: Lancelot am 28.09.07 - 08:53:26
Weil ich danach die variabele "retValue" in das Feld memo.SenTo geschoben habe und dann beim senden immer noch der Fehler gekommen ist.

Mit der Tabelle geht es jetzt und die Lösung reicht mir völlig aus.
Die Performance wird davon nicht wirklich betroffen und ich bin froh das es nun endlich klappt.

Manchmal denke ich mir geht es ohen Script eben nicht.

Egal wie es ist, es klappt und ich bin froh drüber, ddenn es hat mich schon eingie Nerven gekostet.

Wenn ich etwas mehr Zeit habe schaue ich mir diese Split nochmals genauer an. ;-)

Danke an ALLE!!!!