zu viele Dokumente gleichzeitig geöffnet?

  • Hallo,


    ich muss in einer Datenbank über 19000 Dokumente aktualisieren.


    Damit alles funktioniert habe ich diesen Agenten erstellt:


    Dim session As New NotesSession
    Dim uiws As New NotesUIWorkspace
    Dim db As NotesDatabase
    Dim collection As NotesDocumentCollection
    Dim doc As NotesDocument
    Dim uidoc As NotesUIDocument

    Set db = session.CurrentDatabase
    Set collection = db.unprocessedDocuments
    Set doc = collection.GetFirstDocument

    While Not (doc Is Nothing)
    Set uidoc = uiws.EditDocument(True,doc)
    Call uidoc.Refresh
    Call uidoc.Save
    Call uidoc.Close
    Set doc = collection.GetNextDocument(doc)
    Wend


    Das Problem ist, das nach einigen Dokumenten der Fehler "Das schließen des Fensters kann nicht verzögert werden" auftritt.


    In diesem Moment sieht man in der Dokumentenauswahlleiste von Notes ein große Anzahl von Dokumenten sowie ein Pfeil der auf weitere Dokumente verweist.


    Höchstwarscheinlich ist die Grenze der maximal geöffneten Dokumente erreicht.


    Warum? Im Script schließe ich doch das Dokument, welchesich bearbeitet habe. Warum werden die ganzen Dokumente erst geschlossen, wenn ich den Fehler bestätige?


    Kann ich die Anzahl der maximal geöffnetet Dokumente nach ober verändern?


    Übrigens, ich habe auch schon eine Pause von 1 sec eingebaut. Es passiert genau das gleiche.


    Danke für eure Hilfe


    René

    nichts ist unmöglich, aber auch gar nichts wenn man genug Zeit und Geld hat

  • zuerst einmal...reicht Dir ein uidoc.refresh?
    Dabei wird ja nicht alles im Dok abgearbeitet. Das Problem taucht wahrscheinlich wirklich wegen dem Oeffnen der Dokumente auf.
    Vielleicht versuchste mal ein @Command([ToolsRefreshAllDocs]) ; dabei werden auch alle Formeln abgearbeitet. Ich weiss nur nicht, wie lange sowas bei 19.000 Dokumenten dauert und wie Deine Dokumente aussehen.
    Oder versuch mal ein doc.ComputeWithForm (False, False)..da muss man nichts oeffnen.

  • Hallo dnotes,


    im Postsave wird ein neues Dokument erzeugt was einige Informationen aus dem geöffnetem Dokument übernimmt. Deshalb funktionieren die anderen Befehle nicht.


    Im Dokument selbst wird garnichts neu berechnet oder geändert.


    Gruß
    René

    nichts ist unmöglich, aber auch gar nichts wenn man genug Zeit und Geld hat

  • Warum erstellste die dokumente nicht mit script ohne die Dokuemnte zu oeffnen?
    Auf die Idee wuerde ich nie kommen.
    *was nichts heissen muss :lol: