Domino 9 und frühere Versionen > ND8: Administration & Userprobleme

Bitte um Tipps zu Editdocument bzw. Scriptaufbau

(1/2) > >>

iukhdh:
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"
--- Ende Code ---

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

BigWim:
Meiner Meinung nach hast Du mit EditDocument keine Chance.

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

Markus

iukhdh:
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.

koehlerbv:
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

TRO:
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


hth

Thomas

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln