Autor Thema: Warum wird die Änderung nicht gespeichert?  (Gelesen 2922 mal)

Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.918
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Warum wird die Änderung nicht gespeichert?
« am: 14.11.18 - 09:57:39 »
Hallo,

ich stehe mal wieder auf dem Schlauch:

Ich hab ein Script, dass den Body-Eintrag eines Kalendereintrags ersetzt.

Code
			If source.Document.HasItem("Body") Then
				Call source.Document.RemoveItem("Body")
			End If
			Call source.Document.AppendItemValue("Body", mytext )
			Call source.Document.Save(True, False, False)					


Das funktioniert soweit auch problemlos. aber jetzt möchte ich noch ein weiteres Feld ändern. Und da scheitert es bei mir.

Code
			If source.Document.HasItem("Body") Then
				Call source.Document.RemoveItem("Body")
			End If
			Print "ORT = " & source.Document.GetItemValue("Location")(0)
			Set LocItem = source.Document.ReplaceItemValue("Location", "blabla")
			Print "ORT = " & source.Document.GetItemValue("Location")(0)
			source.Document.Location =  "test"
			Print "ORT = " & source.Document.GetItemValue("Location")(0)
			Call source.Document.AppendItemValue("Body", mytext )
			Call source.Document.Save(True, False, False)					

In der Konsole wird mir bei jedem Print der erwartete Inhalt angezeigt, aber nach dem Speichern hat das Dokument noch den ursprünglichen Wert.
Der Body wurde aber ersetzt. Kann das jemand erklären?

Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.276
  • Geschlecht: Männlich
Re: Warum wird die Änderung nicht gespeichert?
« Antwort #1 am: 14.11.18 - 11:14:34 »
Ist das die Kalendermaske der Mail-DB und das Dokument ist im Notesclient geöffnet? Im Lese- oder Bearbeitenmodus?
Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16
--
Nur ein toter Bug, ist ein guter Bug!

Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.918
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Warum wird die Änderung nicht gespeichert?
« Antwort #2 am: 14.11.18 - 11:24:19 »
Das Ganze soll im Querysave der Kalendermaske passieren. Also beim Speichern eines Kalendereintrags.
Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.276
  • Geschlecht: Männlich
Re: Warum wird die Änderung nicht gespeichert?
« Antwort #3 am: 14.11.18 - 12:05:07 »
Die Kalendermaske ist natürlich etwas besonderes. Hier gibt es die Klassenvariable "Dim csEventObj As CSCalendarEntry" bei Declarations, welche Kalenderfunktionen bereithält und natürlich nicht dokumentiert ist ;)
Beim Feld Location, im Ereignis "Onchange" steht bei mir folgender Code:
Code
 Call csEventObj.onChange(FIELD_LOCATION, "" )
Diesen Code würde ich nach einer LS Backend-Änderung des Feldes Location mal mit ausführen.
Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16
--
Nur ein toter Bug, ist ein guter Bug!

Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.918
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Warum wird die Änderung nicht gespeichert?
« Antwort #4 am: 14.11.18 - 13:43:58 »
Das steht bei mir auch. Hast Du eine Idee, was das bewirken soll? Es ist mir nicht bekannt, dass die Angabe eines Ortes ein Event auslöst.
Ich habe den Call vor dem doc.save eingefügt. Es hatte aber leider keine Auswirkung auf das Ergebnis.  :-:
Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.276
  • Geschlecht: Männlich
Re: Warum wird die Änderung nicht gespeichert?
« Antwort #5 am: 14.11.18 - 13:55:13 »
Du machst im QuerySave ein doc.save? Oder wo wird dieser Code ausgeführt?

Was die Klasse "CSCalendarEntry" so alles macht kann ich nicht sagen, denke aber das es ein Abbild der Felder des Kalenderdokumentes beinhaltet und beim Speichern bestimmt sehr viel berechnen muss ...
Wenn Du deinen Code wirklich über QuerySave ausführst, dann sollte ein "source.fieldSetText" auf jeden Fall funktionieren.
Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16
--
Nur ein toter Bug, ist ein guter Bug!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Warum wird die Änderung nicht gespeichert?
« Antwort #6 am: 14.11.18 - 14:16:23 »
CSCalendarENtry beinhaltet eine weitere Kopie des Backend-Dokuments hinter dem geöffneten Frontend-Calendar Document. Kämpfen in Deinem Konstrukt bereits Frontend- (Source) und Backend-Dokument (Source.Document), kommt nun nochmals ein solches Objekt dazu.

Da einfachste Verfahren - wie Erik schon schrieb - ist es, wenn Du Dich hier pur auf Frontend-Methoden beschränken kannst. Ansonsten musst Du Frontend- und Backend-Objekte strikt voneinander trennen / getrennt behandeln.

Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.918
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Warum wird die Änderung nicht gespeichert?
« Antwort #7 am: 14.11.18 - 14:30:09 »
Das "source.fieldSetText" war die Lösung.
Vielen lieben Dank dafür.  :knuddel:

Ich hoffe, dass ich nicht noch mehr an der Standardschablone rumwurschteln muss, nur damit die Assistentin der Geschäftsführung zufrieden ist.

Zum Hintergrund:
Ihr ist es zu lästig, bei Einladungen zu Telefonkonferenzen immer selber die Einwahlnummer, Raumnummer und Pin-Code reinzuschreiben.
Und unbedingt gewünscht (gefordert) war, diese Informationen im Ort und in der Beschreibung einzutragen. Der Raumname ist ähnlich benannt, wenn auch mit den für den Raum gelten Einschränkungen bezüglich Sonderzeichen.
Meine Idee war daher über den RnRMgr einen Ressource zu erstellen und immer wenn diese ausgewählt wird, die erforderlichen Informationen aus einer Hilfs-DB heranzuziehen. Das habe ich dann halt im QuerySave der Kalender-Maske eingebaut.

Nochmals Danke sehr.
Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

Offline Pfefferminz-T

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.200
Re: Warum wird die Änderung nicht gespeichert?
« Antwort #8 am: 15.11.18 - 06:54:17 »
Die Standardfunktion, dass diese Informationen aus dem hinterlegten Kalenderprofil immer in eine Besprechungseinladung eingefügt werden, ist bekannt?
Grüsse,
Thorsten

Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.918
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Warum wird die Änderung nicht gespeichert?
« Antwort #9 am: 15.11.18 - 07:33:48 »
Die Standardfunktion, dass diese Informationen aus dem hinterlegten Kalenderprofil immer in eine Besprechungseinladung eingefügt werden, ist bekannt?

Ich bin mir nicht sicher, was Du jetzt meinst. Was wohl bedeutet: ist mir nicht bekannt.  :-:
Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz