Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: ringelnatz66 am 17.06.11 - 09:17:32
-
Hallo zusammen,
ich erstelle mit dem Code unten aus einer Mail einen Termin. das klappt auch wunderbar. Der termin wird eingetragen und alle Felder sind schön gefüllt. Auch das Feld "body" (Richtext in der appointmentmaske). Da das ganze ja im Frontend stattfindet kann ich den Inhalt am Bildschirm sehen. Danachwird das Domument geschlossen. Rufe ich nun diesen termin neu über den Kalender auf ist alles da bis auf den Inhalt des Feldes "Body".
Warum ? Ich habs gesehen und gespeichert wirds im Code doch auch!
Sub Click(Source As Button)
Dim Beschreibung As String
Dim sdatum As String
Dim szeit As String
Dim edatum As String
Dim ezeit As String
Dim h_raum As String
Dim h_beschreibung As String
Dim dbmail As New NotesDatabase("","")
Dim uiws As New notesuiworkspace
Dim uidoc As NotesuiDocument
Dim h_body As String
Set uidoc = uiws.CurrentDocument
h_raum=uidoc.FieldGetText("mf_raum")
h_beschreibung=uidoc.FieldGetText("mf_besprechungspunkt")
h_body=uidoc.FieldGetText("mf_anm_besprechungspunkt")
sdatum= uidoc.Fieldgettext(Cstr("mf_sitzungsdatum"))
szeit= uidoc.FieldGetText(Cstr("mf_uhr_von"))
edatum= uidoc.FieldGetText(Cstr("mf_sitzungsdatum"))
ezeit= uidoc.FieldGetText(Cstr("mf_uhr_bis"))
Call dbmail.OpenMail()
Set uidoc= uiws.composedocument(dbmail.Server,dbmail.FilePath,"Appointment")
Call uidoc.FieldSetText("appointmenttype","0")
Call uidoc.FieldSetText("tmpappointmenttype","0")
Call uidoc.Refresh
Call uidoc.reload
Call uidoc.fieldsettext("subject","Vorstandssitzung am " + sdatum + " " + h_beschreibung)
Call uidoc.FieldSetText("location",h_raum)
Call uidoc.fieldAppendText("body",h_body)
Call uidoc.save
Call uidoc.FieldSetText("startdate",sdatum)
Call uidoc.fieldsettext("starttime",szeit)
Call uidoc.FieldSetText("enddate",edatum)
Call uidoc.FieldSetText("endtime",ezeit)
Call uidoc.Refresh
Call uidoc.reload
Call uidoc.save
Call uidoc.close
Msgbox"Der Kalendereintrag wurde erzeugt"
End Sub
-
Hallo,
Fuer mich sieht es aber so aus, als ob Dein Code nicht das Body-Feld der betreffenden Maske verwendet.
Wenn dem so waere, wuerde der Text
"<Geben Sie eine Beschreibung ein>"
nicht mehr sichtbar sein.
Andreas
-
Der Text ""<Geben Sie eine Beschreibung ein>"
" ist definitiv der Feldhinweistext des RichTextFeldes "Body". Ein anderes Feld gibt es da auch in der Maske "Appointment" nicht.
-
Das ist richtig.
Nur hast Du schon mal gesehen, was passiert, wenn Du manuell in dieses Feld gehst, um etwas eintzutragen?
Richtig.
Der Hinweistext verschwindet.
Andreas
-
Das ist auch richtig. der text verschwindet dann. Schon 1000mal gemacht. Aber was mache ich bzw. das Scrpit denn falsch das der Wert sichtbar wird aber nicht gespeichert wird?
-
Gerade Manipulationen an einem RichText-Item würde ich persönlich lieber im Backend-Dokument machen und dann anschließend das erzeugte/gespeicherte Dokument im Frontend zur Anzeige öffnen.
Da Du das Dokument ja sowieso komplett neu erzeugst, sehe ich auch keinen Grund das unbedingt im Frontend zu machen.
-
Leider habe ich von LS grundsätzlich soviel Ahnung wie ne Kuh vom tanzen. Bin froh das dieses Ding überhaupt läuft.
Hast du nen Code den ich für meine Zwecke umbasteln kann ?
-
Nein, habe ich nicht.
Hälst Du es für eine gute Idee, in der Maildatenbank zu programmieren, wenn Du nicht die notwendigen Kenntnisse mitbringst ?
Dabei kann man mehr kaputtmachen, als man vielleicht denkt. Ich bin mir z.B. ziemlich sicher, daß Du mit dem Code nicht sämtliche notwendigen Felder füllst, die für einen Termin gesetzt sein müssen. Das bringt dann Risiken mit sich was z.B. die Freie-Zeit-Suche betrifft oder die Synchronisation der Daten mit Gruppenkalendern oder Mobiltelefonen.
Wie willst Du so eine Lösung supporten/warten ?
-
Hälst Du es für eine gute Idee, in der Maildatenbank zu programmieren, wenn Du nicht die notwendigen Kenntnisse mitbringst ?
Dabei kann man mehr kaputtmachen, als man vielleicht denkt. Ich bin mir z.B. ziemlich sicher, daß Du mit dem Code nicht sämtliche notwendigen Felder füllst, die für einen Termin gesetzt sein müssen. Das bringt dann Risiken mit sich was z.B. die Freie-Zeit-Suche betrifft oder die Synchronisation der Daten mit Gruppenkalendern oder Mobiltelefonen.
Dem ist erstmal nichts hinzuzufügen.
Aber nur mal so viel zur Unterstützung. Die Methode fieldappendtext ist für RTF-Felder m. E. ungeeignet. Schau die in der Designer-Hilfe mal die Klasse NotesRichTextItem an. Dort und hier im Forum gibt's eine ganze Reihe Beispiele wie man RTF-Felder füllt.
Im Forum gibt's auch eine ganze Reiche an Posts die sich mit dem Erstellen von Kalenderdokumenten per LotusScript befassen.
Aber nochmal die eindringliche Warnung. Wenn du keine Ahnung hast was du das tust, lass die Finger von der Mail-Schablone. Dann sucht euch lieber einen Dienstleister.
Axel
-
... das kann ich nur unterstreichen. Das kann riesige Probleme machen. Das ist eine OP am "offenen Herzen" ohne "Netz" - da macht ein kleiner Fehler schon große Störungen, die dann kaum noch zu supporten sein dürften...
Toni ;)