Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: LordKiri am 03.09.08 - 15:51:57

Titel: Dokument beim Start der MailDatenbank erstellen
Beitrag von: LordKiri am 03.09.08 - 15:51:57
Hallo,

ich würde gerne ein Dokument beim öffnen der Maildatenbank erstellen, aus diversen Gründen (auf die ich jetzt nicht näher eingehe) soll das im Vordergrund geöffnet werden.

hab das ganze über den Datenbank-Script probiert aber komm einfach auf keinen grünen Zweig.... letzt endlich war ich so weit, dass ein Agent gestartet wird und der dann die einfach Formel enthält:

@command([Compose];"";"Maske")

leider hab ichs bis jetzt nicht zum laufen gebracht bin sicher schon 2h dran und langsam am verzweifeln...

am einfachsten wäre das alles über LS zu lösen, dann könnte ich es ganz einfach in den vorhanden Script einbauen, nur habe ich noch keine Möglichkeit gefunden per LS ein Dokument im Vordergrund zu erstellen
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: DAU-in am 03.09.08 - 15:56:54
Notesuiworkspace.editdocument?
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: LordKiri am 03.09.08 - 16:00:27
Du meinst ich soll das Dokument erstellen speichern und danach in editModus öffnen

verstehe ich die Aussage jetzt richtig???
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: DAU-in am 03.09.08 - 16:08:06
Ja.

Oder anders herum gefragt: was willst du mit deiner Methode genau bezwecken?


und ich bin mir nicht sicher, aber wenn due einen Backendagenten laufen hast, wird das mit einem @command([compose]) nicht laufen
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: Driri am 03.09.08 - 16:17:56
Dann würde ich aber eher NotesUIWorkspace.ComposeDocument nehmen.


Bevor Du da jetzt aber noch 2 Stunden dran sitzt, was hälst Du von diesen Alternativen :

a) STRG+M (funktioniert überall im Notes-Client)

b) Bookmark (http://www.assono.de/blog.nsf/D6Plinks/TBAN-6ZCN3B)
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: koehlerbv am 03.09.08 - 16:19:33
Anita, jeglicher Code, in dem @Command oder "UI" vorkommt, läuft prinzipiell nicht im Backend.

"LordKiri" (würdest Du mit einem ansprechbaren Namen schreiben, hätte ich Dir auch schon häufiger geantwortet): Ich stelle auch die Frage nach dem "Was willst Du überhaupt erreichen?"
Das DatabaseScript ist ein sehr unsicherer Ort, da es unter einigen Umständen gar nicht ausgeführt wird. Vermutlich bist Du heute bereits (unwissentlich) bereits darüber gestolpert.

Bernhard
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: LordKiri am 03.09.08 - 16:36:54
Ok dann schreib ich mal ganz ausführlich...

Ganz einfach es geht darum:
ich würde gerne ein Dokument öffnen bzw. erstellen welches felder aus dem Domino Directory abfragt in einer bestimmten reihenfolge zusammensetzt und dann in eine txt datei schreibt.
Da das ganze immerwieder ausgeführt werden sollte, damit die daten aktuell bleiben, habe ich mir gedacht ich verpack das ganze in der MailSchablone, weil die jeder User zwangsweise öffnen muss. Nur leider komm ich genau hier nicht weiter.

[Ein zweiter Lösungsweg wäre den kompletten Code denn ich über den Dokumenten-Umweg aus Formel und LS komplett in LS umzuwandeln, leider reichen hierfür meine Kenntnisse nicht aus.]

Da unsere Firma auch nicht ganz alleine Notes einführt haben wir natürlich eine Firma an der Hand die uns Support gibt, aber der fertige Code von dieser Firma passt leider nicht mehr in unser Budget also hab ich einfach mal bei der Firma einen Spezi gefragt wo ich das ganze hinpacken soll und der hat gemeint machs in den Datenbank-Script unter PostOpen bzw. Initialize.

Mein Problem ist jetzt nur es muss irgendwie funktionieren, sonst krieg ich eine aufs Dach

Andreas
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: DAU-in am 03.09.08 - 16:40:32
 :-:

wozu das Ganze??

und DBscript unter postopen wird auch nicht immer durchlaufen
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: koehlerbv am 03.09.08 - 16:49:12
Hallo Andreas,

ich verstehe das Procedere auch noch nicht so ganz, und zwar an drei Stellen:
- Du kannst es (noch) nicht, aber Ihr habt ein Angebot für eine Lösung. Warum bekommst Du dann eine aufs Dach, wenn Du es nicht kannst?

- Wenn Du Daten aus dem DD brauchst: Warum machst Du das dann aus einer Mail-DB heraus?

- Wenn Du eine Textdatei erzeugen willst, wozu brauchst Du dann ein Notes-Dokument im Frontend?

Bernhard
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: LordKiri am 04.09.08 - 09:35:20
das DOkument im Frontend benutze ich um an die daten im DD zu kommen, ich kenn hierfür nur @-Befehle gleichzeitig wird beim schließen des Dokument alles in die txt-Datei geschrieben

aus der MailDB will ich es machen, weil die jeder User jeden Tag min einmal aufmacht und damit die Daten automatisch aktuell bleiben

wir haben zwar ein Angebot für den fertigen Code, aber leider kein freies Budget mehr, könnten die Sache allerhöchstens auf nächste Jahr verlegen, es sollte aber alles zum Echtstart funktionieren.
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: LordKiri am 05.09.08 - 16:24:15
So hab eingesehen, dass das ganze im DB-Script kein Sinn macht....

Da ich diese Funktionalität trotzdem benötige habe ich jetzt einen Agenten geschrieben, der das ganze zu einem bestimmten Zeitpunkt erledigt.
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: koehlerbv am 05.09.08 - 16:30:14
Brav, Andreas  ;)

Ich hoffe aber, der Agent läuft zentral und nicht in jedem Mailfile. Welche Angaben ziehst Du da überhaupt aus dem DD (welches doch jederzeit mit allen Infos zur Verfügung steht)?

Bernhard
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: LordKiri am 08.09.08 - 09:20:26
Naja, es geht noch immer um das "alte" Problem Datenübergabe an OpenOffice, falls du dich erinnertst Bernhard...

Jetzt hab ich ein tolle neues Problem, wenn man den Agent von Hand startet funktioniert er einwandfrei, aber sobald ich iihn auf Zeitplan umstell geht er nicht mehr....

Code
Sub Initialize
	Dim ws As New NotesUIWorkspace
	Dim uidoc As NotesUIDocument
	Set maildb = New NotesDatabase("","")
	maildb.OpenMail
		' check to make sure that we got the mail file opened
	flag = maildb.Isopen
	If flag = True Then
		Set uidoc = ws.ComposeDocument( "", "", "Maske")
	Else
		Msgbox ERROR_MSG_1 & Chr(13) & ERROR_MSG_2, MB_ICONSTOP,ERROR_TITLE
	End If
End Sub
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: m3 am 08.09.08 - 09:25:38
Code
	Dim ws As New [b]NotesUIWorkspace[/b]
	Dim uidoc As [b]NotesUIDocument[/b]

UI-KLASSEN KÖNNEN NICHT IN ZEITGESTEUERTEN AGENTEN VERWENDET WERDEN !!!!!

Steht sowohl in 200 Threads hier im Forum, als auch in der Designer-Hilfe.
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: LordKiri am 08.09.08 - 09:34:46
ok, danke....

wie umschiff ich das ganze?
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: m3 am 08.09.08 - 09:41:15
Indem Du keine UI-Klassen verwendest?
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: LordKiri am 08.09.08 - 09:44:07
kann ich nicht einfach einen zweiten agenten schreiben der zeitgesteuert ist und den anderen aufruft oder geht das dann auch nicht
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: Ralf_M_Petter am 08.09.08 - 09:58:48
Also Daten aus dem domino Directory in eine Textdatei schreiben, ist doch eindeutig eine Aufgabe fürs Backend. Warum willst du das unbedingt in einem UiDocument erledigen lassen. Das macht doch überhaupt keinen Sinn.

Grüße

Ralf
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: LordKiri am 08.09.08 - 10:06:22
wie schon irgendwo zuvor erwähnt, recihen dafür meine Fähigkeiten noch nicht aus, wie komm ich denn zB an die Telefonnummer vom derzeitigen User übers Backend ran???

ich mach das ganze über @DbLookup ich weiß leider nicht wie man das anders lösen kann
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: DAU-in am 08.09.08 - 10:22:39
zeitgesteuerter Backendagent und aktueller Anwender widersprechen sich aber.

Grüsse

Dau-in
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: LordKiri am 08.09.08 - 10:33:57
gibt es überhaupt irgendeine Möglichkeit über LS an die Daten im DD ranzukommen wie bei DbLookup?

an den aktuellen Benutzer komm ich ja über folgendes:

Dim session As New NotesSession
Dim user As String
user = session.UserName

die View ($Users) nach dem einen User zu durchsuchen und die Einträge abzufragen bekomm ich nicht hin...

Und dann stellt sich die Frage ist so etwas überhaupt mit einem Backendagent möglich (zumindest nach der Aussage von DAU-in)
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: m3 am 08.09.08 - 10:42:48
Ja.
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: LordKiri am 08.09.08 - 11:46:00
nach diesem einfachen "Ja", gehe ich davon aus dass die Lösung des Problem komplizierter ist, deswegen habe ich jetzt mal einen Workaround geschrieben....

jetzt wird das ganze nach dem Öffnen des Ordners $Inbox geöffnet und damit es nur einmal am Tag ausgeführt wird habe ich einen Zähler geschrieben der die Variable in die notes.ini schreibt und der über einen anderen Agenten einmal am tag zurückgesetzt wird auf 1
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: Ralf_M_Petter am 08.09.08 - 12:42:08
Wow ich denke deine User werden dann auf heise wieder oder anderen Seiten begeisterte Notes ist Sch**e Rufer. Es ist Schade, dass sowohl Notes als auch Java so stark darunter leiden müssen, dass sie schwerstens missbraucht werden.

Grüße

Ralf M Petter

P.S. Bitte nicht persönlich nehmen, aber sowas regt mich auf.
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: DAU-in am 08.09.08 - 14:59:41
gibt es denn nicht die Möglichkeit,  einmal täglich für jeden Anwender die Daten ein/auszulesen?
muss das für jeden einzeln gemacht werden?

grüsse

Dau-in
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: LordKiri am 08.09.08 - 16:11:36
Leider muss es für jeden einzeln gemacht werden, weil ich immer die Daten vom aktuellen Benutzer brauch und da wir PCs haben, wo 2-4 Leute dran schaffen und ich immer die aktuellen benötige.

Andere Möglichkeit wäre natürlich eine Datei schreiben lassen, in der alle User drin stehn und immer nur der benötigte gesucht wird, aber so hatten wir das ganze bis jetzt und es ist erwünscht, dass sich das ändert....

@Ralf_M_Petter:
Deine Aussage ist mir nicht ganz klar, unsere User bekommen es in keinster Weise mit, dass ich überhaupt irgendwelche Daten auslesen lasse => Sie können sich auch nicht darüber aufregen.
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: botschi am 08.09.08 - 16:30:19
ich würde gerne ein Dokument beim öffnen der Maildatenbank erstellen, aus diversen Gründen (auf die ich jetzt nicht näher eingehe) soll das im Vordergrund geöffnet werden.

Wenn die User das nicht mitkriegen, weiss ich auch nicht mehr weiter  ;D


Matthias
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: koehlerbv am 08.09.08 - 18:06:52
Das Ganze hier ist doch ein Gestochere im Nebel! Was wird denn nun wirklich wann und wo benötigt?

Was ich vermute: In der aktuellen NotesSession (die ja an den User gebunden ist) benötigst Du des Users persönliche Daten wie Telefonnummer etc. Dann sollte Deine (datenerheischende) Routine für OpenOffice eben mit NotesSession.Username auf die Ansicht "($Users)" des DDs gehen. Wenn diese das nicht kann (machte das nicht OO?) und Du irgendein Textfile brauchst, das irgendwie heisst und irgendwo liegt, dann wird das Ganze eh fraglich und erfordert eine genauere Beschreibung des erforderlichen Ablaufs hier, Matthias ("Herr des Kinder-Frischkäses"  ;D).

Eine sicherere Lösung sollte sich gemeinsam finden lassen.

Bernhard
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: Ralf_M_Petter am 09.09.08 - 07:52:31
Eventuell wäre es immer gut, wenn der Fragende postet welche Fähigkeiten vorhanden sind. Offensichtlich ist ja hier das Problem, dass keine Lotusscript Kenntnisse vorhanden sind und auch die Fähigkeiten in Starbasic auch nur rudimentär.

Grüße

Ralf
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: LordKiri am 09.09.08 - 09:06:36
Moment, keine Fähigkeiten habe ich nie gesagt, ich habe lediglich gesagt, dass meine Fähigkeiten nicht ausreichen um einen Script zu schreiben, der einem @DbLookup gleicht....

Starbasic bin ich nicht wirklich begabt und habe auch durch Suche und Anfragen in OOo-Foren keine Lösung gefunden...

Ich habe das ganze jetzt so gelöst das es funktioniert und so reicht es zumindest atm aus...

Und die User bekommen es nicht mit weil zwar ein Doc im Frontend geöffnet wird, aber dieses wird bevor es überhaupt zu sehen ist schon wieder geschlossen. Und ich hab das ganze jetzt so gebaut dass es nur einmal ausgeführt wird, zumindest bis ein Agent sagt, dass es nochmal ausgeführt werden soll.
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: Ralf_M_Petter am 09.09.08 - 09:12:22
Sorry wollte dich natürlich auf keinen Fall beleidigen, aber die Funktionalität eines @Dblookup in script nachzubauen ist extrem einfach und wirklich überhaupt kein Problem, deshalb bin ich davon ausgegangen, dass sich deine script Kenntnisse auf copy & Paste beschränken. Falls dem nicht so ist dann nochmal Entschuldigung, wobei dann immer noch die Frage bleibt warum du es nicht einfach mit script gelöst hast.

Grüße

Ralf
Titel: Re: Dokument beim Start der MailDatenbank erstellen
Beitrag von: LordKiri am 09.09.08 - 09:29:17
ich bin ja noch am lernen, schließlich arbeitet ich erst seit 3 Monaten mit Notes und für mich ist es noch nicht einfach so eine Funktion nachzubauen, weil ich mich erstmal mit den Dingen beschäftigt habe die ich erstmal brauch und so baue ich nach und nach mein Wissen auf...