Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: gfunkus am 04.08.04 - 15:44:30

Titel: Invalid or nonexistent Document
Beitrag von: gfunkus am 04.08.04 - 15:44:30
Hi,

habe nen Agenten der ein neues doc erzeugen soll:
set ddoc = new notesdocument(db)
ddoc.form="TEST"
call ddco.save(TRUE,TRUE)
call ws.EditDocuemtn

aber bekomme obigen fehler... ????

Danke für Hilfe..
Titel: Re:Invalid or nonexistent Document
Beitrag von: Tode am 04.08.04 - 15:52:51
Abgetippt oder kopiert ?

call ddco.save(TRUE,TRUE) <-- ddco <> ddoc

und ws.EditDocument muss man das Dokument mitgeben, dass man öffnen will...

call ws.EditDocument( True, ddoc )

Wie ist der Agent getriggert ?
Wie ist die Dokumentenauswahl ?

Gruß
Tode
Titel: Re:Invalid or nonexistent Document
Beitrag von: gfunkus am 04.08.04 - 16:04:14
Tippfehler jetzt mal c&p:

      Set DDoc = New NotesDocument( Db )
      DDoc.Form = "FU001_DbLink"
      Call ddoc.ComputeWithForm(True,True)
      Call ddoc.Save(False,True)
   Call ws.EditDocument(True, DDoc)

so ist es...
Titel: Re:Invalid or nonexistent Document
Beitrag von: Tode am 04.08.04 - 16:12:31
und in welcher Zeile kommt der Fehler ? Was sagt der Debugger dazu ?

Und: WO / wie läuft der Agent / das Script

Tode
Titel: Re:Invalid or nonexistent Document
Beitrag von: gfunkus am 04.08.04 - 16:37:42
Der Fehler liegt darin, das man das erzeugte Dokument noch nicht mal aus der View heraus öffnen kann. Dann bekommt man nämlich die obige Fehlermledung ebenfalls. Das Doc lässt sich nicht öffnen... aber was läuft da falsch bei der erstellung???
Titel: Re:Invalid or nonexistent Document
Beitrag von: koehlerbv am 04.08.04 - 17:02:43
Mehr Infos ! Beantworte Todes Fragen.
Gibt es noch mehr Code ?
Wie sieht es mit den Rechten aus ?

Bernhard
Titel: Re:Invalid or nonexistent Document
Beitrag von: gfunkus am 04.08.04 - 17:21:12
   Dim session    As New    notessession
   Dim ws          As New    notesuiworkspace   
   Dim Db       As       notesdatabase
   Dim DefView As         notesView   
   Dim DDoc    As       notesdocument
   
   Set Db          =       session.currentdatabase
   Set DefView   =      Db.GetView("VU000_Ws3Con")
   Call Defview.Refresh()
   Set DDoc       =       DefView.GetFirstDocument
   ' Erster Aufruf => dann anlegen   
   
   If DDoc Is Nothing Then
      Set DDoc = New NotesDocument( Db )
      DDoc.Form = "FU001_DbLink"
      Call ddoc.ComputeWithForm(True,True)
      Call ddoc.Save(False,True)
   End If
   Call ws.EditDocument(True, DDoc)
   

Aufruf erfolgt über ne Outline.
Titel: Re:Invalid or nonexistent Document
Beitrag von: gfunkus am 04.08.04 - 17:29:19
woran kann es liegen das beim öffnen eines Dokumentes der obige fehler erscheint???
Titel: Re:Invalid or nonexistent Document
Beitrag von: Driri am 04.08.04 - 17:32:39
Mal ne andere Frage :

Wenn Du das Dokument neu erzeugen und dann quasi leer öffnen willst, warum benutzt Du dann nicht einfach ComposeDocument ?

Set DDoc = ws.ComposeDocument("", "", Form)
Titel: Re:Invalid or nonexistent Document
Beitrag von: gfunkus am 05.08.04 - 09:16:53
wenn ich das Doc damit erstellen will bekomme ich dieselbe Fehlermeldung. auch mit einem @command([compose...  geht es nicht. es muss wohl an der form liegen??? Ich kann mir das nicht erklären ???? Bin ratlos???  HILFE!!!!
Titel: Re:Invalid or nonexistent Document
Beitrag von: Glombi am 05.08.04 - 09:27:07
Das
Set DDoc = ws.ComposeDocument("", "", Form)
erzeugt ein NotesUIDocument, kein NotesDocument!
Ausserdem hast Du dann ein leeres Dokument, Du müsstest erst über das Backend die Felder setzen.

Dann noch was: Du solltest bei der Programmierung darauf achten, alles case sensitive zu programmieren. D.h. entweder DDoc oder ddoc.

Versuche das mal:
Dim session    As New    notessession
   Dim ws          As New    notesuiworkspace  
   Dim Db       As       notesdatabase
   Dim DefView As         notesView  
   Dim DDoc    As       notesdocument
   
   Set Db          =       session.currentdatabase
   Set DefView   =      Db.GetView("VU000_Ws3Con")
   Call Defview.Refresh()
   Set DDoc       =       DefView.GetFirstDocument
   ' Erster Aufruf => dann anlegen  
   
   If DDoc Is Nothing Then
      Set DDoc = Db.CreateDocument
      DDoc.Form = "FU001_DbLink"
      Call DDoc.Save(True,True)
      Call DDoc.ComputeWithForm(True,True)
      Call DDoc.Save(True,True)
   End If
   Call ws.EditDocument(True, DDoc)


Mit New hat man ab und zu Problemchen...

Andreas
Titel: Re:Invalid or nonexistent Document
Beitrag von: gfunkus am 05.08.04 - 09:36:26
OK! Fehler gefunden. Entwarnung. In der Form war ein Frameset eingetragen welches es nicht gab. Grr. Egal hauptsache jetzt läufts.
Danke für eure Beiträge.
Titel: Re:Invalid or nonexistent Document
Beitrag von: Driri am 06.08.04 - 10:17:39
Das
Set DDoc = ws.ComposeDocument("", "", Form)
erzeugt ein NotesUIDocument, kein NotesDocument!

Ist klar, aber so wie das oben im Beispielcode aussieht, soll das Dokument ja eh im UI geöffnet werden, dann kann ich auch gleich ein UIDocument erzeugen und damit dann weiterarbeiten.