Hallo,
ich stehe mal wieder auf dem Schlauch:
Ich hab ein Script, dass den Body-Eintrag eines Kalendereintrags ersetzt.
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.
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?
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:
Call csEventObj.onChange(FIELD_LOCATION, "" )
Diesen Code würde ich nach einer LS Backend-Änderung des Feldes Location mal mit ausführen.