Agent.run lauft nicht

  • Hallo,


    ich hab ein problem mit einem agenten den ich im QS aufrufe.



    Wenn ich debuge dan wird das agent.run ausgefuehrt aber der debuger geht nicht in den agenten und er zeigt den agenten code nicht. Der code wird auch nicht ausgefuehrt, hab messageboxes die auf jeden fall erscheinen sollten.


    Msgbox agent.lastrun zeigt das der agent ausgefuehrt wuerde!!!


    Hilfe


    Code
    Dim Agent As NotesAgent
    Set Agent = db.GetAgent("nameDesAgenten") 
    
    
    If Not(Agent Is Nothing) Then 
    Call Agent.Run 
    Msgbox agent.lastrun 
    Else 
    Msgbox "Agent nicht gefunden." 
    End If


    EDIT


    Der agent ist Agent list selection und target None

  • Kann ich auf eine andere art code in meinem namen laufen lassen ausser Run on behalf of.


    Der user der den Agenten startet soll was vergleichen mit dokumenten auf die der user keinen zugriff hat.


    Kann ich das irgendwie anders loesen?

  • Hi,


    Hier ein kleiner Auszug aus der Designer-Hilfe.


    Zitat

    The user cannot interact directly with a called agent.
    User output goes to the Domino log.


    Somit ist das gewuenschte auf die beschriebene Art und Weise nicht realisierbar.



    Andreas

  • Danke dir Andreas, das war echt ne riesenHilfe.


    Was mich noch wundert ist wieso der debuger nicht in den agenten geht?


    Und natuerlich wie kann ich es ereichen das der user


    werte aus einem uidoc mit den
    werten aus einem doc auf das er keine leserechte hat


    vergliechen kann?


    Dankeschoen


    EDIT


    Ich sollte echt die hilfe oefter lesen. Damit erledigt die 1 frage.


    Aber die zweite nicht

  • Neeee ich sollte mich entschuldigen.


    In der eile vergesse ich immer das wichtigste. Naemlich die hilfe zu lesen. Ich google gleich los, das muss ich anedern, echt ne schlechte angewonheit.


    Sorry an alle forum mitglieder, insb andreas und taurec(der hat echt geduld mit mir)


    Abr die zweite frage bleibt.

  • Vergleichen kannst du sie nur dann wenn dein uidoc schon gespeichert wurde.
    Dann kannst du die UNID an deinen Agenten übergeben und der kann den Vergleich vornehmen.
    Ergebnisse musst du dann entweder in das Dokument zurückschreiben (mit der Bedingung, daß das Dokument danach neu geöffnet werden muss) oder aber die Ergebnisse an einer anderen Stelle hinterlegen (zusätzliches Dokument, Notes.ini,....)

  • Ich glaube ich habe es doch irgendwie geschaft.


    Also so lief es ab


    Da der user keine rechte auf das doc hat das die daten hat startet er einen Agenten der im namen des Admins lauft(Run on behalf of) der wiederum:


    Zitat

    The user cannot interact directly with a called agent.
    User output goes to the Domino log.


    Dan habe ich eine Form kreiert die ich mit


    Call ws.EditDocument(False,mesForm)


    aus dem agenten oeffne.



    Wenn die daten bearbeitet wuerden dan werden sie in die form geschrieben mit SaveOptions=0 und im postOpen der form steht


    Messagebox source.FieldGetText("body")
    Call source.close


    dadurch erscheint die messagebox, wenn sie geschlossen wird sclhiest sich auch die form. Die form kann man nie sehen.


    Danke euch


    P.S. Kommentare sind willkomen :)