Domino 9 und frühere Versionen > ND8: Entwicklung
Historie anlegen
ThomasHB:
--- Zitat von: Peter Klett am 10.02.11 - 12:03:18 ---Vielleicht testest Du mit der letzten ID (also mit der, die ganz unten in der Ansicht steht). Nimm' mal eine andere. Trag mal als Person denjenigen ein, der im letzten Dokument enthalten ist, dann wird keine Historie erstellt, auch wenn der Name geändert wurde.
Es wäre mir auch unerklärlich, woher GetNextDocument wissen sollte, nach welcher Kategorie mittels GetDocumentByKey gesucht wurde. Ich glaube daher, dass Dein Script nur zufällig funktioniert.
--- Ende Zitat ---
Tja... Das glaube ich jetzt auch. ;D
Ich habe das natürlich sofort mal gemacht.
Schlägt natürlich mit aller Härte zurück und verhält sich exakt wie du es beschreibst.
Es wird kein Historiendokument erzeugt.
Gut, dann konnte das aber jetzt auch geklärt werden.
Das muss ich mir unbedingt merken, schöne Konversation. Hat mir einiges gebracht, Vielen Dank !
Viele Grüße,
Thomas
Peter Klett:
Hier noch eine Korrektur zu meiner vorgeschlagenen Lösung:
Im Queryclose ist der Name natürlich der, der aktuell im Dokument eingetragen ist, unabhängig davon, ob das Dokument gespeichert wurde. Deshalb würde ich mir im PostSave den Namen merken und im QueryClose nur dann ein Historiendokument erstellen, wenn 1. im PostSave ein Name gemerkt wurde (sonst wurde nicht gespeichert) und 2. dieser Name sich gegenüber dem Öffnen geändert hat. Meine Erweiterungen in blau:
Declarations
Dim vglperson As String
Dim merkperson As String
PostOpen
Dim doc As NotesDocument
Set doc = Source.Document
vglperson = doc.Person (0)
PostSave
Dim doc As NotesDocument
Set doc = Source.Document
merkperson = doc.Person (0)
QueryClose
Dim doc As NotesDocument
Set doc = Source.Document
If merkperson <> "" And vglperson <> merkperson Then
' -> neues Historiendokument schreiben
End If
koehlerbv:
Ich bin der Meinung, das eine solche Aktion nicht in das PostSave, sondern ins QuerSave gehört - zusammen mit einem passenden ErrorHandling. Geht im PostSave etwas schief, ist zwar die Änderung im Inventar-Dokument gespeichert, das History-Dokument wird aber nicht angelegt.
Bernhard
Peter Klett:
Es kommt immer darauf an, was sonst noch in einem Dokument abläuft. Wenn in irgendeinem QuerySave mit Continue = False eine Validierung das Speichern verhindert (z.B. in einer Teilmaske), wird die Historie gespeichert, obwohl das Dokument nicht gespeichert wurde. Wenn das PostSave läuft, ist definitiv das Dokument gespeichert worden /zumindest gehe ich davon aus).
Die Wahl besteht nur, ob ich im Fehlerfall ein Dokument zu viel oder zuwenig habe, ansonsten muss man dafür sorgen, dass möglichst keine Fehler auftreten können
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln