Autor Thema: OpenAgent  (Gelesen 4485 mal)

Offline Ozan

  • Senior Mitglied
  • ****
  • Beiträge: 277
OpenAgent
« am: 07.04.09 - 09:35:10 »
Hallo,

möchte mit JS im Web ein Agent ausführen. In der Serverkonsole sehe ich aber folgende Fehlermeldung "Objekt variable not set" und im Web wird angezeigt "Agent done".

Das ganze funktioniert problemlos wenn ich das Agent mit "@Command([ToolsRunMacro]; "agent1")" starte. Daher meine Frage, muss ich eventuell anders deklarien?

Hier Code:

Sub Initialize
   Dim ses As New notessession
   Dim webdoc As notesdocument
   Set webdoc = ses.DocumentContext
   Dim status As String
   Dim suche As String
   suche =Right(webdoc.Query_String(0),6)
   Dim db As NotesDatabase
   Dim PersonView As NotesView
   Dim PersonDC As NotesDocumentCollection
   Dim PersonDoc As NotesDocument
   Set db = ses.CurrentDatabase
   Set PersonView = db.GetView( "refCode" )
   Set PersonDC = PersonView.GetAllDocumentsByKey(suche, True)
   
   If PersonDC.count <> 0 Then   ***hier steht der Agent mit Objekt variable not set. ***
      
      Set PersonDoc = PersonDC.GetFirstDocument   
....
....   

Gruss

Ozan

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: OpenAgent
« Antwort #1 am: 07.04.09 - 09:49:18 »
Seufz!
Warum kommt eigentlich kaum jemand auf die Idee, nach einem Get..... zu überprüfen, ob die Methode auch was zurückgeliefert hat?

Ich vermute mal, dass der Benutzer, unter dem der Agent über das Web ausgeführt wird (Anonymous, angemeldeter User oder der User, der in den Eigenschaften angegeben wurde) entweder keinen Zugriff auf die View oder die Dokumente in der View haben wird.

Weiters finde ich es "mutig", dass Du die Parameter für die Suche ungeprüft aus dem Query-String nimmst. Das sollte man nicht tun.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: OpenAgent
« Antwort #2 am: 07.04.09 - 09:49:58 »
Ist alles Richtig befüllt?
Prüfe auch an den entsprechenden Zuweisungen auf Nothing usw.

Ok, wieder mal zu langsam...
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: OpenAgent
« Antwort #3 am: 07.04.09 - 09:53:14 »
@André: Man kann es ja gar nicht oft genug sagen ...
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: OpenAgent
« Antwort #4 am: 07.04.09 - 09:55:23 »
 ;D ;D ;D

Wenn man immer Zweiter ist, kann man irgendwann auch Erster werden 

Jetzt warte ich noch auf ein Statement von Werner  8)
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline WernerMo

  • @Notes Preisträger
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.050
  • Geschlecht: Männlich
Re: OpenAgent
« Antwort #5 am: 07.04.09 - 10:38:23 »
Hallo

@André
Jetzt warte ich noch auf ein Statement von Werner  8)

Bitte heute "etwas lansamer mit den jungen Pferden" - ich habe seit Freitag wenig geschlafen, aber im unterschied zu meinen jungen Kollegen, wo das an dem/den Kind/ern liegt, liegt es bei mir an der Arbeit.
Aber ab morgen wird alles besser ....

Gruß aus dem sonnigen Nürnberg nach Wien (1.) und Neuss (2.) und den Rest der Welt.
Werner
Gruß Werner
  o                                                  o   
 /@\  Nächster @Notes-Stammtisch  /@\  online Sept. 2020?
_/_\__________________________/_\_ Details folgen.

Offline Ozan

  • Senior Mitglied
  • ****
  • Beiträge: 277
Re: OpenAgent
« Antwort #6 am: 07.04.09 - 10:54:26 »
Hallo,

tatsächlich liegt das problem an der suchstring. Der war nehmlich Nothing weil ich per JS die Linkleiste verändere und zwar hinten mit OpenAgent.

Da hat der dann natürlich nach "nAgent" gesucht. :-X

Unverzeibarer Fehler von mir.

Das problem was ich jetzt habe ist dass die im Web-Formular angegebene infos nicht gespeichert werden weil der Agent-Aufruf per JS eine neue Seite hervorruft und die Felder die im Web ausgefüllt worden sind gar nicht mehr zu finden sind.

Wie kann ich hier vorgehen?

Gruss

Ozan

 


Offline Ozan

  • Senior Mitglied
  • ****
  • Beiträge: 277
Re: OpenAgent
« Antwort #7 am: 07.04.09 - 11:56:16 »
Gibt es keine Möglichkeit die Felder mit zu schleusen? Oder per JS zu setzen?

Ozan

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: OpenAgent
« Antwort #8 am: 07.04.09 - 11:59:20 »
XPages / Ajax ...
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Ozan

  • Senior Mitglied
  • ****
  • Beiträge: 277
Re: OpenAgent
« Antwort #9 am: 07.04.09 - 12:38:46 »
oha ... da kenne ich mich überhaupt nicht aus.

Was ich erreichen will ist :

Wenn der User im WEB Formular Felder nicht ausfüllt soll er nur ein Hinweis bekommen dass die Felder nicht ausgefüllt worden sind. Wenn er trotzdem weiter machen will soll dann der Agent ausgeführt werden der die Eingaben vom User speichert.

Ich hatte mir das mit ein confirm Befehl von JS überlegt gehabt, da komme ich leider nicht weiter weil mit der Agentaufruf "OpenAgent" die Eingaben weg sind.

Kennt jemand vielleicht eine andere Lösung?

Gruss

Ozan

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: OpenAgent
« Antwort #10 am: 07.04.09 - 13:41:55 »
Also wenn Du schon was neues auf 8 entwickelst, dann würde ich das gleich mit XPages machen. Musst halt ein wenig lernen.

Ansonsten z.B. http://www.codestore.net/store.nsf/unid/BLOG-20060523?OpenDocument oder http://lmgtfy.com/?q=Lotus+Notes+form+validation+web
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Ozan

  • Senior Mitglied
  • ****
  • Beiträge: 277
Re: OpenAgent
« Antwort #11 am: 07.04.09 - 14:58:52 »
Das was dort steht habe ich bereits umgesetzt und zwar habe ich ein Feld in der WEB Maske angelegt, den lade ich im Bereich Html-Body, dort schreibe ich wie z.b :

@If(Warnung = "";
"";
" onLoad=\"alert('" + Warnung + "')\"
" )

Das funktioniert auch, aber der zwingt eine Eingabe damit die Flichtfelder ausgefüllt werden.

kontrollfelder := @If(Nachname="";"Bitte füllen sie die Pflichtfelder aus...";"");

ThisWarnung0 := @Trim( kontrollfelder ) ;
ThisWarnung1 := @Implode( ThisWarnung0 ; "\\n") ;

@If( ThisWarnung1 = "" ;
@Do(
@Command([ToolsRunMacro]; "speichern")
       )
;
@Do(
@SetField( "Warnung" ; ThisWarnung1 );
@Command([ViewRefreshFields])
        )
       )

Ich will ja hier nur ein Info einblenden mit dem nicht ausgefüllten Feldern, wenn der User OK anklickt dann soll ein Agent per @Command aufgerufen werden, wenn der User Abbrechen klickt dann soll kein Agent ausgeführt werden.

Ist es eigentlich überhaupt möglich mit der Formel Sprache von Notes, eine Abfrage-Fenster im Web anzuzeigen und jenachdem was der User anklickt(true oder false) ein Agent auszuführen?

Ozan
« Letzte Änderung: 07.04.09 - 16:48:21 von Ozan »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz