Das Notes Forum

Domino 9 und frühere Versionen => ND8: Administration & Userprobleme => Thema gestartet von: iukhdh am 28.04.10 - 15:58:44

Titel: Bitte um Tipps zu Editdocument bzw. Scriptaufbau
Beitrag von: iukhdh am 28.04.10 - 15:58:44
Hallo liebe Fachleute,

bitte um eine kleine Hilfe, ich glaub ich bin irgendwie aufm Holzweg, bzw. blick grad nicht durch.

Ich habe eine Maske mit Button, mit dem ich ein neues, zweites Dokument öffne. Dort möchte ich Daten eingeben, dieses Dokument speichern, und dann im alten Dokument weitere Berechnungen durchführen.

Nun hänge ich daran, dass ich eigentlich den Code nach Speichern des zweiten Dokuments genau an dieser Stelle weiterführen möchte. Die Ausführung sollte also solange unterbrochen werden, und danach weitergehen.

Soweit bin ich grade (der Code soll später weitergeführt werden):

Code
	Dim uiws As New NotesUIWorkspace
	Dim session As New NotesSession
	Dim db As NotesDatabase
	Dim uidoc As NotesUIDocument   
	Dim doc As NotesDocument
	Dim Eingabedoc  As NotesDocument
	Set db = session.CurrentDatabase

	'#aktuelles Dokument holen
	Set uidoc = uiws.CurrentDocument
	
        '# Eingabedoc öffnen
	Set Eingabedoc = New NotesDocument(db)
	Eingabedoc.Form = "Softlizenzen"
	
	Call uiws.EditDocument(True, Eingabedoc)
	Print "hallo"

In dem Fall sollte das Print "hallo" also erst ausgeführt werden, wenn die Eingabe im Eingabedoc erfolgt ist. Im Moment wird halt das Dokument geöffnet, und dann gleich der Print ausgeführt.

Kann mir vielleicht einer kurz sagen wie das geht, oder bin ich da total auf dem Holzweg und muss sowas ganz anders realisieren?

Vielen Dank für eure Hilfe
Titel: Re: Bitte um Tipps zu Editdocument bzw. Scriptaufbau
Beitrag von: BigWim am 28.04.10 - 16:09:48
Meiner Meinung nach hast Du mit EditDocument keine Chance.

Ich würde es auf jeden Fall mal mit einer Dialogbox probieren.

Markus
Titel: Re: Bitte um Tipps zu Editdocument bzw. Scriptaufbau
Beitrag von: iukhdh am 28.04.10 - 16:25:56
Sowas hab ich schonmal realisiert, da gefiel mir nicht so, dass die Maske beim späteren Öffnen hat nicht mehr so aussieht wie in der Dialogbox. Daher dachte ich, dass ich diesmal direkt auf eine Maske gehe.
Titel: Re: Bitte um Tipps zu Editdocument bzw. Scriptaufbau
Beitrag von: koehlerbv am 28.04.10 - 17:20:13
Der Epilog des Codes gehört in ein abschliessendes Event des per EditDocument aufgerufenen Dokuments (Dok B).
Den Code im Hauptdokument (Dok A) anzuhalten, bis das andere Dokument geschlossen wird, geht nicht.

Vulgo: Der Button in Dok A erstellt das neue Dokument und schreibe dort seine UNID hinein. In einem abschliessenden Event in Dok B (QuerySave, PostSave, QueryClose) prüft Dok B, ob das UNID-Item einen Wert enthält. Wenn ja: Dok A an Hand UNID instantiieren, Werte übertragen, speichern. UNID in Dok B wieder entfernen, Dok B speichern.

Worauf Du achten musst: Dok A darf bei dieser Aktion nicht mehr editierbar sein, sondern scheppert es dort zwischen Frontend und Backend. Aber da hast Du ja nun diverse Wege, die Du an Hand Deiner konkreten Situation eine auswählen musst.

HTH,
Bernhard
Titel: Re: Bitte um Tipps zu Editdocument bzw. Scriptaufbau
Beitrag von: TRO am 28.04.10 - 17:23:27
eine Möglichkeit (wenn auch extrem schwierig in LotuScript) wäre im Maske A ein "Remote Event Binding" auf das PostSave in Maske B zu programmieren.

Siehe z.B. hier:
http://www.lotus911.com/nathan/escape.nsf/D6Plinks/NTFN-75CGS2 (http://www.lotus911.com/nathan/escape.nsf/D6Plinks/NTFN-75CGS2)


hth

Thomas
Titel: Re: Bitte um Tipps zu Editdocument bzw. Scriptaufbau
Beitrag von: BigWim am 29.04.10 - 09:02:59
Zitat
Worauf Du achten musst: Dok A darf bei dieser Aktion nicht mehr editierbar sein, sondern scheppert es dort zwischen Frontend und Backend. Aber da hast Du ja nun diverse Wege, die Du an Hand Deiner konkreten Situation eine auswählen musst.

Das könnte man doch über berechnete Felder und "einem" @DBlookup erschlagen, oder? Also in etwa so

- Dok A erstellt Dok B, speichert seine ID in Dok B und schließt sich
- Beim Speichern von Dok B wird ID von Dok B in Dok A geschrieben, Dok A geöffnet und Dok B schließt sich
- Dok A holt sich die Werte per @DBLookup und berechnet, was berechnet werden muß.

Sollten die Feldnamen in Dok B unterschiedlich sein, würde ich eine versteckte Teilmaske mit festen Feldnamen verwenden (in Dok B), die sich über entsprechende Formelabfragen die Werte holt.

Mit ein bißchen Spieltrieb ließe sich jede Berechnung nachvollziehen, solange die B-Dok's nicht gelöscht würden ....


Markus
Titel: Re: Bitte um Tipps zu Editdocument bzw. Scriptaufbau
Beitrag von: iukhdh am 29.04.10 - 14:51:01
Hallo Leute,

sorry, war ne ganze Weile nicht im Haus, daher erst jetzt mein Dank für die Antworten.

Ich werd mal ein wenig rumexperimentieren, der Vorschlag von Bernhard hört sich gut an.

Ciao