Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Gani am 18.07.02 - 13:48:57
-
Hi @ all,
ich habe folgendes Problem, welches mich schon fast zur Verzweifelung bringt:
Im Profil "OutofOffice" habe ich ein berechnetet Feld "Vertreter" hinterlegt. Die Aktivierung des Außer Haus Agenten habe ich so gelegt, dass gleichzeitig zum OutofOffice Agenten ein Agent namens"Mailweiterleitung" aktiviert wird. Beide Agenten arbeiten bei eingehenden Mails.
Der Agent "Mailweiterleitung" sieht wie folgt aus:
Sub Initialize
' Definition von Variablen für verschiedene "Notes: Classes"
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim memo As NotesDocument
Dim reply As NotesDocument
'Object Variablen setzen
Set s = New NotesSession
Set db = s.CurrentDatabase
Set documents = db.UnprocessedDocuments
Set view = db.GetView("($Profiles)")
Set profile = db.GetProfileDocument("OutOfOfficeProfile")
Set Vertreter = profile.GetFirstItem("Vertreter")
' Definition von j als Laufvarable Zahl
Dim i As Integer
' In die Variable collection kommen alle vom Agenten bisher nicht bearbeiteten Dokumente
Set collection = db.UnprocessedDocuments
' Führe folgendes so oft aus, wie die Anzahl der bisher unbearbeiteten Dokumente
For i = 1 To collection.Count
' memo wird mit dem Inhalt des ersten Dokumentes gefüllt
Set memo = collection.GetNthDocument( i )
' Wenn das Memo nicht von einem Agenten versandt wurde, dann führe die nächsten Zeile aus:
If Not( memo.SentByAgent ) Then
' Neues Dokument erstellen
Set reply = New NotesDocument ( db )
' In das Feld Subject Empfanngsbestätigung und die Kurzbeschreibung des ursprünglichen Mails einfügen
Call reply.ReplaceItemValue( "Subject", "Weiterleitung für Vertreter: " & memo.Subject( 0 ) )
' In das Body -Feld kommt der Inhalt der Variable text
Call reply.ReplaceItemValue( "Body", memo.body )
' In das Feld SendTo kommt der Absender
Call reply.ReplaceItemValue( "SendTo", "" & memo.Vertreter( 0 ) )
'Nun wird das Mail gesendet
Call reply.Send( False )
End If 'Ende Schleife
' Aktualisiere die unbeabeiteten Dokumente
Call session.UpdateProcessedDoc( memo )
' Nehme das nächste Dokument
Next
' Ende des Programmes
End Sub
Ergebnis: "Notes Error: Keine Namen gefunden, an die das Mail gesendet werden kann." :'(
Ich glaube, dass es an dieser Zeile liegt:
Call reply.ReplaceItemValue( "SendTo", "" & memo.Vertreter( 0 ) )
Was mache ich falsch???
Vielen Dank schon mal im voraus !!!
cu
-
Hi,
hast Du schon das probiert?
reply.SendTo = memo.Vertreter( 0 )
-
hi doliman,
dein tip ist seehr gut,
ich habe folgendes gemacht:
reply.SendTo = Vertreter
Call reply.ReplaceItemValue( "SendTo", reply.SendTo)
funktioniert aber nur fast, denn nun habe ich anscheinend das problem, dass er probleme mit dem Feld Vertreter hat, weil er keine namen findet.
setzte ich in der zeile:
reply.SendTo = "adresse"
kommt die memo an!!
weißt du noch einen tip für mich
-
Hi,
lese die Mehrfachwerde über eine Schleife aus dem Feld mit den Adressempfängern
Dim recipients( 1 To 3 ) As String
'Dein Empfänger Mehrfachfeld
Forall v In vertreter.Values
i=i+1
recipients( i) = v
End Forall
Call doc.Send( True, recipients )
So ähnlich. Das Array muß noch zur Laufzeit bestimmt werden.
Schau mal in der Designer Hilfe nach da hats die Beispiele drin.