Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Sillik am 07.08.03 - 14:27:31
-
Hi,
ich will per Button eine andere Maske öffnen. Ich mach das mit "composedocument".
Ich bekomm im Debugger jetzt allerdings die Meldung:
"Notes Error - Befehl vom Arbeitsbereich aus nicht verfügbar"
Von der Syntax ist der Befehl aber eigentlich richtig:
Set uidoc = uiws.composedocument("S1DX01", "stoer_new.nsf","Begleitschein")
Was ist hier falsch?
-
Hi,
hast du uiws richtig initialisiert?
So z.B.
Dim uiws New NotesUIWorkspace
Poste doch mal den gesamten Code. Die Zeile sieht so weit richtig aus.
Axel
-
Sub Click(Source As Button)
Dim uiws As New notesuiworkspace
Dim uidoc As notesuidocument
Dim var As String
Dim curdoc As notesuidocument
Set curdoc = uiws.currentdocument
var = Msgbox("Ein Begleitschein kann nur für gespeicherte Dokumente erstellt werden." & Chr(10) & Chr(10) &_
"Möchten Sie Speichern und fortfahren?", 4 + 32, "Speichern erforderlich")
If var = "6" Then
Call curdoc.save
Set uidoc = uiws.composedocument ("S1DX01", "stoer_new.nsf","Begleitschein")
var = Msgbox("Dokument wurde gespeichert." , 0 + 64 , "Speichern erfolgreich")
End If
End Sub
-
Hi,
es liegt vielleicht an der falschen Reihenfolge. Beim 2. mal "Call curdoc.save" ist das nicht mehr das aktuell geöffnete Dokument!
Versuch mal folgendes:
Sub Click(Source As Button)
Dim uiws As New notesuiworkspace
Dim uidoc As notesuidocument
Dim var As String
Dim curdoc As notesuidocument
Set curdoc = uiws.currentdocument
var = Msgbox("Ein Begleitschein kann nur für gespeicherte Dokumente erstellt werden." & Chr(10) & Chr(10) &_
"Möchten Sie Speichern und fortfahren?", 4 + 32, "Speichern erforderlich")
If var = "6" Then
Call curdoc.save
var = Msgbox("Dokument wurde gespeichert." , 0 + 64 , "Speichern erfolgreich")
Set uidoc = uiws.composedocument ("S1DX01", "stoer_new.nsf","Begleitschein")
End If
End Sub
Andreas
-
Da passiert genau das gleiche. Der 2. save war sowieso nur zu testzwecken drin. Den hab ich jetzt wieder raus.
-
Hi,
was passiert denn, wenn Du ein "Begleitschein" manuell erstellst? Evtl. liegt der Fehler in der Maske.
Dein Script ist eigentlich ok - ausser beim Speichern passiert was.
Andreas
-
Hi,
ich hab das Script mal getestet und es funktioniert einwandfrei. Der Fehler muß woanders liegen, vielleicht, wie Glombi meint innerhalb der Begleitscheinmaske.
Axel
-
So, ich weiß jetzt zumindest worans liegt:
Wenn ich den save rauslass gehts. Aber ich brauch den save, weil ich die NotesID in den Begleitschein übergebe.
Wenn das Dokument aber schon vorher abspeichere, erneut aufrufe, und den Begleitschein dann aufrufe gehts aber. Es muss also irgendwas im Querysave sein, was mir reinpuscht.
Das is der Querysavecode den das Programm beim Speichern durchläuft:
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim ws As New NotesUIWorkspace
Set session = New NotesSession
Set db = session.CurrentDatabase
If note Is Nothing Then Set note = source.Document
note.RemoveItem("SaveOptions")
If note.NSubmitNow(0) = "1" Then NSubmitNow = True
'ParallelReviewCheck
If note.ReviewType(0) = "2" And note.complete(0) = "1" Then
Goto PContinue
End If
'Serial review check: If we are not submitting for review, we don't need to do the rest of this
If (Not(NSubmitNow) Or note.Status(0) = 3) And note.Resubmit(0) = "0" Then Exit Sub
Ich kenn mich da noch zu wenig aus. Ist da irgendwas an dem es liegen könnte?
[EDIT]
Ich habs grad getestet. Wenn ich beim Querysave ganz am Anfang nen Exit Sub mach, und quasi Querysave gar nicht ausgeführt wird kommt der fehler trotzdem. Ich glaub ich werd das ganze jetzt mit der Formelsprache machen, bevor ich da noch ewig rumsuche...
thx for help