separates Forwarding mehrerer markierter Dokumente

  • Hi zusammen,


    folgendes Szenario:
    in einer Maildatenbank sollen mehrere Dokumente auf einen Schlag weitergeleitet werden. Dazu markiert der User die gewünschten Dokumente und per Aktionsbutton wird das Forwarding angestossen. Die dem Aktionsbutton hinterlegte Formel


    @Command([ComposeWithReference]; "" ; "WGMemo"; 1 + 2 + 32 + 64)


    hat nun leider den Effekt, dass sie alle markierten Dokumente zu einem zusammenfasst. Wie kann man erreichen, dass mir Notes pro markiertem Dokument ein neues Weiterleitungsdokument erzeugt? Notwendig ist dies, da die Weiterleitungs Maske spezielle Computed Fields enthält, die ein einzelnes Dokument voraussetzen.


    Gruß
    Andreas

  • Meines Erachtens läßt sich das nur mit einem Script-Agenten lösen der alle markierten Dokumente einzeln durchläuft und via Script auch die Antwortdokumente generiert. Wobei dann noch sicherzustellen wäre daß der User nicht versehentlich/absichtlich 10000 Dokumente markiert hat...

  • Hab jetzt das @Command in einen Agenten ausgelagert, der vom Aktionsbutton ausgelöst wird und alle markierten Dokumente abarbeitet. Leider scheint es aber so zu sein, dass ich weder mit @Commands noch UI Funktionen in dem Agenten arbeiten kann.


    Muss ich etwa tatsächlich die Weiterleitungsroutine in LotusScript nachprogrammieren? :evil:

  • Also du suchst vermutlich diesen Code, der bei mir funktioniert:


    Sub Initialize
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim coll As NotesDocumentCollection
    Dim doca As NotesDocument
    Dim docb As NotesDOcument
    Dim rtf As NotesRichTextItem
    Dim x As String

    x = Inputbox$( "Adresse eingeben" , "Adresse eingeben", "")

    Dim mail As NotesDocument

    Set db = session.CurrentDatabase
    Set coll = db.UnprocessedDocuments

    Set doca = coll.GetFirstDocument
    Do Until doca Is Nothing
    Set docb = coll.GetNextDocument(doca)
    Set mail = db.CreateDocument
    Call doca.Copyallitems(mail)
    Call mail.ReplaceItemValue("CopyTo", "")
    Call mail.ReplaceItemValue("BlindCopyTo", "")
    Call mail.ReplaceItemValue("EnterCopyTo", "")
    Call mail.ReplaceItemValue("EnterBlindCopyTo", "")
    Call mail.ReplaceItemValue("SendTo", x)
    Call mail.ReplaceItemValue("EnterSendTo", x)

    Call mail.send(False)

    Set doca = docb

    Loop
    End Sub



    VORSICHT: Als Absender wird dann dein Name im weitergeleiteten Mail stehen, nicht der Originalabsender. Wie das funktioniert hab ich als administrierender Sonntagsprogrammierer noch nicht rausgefunden ;)


    Vielleicht kann mir ja ein fachkundiger Programmierlemming helfen *bettel* :P

    Alle sagten: Das geht nicht.
    Dann kam einer, der wußte das nicht und hat's gemacht.