Domino 9 und frühere Versionen > ND7: Entwicklung
Beseitigung - ID des Dokumets, das den Fehler verursacht hat
nsm:
Hallo!
Durch mir nicht erklärbare Umstände kan ich in einer DB den Befehl @Command([ToolsRefreshSelectedDocs]) - der
als Smarticon hinterlegt ist - nicht mehr auf alle Docs ausführen.
Es wird dabei der Fehler "ID des Dokumets, das den Fehler verursacht hat = 5742" ausgegeben.
Wenn ich das Doc nu öffne und erneut speichere läuft "ToolsRefreshSelectedDocs" ohne Probleme darüber.
Ich habe schon versicht einen Agent zu erstellen der mir die Docs öffnet speichert und wieder zumacht.
@Command([EditDocument];"1");
@Command([FileSave];"1");
@Command([EditDocument];"0")
Der läuft aber leider nicht richtig.
Auch habe ich einige Zeilen Code gefunden und angepasst.
Ich lasse in ein neues Feld einfach einen Dummiwert schreiben.
Sub Terminate
Dim Session As NotesSession
Dim Db As NotesDatabase
Dim Doc As NotesDocument
Set Session = New NotesSession
Set Db = Session.CurrentDatabase
Set Doc = Db.CreateDocument
Call Doc.ReplaceItemValue("fld_bearbeitet","JA")
Call Doc.Save(True, False, False)
End Sub
Dieser macht leider auch Probleme - es wird nix in die Docs geschrieben. ??? ??? ??? ???
Was muß ich am Code ändern damit die Docs geöffnet, gespeichert und wieder geschlossen werden?
Danke
mest
ascabg:
Hallo,
Kleine Frage.
Was soll dieser Code denn tun?
--- Code: ---Sub Terminate
Dim Session As NotesSession
Dim Db As NotesDatabase
Dim Doc As NotesDocument
Set Session = New NotesSession
Set Db = Session.CurrentDatabase
Set Doc = Db.CreateDocument
Call Doc.ReplaceItemValue("fld_bearbeitet","JA")
Call Doc.Save(True, False, False)
End Sub
--- Ende Code ---
Der macht doch nichts anderes als die aktuelle Db zu oeffnen, ein NEUES Dokument zu erzeugen,
einen Wert in das Feld "fld_bearbeitet" zu schreiben und dieses Dokument zu speichern.
Steht also in komplettem Gegensatz zu Deiner geschilderten Anforderung, einen Wert in ein
bereits vorhandenes Dokument zu schreiben.
Andreas
Peter Klett:
Wenn Du solch ein Dokument findest, solltest Du es erstmal nicht öffnen und speichern, sondern in der Felderliste den Unterschied zu den anderen funktionierenden Dokumenten suchen. Vermutlich berechnest Du innerhalb des Dokuments etwas aus einem Feld, bei dem Du von einem bestimmten Typ ausgehst (z.B. einer Zahl). Das Feld enthält aber keine Zahl, vielleicht irgendeinen Text oder auch nichts.
Wenn Du das gefunden hast, solltest Du nach der Ursache für die Abweichung suchen und entweder die Ursache abstellen, oder, falls das Verhalten normal ist und nur bei der Entwicklung nicht bedacht wurde, die Berechnung im Dokument toleranter realisieren.
nsm:
Hallo!
@ALL
Habe meinen Kollegen bei dem das Problem auftritt erneut auf den Zahl gefüht und siehe da - neue Informationen!
Bei der DB handelt es sich um eine MailSchaoble der Verison 8.5.1 DE.
Das Problem wurde zu 99% durch eine fehlerhafe Syncronisation mit seinem Handy bzsw. deren SyncSW ausgelöst.
@Peter Klett
Beim Vergleich mit Document Viewer konnte ich nur festellen, daß nach dem Speichern einige neue Felder hinzugekommen sind.
z.B.: BlindCopyTo (NAMES), Encrypt (TEXT), EnterBlindCopyTo (NAMES), EnterCopyTo (NAMES), ExpandPersonalGroups (TEXT)
Das dürften Felder der 8.5.1 sein welche in ein "altes Doc" geschrieben werden - oder?
@ascabg
Der Code soll in einen Agenten verpackt werden den ich dann über alle Docs laufen lassen kann.
Die Docs sollen nur geöffnet, neu gespeichert und wieder geschlossen werden.
Da @Command([ToolsRefreshSelectedDocs]) ja leider nicht läuft.
Danke für die Unterstützung
mest
ascabg:
Hallo,
--- Zitat ---Der Code soll in einen Agenten verpackt werden den ich dann über alle Docs laufen lassen kann.
Die Docs sollen nur geöffnet, neu gespeichert und wieder geschlossen werden.
Da @Command([ToolsRefreshSelectedDocs]) ja leider nicht läuft.
--- Ende Zitat ---
Das mag schon sein. Aber der von Dir eingestellte Code tut dieses bei leibe nicht.
Mit db.CreateDocument erstelltst Du nummal neue Dokumente in der Datenbank und veraenderst keine vorhandenen.
Und stellt sich auch die Frage, ob der Agent manuell gestartet wird oder ob dieser
als periodischer Agent laufen soll.
Andreas
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln