Der Code, mit dem ich das Dok erstelle und befülle schaut ungefähr so aus:
Set doc = db.CreateDocument()
doc.Form = "mTicket"
Dim resp As Integer
resp = ws.DialogBox( "Dialogmaske", True, True, False, False, False, False, "Titel", doc, True, False)
If resp = False Then Exit Sub
Call doc.ComputeWithForm(True,True)
Call ws.EditDocument(True, doc, False)
In der Dialogmaske sind dann ein paar Eingabefelder und der Button mit dem Code:
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
Set db = session.CurrentDatabase
Set coll = ws.PickListCollection(1,False, db.Server, db.FilePath, "aViewName",_
"Auswahl","Wähl ein Dokument aus" )
Set docWP = coll.GetFirstDocument()
If Not docWP Is Nothing Then
doc.Wknr = docWP.Wknr
..... (Felder übernehmen)
Call uidoc.Refresh()
Call uidoc.close()
End If
Ohne das uidoc.Close() (ganz unten) drück ich in der Pickliste auf den OK Button und dann muß ich in der Dialogbox nochmal drauf drücken.
Mit dem uidoc.Close() wird zwar die Dialogbox geschlossen, aber das uidoc.Edit greift nicht weil die Dialogbox nach dem Close ein False (=Abbruch) zurückgibt.