Autor Thema: Formel-Agent mit Script aufrufen  (Gelesen 1550 mal)

Offline cococo69

  • @Notes Preisträger
  • Senior Mitglied
  • ****
  • Beiträge: 286
  • Geschlecht: Männlich
  • Super dieses Forum!!!
    • Mein Hobby...
Formel-Agent mit Script aufrufen
« am: 24.09.14 - 10:09:47 »
Hallo,

ich habe folgenden kleinen Test-Agent ("Auswahl in der Agentenliste" - Ziel: Keines):

@SetField("Test_AW"; "TEST_002")

Rufe ich diesen Agent aus einem Dokument auf mit der Formel...
@Command([RunAgent]; "(test2)")
... so wird das Feld Test_AW gesetzt wie erwartet.

Rufe ich den gleichen Agent aus einem Dokument folgendermaßen mit Script auf...
Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim agent As NotesAgent
   Set db = s.CurrentDatabase
   Set agent = db.GetAgent("(test2)")
   If agent.Run = 0 Then
      Messagebox "Agent Nr ran",, "Success"
   Else
      Messagebox "Agent Nr did not run",, "Failure"
   End If
... so erhalte ich zwar die Meldung "Agent Nr ran" - das Feld Test_AW wurde aber nicht gesetzt!?

Woran liegt das?

Gruß Armin

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Formel-Agent mit Script aufrufen
« Antwort #1 am: 24.09.14 - 10:18:11 »
Agent.Run lässt den Agent so alaufen, als würde er ein scheduled agent sein, er läuft im Session-Kontext. Dadurch kann er auf Interaktionen mit dem Frontend nicht reagieren, hier fehlt ihm also in Deinem Beispiel der Bezug zum geöffneten und damit ausgewählten Dokument.

Bernhard

Offline cococo69

  • @Notes Preisträger
  • Senior Mitglied
  • ****
  • Beiträge: 286
  • Geschlecht: Männlich
  • Super dieses Forum!!!
    • Mein Hobby...
Re: Formel-Agent mit Script aufrufen
« Antwort #2 am: 24.09.14 - 10:34:45 »
Hallo Bernhard,

auch mit  agent.Run( uidoc.Document.NoteID )  bekomme ich dann keinen Bezug zum aktuellen Dokument oder?
Gibt es dann überhaupt eine Chance mit Script?

Gruß Armin

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Formel-Agent mit Script aufrufen
« Antwort #3 am: 24.09.14 - 10:48:14 »
Doch, durch Übergabe der noteid bekommst Du den Bezug (allerdings natürlich nur in LotusScript), musst aber aufpassen: Es wird eine eigene "instanz" des Dokuments geändert: Wenn der user anschliessend im Frontend Änderungen macht und speichert, bekommt er die Meldung, dass das Dokument irgendwoanders geändert wurde, und ob ein Konfliktdokumente gespeichert werden soll...

Warum soll das überhaupt nötig sein? Ein im Frontend geöffnetes Dokument durch einen Backend- Agenten zu ändern, ist meistens eine schlechte Idee...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz