Brauche Hilfe bei @Command([RunAgent]...

  • Hallo Leute,


    ich möchte einen Agent mit Hilfe @Command([RunAgent]...) aus einer Reihe Formelanweisungen starten. Dabei möchte ich dem Agent diverse Felder eines Dokuments zur Bearbeitung mitgeben. Ich habe gehört, dass ich dem Agent eine NoteID mitgeben kann, mit dem ich dann Zugriff auf das Dokument hätte. Wie lautet denn der Parameter beim Aufruf und wie greife ich die NoteID im Agent ab?


    Vielen Dank für Eure Hilfe!!!


    Gruß
    Carsten

  • GerdH,


    Seit wann denn das?


    Er hat das Dokument geoeffnet.
    Da keine weiteren Angaben vorhanden sind, ist als anzunehmen, dass er dieses in einem Notes-Client geoeffnet hat.


    Und so lange der Agent nicht persiodisch ist, hat er sehrwohl UI-Klassen zur Verfuegung.


    Andreas

  • Hallo,


    andreas
    Das Mittagessen wahr wohl schon zu nahe und damit meine Antwort zu kurz und zu allgemein. :wuet:
    Du hast recht, wenn der Agent aus dem Frontend aufgerufen wird, stehen auch die UI-Klassen zur Verfügung.


    Allerdings hab ich mir angewöhnt, soweit möglich in Agenten keine UI-Objekte zu verwenden, damit lassen sich Probleme vermeiden, wenn der Agent auch im Backend laufen soll.


    @All
    Nachdem ich mir den Thread nochmal sorgfältiger durchgelesen habe, verstehe ich gerade das grundsätzliche Problem nicht mehr so ganz.
    Um auf das aktuell geöffnete Dokument zuzugreifen reicht es doch aus, dem Agent als Ziel "Alle ausgewählten Dokumente" anzugeben. Hierzu muss man keinerlei Parameter übergeben. Die Feldmodifikationen kann man dann sogar auch in Formelsprache vornehmen.


    Das Problem tritt erst auf, wenn man an einem anderen Dokument als dem momentan geöffneten die Neuberechnungen vornehmen möchte.


    Vielleicht kann Carsten hier das Problem nochmal genauer beschreiben.


    Gruß,
    Gerd

  • Ok, ich leg nochmal los:


    Ich führe aus einem geöffneten Dokument eine Aktion mit einigen Formelanweisungen aus. Mit einem dieser Anweisungen soll ein Mail versendet werden. Da ich aber mit @MailSend so gut wie keine Formatierung verwenden kann (Fett, Unterstreichen, ...), müßte ich das Mail mit LotusScript versenden. Daher kam meine Idee, aus den Formelanweisungen einen Agent zu starten, der mit LotusScript (und schönen Formatierungen) das Mail versendet. In diesem Mail benötige ich aber einige Felder aus dem aktuell geöffneten Dokument. Daher die Frage ...



    Carsten

  • Hallo,


    ein Möglichkeit wäre, die komplette Aktion auf LotusScipt umzustellen. Dann entfällt auch der Agentenaufruf.


    Wenn Du den bisherigen Ansatz weiterverfolgst, müsste es wie oben schon angesprochen funktionieren.
    Du kannst einen Agenten aus Deiner Formel aufrufen. Als Ziel des Agenten (in den Agenten-Eigenschaften) wählst Du "Alle markierten Dokumente". An das Dokument gelangst Du dann über UIDoc = NotesUIWorkspace.CurrentDocument oder über doc = NotesSession.DocumentContext. Somit kannst Du auf die Felder des Dokuments zugreifen und Deine Mail zusammenbauen.


    Gruß,
    Gerd

  • Hallo Gerd,


    recht vielen Dank, NotesSession.DocumentContext habe ich ausprobiert und läuft hervorragend.


    Ich wünsche noch ein schönes Wochenende ...
    und für die Leute im Rheinland ...
    Helau und Alaaf ... :pint:


    Gruss
    Carsten