Agent soll Attachement speichern

  • Hallo zusammen


    Ich habe hier einen Agent der bis Domino 7 sauber funktioniert hat. Bei Domino 8.0.1 funktioniert er nicht und ich erhalte den Fehler "Object Variable not set".


    Der Debugger meint, es müsse an folgender Zeile liegen:


    Code
    Set it = doc.GetFirstItem("Subject")


    Hier noch der ganze Code



    Wäre super, wenn jemand von euch da Input geben könnte.


    Gruss Andy

    :evil:***Jeder denkt an sich, nur ich denk an mich***:evil:...


    Domino 8.5.3 / W2008 R2 Server, Notes 8.5.3 / Win7.........

  • hallo taurec


    Danke für deine Hilfe.


    Der Agent wird vor Eingang neuer Mail aufgerufen. Aus der Mail DB. Dumme Frage sorry, aber was meint der Script Debugger wozu :-? Habe leider nicht wirklich viel Ahnung von Programmierung.


    Gruss Andy

    :evil:***Jeder denkt an sich, nur ich denk an mich***:evil:...


    Domino 8.5.3 / W2008 R2 Server, Notes 8.5.3 / Win7.........

  • ok, jetzt mal für noobs :) Meinst du das untere Fenster beim Debugger? Wenn ja, meinst du das Register Variablen?


    Gruss Andy

    :evil:***Jeder denkt an sich, nur ich denk an mich***:evil:...


    Domino 8.5.3 / W2008 R2 Server, Notes 8.5.3 / Win7.........

  • Also, die Variable it ist leer und weiter hinten steht notesitem.


    In der Mail DB habe ich ein Mail mit Attachement, dass ich lösen möchte.


    Zum Test starte ich den Agenten mit rechtsklich und Starten. Wenn ich den Agenten allerdings teste, bekomme ich keinen Fehler.

    :evil:***Jeder denkt an sich, nur ich denk an mich***:evil:...


    Domino 8.5.3 / W2008 R2 Server, Notes 8.5.3 / Win7.........

  • ich habe jetzt mal das Mail geöffnet und den Agenten aus dem Menü Aktionen ausgeführt, dann funktioniert es.


    Wenn ich den Agenten auf Nach eingang neuer Mail stelle und eine Mail mit Attachement an die DB sende klappt es nicht?


    Gruss Andy

    :evil:***Jeder denkt an sich, nur ich denk an mich***:evil:...


    Domino 8.5.3 / W2008 R2 Server, Notes 8.5.3 / Win7.........

  • Also funktioniert der Agent schon mal grundsätzlich.


    Wo genau liefert er denn den Fehler wenn er Vor Eingang neuer Mail ausgeführt wird ?


    Bau doch mal ein vernünftiges ErrorHandling in den Agenten ein

  • Also jetzt hab ich aber ein extrem komisches Verhalten.


    Auf der einen DB funktioniert der Agent jetzt plötzlich. Die DB auf der ich die ganze Zeit probiert habe.
    Am Code habe ich nichts verändert.


    Den selben Code verwende ich noch in anderen DB's. Dort funktioniert er (noch) nicht.


    ????
    Himmel...


    Gruss Andy

    :evil:***Jeder denkt an sich, nur ich denk an mich***:evil:...


    Domino 8.5.3 / W2008 R2 Server, Notes 8.5.3 / Win7.........

  • ok, jetzt funktioniert der Agent bei allen DB wieder.


    Was isch gemacht habe:


    Beim Agent das Auslösen auf Menu Aktionen geändert. Den Agenten gespeichert. Dann wieder auf vor Eingang neuer Mail gesetzt und gespeichert.


    Dann funkioniert der Agent auch bei den anderen DB's...??!!


    Kann es sein, dass ich während der Migration gerade eine komische Konstellation habe?


    Domino 8.0.1 auf migriert, Client Rollout auf 8.0.1 der User kommt ab Montag und die Schablone wird am Schluss konvertiert und ist im Moment noch auf 7.03. Sollte ja eigentlich kein Problem darstellen oder irre ich mich da?


    Auf jeden Fall mal danke für deine Hilfe taurec. :pint:


    Gruss Andy

    :evil:***Jeder denkt an sich, nur ich denk an mich***:evil:...


    Domino 8.5.3 / W2008 R2 Server, Notes 8.5.3 / Win7.........

  • Hallo nochmal


    Das Ganze ist doch noch nicht erledigt. Wenn ich die DB bei mir im Client offen habe und ein Mail mit Attachement reinkommt, funktioniert der Agent.


    Wenn ein Mail reinkommt und ich die DB bei mir nicht geöffnet habe, erhalte ich auf der Console vom Server nur wieder den Fehler


    "Object Variable not set"



    Ideen?



    Gruss Andy

    :evil:***Jeder denkt an sich, nur ich denk an mich***:evil:...


    Domino 8.5.3 / W2008 R2 Server, Notes 8.5.3 / Win7.........

  • du hast gut reden :)


    Gar nicht so einfach, wenn man 0 Ahnung hat von Notes Programmierung :)


    Errorhandling, dass ich eingebaut habe:


    Code
    Set doc = session.documentcontext
         If it Is Nothing Then
         Call dbug.LogAction("kein doc")
         End If


    Im Agent Log habe ich nun folgenden Eintrag:


    11.08.2008 15:07:41: Start
    11.08.2008 15:07:41: kein doc
    11.08.2008 15:07:41: Der Attachment-Remover wurde beendet


    Also hat er kein Document, aber wieso?


    Gruss Seppel

    :evil:***Jeder denkt an sich, nur ich denk an mich***:evil:...


    Domino 8.5.3 / W2008 R2 Server, Notes 8.5.3 / Win7.........

  • Was du da machst ist herumstochern im Dunkeln


    Ohne zumindest eine gewisse Ahnung von entsprechender Programmierung ist es eh nicht wirklich möglich einen Fehler zu finden.


    Dein Errorhandling läuft logischerweise immer in den Fehler, da du it niemals mit was gefüllt hast

  • klar, war auch ein copy paste fehler.


    muss ja heissen:


    Code
    If doc Is Nothing Then


    dann schreibt er im log aber nicht mehr dass er kein doc habe.
    ergo hat er doch ein doc, oder nicht?


    wie würdest du denn das errorhandling dort lösen?

    :evil:***Jeder denkt an sich, nur ich denk an mich***:evil:...


    Domino 8.5.3 / W2008 R2 Server, Notes 8.5.3 / Win7.........

  • Na zumindest mal mit einem On Error Goto ErrorHandler.


    Details dazu findest du in der Hilfe und da kannst du dir dann auch Zeile in der der Fehler auftritt ausgeben lassen.


    Hättest du ganz einfach selbst finden können, indem du in der Designer Hilfe mal nach Error handling gesucht hättest

  • könnte es sein, dass der Agent eigentlich für das frontend gedacht war und nur auf das aktuell ausgewählte dokument zugreift mit session.documentcontext. immerhin funktioniert er ja im frontend wie du geschrieben hast.


    Aus der Hilfe.
    For an agent activated in a view through the Notes client UI, the in-memory document is the document highlighted in the view.


    Bei einem Agent der auf einem Trigger wie "After new mail arrives" läuft würde ich eher über die unprocessed documents gehen.