Domino 9 und frühere Versionen > ND6: Entwicklung

Notes-Kalender überschreibt Datum/Zeit auf aktuell...

<< < (2/4) > >>

Glombi:
ich würde nur ins Backend schreiben und noch VOR dem
Call docM.Save( True, True )
ein
Call docM.ComputeWithForm( false, false )
einbauen.

Das ganze UI Zeugs brauchst Du eigentlich gar nicht, wenn ich das richtig sehe.

Andreas

koehlerbv:
Ich kann das jetzt aus Zeitmangel nicht Schritt für Schritt nachvollziehen, aber trotzdem ein paar Empfehlungen von mir:
Das Vermischen von FrontEnd- und BackEnd-Methoden bei der Erstellung oder Änderung eines Dokuments sind ein No-No. In Deinem konkreten Beispiel: Du erzeugst ein Dokument im FrontEnd - damit schlagen die entsprechenden FrontEnd-Events zu (hier lohnt sich dann ein Blick in die CoreEmailClasses, um zu sehen, was da noch so alles getrieben wird). Dann änderst Du Werte im Backend und speicherst diese ab. Schön und gut, aber im Frontend haben sich mittlerweile ganz andere Dinge ereignet. Dann speicherst Du im das Frontend-Dokument - und bügelst damit alles platt, was Du gerade im Backend gespeichert hast.
Also: Entweder alles im Frontend oder alles im Backend oder genau ermitteln, was wann wo passiert und gegeneinander abgleichen (nicht empfehlenswert !).

Wie gesagt: Nicht getestet, aber probier mal folgendes aus: Speichere erst das Frontend-Dokument und erst anschliessend das im Backend. Da wirst Du schon andere Resultate bekommen. Das mindert aber nicht meine Warnung, Front- und Backend-Methoden zu vermischen. Du arbeitest sonst mit zwei Instanzen. Vulgär ausgedrückt: Du reisst mit dem Arsch wieder ein, was Du gerade mit den Händen aufgebaut hast  ;)

HTH,
Bernhard

koehlerbv:
Ich sehe gerade: ndreas hat mit anderen und kürzeren Worten gerade gleiches gepostet.

Bernhard

sja:
Andreas, vielen Dank für Deine Hilfe. Ich habe folgendes gemacht:

   Set db = New NotesDatabase( tmpSRV, tmpMAIL )
   Set docM = db.CreateDocument
   docM.Form = "Appointment"
   docM.AppointmentType = "3"
   docM.EnterSendTo = Einlad
   docM.Subject = tmpSubject
   docM.Body = tmpBody
   
   Set rtitem = New NotesRichTextItem( docM, "Body" )
   Call rtitem.AppendText( tmpBody )
   Call rtitem.AddNewLine( 2 )
   Call rtitem.AppendText( "Dokumentverknüpfung:  " )
   Call rtitem.AppendDocLink ( docA, tmpSubject )
   
   docM.StartDateTime =AnfangD & " " & AnfangZ
   docM.EndDateTime =EndeD & " " & EndeZ
   docM.StartDate = AnfangD
   docM.EndDate = EndeD
   docM.StartTime =AnfangZ
   docM.EndTime = EndeZ
   Call docM.ComputeWithForm( False, False )
   Call docM.Save( True, True )

Mit Debugger ausgeführt, alle Felder waren richtig angezeigt, nach ComputeWithForm( False, False ) wurden alle andere Felder angezeigt alles ohne Fehlermeldungen gelaufen. Nur weder Termin-Dokument im Kalender noch Einladung habe ich nicht gefunden.  ???

Sofia

sja:
Andreas,
Bernhard,

danke schön.

Habe doch das dokument in der Ansicht "Alle Dokumente" gefunden. Beim Versuch das zu öffnen, erschien folgende Fehlermeldung:
"Fehler beim Öffnen des Dokuments: Element des Dokuments nicht gefunden."
und nach "OK"
"Feld: &#8222;StartDate_2&#8220;: Falscher Datentyp für Operator oder @Funktion: Zeit/Datum erwartet"
Das Feld "StartDate_2" ist erst in V6 und wird zur Anzeige berechtnet.
Dann habe ich in dem Eigenschaften-Box die Felder StartDate, StartDateTime ... gekuckt. Die sind von Datentyp: "Textliste".
In normales Termin-Dokument sind die Felder von Datentyp "Zeit/Datum".

Wie bekomme ich das richtig?

Vielen Dank für Euro Hilfe
Sofia


Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln