- •Введение
- •Синтаксис формул
- •Лексические элементы формул
- •Переменные
- •Предопределенные поля
- •Временные переменные
- •Константы
- •Операторы выполнения операций
- •Порядок выполнения вычислений
- •Ключевые слова
- •Функции
- •Побочные эффекты
- •Ограничения применимости @-функций и команд, налагаемые списком управления выполнением (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
-
Определение вхождения подстроки в строку
@Begins( строка; подстрока )
@Begins( строка; список_подстрок )
Область применения: без ограничений.
Определяет, является ли заданная подстрока (или хотя бы один из элементов списка_подстрок) началом строки. Возвращает 1 (TRUE), если подстрока содержится в строке, начиная с первого символа, или 0 (FALSE), если нет. Учитывает регистр. Допустимо также использование в качестве первого аргумента списка строк. В этом случае проверяется, начинается ли хотя бы какой-нибудь элемент списка строк с подстроки или элемента списка_подстрок.
Пример 1. Возвращает 1.
@Begins( "Привет всем"; "Привет" )
Пример 2. Возвращает 0.
@Begins( "Привет всем"; "привет" )
Пример 3. Проверяет поле Topic. Если это поле начинается со строки "объявление", возвращает строку "Объявление". В противном случае возвращает строку "В первую очередь".
@If( @Begins( topic; "объявление" ); "Объявление"; "В первую очередь" )
Пример 4. Возвращает 1.
@Begins( "Hello" : "world" : "Привет всем"; "Bye" : "Привет" )
@Contains( строка; подстрока )
@Contains( строка; список_подстрок )
Область применения: без ограничений.
Определяет, является ли подстрока (или хотя бы один из элементов списка_подстрок) частью строки. Возвращает 1 (TRUE), если подстрока содержится в строке; в противном случае возвращает 0 (FALSE). Учитывает регистр. Допустимо также использование в качестве первого аргумента списка строк. В этом случае проверяется, содержится ли в хотя бы каком-нибудь элементе списка строк подстрока или элемента списка подстрок.
Пример 1. Возвращает 1.
@Contains( "Привет всем"; "вс" )
Пример 2. Проверяет, содержит ли поле Topic одно из словосочетаний "Я хочу", "Мне нужно", или "Я должен иметь". Если да, возвращает строку "Требуется вежливый отказ", в противном случае возвращает "Не медлить с ответом".
@If( @Contains( Topic; "Я хочу" : "Мне нужно" : "Я должен иметь" ); "Требуется вежливый отказ"; "Не медлить с ответом" )
Пример 3. Возвращает 1.
@Contains( "Hello" : "world" : "Пока и привет всем"; "Bye" : "привет" )
@Ends( строка; подстрока )
@Ends( строка; список_подстрок )
Область применения: без ограничений.
Определяет, находится ли заданная подстрока (или хотя бы один из элементов списка_подстрок) в самом конце строки. Возвращает 1 (TRUE), если да, или 0 (FALSE), если нет. Учитывает регистр. Допустимо также использование в качестве первого аргумента списка строк. В этом случае проверяется, заканчивается ли хотя бы какой-нибудь элемент списка строк с подстроки или элемента списка_подстрок.
Пример 1. Возвращает 1.
@Ends( "Привет всем"; "ем" )
Пример 2. Возвращает 0.
@Ends( "Привет всем"; "" )
Пример 3. Проверяет, имеются ли строки "Уланов" или "Туликов" или "Никонов" в конце содержимого поля Signature. Если да, возвращает строку "Подпись удостоверена"; в противном случае, возвращает строку "Подпись не удостоверена".
@If( @Ends( Signature; "Уланов" : "Туликов" : "Никонов");
"Подпись удостоверена"; "Подпись не удостоверена" )
Пример 4. Возвращает 1.
@Ends( "Hello" : "world" : "Пока и привет всем";
"Bye" : "orld" )
@Matches( строка; образец )
Область применения: без ограничений.
Проверяет строку на соответствие строке образцу. Строка образец может содержать ряд символов обобщения и знаков логических операций. @Matches возвращает 1 (TRUE), если строка соответствует образцу, или 0 (FALSE), если не соответствует.
Допустимо также использование в качестве первого и второго аргумента списка строк. В этом случае возвращается 1 (TRUE), если хотя один элемент списка строк соответствует образцу или одному из элементов списка образцов.
Перечень допустимых символов обобщения и знаков логических операций:
Символ |
Использование |
C |
Соответствует любому такому же символу С, но не самому символу "С" |
? |
Соответствует любому одному символу |
* |
Соответствует любой строке (любому количеству символов) |
{ABC} |
Соответствует любому символу из набора ABC |
{А-КМ-П} |
Соответствует любому символу из набора "от А до К" и "от М до П" |
+C |
Соответствует любому количеству символов C |
! |
Логическое НЕТ. Изменяет логическое значение образца на обратное |
| |
Логическое ИЛИ двух образцов |
& |
Логическое И двух образцов |
Примеры соответствия образцу:
Образец |
Соответствие |
ABC |
"ABC" |
A?C |
Любая строка из 3 символов, начинающаяся на "A" и заканчивающаяся "C" |
??? |
Любая строка из 3 символов |
\*\\ |
Только строка "*\" |
+? |
Любая строка, включая пустую |
+?{А-Я} |
Любая строка, заканчивающаяся заглавной буквой |
+{!А-Я} |
Строка, не содержащая заглавных букв |
Пример 1. Возвращает 0.
@Matches( "Большая проверка"; "?проверка" )
Пример 2. Возвращает 1.
@Matches( "Большая проверка"; "????????проверка" )
Пример 3. Преобразует содержимое поля State в нижний регистр и возвращает 1 для любого значения в поле, содержащего "монт", например, "Вермонт" или "Монтана".
@Matches( @LowerСase( State ); "*монт*" )
Пример 4. Формула возвращает число 224, если в поле Division содержится "Центр" или "Урал". Если содержимое поля Division иное, формула возвращает число 124.
@If( @Matches( Division; "Центр|Урал" ); 224; 124 )
@Like( строка; образец )
@Like( строка; образец; строка_индикатор )
Область применения: без ограничений. Функция поддерживается драйвером NotesSQL ODBC.
Проверяет указанную строку на соответствие строке образцу. Строка образец может содержать ряд символов обобщения. @Like возвращает 1 (TRUE), если строка соответствует образцу, или 0 (FALSE), если не соответствует. Третий параметр строка_индикатор не обязателен, он необходим в том случае, если в строке образце нужно указать для поиска символ, входящий в список символов обобщений. В этом случае такой символ предваряется в строке-образце строкой_индикатором.
Допустимо также использование в качестве первого и второго аргумента списка строк. В этом случае возвращается 1 (TRUE), если хотя один элемент списка строк соответствует образцу или одному из элементов списка образцов.
Перечень допустимых символов обобщения:
Символ |
Использование |
C |
Соответствует любому такому же символу С, но не самому символу "С" |
_ |
(символ подчеркивания) Соответствует любому одному символу |
% |
Соответствует любой строке (любому количеству символов) |
Пример 1. Возвращает 0.
@Like( "Большая проверка"; "_проверка" )
Пример 2. Возвращает 1.
@Like( "Большая проверка"; "%проверка" )
Пример 3. Возвращает 1.
@Like( "Count of people"; "/C%"; "/" )