A
AGat
Всем привет,
Возник сабжевый вопрос. Наваял второй агент для экспорта первого агента в dxl, изменения времени и импорта обратно:
Вечером протестировал, работает, время запуска агента заменяется. Утром на всякий случай проверяю этот же код - не работает. Куда можно копнуть, или плюнуть уже на эту кривизну и лезть в api?
Возник сабжевый вопрос. Наваял второй агент для экспорта первого агента в dxl, изменения времени и импорта обратно:
Код:
Sub Initialize
On Error GoTo Except
Dim nc As NotesNoteCollection
Dim noteID As String
Dim aDoc As NotesDocument
Dim profileDoc As NotesDocument
Dim rtItem As NotesRichTextItem
Dim dxE As NotesDXLExporter
Dim xml As String
Dim posStart As Long
Dim dxI As NotesDXLImporter
'get agent document
Set nc = CommonTools_Db.CreateNoteCollection(False) 'CommonTools_Db - текущая БД
nc.SelectAgents = True
nc.BuildCollection
noteID = nc.GetFirstNoteId
Do While noteID <> ""
Set aDoc = CommonTools_Db.GetDocumentById(noteID)
If aDoc.GetItemValue("$TITLE")(0) = "яя" Then Exit Do
noteID = nc.GetNextNoteId(noteID)
Loop
'prepare rt item
Set profileDoc = CommonTools_Db.GetProfileDocument("tmp", "")
While profileDoc.HasItem("Tmp")
profileDoc.RemoveItem "Tmp"
Wend
Set rtItem = profileDoc.CreateRichTextItem("Tmp")
'export dxl to rt item
Set dxE = CommonTools_Session.CreateDxlExporter(aDoc, rtItem) 'CommonTools_Session - объект NotesSession
dxE.ForceNoteFormat = False
dxE.Process
Delete dxE
'change launch time
xml = rtItem.GetUnformattedText
posStart = InStr(xml, "<starttime><datetime>") + 21
Mid$(xml, posStart, 10) = "T232300,00" 'выставим время запуска агента в 23:23 (проверял, замена текста работает корректно)
'import agent
Set dxI = CommonTools_Session.CreateDxlImporter
dxI.DesignImportOption = DXLIMPORTOPTION_REPLACE_ELSE_CREATE
'здесь пытался вставлять различные опции импорта, не помогает.
dxI.Import xml, CommonTools_Db
'sign imported agent
noteID = dxI.GetFirstImportedNoteId
Delete dxI
Set aDoc = CommonTools_Db.GetDocumentById(noteID)
aDoc.Sign
aDoc.Save True, False
GoTo Finally
Except:
CommonTools_CommonErrorHandler LibName + "Initialze", Err, Erl, Error$, Nothing
Resume Finally
Finally:
End Sub
Вечером протестировал, работает, время запуска агента заменяется. Утром на всякий случай проверяю этот же код - не работает. Куда можно копнуть, или плюнуть уже на эту кривизну и лезть в api?