Язык формул
Эта статья нуждается в дополнительных цитатах для проверки . ( август 2018 г. ) |
Язык формул — это язык сценариев, используемый Lotus Notes . Его часто называют языком @Formula (произносится at-formula ), поскольку многие элементы языка начинаются с символа @. Вот пример формулы выбора:
SELECT @NoteId = "NT0050D26"
Разработка
[ редактировать ]Он был создан Рэем Оззи во время ранней разработки Lotus Notes. Он позаимствовал компилятор и декомпилятор из электронных таблиц Lotus 1-2-3 , но в отличие от языка электронных таблиц Formula Language был разработан в первую очередь для обработки строк и списков, а не для числовой обработки. Первоначально это был функциональный язык программирования с уникальными функциями обработки текстовых списков, вдохновленный предыдущим использованием Рэем Оззи Icon и Lisp .
Механизм языка формул был переписан Дэмиеном Кацем для Notes и Domino 6. [1] В язык были добавлены новые функции, такие как циклическое и динамическое выполнение, а также была улучшена производительность. [2]
Структура
[ редактировать ]Язык формул состоит из двух частей:
- @Функции для вычислений и простой логики
- @Команды для выполнения действий в пользовательском интерфейсе
@Functions можно использовать в нескольких местах Lotus Notes. Наиболее важными видами использования являются:
- для выбора документов для отображения пользователю в представлении (своего рода индексе) или для выбора документов для дальнейшей обработки. В этом случае формула будет давать значение «истина» (выбрано) или «ложь» (не выбрано) для каждого документа.
- для предоставления значений по умолчанию для полей, для преобразования данных, введенных пользователем (например, удаления лишних пробелов), и для проверки этих данных.
- чтобы получить список значений из базы данных Notes или даже из реляционной базы данных (с использованием ODBC ). Это можно использовать для предоставления пользователю списка значений на выбор.
- оформить пакет документов. Формула помещается в агент, программу или макрос, которые могут запускаться пользователем или сервером Notes по расписанию. Когда агент запускается, формула выполняется для каждого выбранного документа (это очень ограниченная форма цикла). Это эффективный способ изменить множество документов, если логика не слишком сложна. В случае сложных изменений LotusScript . используется
@Команды подобны командам меню: они выполняют действия в клиенте Lotus Notes. Примеры действий:
- открытие базы данных Notes
- создание электронной почты
- установка курсора в определенное поле ввода данных
- закрытие окна
- запуск агента
@Команды в основном используются в формулах, которые активируются действиями пользователя, например в формулах кнопок. Их можно комбинировать с @Functions, например, сделав выполнение @command зависимым от значения поля.
Ссылки
[ редактировать ]- ^ Дэмиен Кац (4 января 2005 г.). «Переписывание формулы двигателя» . Личный блог . Проверено 30 сентября 2016 г.
- ^ «Усовершенствования языка формул в Domino 6» . ИБМ. 4 ноября 2002 года. Архивировано из оригинала 22 октября 2012 года . Проверено 30 сентября 2016 г.