Autor Thema: Agent via script starten  (Gelesen 3489 mal)

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Agent via script starten
« am: 28.06.02 - 18:19:14 »
Seas Leitln!
Weiß jemand von euch, wir ich ein Agent mit der Formel:

@Command([EditInsertText];"Schreib den Text, du blöder Agent!")

aus einem Button in einer Maske via script aufrufen kann?

Mein Miniscriptl schaut so aus:
 Dim session As New NotesSession
 Dim db As NotesDatabase
 Set db = session.CurrentDataBase
 Dim Agnet As NotesAgent
 Set Agnet = db.GetAgent("Test")    
 Call Agnet.Run()          
   
Es kommt dann  immer der Fehler '@Function ist in diesem Kontext ungültig'
Und das am Freitag kurz vor Feierabend :'(

-dani

« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
†090620141300

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Re: Agent via script starten
« Antwort #1 am: 28.06.02 - 19:12:54 »
Hi,

versuchs mal damit:

Dim s As New NotesSession
Dim db As NotesDatabase
Dim agent As NotesAgent
Set db = s.CurrentDatabase
Set agent = db.GetAgent("AgentName")
   If agent.Run = 0 Then
        Messagebox "Agent ran",, "Success"
   Else
       Messagebox "Agent did not run",, "Failure"
   End If
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Agent via script starten
« Antwort #2 am: 30.06.02 - 19:54:33 »
Hi Frank!
Das löst leider nicht mein Problem. Ich weiß zwar dann ob der Agent gelaufen ist oder nicht, aber der Text steht dann nicht in meinem Bodyfield. :-/
-d
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
†090620141300

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Re: Agent via script starten
« Antwort #3 am: 30.06.02 - 20:10:05 »
Hi,

wer schreibt den den Text in das Body Field, der Agent oder die Schaltfläche??
Denn das Script ruft nur den Agenten aus und füllt nichts in ein Feld?
Wenn Du mir noch mehr Infos gibst komm ich evtl. dahinter wie Du es machen willst.
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Agent via script starten
« Antwort #4 am: 30.06.02 - 20:37:28 »
O.K.
In der Schaltfläche steht das Script (muß Script sein). Das Scriptl soll den Agent aufrufen, der mit Formelsprache den Befehl [EditInsertText] aufruft.
Wenn es den Befehl in Script geben würde wäre es der Hammer. Aber irgendwie funktioniert es nicht so. Ich brauch den Text nämlich in blau und fett und so. Deswegen scheider uidoc.InsertText aus, weil ich den Text in ein rtitem schreiben müßte mit einem rtstyle. rtitem.AppendText geht auch nicht, weil der Text an der aktuellen Cursorposition eingefügt werden sollte.
Ich hoffe, daß es jetzt verständlicher ist.

-dani
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
†090620141300

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Re: Agent via script starten
« Antwort #5 am: 01.07.02 - 07:00:12 »
Hi,

jo setzt ist es etwas verständlicher gewesen.
Das Body Field ist doch ein RTF Feld, oder?
Wir haben das an einer anderen Stelle so gelöst:
die Script Klassen des RTF benutzt. Das Feld ausgelesen in eine Variable bearbeitet und wieder zurückgeschrieben in das Feld. Wärend der Verarbeitung wird es dann formatiert, angehängt.
So viel ich weiss funktioniert die Formel in Macro nicht so wie Du sie verwenden möchtest (formatieren, fett usw.)
das ganze mußt Du wohl in Script machen.
Ich schaue mal nach dem Code und poste es später.
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

Offline pipsxx

  • Aktives Mitglied
  • ***
  • Beiträge: 118
  • Geschlecht: Weiblich
  • Hauptsache, die Haare liegen !! :)
Re: Agent via script starten
« Antwort #6 am: 01.07.02 - 08:30:29 »
haaallo!!

habe ich das richtig verstanden: du willst per button text in ein dokument einfuegen?

ich weiss nicht, ob ich das jetzt richtig verstanden habe. aber kann man im frontend nicht einfach mit @SetField arbeiten, auch wenn es sich um RT handelt?

in script geht das doch sicherlich auch. ich meine, ganz ohne agent, sondern direkt im script fuer den button. du musst nur das aktuelle dokument nehmen. fuer das fuellen des feldes gibst dann sowas wie body.replaceitemvalue oder so aehnlich an. koennte mir vorstellen, dass das klappt. da findet sich doch bestimmt was...

wenn ich voellig daneben liege... sorry!!  :)
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
WinXP, Lotus Notes R 5

Offline pipsxx

  • Aktives Mitglied
  • ***
  • Beiträge: 118
  • Geschlecht: Weiblich
  • Hauptsache, die Haare liegen !! :)
Re: Agent via script starten
« Antwort #7 am: 01.07.02 - 08:32:14 »
ach nochwas...

wenn du weisst, dass der agent gelaufen ist. liegt es dann vielleicht eher am quellcode des agenten? ich mein, vielleicht stimmt ja irgendwas bei der formelsprache nicht?  ::)
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
WinXP, Lotus Notes R 5

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Agent via script starten
« Antwort #8 am: 02.07.02 - 10:01:33 »
@doliman:
Ich habe keine Ahnung wie man das auslesen des Feldes bewerkstelligen kann... In dem feld kann alles stehen. (Fromartierter Text, Tebellen, Attachments,....) Und irgendwo, wo der Cursor steht, soll der Text eingefügt werden. Das Auslesen vom Inhalt eines rtfeldes geht meines wissens nicht. (Nur mit GetFormattedText, was aber nur einen String (ohne Anhänge und so) ergibt).

@pipsxx:
Mit @SetField kann man dem Feld nur ein Wert zuweisen. Ich muß zum bestehenden Inhalt was anhängen '[EditInsertText]' wäre es eigentlich.
Und der Quellcode vom Agent solle auch stimmen.
In der Zeile '@Command([EditInsertText];"Einzufügender Text")' ist eigentzlich kein Fehler.

-d


« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
†090620141300

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: Agent via script starten
« Antwort #9 am: 02.07.02 - 11:12:17 »
Hi,

hier hab ich ein Script aus einem Aktionsbutton aus einer Ansicht, das zwei Textzeilen in das RTF-Feld "Datei" des markierten Dokuments schreibt.


Sub Click
     Dim session As New NotesSession
     Dim db As NotesDatabase
     Dim doc As NotesDocument
     Dim collection As NotesDocumentCollection
     Dim rtitem As Variant
     
     Set db = session.CurrentDatabase
     Set collection = db.UnprocessedDocuments
     Set doc = collection.GetFirstDocument
     
     Set rtitem = doc.GetFirstItem( "Datei" )
     If ( rtitem.Type = RICHTEXT ) Then
           Call rtitem.AppendText( "Text hinzufügen" )
           Call rtitem.AddNewLine( 1 )
           Call rtitem.AppendText("Noch mehr Text hinzufügen")
           Call doc.Save( False, True )
     End If
End Sub

Ich hoffe das hilft dir weiter.

Axel
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline pipsxx

  • Aktives Mitglied
  • ***
  • Beiträge: 118
  • Geschlecht: Weiblich
  • Hauptsache, die Haare liegen !! :)
Re: Agent via script starten
« Antwort #10 am: 02.07.02 - 11:15:48 »
huhu!!

ich haette auch noch nen kleines skript fuer nen button. das schreibt den text in ein RT-feld. der text wird dabei angefuegt.

vielleicht kannst du damit was anfangen?  ;)

Sub Click(Source As Button)
     
     Dim session As New NotesSession
     Dim db As NotesDatabase
     Dim workspace As New NotesUIWorkspace
     Dim uidoc As NotesUIDocument
     Dim Agnet As NotesAgent
     Dim rtitem As Variant
     
     Set db = session.CurrentDataBase
     Set uidoc = workspace.CurrentDocument
     
     Call uidoc. gotofield("Inhalt")
     Call uidoc.FieldAppendText( "Inhalt", "hallo" )
     
End Sub
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
WinXP, Lotus Notes R 5

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Agent via script starten
« Antwort #11 am: 02.07.02 - 11:24:43 »
Danke für die scripts, aber sie helfen leider nicht. :'(
AppendText fügt den Text am Ende des Feldes ein. Ich brauche den Text aber an der aktuellen Cursorposition....

Ich bekomme das Gefühl, daß ich langsam am verzweifeln bin.
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
†090620141300

Offline pipsxx

  • Aktives Mitglied
  • ***
  • Beiträge: 118
  • Geschlecht: Weiblich
  • Hauptsache, die Haare liegen !! :)
Re: Agent via script starten
« Antwort #12 am: 02.07.02 - 11:38:41 »
hm...

wenns weiter nix is ;)

siehe designer-hilfe:

Inserts a text value at the current cursor position on a document.
Defined in
NotesUIDocument
Syntax
Call notesUIDocument.InsertText( textValue$ )

wars vielleicht das??  :D
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
WinXP, Lotus Notes R 5

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Agent via script starten
« Antwort #13 am: 02.07.02 - 11:44:50 »
Wäre fein.
Aber der Text soll, wie bereits oben erwähnt, formatiert sein. (siehe 5. Statement) in diesem Thread
-dani
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
†090620141300

Offline pipsxx

  • Aktives Mitglied
  • ***
  • Beiträge: 118
  • Geschlecht: Weiblich
  • Hauptsache, die Haare liegen !! :)
Re: Agent via script starten
« Antwort #14 am: 02.07.02 - 11:51:50 »
sorry, das hab ich wohl bei den ganzen eintraegen uebersehen...

dann weiss ich leider auch nicht weiter. hm...  :-/

aber vielleicht findet sich ja doch nochwas
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
WinXP, Lotus Notes R 5

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: Agent via script starten
« Antwort #15 am: 02.07.02 - 11:57:34 »
Hi,

ich glaube, dass was du machen willst in mit den Boardmitteln von Notes nicht zumachen.

Was soll den der Effekt von dem Ganzen sein ? Kannst du den Text nicht in ein sep. Feld schreiben, das entsprechend blau und fett formatiert ist ?

Axel
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Agent via script starten
« Antwort #16 am: 02.07.02 - 12:35:04 »
Das ganze soll ein Untrerschriftsbutton in der Maildatenbank werden, der aus einer anderen Datenbank die Werte übernimmt und dem User in seinen verschiedenen Mailmasken 2 verschiedene Unterschriften zur Verfügung stellt.
-d
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
†090620141300

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: Agent via script starten
« Antwort #17 am: 02.07.02 - 12:39:41 »
Hi,

dann ist mit einem sep. Feld auch nix.

Sorry, nun bin ich mit meinem Latein auch am Ende. Wie gesagt, ich glaube das es mit notesmitteln so nicht zu realisieren ist.   :( :-/


Axel
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Agent via script starten
« Antwort #18 am: 02.07.02 - 13:05:23 »
Kann man nix machen.
Trotzdem Danke für die Bemühungen.
Vielleicht hat ja jemand anderer eine Idee...
-d
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
†090620141300

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Re: Agent via script starten
« Antwort #19 am: 02.07.02 - 19:02:06 »
Hi,

nun wenn der Text formatiert sein soll, dann muß Du den Text mit Kommentarzeilen belegen. Ich habe es z. B. für eine Briefvorlage benutzt, das sa so aus:
Ein RTF Feld, da Stand Text drin. Es gab Passagen die wurden zur Laufzeit mit Variablen befüllt, also habe ich im Text die Marken <<Variable1>> eingefügt. Desweiteren wollte ich gewisse Einträge fett geschrieben haben, somit habe ich mit den Kommentar
<<FETT AN>> Irgendein Text <<FETT AUS>> erstellt, usw. Dann habe ich das Feld ausgelesen, die Variablen ersetzt und den Text formatiert und das Alles mit der RTF Klasse von Notes. Umständlich, gebe ich zu aber es funktioniert. Vielleicht hilft Dir ja das.
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz