Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Alexis am 05.04.07 - 10:37:21

Titel: Programmierfehler --> Cannot locate field
Beitrag von: Alexis am 05.04.07 - 10:37:21
Ziel ist es, eine Mail zu versenden, die ein Button enthält, der wiederum einen Termin in den Kalender des Empfängers einträgt.

Vorgehensweise:
Per Button in einem weiteren Dokumentes erzeuge ich eine Mail an einen User. Dabei kopiere ich aus einer Vorlage (docReminder) einen Button, der im Body der Vorlage steht, der später beim Empfänger den Eintrag in dessen Kalender vornehmen soll.
Hier der entsprechende Ausschnitt zur Erzeugung der Mail mit dem entscheidenden Eintrag des Termins:

Code
Dim docMail As NotesDocument
Dim docReminder As NotesDocument

Set docReminder = CurrentDB.GetDocumentByUNID( "410D339D9F573BC8C12572B3003749C6" )
Set docMail = CurrentDB.CreateDocument

docMail.Form = "Memo"
docMail.SendTo = user
docMail.Subject = "Geplanter Termin am " & uidoc.FieldGetText("Termin")
docMail.Termin = uidoc.FieldGetText("Termin")

Set rtBody = New NotesRichTextItem( docMail, "Body" )
Call rtBody.AppendRTItem( docReminder.GetFirstItem("Body" ))
Call docMail.Send( False )

Diese Mail enthält nun tatsächlich den besagten Button und scheinbar das Feld “Termin”. Leider wird aber beim Ausführen des Buttoncodes der Fehler abgesetzt: „Cannot locate field“, obwohl im Debugger als auch bei den Propereties das Feld „Termin“ mit richtigem Inhalt ausgewiesen wird.

Hier der Buttoncode für das Eintragen des Reminder-Termins:

Code
Dim uiws As New NotesUIWorkspace
Dim docMail As NotesUIDocument
Dim duedate As String

Set docMail = uiws.CurrentDocument
duedate = docMail.FieldGetText("Termin")
LOTUS NOTES ERROR: Cannot locate field

Vielleicht kann mir jemand weiterhelfen, bin selbst ratlos.

Alexis
Titel: Re: Programmierfehler --> Cannot locate field
Beitrag von: MadMetzger am 05.04.07 - 10:44:03
Hm... Ich habe mal nach gelesen in der Designerhilfe. FieldGetText greift auf ein Feld zu, du aber möchtest auf ein Item im Backend zugreifen, das ist mein Verdacht. Gibt es denn in der Maske, womit der Empfänger das verschickte Dokument öffnet ein Feld Termin? Wahrscheinlich nicht, denn du sprichst von Kalender und dann wird es sich wohl um die Maildatenbank und darin um die Maske Memo handeln, worin es kein Feld Termin gibt. --> Du musst über das Backend per docMail.Termin(0) gehen  oder dir das Item holen.
Titel: Re: Programmierfehler --> Cannot locate field
Beitrag von: Alexis am 05.04.07 - 10:55:13
Bingo Marcus,

genau das isses, warum sehe ich das blos nicht selber?

Danke

Alexis
Titel: Re: Programmierfehler --> Cannot locate field
Beitrag von: MadMetzger am 05.04.07 - 11:02:04
Gern geschehen...

Übrigens: Ich schreibe meinen Namen mit "k"...  ;)