Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: poldy06 am 23.10.13 - 14:48:42

Titel: Dokument wurde noch nicht gespeichert
Beitrag von: poldy06 am 23.10.13 - 14:48:42
Moin Zusammen,
ich versuche folgendes:
Ich öffne ein neues Dokument, darin ist eine Schaltfläche, die folgenden Agenten (Angaben bereinigt) ausruft:

Sub Initialize
   Dim s         As New NotesSession
   Dim ws          As New NotesUIWorkspace
   Dim uidoc      As NotesUIDocument
   Dim picklist    As Variant
   Dim messagelist As String
   Dim adb         As NotesDatabase
   Dim bdb      As New NotesDatabase("","") 
   Dim view       As NotesView
   Dim entry       As NotesViewEntry
   
   Set adb = s.CurrentDatabase
   Set uidoc = ws.Currentdocument
      
   If bdb.OpenByReplicaID( "[Server]", "[ID]" ) Then
      Print( bdb.Title & " was successfully opened" )
   Else
      Print( "Unable to open database" )
   End If

   picklist = ws.PickListStrings( _
   PICKLIST_CUSTOM, _
   False, _
   bdb.Server, _
   bdb.Filepath , _
   "(Lookup Product)", _
   "Datenübernahme", _
   "Bitte den Artikel auswählen!", _
   1)
   
   Set view = bdb.getview("(Lookup Product)")
   Set entry = view.GetEntryByKey(picklist,True)
   
   If Not entry Is Nothing Then    'nur wenn es auch was gibt
      uidoc.EditMode = True
      Call uidoc.FieldSetText("Feld1", entry.Columnvalues(3))
      Call uidoc.FieldSetText("Feld2", entry.Columnvalues(4))
      Call uidoc.FieldSetText("Feld3", entry.Columnvalues(8))
      Call uidoc.FieldSetText("Feld4", entry.Columnvalues(12))
      Call uiDoc.FieldSetText("Feld5", entry.Columnvalues(5))
      Call uiDoc.FieldSetText("Feld6", entry.Columnvalues(6))
      Call uiDoc.FieldSetText("Feld7", entry.Columnvalues(9))
      Call uiDoc.FieldSetText("Feld8", entry.Columnvalues(10))
      Call uiDoc.FieldSetText("Feld9", entry.Columnvalues(11))
      Call uiDoc.FieldSetText("Feld0", entry.Columnvalues(7))
         
   Else
      MessageBox "Gibt es garnicht!" ,"16", "Übernahme "   
   End if
   Call uidoc.Refresh()
   Call uiDoc.GotoField("Feld1")
End Sub

Besser gesagt, aufrufen soll, denn es kommt immer nur die Fehlermeldung, dass das Dokument noch nicht gespeichert wurde.
Es kann aber auch nicht vorher gespeichert werden, denn es werden mit dieser Routine PFlichtfelder gesetzt.
Hat jemand ne Idee, was ich tun kann?
Danke!
Gruß
Poldy

P.S. Ich habe ein paar Einträge mit ähnlichem Problem gefunden, die Lösungen haben mir leider nicht geholfen.
Titel: Re: Dokument wurde noch nicht gespeichert
Beitrag von: Tode am 23.10.13 - 14:51:21
Und in welcher ZEILE kommt die Fehlermeldung? Man schreibt keinen Script- Code ohne zumindest ein rudimentäres ErrorHandling... Dann wüsstest Du nämlich WO der Fehler passiert, dann könnte man Dir auch helfen...
Titel: Re: Dokument wurde noch nicht gespeichert
Beitrag von: ascabg am 23.10.13 - 14:52:51
Hallo,

Wo wird denn der Agent aufgerufen?
Oder ist dies der Agent?

Und wenn es der Agent ist, woher weiss dieser dann in welches Dokument er schreiben soll?


Andreas
Titel: Re: Dokument wurde noch nicht gespeichert
Beitrag von: Peter Klett am 23.10.13 - 15:22:36
Stell' mal Deinen Agenten von "Alle ausgewählten Dokumente" auf "Keine"
Titel: Re: Dokument wurde noch nicht gespeichert
Beitrag von: umi am 24.10.13 - 13:41:39
Moin

Warum der Handstand über die PicklistStrings ?
Warum nicht gleich die PicklistCollection verwenden?
Titel: Re: Dokument wurde noch nicht gespeichert
Beitrag von: poldy06 am 25.10.13 - 12:05:59
Moin Zusammen,
danke für die Antworten!
Peter hat es getroffen! Genau das war das Problem.
Gute Frage umi, weil ich es nicht besser wusste   ;)
Tode: Ich gebe Dir grundsätzlich Recht, aber hier hätte es nichts geholfen, weil der Agent garnicht gestartet wurde!
Schönes Wochenende!!
Titel: Re: Dokument wurde noch nicht gespeichert
Beitrag von: Tode am 25.10.13 - 13:17:21
Juppp... die Fehlermeldung kommt bei falschem Trigger... Da war ich zu voreilig...