Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Tode am 25.03.11 - 13:28:05
-
Ich habe in einem Dokument mehrere Abschnitte, und in diesen Abschnitten Felder, die Signiert werden beim speichern im Abschnitt (Sicherheitsoption des Feldes).
Bei einem Dokument bekomme ich jetzt die Meldung: "Document has been modified or corrupted since signed! (data)".
OK: Eines der Felder wurde also modifiziert seit es signiert wurde... Jetzt würde ich gerne dahinter kommen, welches Feld da den Fehler verursacht.... Habe ich da irgendeine Möglichkeit?
Ich WILL ja, dass eine solche Meldung kommt, wenn sich jemand an den Daten zu schaffen macht, sonst hätte ich das ja nicht eingebaut, aber in diesem Fall sind die Daten original (zumindest dem Inhalt nach, ich weiss nämlich, was da drin stehen muss, und das steht auch drin)...
Habe ich irgend eine Möglichkeit, herauszufinden:
a) welches Feld den Fehler verursacht
b) wer genau dieses Feld zuletzt geändert hat
Thanx
Tode
-
... ich denke es liegt dann an deinem Coding - schau mal in deinen Verzweigungen nach, die dir diesen Fehler anzeigen.
Ansonstenm kannst du über LS an das LastModified eines Items kommen - so als Idee, falls meine obige Aussage nicht zutrifft...
Toni ;)
-
Der Fehler kommt beim öffnen des Dokuments... Einem von insgesamt 554, von einem grundsätzlichen Coding- Problem würde ich also mal nicht ausgehen.
Der Fehler lässt sich "beheben", indem man die $Sign_xxxxx - Felder aus dem Dokument löscht (und damit natürlich alle bisherigen Signaturen, da der Workflow aber erst im zweiten Schritt ist, lässt sich das verschmerzen)...
Die Idee mit dem LastModified der Items ist sehr gut... das werde ich mir gleich mal anschauen...
Ob ich der Sache jetzt weiter auf den Grund gehe, weiss ich noch nicht... Wie gesagt: Ist erst das erste mal vorgekommen und könnte eine Verkettung unglücklicher Umstände sein (Client- Crash o.ä.)...
Trotzdem danke für den Hinweis mit dem Modified.
Gruss
Tode
-
mit doc.isSigned und doc.signer kannst du prüfen ob das Doc korrekt signiert ist,
du bekommst aber so u.U nicht raus welches Feld das Problem verursacht.
Evtl der Reihe nach $Sign_xxxx löschen (doc nicht speichern) und schauen bis das Doc signiert ist
Gruß
Roland