Всем привет. У меня тут тоже проблема с созданным ЛотусСкриптом документом. Поделитесь знаниями, кому не жалко.
Дело в том, что я рублю механизм обработки документа. В данный момент пользователи создают его ручками, потом ручками жмут на нем кнопку и меняют его статус и толкают его обрабатываться дальше посредством агента. Работать ручками им надоело, и мне поручили это дело автоматизировать - сделать так, чтобы при нажатии кнопки на форме "Создать документ" создавался документ с заполненными полями и тут же менялся его статус на следующий по схеме его движения, и он обрабатывался дальше агентом. У формы этого документа ряд полей, значения к-рых заданы по умолчанию, на нем еще куча субформ.
Ладно, код кнопки написал, впихнул туда коды событий QueryOpen, PostOpen, QuerySave и этой формы и лежащих в ней подформ. В этом коде кое-каким полям присваиваю значение, документ сохраняю. При нажатии кнопки вроде как порядок. Да вот беда, документ-то создается, но после выполнения кода кнопки в нем значения важных полей (которые нужны для агента) оказываются равными "", хоть я и присваивал им значения, и сохранял документ после этого.
Делал так
Sub Click(Source As Button)
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace
Set dbCur = session.CurrentDatabase
' ---------------------------------- Создание документа процесса ------------------------------------
Dim docThis As New NotesDocument (dbCur)
docThis.ReplaceItemValue "Form", "DFProcessInstance"
Dim nmServer As New NotesName( session.CurrentDatabase.Server )
' ------------------------------- С полем DFAccessAdministrationServer проблема - оно не сохраняется после выполнения кода кнопки
docThis.ReplaceItemValue("DFAccessAdministrationServer", nmServer.Canonical).SaveToDisk = True
docThis.Save True,True
' Еще там QueryOpen субформ
'------------------------------ Пинаем процесс для дальнейшей обработки вызовом нужных агентов и т.д.
' -------------------------- Субформы, события QuerySave и PostSave, какие-то поля делаем SaveToDisk = False ---------------------------------------
' проверка: если перечисленные ниже действия были выполнены, то Goto CloseCurrentDoceument
' запускаем агент на сервере
CloseCurrentDoceument:
docThis.ReplaceItemValue("SaveOptions", "0").SaveToDisk = False
End sub
Нажимаю кнопку, документ во вьюхе появляется, только поле DFAccessAdministrationServer, которое нужно агенту, оказывается равным "". Хотя, если в конце приведенного кода делаю Msgbox docThis.GetItemValue("DFAccessAdministrationServer")(0), в окне отображается значение.
Не пойму, в чем дело. Поле DFAccessAdministrationServer лежит на одной из субформ.
Свойства поля DFAccessAdministrationServer: тип Names, Editable, оно скрытое, значение по ум. "".
Заранее спасибо