Autor Thema: Erstellen eines Items im Dokuement -> Datentyp: Zeit/Datum-Liste oder Zeitraum  (Gelesen 4166 mal)

Offline Fragensteller

  • Junior Mitglied
  • **
  • Beiträge: 72
Hallo,
wieder mal ein kleines für Euch.

Ich wollte im Dokument ein Item erstellen per lotus script.

Datentyp: Zeit/Datum-Liste oder Zeitraum

Bekomme es jedoch nicht hin.
Als eine Textliste ist es kein problem aber das ist nicht der Typ den ich benötige....
(Die Explode Funktion läuft und gibt n array zurück)

Jemand Zeit mich zu unterstützen?

Hier der Code


   rawdatum = InputBox("Daten eingeben (xx.xx.xxxx;yy.yy.yyyy)")
   
   datum = Explode(rawdatum, ";", false)
   
   ForAll elem In datum
      ldatum(z) = CDat(elem)
      z = z+1
   End ForAll
   
   Set docc = db.Unprocesseddocuments
   Set doc = docc.Getfirstdocument()
   
   Call doc.Replaceitemvalue("BearbeitungstermineFolgend", ldatum)
      

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Das funktioniert bei mir mit sinngemäßem Agenten

Sub Initialize
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Set db = session.CurrentDatabase
   Dim col As NotesDocumentCollection
   Set col = db.UnprocessedDocuments
   Dim doc As NotesDocument
   Set doc = col.GetFirstDocument
   Dim testdatum As Variant
   Redim testdatum (1)
   testdatum (0) = Cdat ("01.09.2011")
   testdatum (1) = Cdat ("02.09.2011")
   
   Do While Not doc Is Nothing
      Call doc.ReplaceItemValue ("BearbeitungstermineFolgende", testdatum)
      Call doc.Save (True, True)
      Set doc = col.GetNextDocument (doc)
   Loop
End Sub

Wie hast Du ldatum deklariert? Öffnest und speicherst Du das Dokument im Anschluß? Wenn ja, wie ist das Feld in der Maske definiert?

Offline Fragensteller

  • Junior Mitglied
  • **
  • Beiträge: 72
Hier meine Version die ja nicht läuft
In der Maske ist das Feld als Datentyp: Zeit/Datum-Liste oder Zeitraum gesetzt wenn es existiert. Gibt es keine Inhalte, gibt es auch das Feld nicht.

Sub Initialize
   Dim s As New NotesSession
   Dim ws As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Dim docc As NotesDocumentCollection
   Dim rawdatum As String
   Dim datum As Variant
   Dim ldatum List As variant
   Dim z As Integer
   z = 0
   
   Set db = s.CurrentDatabase
   rawdatum = InputBox("Daten eingeben (xx.xx.xxxx,yy.yy.yyyy)")
   
   datum = Explode(rawdatum, ";", false)
   
   ForAll elem In datum
      ldatum(z) = CDat(elem)
      z = z+1
   End ForAll
   
   Set docc = db.Unprocesseddocuments
   Set doc = docc.Getfirstdocument()
   
   While Not doc Is Nothing
      If Len(CStr(ldatum(0))) > 0 Then
         Call doc.Replaceitemvalue("BearbeitungstermineFolgend", ldatum)
      Else
         Call doc.Replaceitemvalue("BearbeitungstermineFolgend", "")
      End If
      
      Call doc.save(True,False)
      Set doc = docc.Getnextdocument(doc)
   Wend
End Sub


Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Sub Initialize
   Dim s As New NotesSession
   Dim ws As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Dim docc As NotesDocumentCollection
   Dim rawdatum As String
   Dim datum As Variant
   Dim ldatum List As variant
   Dim z As Integer
   z = 0
   
   Set db = s.CurrentDatabase
   rawdatum = InputBox("Daten eingeben (xx.xx.xxxx,yy.yy.yyyy)")
   
   datum = Explode(rawdatum, ";", false)
   
   Redim ldatum (Ubound (datum))
   ForAll elem In datum
      ldatum(z) = CDat(elem)
      z = z+1
   End ForAll
   
   Set docc = db.Unprocesseddocuments
   Set doc = docc.Getfirstdocument()
   
   While Not doc Is Nothing
      If Len(CStr(ldatum(0))) > 0 Then
         Call doc.Replaceitemvalue("BearbeitungstermineFolgend", ldatum)
      Else
         Call doc.Replaceitemvalue("BearbeitungstermineFolgend", "")
      End If
     
      Call doc.save(True,False)
      Set doc = docc.Getnextdocument(doc)
   Wend
End Sub

Fehlt nur noch eine Fehlerbehandlung, falls Unsinn eingetippt wird ...

Offline Fragensteller

  • Junior Mitglied
  • **
  • Beiträge: 72
oh mann, danke...
mein heutiger Held^^

Kann man nun noch irgendwie bei den Werten die eingetragen werden, die Zeit entfernen?

Jetzt schaut es so aus
01.01.2011 00:00:00
13.10.2011 00:00:00

soll aber dann
01.01.2011
13.10.2011

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
M.W. nicht, das fackelst Du dann in den Feldeigenschaften der Maske und den Spalteneigenschaften in den Ansichten ab

Offline Fragensteller

  • Junior Mitglied
  • **
  • Beiträge: 72
alles klar, danke.
hoffe irgendwann kann ich euch mal helfen^^

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz