- •Введение
- •Синтаксис формул
- •Лексические элементы формул
- •Переменные
- •Предопределенные поля
- •Временные переменные
- •Константы
- •Операторы выполнения операций
- •Порядок выполнения вычислений
- •Ключевые слова
- •Функции
- •Побочные эффекты
- •Ограничения применимости @-функций и команд, налагаемые списком управления выполнением (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
-
Ограничения применимости @-функций и команд для Web-приложений
В Web-приложениях следующие @-функции не работают, или результат их применения отличается от обычного при использовании в клиенте Notes.
Функция |
Комментарии |
@Certificate |
|
@DbCommand |
В Web работает только с первым параметром "Domino" |
@DDEExecute @DDEInitiate @DDEPoke @DDETerminate |
|
@DocMark @DeleteDocument @HardDeleteDocument @DocLock |
|
@DocChildren @DocDescendants @DocLevel @DocNumber @DocParentNumber @DocSiblings |
Работают только в формулах столбцов. |
@IsCategory |
В документации сказано, что в Web не работает, однако исходя из личного опыта – функция работает в колонках видов. |
@IsExpandable @Responses |
|
@DialogBox @PickList @Prompt @IsModalHelp |
|
@GetPortsList |
|
@GetFocusTable |
|
@FontList |
|
@Environment @SetEnvironment ENVIRONMENT |
Для получения информации о пользовательских Web-переменных окружения необходимо использовать запросы к Common Gateway Interface (CGI) с предопределенными именами полей. |
@MailSend |
В Web не работают флаги [Encrypt] и [Sign]. |
@Domain @MailDbName @MailEncryptSavedPreference @MailEncryptSendPreference @MailSavePreference @MailSignPreference |
|
@IsAgentEnabled |
|
@IsDocBeingMailed |
|
@Unique @URLGetHeader @URLHistory |
В документации сказано, что @Unique не поддерживается в Web-приложениях. Однако из опыта функция работает как в случае генерации случайных текстовых строк, так и при удалении из списка повторяющихся значений (правда, возможно не во всех контекстах) |
@UserPrivileges |
|
@UpdateFormulaContext |
|
@Platform |
Возвращает только платформу для сервера. Для того, чтобы различать пользователей Notes и Web используйте функцию @ClientType. |
Аналогичные ограничения существуют и для @-команд. Большинство из них нельзя применять в Web-приложениях, т.к. @-команды ориентированы на интерфейс рабочей станции Lotus Notes. Исключение составляют команды:
-
[CalendarFormat]
-
[CalendarGoTo]
-
[Clear]
-
[CloseWindow]
-
[Compose]
-
[EditClear]
-
[EditDocument]
-
[EmptyTrash]
-
[FileCloseWindow]
-
[FileOpenDatabase]
-
[FileSave]
-
[Folder]
-
[FolderDocuments]
-
[MoveToTrash]
-
[NavigateNext]
-
[NavigateNextMain]
-
[NaviagtePrev]
-
[NavigatePrevMain]
-
[NavNext]
-
[NavNextMain]
-
[NavPrev]
-
[NavPrevMain]
-
[OpenDocument]
-
[OpenFrameset]
-
[OpenHelpDocument]
-
[OpenNavigator]
-
[OpenPage]
-
[OpenView]
-
[RefreshFrame]
-
[RemoveFromFolder]
-
[RunAgent]
-
[SwitchView]
-
[ToolsRunMacro]
-
[ViewChange]
-
[ViewCollapse]
-
[ViewCollapseAll]
-
[ViewExpand]
-
[ViewExpandAll]
-
[ViewRefreshFields]
-
[ViewShowSearchBar].
Некоторые из перечисленных выше команд (например, [ViewExpand] или [Folder]) могут использоваться при программировании под Web только в контексте апплетов видов.