Domino 9 und frühere Versionen > ND9: Entwicklung

Frage zu RichtextFeld

<< < (2/2)

Peter Klett:
Dafür kannst Du auch ein echtes Dokument nehmen. Ich würde ein Dokument für jeden User verwenden (neu erstellen, falls noch nicht vorhanden, sonst das alte wiederverwenden (RTItem aus Dokument löschen)).

Diese Dokumente werden nirgendwo angezeigt und liegen nur herum, um für diese Aktion benutzt zu werden. Löschen würde ich die nicht, das bläht die Datenbank auf und den Usern sollte auch das Löschrecht fehlen.

Profildokumente gehen auch, ist reine Geschmacksache.

Tode:
Du musst das "Hilfedoc" nicht speichern (und damit auch nicht wieder löschen)... nur ein rtitem.Update ist nötig, damit Du das gesamte Richtextitem mit allen Änderungen bekommst.

Wenn Dein "History"- Feld berechnet ist, dann wirst Du über ein ReOpen des Dokuments nicht drumrum kommen...

Domenik L.:
Hallo zusammen,

hab hier eine Lösung die funktioniert, dazu benötigt man aber 3 RT-Felder. Hier mal das Script, hoffe das hilft weiter.

Sub Click(Source As Button)
   Dim w As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim docA As NotesDocument
   Dim rtitemA As Variant
   Dim rtitemB As Variant
   Dim rtitemC As Variant   
   Set uidoc = w.CurrentDocument
   Set docA = uidoc.Document
   Call uidoc.Save
   
   Set rtitemA = docA.GetFirstItem( "Serviceauftrag" )
   Set rtitemB = docA.GetFirstItem( "Zwischenfeld" )
   Set rtitemC = docA.GetFirstItem( "Historie" )
   
'''''''''   
   'Schritt 1.1
   Call rtitemB.AppendRTItem( rtitemC )
   Set rtItem = docA.ReplaceItemValue("Historie", "")
   'Schritt 1.2
   Call rtitemC.AddNewLine(1)      
   Call rtitemC.AppendText( "-> aktualisiert am " + Now + ":  ==========================================================" )
   Call rtitemC.AddNewLine(2)      
   Call rtitemC.AppendRTItem( rtitemA )
   'Schritt 1.3
   Call rtitemC.AppendRTItem( rtitemB )
'''''''''
   'Leere RT-Felder A+B löschen und schließen
   Set rtItem = docA.ReplaceItemValue("Serviceauftrag", "")
   Set rtItem = docA.ReplaceItemValue("Zwischenfeld", "")
   docA.SaveOptions = "0"
   Call docA.Save(False, True)
   Call uidoc.Close
   
End Sub

MfG
Domenik

arieger:
Supersache,
vielen Dank für die Tipps. Funktioniert.
Viele Grüße
Anton :)

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln