Работа с "горячими" ссылками. Управление ссылками. Применение областей компоновки с диалоговыми окнами, страница 6

Та же функция может вызываться из LotusScript с помощью метода DialogBox Ниже приводится пример сценария

Sub Click(Source As Button) Dim uiWorkspace As New NotesUIWorkspace Dim uiDoc As NotesUIDocument Set uiDoc = uiWorkspace CurrentDocument Call uidoc FieldSetText("StartTime","") Call uidoc FieldSetText("EndTime","") Call uidoc.FieldSetText("Appointment","") Call uidoc FieldSetText("ReturnValue","") Call uidoc Refresh If UiWorkspace Dialogbox("AP,True,True) Then

Call uiDoc Refresh If uidoc.FieldGetText("ReturnValue") > "" Then

Call uiDoc FieldAppendText("MtgDay_l", uidoc FieldGetText ("ReturnValue") ^SCnr(lO)) End If End If Call uiDoc Refresh End Sub


Применение специальных форм

Существует несколько типов специальных форм, создаваемых для определенных целей. Одни формы служат для создания баз данных и документов профиля пользователей, другие — для поиска (Search) и вывода результатов.

ЗАРЕЗЕРВИРОВАННЫЕ ИМЕНА ФОРМ

В четвертой версии существовал ряд зарезервированных имен форм, используемых в Web-приложениях. С появлением страниц в них почти отпала необходимость. Каждое зарезервированное имя формы начинается с символов $$ и используется для представлений и навигаторов Domino. Ниже приводится список этих имен: $$ViewTemplateDefault, $$NavigatorTemplateDefault, $$ViewTemplate for viewname и $$NavigatorTemplate for navigator name.

Работа с документами профиля

Документы профилей (Profile documents) создаются из формы типа Document. Созданные с помощью формы профилей документы не отображаются в представлениях и не включаются в общий перечень документов. Документы профилей могут быть глобальными по отношению к базе данных либо относиться к ее отдельным пользователям. Документы профилей служат эффективным средством хранения информации, которая будет использоваться где-либо в базе данных. Например, в документе профиля можно хранить идентификатор реплики базы данных, которая используется для поиска. Конечно, этот идентификатор можно поместить в общее поле, но в случае изменения поисковой базы данных разработчику придется модифицировать содержимое поля. Если идентификатор хранится в документе профилей, пользователи, которым доступно создание документа, могут модифицировать поле, содержащее идентификатор реплики. В документе профилей, где содержатся стандартные параметры полей, можно также хранить информацию о пользователе либо критерии уведомления по электронной почте при создании или модификации документов в базе данных.

Различие между двумя типами документов профилей определяется не установками формы, а способом создания документа из формы. При создании документа профилей базы данных он вызывается с помощью следующей формулы:

(@Comnand([EditProfile] ; pro file form)

Для создания документа профилей, относящегося к пользователю, используется следующая формула:

(@Coinmand( [EditProfile]) ; pro file form; username}

Чтобы создать документ профилей базы данных, необходимо иметь как минимум доступ с правами разработчика. После создания документа его может модифицировать каждый, кто имеет соответствующие права доступа.

Обычно имеет смысл ограничивать доступ к глобальному документу профилей. Для этого могут применяться роли. Кроме того, следует не включать документ профилей в меню Create, скрыть его путем заключения имени документа в кавычки и обеспечить доступ к нему через агента.

Следующий код общей программы-агента предназначен для запуска из меню Actions и должен выполняться один раз (могут использоваться функции ©Commands):

@If(@Contains(@UserRoles; "Profile") ;

@Do(@Conimand( [EditProfile]; "GPF")) ;


@Return(@Do(@Proinpt([OK] ; "Warning!"; "You are not authorized to edit this '-database\'s profile'")) ) )

Эта программа-агент называется Set Global Profile и содержится в примере базы данных для этой главы. Программа проверяет права доступа пользователя. Если в них предусмотрена роль Profile, редактирование документа профилей допускается.