Domino 9 und frühere Versionen > ND9: Entwicklung

Neues Dokument über Button erstellen

(1/2) > >>

chock:
Hallo Forum,

wir haben die ganze Zeit ein neues Dokument über die Formel @Command([Compose]; "Maske") erstellt. In dieser Maske werden bestimmte Postopen Events ausgeführt. Funktioniert auch alles ohne Probleme.
Nun soll zusätzlich ein Word-Dokument wärend des erstellens eines neuen Dokumentes in Maske eingebunden werden.
Eine entsprechende Formel habe ich in den Button eingefügt, die auch die gewünschte Funktion erfüllt.
Das Problem ist nun, das neu erstellte Dokument führt die PostopenEvents nicht mehr aus. Woran könnte das liegen?
Danke.

Formel Butten für neues Dokument.

Sub Click(Source As Button)
   Dim s As New NotesSession
   Dim ws As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Set db = s.CurrentDatabase
   Set doc = New NotesDocument(db)
   doc.Form = "Maske"
   Set uidoc = ws.CurrentDocument
   Set rtitem = New NotesRichTextItem( doc, "RT_Feld" )
   Set object = rtitem.EmbedObject( EMBED_ATTACHMENT, "", "c:\test.dotx")
   Set uidoc = ws.EditDocument(True, doc)   \\K
   Call uidoc.GotoField( "Description" )
   'Call uidoc.Refresh
End Sub

Klafu:
Hast du mal geguckt, was der Debugger dazu sagt?

Chris

chock:

--- Zitat von: Klafu am 22.07.15 - 14:17:29 ---Hast du mal geguckt, was der Debugger dazu sagt?

Chris

--- Ende Zitat ---

Hallo,

der Debugger sagt nichts, man sieht nur das Script von dem Button. Dannach ist sofort die Maske da.

Peter Klett:
Sub Click(Source As Button)
   Dim s As New NotesSession
   Dim ws As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Set db = s.CurrentDatabase
   Set doc = New NotesDocument(db)
   doc.Form = "Maske"
   Set uidoc = ws.CurrentDocument
   Set rtitem = New NotesRichTextItem( doc, "RT_Feld" )
   Set object = rtitem.EmbedObject( EMBED_ATTACHMENT, "", "c:\test.dotx")
   Set uidoc = ws.EditDocument(True, doc)   \\K
   Call uidoc.GotoField( "Description" )
   'Call uidoc.Refresh
End Sub

Wie sehen die PostOpen-Scripte aus, werden dort die Aktionen nur durchgeführt, wenn das Dokument neu ist?

Ein Compose erstellt ein neues Dokument, ein ws.EditDocument öffnet ein bereits bestehendes, das für Notes nicht mehr als neues Dokument erkannt wird (auch, wenn es einen Bruchteil einer Sekunde vorher erzeugt wurde)

chock:

--- Zitat von: Peter Klett am 22.07.15 - 14:41:05 ---Sub Click(Source As Button)
   Dim s As New NotesSession
   Dim ws As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Set db = s.CurrentDatabase
   Set doc = New NotesDocument(db)
   doc.Form = "Maske"
   Set uidoc = ws.CurrentDocument
   Set rtitem = New NotesRichTextItem( doc, "RT_Feld" )
   Set object = rtitem.EmbedObject( EMBED_ATTACHMENT, "", "c:\test.dotx")
   Set uidoc = ws.EditDocument(True, doc)   \\K
   Call uidoc.GotoField( "Description" )
   'Call uidoc.Refresh
End Sub

Wie sehen die PostOpen-Scripte aus, werden dort die Aktionen nur durchgeführt, wenn das Dokument neu ist?

Ein Compose erstellt ein neues Dokument, ein ws.EditDocument öffnet ein bereits bestehendes, das für Notes nicht mehr als neues Dokument erkannt wird (auch, wenn es einen Bruchteil einer Sekunde vorher erzeugt wurde)

--- Ende Zitat ---

Hallo,

ja, es sind viele Aktionen die nur bei einem neuen Dokument ausgeführt werden.
Dann ist genau dort das Problem, gibt es eine alternative zu ws.EditDocument?

Gruß

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln