Dokumente per Script selektieren

  • Hallo,


    ich möchte über eine Script - Funktion Dokumente in einer Ansicht selektieren. Diese sollen anschliessend gedruckt werden. Leider werden die Dokumente nicht selektiert.


    -> Die Funktion springt im if-Teil in den True - Bereich



    Hier mein Script:


    Dim ws As New NotesUIWorkSpace
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim ddoc As NotesDocument
    Dim view As NotesView
    Dim uiview As NotesUIView
    Dim dc As NotesDocumentCollection
    Dim doc As NotesDocument
    Dim sdoc As NotesDocument


    Set db = session.CurrentDatabase
    Set view = db.GetView(" viwTodoByDate")
    Set uiview = ws.CurrentView

    Set ddoc = db.CreateDocument

    flag = ws.DialogBox("dlgSelectPrintView", True, True, True, False, False, False, "Drucken...", ddoc, True, False)

    Set doc = view.GetFirstDocument

    While Not doc Is Nothing

    If IsMember(ddoc.fdPersonen, doc.fdMitarbeiter) = True Then

    uiview.SelectDocument(doc)

    End If

    Set doc = view.GetNextDocument(doc)

    Wend

    Call uiview.Print(,,,,, True)

  • hi,


    was ist denn 'IsMember' für eine Script-Funktion ?
    Hast du die selbst programmiert, dann fehlt der Code.


    Oder habe ich die Einführung des @IsMember in Script verschlafen ?


    Check doch mal bitte...


    gruss, freddyk

  • freddy:
    Die Funktion IsMember ist nicht soo wichtig, da er ja laut Aussage in den If Zweig reinläuft.


    Zonk
    Uhhm.


    Bist Du sicher, dass Du Dir von der Funktion
    uiview.SelectDocument(doc)
    das Richtige erhoffst?


    Auszug aus der Hilfe:
    This view action selects the first document in a collection and moves the pointer to that document.
    ....


    Hab' mal das Hilfebeispiel ausprobiert, also das wird kein Dokument in der Ansicht markiert..

    • Offizieller Beitrag

    ibnfad
    in meiner Hilfe steht zu SelectDocument etwas anderes
    "Selects the specified document in a view."


    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

  • >"Selects the specified document in a view."
    Öh, in meiner Hilfe auch.


    Das von mir zitierte steht bei dem Hilfebeispiel.
    Dachte mir, da wäre genauer beschrieben, was die mit "Select" meinen, eben nur 'nen Pointer auf das Doc und nicht den Hacken
    in der Ansicht.


    Allerdings: Wer braucht schon 'nen Pointer?!
    Der Punkt ist:
    uiview.SelectDocument(doc) funktioniert schon im Hilfebeispiel nicht derart, dass ein Dokument markiert wird.


    Grüße
    Michael

  • Hallo,


    erstmal vielen Dank für die rege Diskussion. Tja, leider funktioniert das Beispiel aus der Hilfe nicht, wie schon angemerkt. Den Pointer brauche ich nicht, sondern ich brauche eine Auswahl...


    Kennt Ihr vielleicht eine Andere Möglichkeit?


    Vielen Dank für Eure Antworten...


    Gruss
    Zonk

  • Zitat


    Vielen Dank für Eure Antworten...


    Och, ist ja ein geben und nehmen.


    Zitat


    Kennt Ihr vielleicht eine Andere Möglichkeit?


    1. -Eine Dokument Collection erstellen mit der Auswahlformel,
    die sich in der Function isMember verbirgt.
    -Die Collection in einen (neu zu erstellenenden) Ornder packen
    -alle Dokumente im Ordner ausdrucken
    -Ordner wieder löschen.


    2. - Eine view verwenden, deren SelectionFormula derart
    anpassen, dass nur die zu druckenden Dokumente angezeigt
    werden.
    - In die view wechseln
    - ausdrucken
    - wieder in die alte View wechseln


    Die 2. Version finde ich eleganter; allerdings kann ich Dir im Augenblick keine Einzelheiten wie Code oder so liefern;
    habe gerade kein passendes Beispiel parat.

  • Hi,


    ich habe die 2. te Variante gewählt. Das funktioniert auch. Vielen Dank für den Tip.


    Nachteil ist leider, das man vermutlich Designer - Rechte auf die Datenbank benötigt...


    Gruss
    Zonk