Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: OCS am 23.10.03 - 09:22:23

Titel: Neues Uidocument als Antwortdokument???
Beitrag von: OCS am 23.10.03 - 09:22:23
hi leute,
wer mein letztes problem kennt, weiss warum die frage!
gibt es beim uidoc auch die möglichkeit, dieses als antwortdokument zu erstellen wie unten mit einem notesdokument?


Syntax beim NotesDocument:
-----------------------------------------------------
Set aktivdoc = New notesdocument (db)
Call aktivdoc.MakeResponse( cpdoc )
aktivdoc.Form = "aktion"
-----------------------------------------------------

Gruß Björn
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: Semeaphoros am 23.10.03 - 09:38:19
Set notesUIDocument = notesUIWorkspace.ComposeDocument( [ server$ [, file$ [, form$ [, windowWidth# [, windowHeight# [, returnNotesUIDocument]]]]]] )
Set Activedoc=notesUIDoc.Document
Call aktivdoc.MakeResponse( cpdoc )
aktivdoc.Form = "aktion"
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: OCS am 23.10.03 - 09:48:32
Set notesUIDocument = notesUIWorkspace.ComposeDocument( [ server$ [, file$ [, form$ [, windowWidth# [, windowHeight# [, returnNotesUIDocument]]]]]] )
Set Activedoc=notesUIDoc.Document
Call aktivdoc.MakeResponse( cpdoc )
aktivdoc.Form = "aktion"


danke, aber bis hierhin kam ich auch schon, die funktion "MakeResponse"
gibts bei uidoc nicht!
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: Semeaphoros am 23.10.03 - 09:58:47
Dann studier den Code nochmal.

Set activedoc=NotesUIDoc.Document

das ist vom Typ NotesDocument, Zugriff auf das Backend-Dokument durch das UIDocument
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: koehlerbv am 23.10.03 - 10:15:25
Sicherheitshalber nach dem MakeResponse ein NotesDocument.Save und ein NotesUIDocument.Reload - nicht, daß später das UIDoc das Backend-Doc überschreibt und $Ref von uns geht ...

Bernhard
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: OCS am 23.10.03 - 10:24:57
hört sich ja gut an, aber bei "Call aktivdoc.MakeResponse( cpdoc )" bleib ich mit object variable not set hängen, obwol ich das ja in der zeile vorher mit "Set activdoc=aktivuidoc.Document" mache!
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: Semeaphoros am 23.10.03 - 10:26:57
Gibt es das cpdoc? Möglicherweise ist das nicht gesetzt. Weiss nicht genau, ob für ein MakeResponse uU auch schon vorher ein Save erforderlich ist (sollte zwar nicht, habe so ähnliches aber auch schon erlebt)
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: koehlerbv am 23.10.03 - 10:30:06
Und was spricht der Debugger ?
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: Driri am 23.10.03 - 10:33:06
Hi,

in dem Code wird einmal Activedoc und einmal Aktivdoc verwendet, für eine von beiden Namen sollte man sich dann entscheiden  ;)
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: koehlerbv am 23.10.03 - 10:34:58
Hast Du Option Declare gesetzt ?
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: Semeaphoros am 23.10.03 - 10:35:33
Ok, das hab dann wohl ich verursacht, indem ich einen Codeverschnitt gemacht habe.

Das wäre aber sofort rausgekommen, wenn OCS

Option Declare

verwendenn würde. Bei mir bei Strafe verboten, das Ding nicht zu verwenden.
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: OCS am 23.10.03 - 10:38:46
wie Du unten siehst, ist cpdoc ein dokument aus einer collection die ich vorher erstelle... das call aktivdoc.save (true, true) bringt auch nix!

Sub Initialize
   
'Variablen zum Schlüssel auslesen
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As notesuidocument
   Dim aktivuidoc As notesuidocument
   Dim cpdoc As NotesDocument
   Dim uiview As NotesUIView
   Dim aktivdocid As String
   Dim kunde As String
   
   
   'Aktivdb
   Dim aktivdoc As notesdocument   
   
   'Variablen zu auslesen der Items im ausgewählten Checkpunkt
   
   'Variablen in die die Items dann in umgewandelter Form geschrieben werden
   Dim aunr As String
   Dim posi As String
   
   'Variablen um auf FridaAktiv zuzugreifen
   
   Dim db_fri As notesdatabase
   Dim view_fri As notesview   
   Dim collect_Fri As notesdocumentcollection
   Dim doc_fri As NotesDocument
   Dim temp As Variant
   
   Dim adoc As Variant
   
   Set db = session.CurrentDatabase
   Set uiview = workspace.Currentview
   
   Set collection = db.UnprocessedDocuments
   Set cpdoc = collection.GetFirstDocument()
   
   Call uiview.SelectDocument(cpdoc) ' Soll das aktuell ausgewählte Dokument in den Zugriff nehmen
   
   Set aktivuidoc = workspace.ComposeDocument("OCS02/OCS GmbH","aktiv\fridaakt.nsf","aktion")                    
   Set activdoc=aktivuidoc.Document 'Nach dieser Zeile springt er raus!
   Call aktivdoc.save(True, True)
   Call aktivdoc.MakeResponse( cpdoc )
   aktivdoc.Form = "aktion"
   
   
End Sub
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: OCS am 23.10.03 - 10:42:18
ähm bin noch nicht so sehr lang dabei, was meint ihr mit Option Declare ?  ???

das mit dem activedoc ist mir aufgefallen, hab ich raus genommen!

achso, der debugger zeigt mir nach dem rausspringen an, das aktivdoc leer ist!
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: koehlerbv am 23.10.03 - 10:46:42
Option Declare erzwingt, daß alle Variablen und Objekte vor Verwendung deklariert werden müssen.

Bernhard
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: Driri am 23.10.03 - 10:54:01
Hi,

also es ist sichergestellt, daß Du jetzt immer aktivdok benutzt ?
In deinem letzten Code war genau in der Zeile, wo der Debugger aussteigt immer noch activdoc, also mit c statt mit k.

Das würde auch erklären, warum aktivdoc leer ist, es wird ja nirgendwo gesetzt.
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: OCS am 23.10.03 - 10:55:30
ok, nach option declar (danke Bernhard !!) bekomme ich immernoch den gleichen fehler an der gleichen stelle! :-[
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: Semeaphoros am 23.10.03 - 10:57:14
SelectDocument kannst Du gleich mal entfernen, das wird gleich in der nächsten Zeile durch ComposeDocument überschrieben (es gibt nur ein einziges aktives UIDocument)

Dass da kein Backend-Dokument erzeugt wird, scheint merkwürdig. Wie steht das mit den Zugriffsrechten?

Was passiert, wenn Du aktivuidoc.save aufrufst?

Was steht denn in aktivuidoc.document drin, sobald er aussteigt?
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: Glombi am 23.10.03 - 11:16:08
Wenn Du form$ in den Maskeneigenschaften als Antwort einstellst, kannst Du Dir das ganze Backendgeraffel sparen, wenn Du das Ding mit
ws.ComposeDocument
aufrufst und das ganze aus dem Dokument antriggerst, zu dem Du die Antwort erstellen willst.

Andreas
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: OCS am 23.10.03 - 11:22:54
das mit save war das problem, jetzt gehts!!! danke euch!!!!  ;D
Titel: Re:Neues Uidocument als Antwortdokument???
Beitrag von: Semeaphoros am 23.10.03 - 11:26:44
Hmm, gut geht es jetzt ..... ich hab doch schon recht früh was gebabbelt von speichern, aber dass es das frontend sein müssste .... war mir auch nicht klar.