Dokumente von Ansicht in Ordner verschieben

  • Um ein Dokument von einer Ansicht in einen Ordner zu verschieben verwendete ich folgendes LScript


    Dim ws As New NotesUIWorkspace
    Set db = session.Currentdatabase
    Set uidoc = ws.CurrentDocument
    Set doc = uidoc.Document

    Set doc.status="archivieren"
    If Doc.status = "archivieren" Then
    Call ws.folder("Archiv", True)
    Exit Sub
    End If


    Das Dokument wird zwar in den Ordner abgelegt, verschwindet aber nicht aus der Ansicht, welches die Auswahlformel: SELECT (@Contains(status; "erledigt")) enthält. Mit meinem Script wollte ich den Status des Dokuments ändern, damit die Auswahlformel nicht mehr zutrifft aber irgendwas klappt da nicht.


    Kann mir jemand weiterhelfen???

  • So funktioniert es nicht, irgendwo ist da noch ein Fehler. Vielleicht das set doc.status?


    Dim ws As New NotesUIWorkspace
    Set db = session.Currentdatabase
    Set uidoc = ws.CurrentDocument
    Set doc = uidoc.Document


    Set doc.status="archivieren"
    Call doc.save(True, True)
    If doc.status = "archivieren" Then
    Call ws.folder("Archiv", True)
    Exit Sub
    End If


    :roll:

    • Offizieller Beitrag

    lass mal das Set in der Zeile weg.


    Mit einem ws.ViewRefresh kannst Du die Ansicht aktualisieren.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

    • Offizieller Beitrag

    dann liegt es an Deinem uidoc. Was sagt der Debugger zum Objekt uidoc (ist wahrscheinlich nicht vorhanden)?


    Gruß
    Dirk

    • Offizieller Beitrag

    Bei Deinem Script muss ein Dokument im FrontEnd geöffnet sein. Du änderst das Dokument dann im BackEnd.


    Dies könntest Du auch gleich im BackEnd tun, indem Du z.B. die markierten Dokumente der Ansicht verwendest (NotesDatabase.UnprocessedDocuments).


    Gruß
    Dirk

  • Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim collection As NotesDocumentCollection
    Dim doc As NotesDocument
    Set db = session.CurrentDatabase
    Set collection = db.UnprocessedDocuments


    doc.status="archivieren"
    Call doc.save(True, True)
    If doc.status = "archivieren" Then
    Call ws.folder("Archiv", True)
    Exit Sub
    End If


    Das klappt auch noch nicht.

    • Offizieller Beitrag

    in der Deigner-Hilfe - Index und dann nach UnprocessedDocuments suchen.


    ODER hier.


    Gruß
    Dirk

  • Irgendwie haben wir uns überschnitten, hier das Ergebnis meines Grübelns


    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim collection As NotesDocumentCollection
    Dim doc As NotesDocument
    Set db = session.CurrentDatabase
    Set collection = db.UnprocessedDocuments


    doc.status="archivieren"
    Call doc.save(True, True)
    If doc.status = "archivieren" Then
    Call ws.folder("Archiv", True)
    Exit Sub
    End If


    Das klappt auch noch nicht.

    • Offizieller Beitrag

    Dir fehlt noch das Dokument.
    Eventuell könntets Du auch mehrere Dokumente über eine Schleife bearbeiten. Bei einer DocumentCollection kannst Du mit PutAllinFolder die Dokumente in einen Ordner verschieben.


    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein