Autor Thema: Befehl vom Arbeitsbereich aus nicht verfügbar (composedocument)  (Gelesen 1867 mal)

Offline Sillik

  • Junior Mitglied
  • **
  • Beiträge: 75
  • Geschlecht: Männlich
  • Beescheeiid?!?
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?
« Letzte Änderung: 07.08.03 - 14:28:19 von Sillik »

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
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
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Sillik

  • Junior Mitglied
  • **
  • Beiträge: 75
  • Geschlecht: Männlich
  • Beescheeiid?!?
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
« Letzte Änderung: 07.08.03 - 15:04:41 von Sillik »

Glombi

  • Gast
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
« Letzte Änderung: 07.08.03 - 15:02:16 von Glombi »

Offline Sillik

  • Junior Mitglied
  • **
  • Beiträge: 75
  • Geschlecht: Männlich
  • Beescheeiid?!?
Da passiert genau das gleiche. Der 2. save war sowieso nur zu testzwecken drin. Den hab ich jetzt wieder raus.

Glombi

  • Gast
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

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Hi,

ich hab das Script mal getestet und es funktioniert einwandfrei. Der Fehler muß woanders liegen, vielleicht, wie Glombi meint innerhalb der Begleitscheinmaske.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Sillik

  • Junior Mitglied
  • **
  • Beiträge: 75
  • Geschlecht: Männlich
  • Beescheeiid?!?
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
« Letzte Änderung: 07.08.03 - 15:54:12 von Sillik »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz