Autor Thema: Agenten mit Übergabeparametern aufrufen  (Gelesen 1110 mal)

Offline js84

  • Junior Mitglied
  • **
  • Beiträge: 90
  • Geschlecht: Weiblich
Agenten mit Übergabeparametern aufrufen
« am: 19.05.05 - 16:24:09 »
Hallo alle miteinander.

Weiß jemand ob es möglich ist einem Agenten den ich lokal aufrufe irgendwelche Parameter mit zu geben,lso zum Beispiel Feldwerte, die der Agent verarbeiten soll?

MfG
Jana

Offline adminnaddel

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 819
  • Geschlecht: Männlich
  • What a wonderful girl, so beautiful und se....;-)
Re: Agenten mit Übergabeparametern aufrufen
« Antwort #1 am: 19.05.05 - 16:31:30 »
Hi,

ich würde die entsprechenden Parameter in die notes.ini schreiben und sie mit dem Agenten vorweg cachen!

GetEnvironmentValue method
SetEnvironmentValue method

lg
Andy
« Letzte Änderung: 19.05.05 - 16:33:17 von adminnaddel »

Offline chris2212

  • Aktives Mitglied
  • ***
  • Beiträge: 162
  • Geschlecht: Männlich
Re: Agenten mit Übergabeparametern aufrufen
« Antwort #2 am: 19.05.05 - 16:34:10 »
Hallo,

oder über ein Datenbank-Profil.

Gruß
Christian

Offline adminnaddel

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 819
  • Geschlecht: Männlich
  • What a wonderful girl, so beautiful und se....;-)
Re: Agenten mit Übergabeparametern aufrufen
« Antwort #3 am: 19.05.05 - 16:37:15 »
Gibt schöne Beispiele in der Hilfe welches sogar auch auf FeldInhalte zurückgreift  ;)

Call session.SetEnvironmentVar _
("HomeTown",source.FieldGetText("[Field]"))

lg
Andy
« Letzte Änderung: 19.05.05 - 16:47:44 von adminnaddel »

Offline js84

  • Junior Mitglied
  • **
  • Beiträge: 90
  • Geschlecht: Weiblich
Re: Agenten mit Übergabeparametern aufrufen
« Antwort #4 am: 19.05.05 - 16:46:53 »
Hi,

vielen Dank, habt mir echt geholfen.

Also bis bald und noch mal ein dickes DANKESCHÖN
 :)


LG

Offline js84

  • Junior Mitglied
  • **
  • Beiträge: 90
  • Geschlecht: Weiblich
Re: Agenten mit Übergabeparametern aufrufen
« Antwort #5 am: 20.05.05 - 09:26:50 »
Guten Morgen,

ich bins noch mal.
Also es besteht folgendes Szenario:

ich hab eine bzw. zwei Forms in beiden sind beliebig viele Felder. Für einige dieser Felder soll eine art History erzeugt werden, in der steht wer wann was geändert hat.
Diese History Funktion (trägt in ein Feld die benötigten Werte ein)ist bereits implementiert (für ein Feld). Es wäre aber jetzt vollkommen uneffektiv diesen Code in jedes Feld zu schreiben. Deshalb will ich einen Agenten der läuft falls sich ein Feldwert geändert hat.
Die Änderung überprüfe ich derzeit noch in den Events Entering bzw. Exiting und rufe in Exiting meine History Funktion auf.

Sub Entering(Source As Field)
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   'Save field content on entry to compare on exit
   Set uidoc = workspace.CurrentDocument
   sFieldOnEntry1 = uidoc.FieldGetText("P_Status")
   'sFieldOnEntry1 ist eine globale Variable
   
End Sub

Sub Exiting(Source As Field)
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Dim p_status,author As Variant
   Dim t_d,his_string As String
   Set db = s.CurrentDatabase
   Set uidoc = workspace.CurrentDocument
   Set doc=uidoc.Document
   
   p_status = uidoc.FieldGetText("P_Status")
   p_status=Cstr(p_status)
   
   'If nothing has changed exit sub
   If p_status=sFieldOnEntry1 Then
      Exit Sub
      
   'Project status has changed, make new entry in history   
   Else
         
      t_d=Cstr(doc.LastModified)
      
      author=doc.Authors(0)
      his_string=" ;"&author &" "&  t_d  & " " &  p_status & " ;"
      Call uidoc.FieldAppendText("P_Status_History",his_string)
      
      
   End If
   Call doc.Save(False,True)
End Sub

Das Problem ist jetzt das ich dem Agenten nicht sagen kann in welchem Feld er aufgerufen wurde, damit er nur für dieses die die History Funktion ausführt.
Vielleicht habt ihr eine Idee wie und ob man das umsetzen kann.

LG
Jana

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Agenten mit Übergabeparametern aufrufen
« Antwort #6 am: 20.05.05 - 09:34:13 »
Hi,

du hast recht, dass ist nicht sehr effektiv. Außerdem ist das Ganze im Exiting - Event auch noch ziemlich unsicher. Denn es ist nicht sichergestellt, dass der Event auch wirklich ausgeführt wird.

Besser ist es, den Feldinhalt der entsprechenden Felder im PostOpen-Event der Maske in Variablen auszulesen und im QuerySave-Event zu prüfen, ob der Feldinhalt geändert wurde und dann anhand des Ergebnisses die Histrory zu schreiben.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz