Domino 9 und frühere Versionen > ND7: Entwicklung

Frage zu Save..

(1/3) > >>

iworks:
Hi zusammen,

beim beiliegenden LS Code speichert das Dokument nicht nach dem Öffnen, einer eine Idee warum nicht?
Ziel ist es einige Docs in einer View zu markieren und per Agent zu Öffnen, Speichern und wieder schliessen. Momentan versuche ich zunächst nur zu speichern, aber wie erwähnt das klappt nicht ganz, statt dessen bleiben alle Docs geöffnet.
Hier der LS dazu:

Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim dc As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim item As NotesItem
   Dim projektbez As String
   
   Set db = session.CurrentDatabase
   Set dc = db.UnprocessedDocuments
   Set doc = dc.GetFirstDocument
   
   zaehler=1
   
   While Not ( doc Is Nothing )
      Set item=doc.GetFirstItem( "Projektbez" )
      projektbez=item.Text
      
      If projektbez="" Then
         doc.ID = doc.UniversalID
         
      Else
         doc.ID = doc.UniversalID
         
      End If
      Call doc.Save ( True, False )
      If doc.Save( False, False ) Then
         Messagebox "Document " & doc.UniversalID & _
         " successfully saved"
      Else
         Messagebox "Document " & doc.UniversalID & _
         " was not saved"
      End If
      
      If zaehler=1 Then
         Print zaehler & " Dokument bearbeitet"
      Else
         Print zaehler & " Dokumente bearbeitet"
      End If
      
      
      Set doc = dc.GetNextDocument(doc)      
      zaehler=zaehler+1
   Wend
   
End Sub

klaussal:

--- Zitat --- aber wie erwähnt das klappt nicht ganz,
--- Ende Zitat ---

.... und was heißt das jetzt ?

Driri:
Bitte nimm mir das nicht übel, aber weißt Du eigentlich, was Du da tust ? Ich würde ganz dringend eine Schulung empfehlen oder zumindest den verstärkten Einsatz der Designer-Hilfe.

In dem Code aus dem anderen Thread waren schon einige offensichtliche Fehler drin und bei diesem Code gibt es eine klar Abweichung zwischen deiner Beschreibung der Funktionalität und dem, was der Code tatsächlich tut.

Wie gesagt, das ist nicht böse gemeint. Ich habe nur den Eindruck, daß Du da nicht strukturiert genug herangehst und Dir wild Code zusammenstrickst.

m3:
Warum speicherst Du 2x hintereinander?

Driri:
Um meinen Beitrag ein wenig deutlicher zu machen, mal einige Zeilen aus deinem Code kommentiert :


--- Zitat ---...
      Set item=doc.GetFirstItem( "Projektbez" )
      projektbez=item.Text
     
      If projektbez="" Then
         doc.ID = doc.UniversalID
         
      Else
         doc.ID = doc.UniversalID
         
      End If

--- Ende Zitat ---

Wozu die If-Schleife ? Du setzt das Feld ja sowieso.


--- Zitat ---      Call doc.Save ( True, False )
      If doc.Save( False, False ) Then
...

--- Ende Zitat ---

Das hat Martin schon angemerkt. Du speicherst so gleich zweimal.
     

Momentan schießt Dir der Code lediglich die UniversalID in ein Feld. Das bekommt man in Formelsprache auch mit einem Einzeiler hin.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln