Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Fragensteller am 02.09.11 - 17:03:37
-
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)
-
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?
-
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
-
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 ...
-
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
-
M.W. nicht, das fackelst Du dann in den Feldeigenschaften der Maske und den Spalteneigenschaften in den Ansichten ab
-
alles klar, danke.
hoffe irgendwann kann ich euch mal helfen^^