Hallo Frank,
da ich auch mit Ärzten zu tun habe weiß ich wovon du sprichst - allerdings sind Sachbearbeitende (hach, gendern ist toll...) da auch nicht besser. Sie haben nur nicht so viel Selbstbewusstsein "über" wie Ärzte. Aber das ist ein anderes Thema.
Ich kürze meine Kritik mal etwas ab indem ich die ketzerische Frage in den Raum stelle, was jetzt bei deinen Sperrdokumenten besser läuft als bei den Dokumentsperren, die dir Notes bereits von Hause aus bietet. Wenn ich da lese dass erst (per Script) auf Vorhandensein geprüft wird, Views nicht aktuell sind und überhaupt nicht immer alles wie es soll klappt. Beim integrierten Sperrmechanismus hast du nur ein Problem, wenn die Sperre mal nicht freigegeben wird und das löst bei mir ein periodischer Agent, der im Hintergrund alle Sperren freigibt, die älter als x Minuten sind. Im offenen Dokument läuft bei Bedarf ein Timer, der die Sperre einmal alle x-1 Minuten erneuert. Das ginge auch im Lesemodus übrigens. Aber okay, lassen wir das. Du hast dich entschieden und möchtest nur die nötigen Infos. Hier kommen sie:
Bild 1 zeigt dir die Sequence Number (SN) eines Dokuments. Ist unschwer zu erkennen hexadezimal dargestellt und erhöht sich mit jedem Speichern um 1.
Bild 2 zeigt dir die Sequence Number (Seq.-Num.) eines Feldes. Damit es nicht langweilig wird diesmal aber dezimal dargestellt. Diese erhöht sich beim Speichern nur, wenn das Feld ändernd angefasst, also der Inhalt neu geschrieben wurde, unabhängig davon ob sich auch wirklich der Wert geändert hat. Durch Vergleich der Dokument-SN und der SN jedes Feldes kann man herausfinden ob (und ggf was) geändert wurde.
Programmatisch gibt es mit LS keinen direkten Weg auf diese Infos zuzugreifen. Am einfachsten klappt es noch, wenn du schaust, ob das Feld $Revisions vorhanden ist und wieviele Einträge es hat. Unterscheidet sich der letzte Wert im Frontend vom letzten Wert im Backend weißt du, dass sich etwas geändert hat. Achtung: bei Konflikten oder Antwortdokumenten, die beim Speichern automatisch erzeugt werden kann das in die Hose gehen, da es dann mehr als ein Dokument im Backend gibt und die SN (bzw. $Revisions) dir dann nicht weiterhilft.
Willst du es genauer brauchst du die C-API:
NSFDbGetNoteInfo oder
NSFDbGetNoteInfoByUNID liefern dir die Daten.
Möchtest du dich ausführlicher mit ID's, Sequence Numbers & Co. beschäftigen habe ich bei Rudi noch eine Ytria Perle von Ben Benesi mit dem Titel
Dissecting IBM Notes Documents: Hidden Secrets and Tricks Unveiled zum Selbststudium gefunden:
https://officecamp.de/konferenz/ent2017.nsf/bc36cf8d512621e0c1256f870073e627/5e0a00f1f3ef1bf3c125800e0043a8eb/$FILE/T2S6-Dissecting-Documents.pdf
Übrigens: zum schnellen Suchen/Lösen von Replizierkonflikten empfehle ich die (kostenlose!) Advanced Property Box von Panagenda. Die zeigt dir farblich an, was sich zwischen zwei Dokumenten unterscheidet und lässt dich das bei Bedarf auch gleich (ohne Maske) direkt im Dokument ändern. Da macht Konflikte Lösen fast schon wieder Spaß
(Ein paar Kritikpunkte hätte daran aber dennoch - das ist aber ein wieder anderes Thema).
HTH
Carsten