- •Введение
- •Синтаксис формул
- •Лексические элементы формул
- •Переменные
- •Предопределенные поля
- •Временные переменные
- •Константы
- •Операторы выполнения операций
- •Порядок выполнения вычислений
- •Ключевые слова
- •Функции
- •Побочные эффекты
- •Ограничения применимости @-функций и команд, налагаемые списком управления выполнением (ecl)
- •Ограничения применимости @-функций и команд для Web-приложений
- •Как выполняются формулы
- •Порядок выполнения
- •Формулы, возвращающие значения
- •Формулы, выполняющие последовательность действий
- •Выполнение формул, содержащих вызовы @-команд
- •Обработка ошибок в формулах
- •Описание @-функций Domino
- •Функции - базовые конструкции языка формул
- •Функции выполнения циклов
- •Функции определения и преобразования типов данных
- •Функции для работы со строками
- •Определение вхождения подстроки в строку
- •Выделение и замена части строки
- •Функции для работы со значениями типа "дата-время"
- •Функции, работающие с компонентами значения типа "дата-время"
- •Функции для работы с численными значениями
- •Функции для работы со списками
- •Работа с переменными окружения
- •Установка значения временной переменной
- •Функции для работы с текущим документом
- •Определения свойств, характеристик и состояния текущего документа
- •Операции с полями
- •Операции с документом
- •Функции для работы с паролями
- •Функции для работы с почтой
- •Функции, определяющие почтовые настройки
- •Работа с идентификаторами документов
- •Получение информации из баз данных Domino
- •@DbColumn - выбор значений из колонки
- •@DbLookup - выбор из колонки или поля значений по ключу
- •Получение информации из баз данных, поддерживающих odbc-драйверы
- •Функции для работы с видами
- •Функции, используемые в формулах отбора документов
- •Функции, используемые в формулах колонок
- •Функции, работающие с именами пользователей
- •Функции, работающие с правами доступа
- •Функции, работающие с профильными документами
- •Функция выбора требуемого фрейма
- •Диалог с пользователем
- •Функции, определяющие тип и характеристики используемого программного обеспечения
- •Функции, используемые в Web-приложениях
- •Информационные функции
- •Функции для обработки ошибок
- •Описание @-команд Domino
- •Команды для работы с текущим и выделенными документами
- •Команды открытия объектов
- •Команды для работы с профильными документами
- •Команды обновления отображаемой информации
- •Команды для работы с видами и папками
- •Команды запуска приложений
- •Команды для работы с почтой
- •Алфавитный список @-функций
- •Алфавитный список @-команд
- •Разработка тестовых приложений
- •Простые операции с документами
- •Создание нового документа по форме
- •Редактирование текущего документа
- •Удаление документа
- •Печать документа и вида
- •Упражнение
- •Формулы полей
- •Упражнение
- •Получения доступа к данным, находящимся вне текущего документа
- •Доступ к данным вида
- •Наследование
- •Функция @DialogBox
- •Функция @PickList
- •Формулы скрытия информации
- •Формулы скрытия абзаца формы
- •Формулы скрытия акций формы и вида
- •Формулы скрытия столбцов вида и строк аутлайна
- •Упражнение
- •Формулы работы с видами
- •Формула отбора документов
- •Формулы столбцов вида
- •Наложения фильтра на вид
- •Работа с почтой
- •Работа с именами пользователей
- •Работа с уровнями доступа
- •Блокировка документов на редактирование
- •Операции с папками
- •Функции, используемые в Web-приложениях
- •Формулы по месту применения
- •Формулы панели инструментов - Toolbar button
- •Формулы агентов
- •Формула секции с управляемым доступом
- •Остальные функции
- •Литература
- •1 Введение 3
- •2 Синтаксис формул 5
- •3 Лексические элементы формул 6
- •4 Как выполняются формулы 30
- •5 Обработка ошибок в формулах 36
- •6 Описание @-функций Domino 39
- •11 Литература 412
-
Побочные эффекты
Некоторые функции при выполнении вызывают «побочные эффекты». Основное предназначение @-функции произвести некоторые вычисления и возвратить определенное значение. Если функция помимо этого выполняет еще какие-либо действия, например, выводит диалоговое окно, то говорят что это функция с "побочным эффектом". Ниже приводится таблица с такими функциями.
@-функция |
Побочный эффект |
@Command, @PostedCommand |
Чаще всего выполняется команда меню Domino |
@DbColumn, @DbCommand, @DbLookup |
Доступ в текущую или другую базу для поиска и получения данных |
@DDEInitiate, @DDEExecute, @DDEPoke, @DDETerminate |
DDE - диалог с другим приложением. |
@MailSend |
Текущий документ отправляется почтой Domino или создается и отправляется почтовое сообщение. |
@Prompt, @PickList @DialogBox |
Открывается диалоговое окно, результат возвращается функцией только по окончании диалога. |
Если установлена переменная окружения NoExternalApps = 1, то не будет работать ни одна формула, содержащая функции из этого списка. Пользователь не увидит сообщения об ошибке, формула просто не будет выполняться.
-
Ограничения применимости @-функций и команд, налагаемые списком управления выполнением (ecl)
Список управления выполнением (ECL) влияет на работу ряда @-функций. Ниже приводится таблица, где по горизонтали перечисляются эти функции, а по вертикали указаны флаги доступа ECL. Если на пересечение соответствующей строки и столбца стоит символ "+", это говорит о том, что данная функция при отсутствии соответствующего флага выполняться не будет.
Функция
|
Доступ к текущей базе данных (Access to current database) |
Доступ к переменным окружения (Access to environment variables) |
Доступ к базам данных сторонних фирм (Access to non-Notes databases) |
Доступ к внешним программам (Access to external programs) |
Возможность отправки почты (Ability to send mail)
|
Доступ к ECL рабочей станции (Access to Workstation Security ECL)
|
Доступ на чтение к другим базам данных (Ability to read other database databases)
|
Доступ на модификацию к другим базам данных (Ability to modify other database) |
@DbColumn |
|
|
|
|
|
|
+ |
|
@DbColumn (ODBC) |
|
|
+ |
|
|
|
|
|
@DbCommand |
|
|
+ |
|
|
|
|
|
@DbLookup |
|
|
|
|
|
|
+ |
|
@DbLookup (ODBC) |
|
|
+ |
|
|
|
|
|
@DDEExecute |
|
|
|
+ |
|
|
|
|
@DDEInitiate |
|
|
|
+ |
|
|
|
|
@DDEPoke |
|
|
|
+ |
|
|
|
|
@DDETerminate |
|
|
|
+ |
|
|
|
|
@DeleteDocument |
+ |
|
|
|
|
|
|
|
@DeleteField |
+ |
|
|
|
|
|
|
|
@EditECL |
|
|
|
|
|
+ |
|
|
@EditUserECL |
|
|
|
|
|
+ |
|
|
ENVIRONMENT |
|
+ |
|
|
|
|
|
|
@Environment |
|
+ |
|
|
|
|
|
|
@GetProfileField |
+ |
|
|
|
|
|
|
|
@MailSend |
|
|
|
|
+ |
|
|
|
@RefreshECL |
|
|
|
|
|
+ |
|
|
@SetDocField |
+ |
|
|
|
|
|
|
|
@SetEnvironment |
|
+ |
|
|
|
|
|
|
@SetProfileField |
+ |
|
|
|
|
|
|
|
@Unavailable |
+ |
|
|
|
|
|
|
|
@UpdateFormulaContext |
+ |
|
|
|
|
|
+ |
+ |
@URLGetHeader |
+ |
|
|
|
|
|
|
|
@URLOpen |
+ |
|
|
|
|
|
|
|
Аналогичные ограничения существуют и для @-команд:
Команда
|
Доступ к файловой системе (Access to the file system) |
Доступ к текущей базе данных (Access to current database)
|
Доступ к базам данных сторонних фирм (Access to non-Notes databases)
|
Доступ к коду внешних программ (Access to external code)
|
Доступ к внешним программам (Access to external programs) |
Возможность отправки почты (Ability to send mail) |
Возможность экспорта данных (Ability to export data) |
AdminSendMailTrace |
|
|
|
|
|
+ |
|
AgentEnableDisable |
|
|
|
+ |
|
|
|
AgentRun |
|
|
|
+ |
|
|
|
AgentSetServerName |
|
+ |
|
|
|
|
|
AgentTestRun |
|
|
|
+ |
|
|
|
AttachmentDetachAll |
+ |
|
|
|
|
|
|
AttachmentLaunch |
+ |
|
|
|
|
|
|
Clear |
|
+ |
|
|
|
|
|
DesignRefresh |
|
+ |
|
|
|
|
|
EditClear |
|
+ |
|
|
|
|
|
EditCopy |
|
+ |
|
|
|
|
|
EditCut |
|
+ |
|
|
|
|
|
EditDetach |
+ |
|
|
|
|
|
|
EditInsertFileAttachment |
+ |
|
|
|
|
|
|
EditInsertObject |
+ |
|
|
|
|
|
|
EditOpenLink |
|
+ |
|
|
|
|
|
EditPaste |
|
+ |
|
|
|
|
|
EditPasteSpecial |
|
+ |
|
|
|
|
|
EditUntruncate |
|
+ |
|
|
|
|
|
EmptyTrach |
|
+ |
|
|
|
|
|
ExchangeUnreadMarks |
|
+ |
|
|
|
|
|
Execute |
|
|
|
|
+ |
|
|
FileDatabaseCompact |
|
+ |
|
|
|
|
|
FileExport |
+ |
|
|
|
|
|
+ |
FileImport |
+ |
|
|
|
|
|
|
FileOpenDatabase |
|
+ |
|
|
|
|
|
FileOpenDbRepID |
|
+ |
|
|
|
|
|
FilePrint |
|
+ |
|
|
|
|
|
FileSave |
|
+ |
|
|
|
|
|
FileSaveNewVersion |
|
+ |
|
|
|
|
|
Folder |
|
+ |
|
|
|
|
|
FolderDocuments |
|
+ |
|
|
|
|
|
FolderMove |
|
+ |
|
|
|
|
|
FolderRename |
|
+ |
|
|
|
|
|
MailForward |
|
|
|
|
|
+ |
|
MailForwardAsAttachment |
|
|
|
|
|
+ |
|
MailRequestCrossCert |
|
|
|
|
|
+ |
|
MailRequestNewName |
|
|
|
|
|
+ |
|
MailRequestNewPublicKey |
|
|
|
|
|
+ |
|
MailSend |
|
|
|
|
|
+ |
|
MailSendCertificateRequest |
|
|
|
|
|
+ |
|
MailSendEncryptionKey |
|
|
|
|
|
+ |
|
MailSendPublicKey |
|
|
|
|
|
+ |
|
ObjectOpen |
|
|
|
|
+ |
|
|
OpenDocument |
|
+ |
|
|
|
|
|
RemoveFromFolder |
|
+ |
|
|
|
|
|
ReplicatorReplicateHigh |
|
+ |
|
|
|
|
|
ReplicatorReplicateNext |
|
+ |
|
|
|
|
|
ReplicatorReplicateSelected |
|
+ |
|
|
|
|
|
ReplicatorReplicateWithServer |
|
+ |
|
|
|
|
|
ReplicatorSendMail |
|
+ |
|
|
|
|
|
ReplicatorSendReceiveMail |
|
+ |
|
|
|
|
|
ReplicatorStart |
|
+ |
|
|
|
|
|
RunAgent |
|
+ |
|
+ |
|
|
|
RunScheduledAgents |
|
+ |
|
+ |
|
|
|
SetCurrentLocation |
|
+ |
|
|
|
|
|
ToolsCategorize |
|
+ |
|
|
|
|
|
ToolsReplicate |
|
+ |
|
|
|
|
|
ToolsRunBackgroundMacros |
|
+ |
|
+ |
|
|
|
ToolsRunMacro |
|
+ |
|
+ |
|
|
|
ToolsScanUnreadSelected |
|
+ |
|
|
|
|
|
ViewRefreshUnread |
|
+ |
|
|
|
|
|