Autor Thema: Notes Anwendung fernsteuern und befüllen  (Gelesen 8010 mal)

Offline zweistein_13

  • Frischling
  • *
  • Beiträge: 7
Notes Anwendung fernsteuern und befüllen
« am: 01.11.11 - 12:29:45 »
Hallo an alle Forum-Mitglieder =),

ich bin neu im Notes-Forum und habe direkt ein Problem, dass ich nicht lösen kann. Habe schon Google und die interne suche bemüht aber leider nichts Passendes gefunden. :-\

Das Problem: Ich habe eine Lotus Notes-Anwendung die verschiedene Daten verwaltet und über eine graphische Oberfläche vom Nutzer bedient wird. Nun werden Daten ebenfalls in einer VB.NET-Applikation gesammelt. Diese sollen nicht händisch über die GUI eingetragen werden sondern automatisch. Das direkte Eintragen die Datenbank kommt leider nicht in Frage, da die Notes-Anwendung sehr viele und komplexe Validitätsprüfungen vornimmt.

Nach einigem Überlegen würde ich gerne die Notes-Anwendung fernsteuern und die Formularfelder von "außen" befüllen lassen. Dabei soll der Button-Klick, mit dem ein neues Dokument in der Notes-Anwendung erstellt wird, per Script o.Ä. ausgeführt werden. Nach dem Klick erscheint die Eingabemaske. Die Felder der Eingabemaske sollen dabei durch das Script automatisch gefüllt werden, sodass der User nur noch auf Speichern klicken muss und die Validitätsprüfungen ausgeführt werden.

Im der Designer-Ansicht konnte ich mir den Code, der hinter dem Button liegt bereits anschauen. Leider ist bis jetzt jeder Versuch fehlgeschlagen dies zu automatisieren.

Ich habe in VB.NET mithilfe des Lotus-Notes-Objekts versucht Prozeduren aufzurufen bzw. zu automatisieren, was leider nicht funktioniert hat. Ideal wäre eine Lösung in VB.NET oder durch ein Script...

Ist es möglich eine Notes-Anwendung derart fernzusteuern? Kann mir jemand helfen?

Viele Grüße
Andre

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Notes Anwendung fernsteuern und befüllen
« Antwort #1 am: 01.11.11 - 13:36:09 »
Hallo Andre,

wir hatten vor einer Weile mal den Autouser im Test. Der kann prinzipiell sowas. (http://ww2.smart-toucan.com/)
Du müsstest dir das TestScript dynamisch generieren und dann abarbeiten lassen.

Ggf. geht es auch mit kostenlosen Tools wie AutoItScript (http://www.autoitscript.com) oder du sprichst direkt von VB.Net mit den Fenstern.

Eine API für UI-Funktionen in Notes ist mir nicht bekannt.

Gruß
Roland

Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline zweistein_13

  • Frischling
  • *
  • Beiträge: 7
Re: Notes Anwendung fernsteuern und befüllen
« Antwort #2 am: 01.11.11 - 15:49:35 »
Hallo Roland,

danke für deine Hilfe. Ich schaue mir die beiden Tools mal etwas genauer an. Eine Lösung über VB.NET und dann ggf. mit SendKeys habe ich auch schon in Betracht gezogen. Ist nur leider nicht sehr "elegant" und fehleranfällig.

Also eine direkte Möglichkeit Felder und Funktionen über das Notes Domino-Objekt oder über ein Lotus-Script zu steuern und zu befüllen ist eher nicht möglich?

Viele Grüße
Andre


Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Notes Anwendung fernsteuern und befüllen
« Antwort #3 am: 01.11.11 - 15:59:10 »
Doch.
Über Lotus Script kannst man Felder befüllen etc, außerdem Fuktionen aufrufen.

Wie willst du dein Anbindung machen an die andere Anwendung?
Warum machst du nicht die Anbindung von Notes aus? Wenn der Anwender eh in der DB steht?
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline zweistein_13

  • Frischling
  • *
  • Beiträge: 7
Re: Notes Anwendung fernsteuern und befüllen
« Antwort #4 am: 01.11.11 - 16:34:56 »
Hi!
Die Anbindung an die VB.NET-Anwendung ist variabel. Im Moment favorisiere ich eine direkte Anbindung über die Domino-Objects. Wenn dies nicht klappt bin ich für andere Ideen offen. Ich könnte mir auch ein automatisch generiertes Lotus-Script vorstellen, dass die Daten in Notes einträgt.

Was verstehst du unter eine Anbindung von Notes aus? Also eine Notes-Anwendung die die Daten z.B. aus einer Datei liest und dann in die andere Notes-Anwendung überträgt? Dann hätte ich ja einen weiteren "Vermittler". Ich denke, dass dadurch das Fehlerpotenzial steigt ... . Das direkte schreiben in die Datenbank kommt leider aufgrund der komplexen Validierungen nicht in Frage.

Was ich vergessen habe zu erwähnen: Die Notes-Anwendung in die die Daten eingepflegt werden sollen, wurde sowohl in Lotus-Script als auch in @Formula realisiert.

Grüße
Andre

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Notes Anwendung fernsteuern und befüllen
« Antwort #5 am: 01.11.11 - 16:47:48 »
stimmt, über uiDoc.FieldAppendText und Konsorten könnte man wirklich von Feld zu Feld springen und das Dokument mit Inhalten befüllen. Schwierig wird es, wenn Buttons geklickt werden müssen.
(das Ganze würde vielleicht sogar über COM funktionieren, hab aber sowas noch nie probiert, somit stimmt meine Aussage bzgl API und UI nur halb)

Ich würde sowas auch alles in einen LS-Agenten packen und in der DB laufen lassen.
ggf schreibst du dir mit VB ein Textfile mit den einzutragenden Daten. Der Agent liest dann das Textfile, erstellt mit composeDocument ein neues Doc, trägt die Werte ein und ruft uiDoc.save + uiDoc.close auf. Das sollte zu  95% dem entsprechen, als wenn der User die Daten selber eingegeben hat, es werden dabei alle Formeln/Ls-Events berücksichtigt. Problematisch wirds, wenn irgendwelche "Tricks" im Dokument gemacht werden (reopen z.B.)

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline zweistein_13

  • Frischling
  • *
  • Beiträge: 7
Re: Notes Anwendung fernsteuern und befüllen
« Antwort #6 am: 01.11.11 - 16:57:08 »
Das hört sich sehr gut an =) Danke sehr!

So wie ich das sehe ist LotusScript ja fast wie VB und es sollte daher für mich möglich sein ein LotusScript zu erstellen. Leider habe ich mit LS-Agenten und uiDoc noch nicht gearbeitet. Kennst du vielleicht ein gutes Tutorial oder eine Hilfeseite?

Viele Grüße
Andre

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Notes Anwendung fernsteuern und befüllen
« Antwort #7 am: 01.11.11 - 19:10:19 »
ich hätte dich jetzt erst mal auf die Notes-Hilfe verwiesen: NotesUIWorkspace und NotesUIDocument...
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Notes Anwendung fernsteuern und befüllen
« Antwort #8 am: 01.11.11 - 20:36:25 »
Ich verstehe das mit der Validierung ehrlich gesagt nicht.

soll ein Anwender dann sitzen und auf einen Button klicken, und dann wird immer ein neues Dokument erzeugt, die Werte werden eingelesen, der Benutzer speichert und korrigiert dann von Hand alle Fehlermeldungen? wieviele sind dann zu erwarten?

Oder meinst du mitValidierung, daß die Eingabewerte umgesetzt/umgerechnet werden sollen?

Daß könntest du mit der notesdocument class und computeWithform machen, müsstest aber in ein Log wegschreiben, wenn ein Datensatz von Hand nachkorrigiert werden muß.
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline zweistein_13

  • Frischling
  • *
  • Beiträge: 7
Re: Notes Anwendung fernsteuern und befüllen
« Antwort #9 am: 02.11.11 - 20:11:03 »
Hi,

@pram:
Danke für den Hinweis! Schaue mir die Doku mal genauer an.

@DAU-in:
Es ist eine Mischung aus beidem. Es sollen mehrere Daten-Sätze eingegeben werden. Nach jedem Datensatz soll der Nutzer auf 'Speichern' klicken und daraufhin etwaige Fehlermeldungen bearbeiten. Wenn alles gut läuft, müsste vllt. jeder 10. Datensatz korrigiert werden. Leider ist das aber nicht pauschal zu sagen.

Nach dem 'Speichern' werden die Daten intern nochmal umgerechnet und formatiert und ggf. durch weitere Daten automatisch ergänzt.

Wichtig ist, dass die Fehler direkt beseitigt werden. Daher kommt eine Log-Datei mit Fehlermeldungen nicht in Frage.

Was wäre für dich, nach diesen Schilderungen, die beste Herangehensweise?
Viele Dank für eure Hilfe!

Grüße
Andre

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Notes Anwendung fernsteuern und befüllen
« Antwort #10 am: 02.11.11 - 21:04:49 »
Wenn das Dokument offen und am Bildschirm ist, dann kannst du mit einem Agenten der in der gleichen DB ist mit
workspace.currentDocument.FieldSetText(...)
oder
workspace.currentDocument.document.replaceItemValue(...)
die Felder im Dokument beliebig setzen.

Benutzer müsste dann
- ein neues Dokument öffnen
- Den Agenten starten
- Dokument speichern

Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Notes Anwendung fernsteuern und befüllen
« Antwort #11 am: 02.11.11 - 21:38:51 »
1. ein Dokument, in das weggeschrieben wid, an welcher Stelle/welche Dokumente bereits bearbeitet sind (der MA will auch einmal Pause machen), oder der MA muß ohne Pause durchmachen

2. auf Klick: Notesdocument im Backend erzeugen, befüllen, Formfeld setzen (damit das Dokument weiß, in welcher Maske es öffnen soll), mit notesuiworkspace.editDocument im Frontend imEditiermodus öffnen und speichern, wenn speichern erfolgreich ist, kannst du es auch sofort wieder schließen, dann ist es weniger Klickerei.
NotesSession
notesDatabase
notesDocument
notesUIWorkspace
notesUIDocument

Damit solltest du alles hinbekommen.
Wichtig: Backend und Frontend sauber voneinander trennen, sonst gibt es Speicherkonflikte
Die Daten einlesen würde ich immer im Backend machen, das ist einfacher bei Mehrfachwerten.
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Notes Anwendung fernsteuern und befüllen
« Antwort #12 am: 02.11.11 - 21:51:39 »
Nach dem 'Speichern' werden die Daten intern nochmal umgerechnet und formatiert und ggf. durch weitere Daten automatisch ergänzt.

es werden erst einmal die Validierungen etc. der Maske durchgeführt, und danach nochmals umgerechnet/formatiert/ergänzt??

So ganz verstehe ich den Sinn nicht, ist die Maske denn so komplex, daß man das nicht alles in einem Backendscript abfackeln kann?
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline zweistein_13

  • Frischling
  • *
  • Beiträge: 7
Re: Notes Anwendung fernsteuern und befüllen
« Antwort #13 am: 04.11.11 - 16:59:17 »
es werden erst einmal die Validierungen etc. der Maske durchgeführt, und danach nochmals umgerechnet/formatiert/ergänzt??

So ganz verstehe ich den Sinn nicht, ist die Maske denn so komplex, daß man das nicht alles in einem Backendscript abfackeln kann?

Genau, erst werden die Daten validiert und dann ergänzt. Als allgemeines Beispiel fällt mir ein: Ein Handwerker gibt ein, dass er 8 Stunden am Sonntag gearbeitet hat. Dadurch, dass er am Sonntag gearbeitet hat, stehen ihm z.B. ein höheres Gehalt und Sonderkonditionen zu. Diese gibt der Nutzer nicht selber ein sondern werden automatisch - bei Bedarf - ergänzt.

Viele Grüße
Andre

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Notes Anwendung fernsteuern und befüllen
« Antwort #14 am: 04.11.11 - 17:45:51 »
Genau, erst werden die Daten validiert und dann ergänzt. Als allgemeines Beispiel fällt mir ein: Ein Handwerker gibt ein, dass er 8 Stunden am Sonntag gearbeitet hat. Dadurch, dass er am Sonntag gearbeitet hat, stehen ihm z.B. ein höheres Gehalt und Sonderkonditionen zu. Diese gibt der Nutzer nicht selber ein sondern werden automatisch - bei Bedarf - ergänzt.

Und so etwas wird erst nachträglich im Backend gemacht?
nicht schon beim Speichern, bzw. einem Refresh auf der Maske?

Ich versuche nur, das zu verstehen.
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline zweistein_13

  • Frischling
  • *
  • Beiträge: 7
Re: Notes Anwendung fernsteuern und befüllen
« Antwort #15 am: 13.11.11 - 13:33:38 »
Hi! entschuldige die späte Anwort, war leider die Woche über etwas beschäftigt.

Ich glaube ich kann dir die Frage nicht mit 100% Sicherheit beantworten, da ich noch recht neu in der Notes-Entwicklung bin. So wie ich das sehe, werden beim Speichern die Daten aktualisiert und formatiert und nicht erst danach.

Was bedeutet das nun für mich? Kann ich dadurch auf eine einfachere Methode zurückgreifen?

Viele Grüße und Vielen Dank!

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Notes Anwendung fernsteuern und befüllen
« Antwort #16 am: 13.11.11 - 18:57:10 »
guten Abend,

ich hatte das dann anders verstanden, daß nach dem Speichern nochmals via Agent Daten verändert werden.
War ein Verständnisproblem von meiner Seite aus.

und für dich bleibt es bei den genannten Methoden.

lg

Dau-in

mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz