Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: wuschel am 18.11.04 - 15:13:55
-
Hallo,
folgendes Problem:
während der Bearbeitung eines Dokuments soll der Anwender über eine Aktion eine Mail basierend auf dem Dokument erzeugen und an einen definierten Verteilerkreis schicken.
Leider werden immer nur drei Adressaten aus dem Verteilerkreis in das sendto/copyto-Feld übertragen und dabei auch noch beim jeweils ersten Eintrag der OU-Teil unterdrückt, so dass es zu falschen Adressierungen kommt.
Hat hier jemand ne Idee:
Im wesentlichen handelt es sich um folgenden Code:
Sub Click(Source As Button)
Dim Session As New NotesSession
Dim ws As New NotesuiWorkspace
Dim uiDoc,uidoc1 As NotesuiDocument
Dim doc,doc1 As notesdocument
Dim Empfaenger,copyto As String
Dim Subject As String
Set uidoc1 = ws.currentdocument
Set doc1 = uidoc1.document
Set uiDoc = ws.CurrentDocument
Empfaenger = uidoc.fieldgettext("Empfaenger")
copyto = uidoc.fieldgettext("copyto")
Subject = uiDoc.Fieldgettext( "Subject" ) + " " + uidoc.fieldgettext("Name_1")
Call uiDoc.Forward
Set uiDoc = ws.CurrentDocument
Set doc = uidoc.document
Call uiDoc.FieldSetText("EnterSendTo" , Empfaenger)
Call uiDoc.FieldSetText("EnterCopyTo" , copyto)
Call uiDoc.FieldSetText("Subject" , Subject )
Call uiDoc.Send
Call uiDoc.Close()
Call uidoc1.close()
End Sub
-
FieldGetText und FieldSetText arbeiten mit skalaren Werten, nicht mit Listen. Das musst Du über das Backend machen.
Weiterhin:
Deine Deklarierungen sind nicht korrekt. Beispiel:
Dim uiDoc,uidoc1 As NotesuiDocument
führt dazu dass uiDoc ein Variant ist und uidoc1 ein NotesUIDocument.
Du musst die Typen jeweils einzeln explizit zuweisen.
Bernhard
-
Hallo Bernhard,
ich habs schon fast befürchtet, deshalb haben wir jetzt das ganze auch über das document-Objekt gehandelt. Um die Felder aber auch im uidocument verfügbar und damit die Mail sendbar zu machen, mussten wir am Ende noch einen Reload einfügen. Ist das der richtige Weg so.
Und das mit den Deklarationen hab ich tatsächlich nicht gewusst. Gilt das auch, wenn man zwei Feldnamen durch Komma getrennt als String, Integer... definiert?
Gruß Matthias
-
Das mit den "Feldnamen" verstehe ich jetzt nicht. Meinst Du Variable ?
Dim iCounter1, iCounter2 As Integer
ist falsch und mach iCounter1 zu Variant.
Korrekt wäre:
Dim iCounter1 As Integer, iCounter2 As Integer
HTH,
Bernhard