AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
21.01.19 - 18:38:12
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino 9
| |-+  ND9: Entwicklung (Moderatoren: Axel, eknori, Thomas Schulte, koehlerbv, m3)
| | |-+  Warum wird die Änderung nicht gespeichert?
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Warum wird die Änderung nicht gespeichert?  (Gelesen 535 mal)
schroederk
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1552

Ich liebe dieses Forum!


« 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?

Gespeichert

Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?
jBubbleBoy
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1085



« Antworten #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?
Gespeichert

Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.5
--
Nur ein toter Bug, ist ein guter Bug!
schroederk
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1552

Ich liebe dieses Forum!


« Antworten #2 am: 14.11.18 - 11:24:19 »

Das Ganze soll im Querysave der Kalendermaske passieren. Also beim Speichern eines Kalendereintrags.
Gespeichert

Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?
jBubbleBoy
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1085



« Antworten #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 Wink
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.
Gespeichert

Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.5
--
Nur ein toter Bug, ist ein guter Bug!
schroederk
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1552

Ich liebe dieses Forum!


« Antworten #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.  Ahnungslos
Gespeichert

Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?
jBubbleBoy
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1085



« Antworten #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.
Gespeichert

Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.5
--
Nur ein toter Bug, ist ein guter Bug!
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 20460



« Antworten #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.
Gespeichert
schroederk
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1552

Ich liebe dieses Forum!


« Antworten #7 am: 14.11.18 - 14:30:09 »

Das "source.fieldSetText" war die Lösung.
Vielen lieben Dank dafür.  Knuddeln

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.
Gespeichert

Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?
Pfefferminz-T
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 1037


« Antworten #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?
Gespeichert

Grüsse,
Thorsten
schroederk
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1552

Ich liebe dieses Forum!


« Antworten #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.  Ahnungslos
Gespeichert

Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: