Hallo zusammen!
In R6 ging/geht mein Code noch. Unter R7 nicht.
Ich erzeuge (per DXL) ein Form und ein Datumsfeld, Anzeige "nur Zeit".
Das fertige Form enthält zwar den richtigen Timepicker, aber egal was ich wähle, es zeigt das heutige Datum an.
Das Export Tool zeigt mir exakt den gleichen XML-Code an, wenn ich das Form händisch erstelle.
Witzigerweise (gleicher Export Code) verschwindet der Fehler, sobald ich den 2 Reiter der Feld-Properties aufrufe und dann speichere (zumindest für das eine Datumsfeld).
Ich habe es mal mit einer angpassten 6er DTD probiert, gleiches Problem.
Kann mir jemand den Bug bestätigen? Habe nix in den Hotfixes oder SPRs gefunden.
Hier ein kleiner Bspl-Code auf das Wesentlichste gekürzt, daher bitte einfach mal ein leeres Form "0Test" anlegen und einen Ansichts-Aktionsbutton mit folgendem Inhalt drücken:
Sub Click(Source As Button)
Dim ns As New NotesSession
Dim db As notesdatabase
Dim vw As notesview
Dim nc As NotesNoteCollection
Dim doc As NotesDocument
Dim exporter As notesdxlexporter
Dim parser As notesdomparser
Dim importer As notesdxlimporter
Dim strID As String
Set db = ns.CurrentDatabase
Set nc = db.CreateNoteCollection(False)
nc.SelectForms = True
'Bitte ein leeres Form anlegen, ich erstelle keins, weil ich hier RTF-Copies mache, die in DXL nicht gehen...:
nc.SelectionFormula = {$Title ="0Test"}
Call nc.BuildCollection
strID = nc.GetFirstNoteId
Set doc= db.GetDocumentByID(strID)
Set exporter = ns.CreateDXLExporter
Set parser = ns.CreateDOMParser()
Set importer = ns.CreateDXLImporter
Call exporter.SetInput(doc)
Call exporter.SetOutput(parser)
Call parser.setOutput(importer)
Call importer.SetOutput(db)
importer.ReplaceDBProperties = False
importer.DesignImportOption = DXLIMPORTOPTION_REPLACE_ELSE_CREATE
importer.ReplicaRequiredForReplaceOrUpdate = False
On Event PostDOMParse From parser Call ParseEvent
Call exporter.process
End Sub
Sub ParseEvent(source As notesdomparser)
Dim domdoc As notesDOMDocumentNode
Dim NodeList As NotesDOMNodeList
Dim parNode As NotesDOMElementNode
Dim runNode As NotesDOMElementNode
Dim fontNode As NotesDOMElementNode
Dim fieldNode As NotesDOMElementNode
Dim datetimeformatNode As NotesDOMElementNode
'%REM
Set domdoc = source.Document
Set NodeList = domdoc.GetElementsByTagName("par")
Set parNode = NodeList.GetItem(1)
'Set runNode = domdoc.CreateElementNode("run")
'Set fontNode = domdoc.CreateElementNode("font")
'Call fontNode.SetAttribute("size", "10pt")
'Call runNode.appendChild(fontNode)
Set fieldNode = domdoc.CreateElementNode("field")
Call fieldNode.SetAttribute("usenotesstyle", "false")
'Call fieldNode.SetAttribute("height", "0.2500in")
'Call fieldNode.SetAttribute("width", "0.7in")
'Call fieldNode.SetAttribute("multiline", "true")
'Call fieldNode.SetAttribute("borderstyle", "none") 'do not work in R6, not necessary in R7
Call fieldNode.SetAttribute("type", "datetime")
'Call fieldNode.SetAttribute("kind", "editable")
Call fieldNode.SetAttribute("name", "MyDateTime")
Call parNode.appendChild(fieldNode)
Set datetimeformatNode = domdoc.CreateElementNode("datetimeformat")
Call datetimeformatNode.setAttribute("show", "time")
'Call datetimeformatNode.setAttribute("date", "yearmonthday")
'Call datetimeformatNode.setAttribute("fourdigityearfor21stcentury", "true")
Call datetimeformatNode.SetAttribute("time", "hourminute")
'Call datetimeformatNode.setAttribute("zone", "never")
Call fieldNode.appendChild(datetimeformatNode)
'%END REM
Call source.serialize
End Sub
Ich habe mal alles ausgeremt, was ich mal für nötig hielt...
Macht sich jemand mal die Mühe? Wäre echt nett...
Danke im Voraus...
Mit fröhlichen Grüssen.