- •Введение
- •Синтаксис формул
- •Лексические элементы формул
- •Переменные
- •Предопределенные поля
- •Временные переменные
- •Константы
- •Операторы выполнения операций
- •Порядок выполнения вычислений
- •Ключевые слова
- •Функции
- •Побочные эффекты
- •Ограничения применимости @-функций и команд, налагаемые списком управления выполнением (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
-
Работа с переменными окружения
@Environment( переменная )
@Environment( список_переменных )
@Environment( переменная; значение )
@Environment( список_переменных; значение )
Область применения: нельзя использовать в формулах отбора, колонок, навигатора и Web-приложениях. Ограниченно применима в формулах всплывающих окон. Для присвоения переменным окружения значения при использовании в теле других функций (таких как @If или @Do) применяйте функцию @SetEnvironment. В формулах выполняющихся на сервере, например, в теле агента по расписанию, идет обращение к переменным окружения сервера, а не рабочей станции. Возвращаемое значение всегда есть текстовая строка.
Устанавливает или возвращает значение переменной окружения. Переменные окружения хранятся в файле NOTES.INI (Windows, OS/2, UNIX) или Notes Preferences (Macintosh). Такой файл присутствует как на станции пользователя, так и на сервере. Ниже приведен фрагмент файла NOTES.INI, в котором имеются три переменные окружения: OrderNumber, ITD_SaveDUID и DocumentAdvisors и их текущие значения.
[Notes]
$OrderNumber=121
$ITD_SaveDUID=F868424364B9B286C325629700157C62
$DocumentAdvisors=Ivan I. Ivanov/IntTrust;Sem S. Sidirov/IntTrust
При использовании с одним параметром @Environment извлекает и возвращает текущее значение переменной окружения из файла NOTES.INI пользователя. Поскольку каждый пользователь имеет свой файл NOTES.INI, это значение может быть различным у каждого пользователя. Имя переменной задается как текстовая строка. Если в качестве параметра указан список имен переменных, возвращается список значений всех переменных из списка имен.
При использовании с двумя параметрами @Environment позволяет присвоить значение переменной окружения в файле NOTES.INI пользователя. Значение должно быть либо текстовой строкой (например, "PO123"), либо формулой, возвращающей текст (например, @UserName или @Text( Total )). Если в качестве первого параметра ввести список имен переменных, каждой указанной в этом списке переменной будет присвоено заданное вторым параметром значение. Но если указать вторым параметром список значений, из него будет использовано только первое значение, а остальные будут игнорироваться.
Функция возвращает ранее установленные значения указанных первым параметром переменных, или пусто, если эти переменные еще отсутствуют в файле NOTES.INI.
@Environment предназначается для использования в формулах полей и форм, кнопок, кнопок панели инструментов и в агентах. Функцию удобно использовать для сохранения специфических установок пользователя, например, для последовательной нумерации документов, создаваемых каждым пользователем. Кроме того, эта функция дает способ передачи значений из одного агента в другой. Однако учтите, что максимальная длина значения переменной среды в файле NOTES.INI ограничена.
Пример 1. Возвращает "8009", если таково значение переменной "OrderNumber" в файле NOTES.INI текущего пользователя.
@Environment( "OrderNumber" )
Пример 2. Помещает переменную "OrderNumber" в файл NOTES.INI текущего пользователя и присваивает ей нулевое значение.
@Environment( "OrderNumber"; "0" )
Пример 3. Демонстрирует механизм передачи параметров из одного агента в другой. Агент Set Group выводит диалоговое окно для выбора пользователем имени группы из первой колонки вида "Запросы\по группам". Полученное значение затем заносится в переменную окружения MacroTmp. После этого происходит запуск агента (Set Group Helper). Агент (Set Group Helper), в свою очередь, извлекает значение переменной MacroTmp из файла NOTES.INI и присваивает это значение полю Group для всех документов, удовлетворяющих критерию отбора агента.
Агент Set Group выполняется однократно:
GroupList:= @DbColumn( "":"NoCache"; "";
" Запросы\\По группам"; 1 );
Group:= @Prompt( [OKCancelEditCombo]; "Выберите группу";
"Выберите группу"; "Маркетинг"; GroupList );
Tmp1 := @Environment( "MacroTmp"; Group );
@PostedCommand( [ToolsRunMacro]; "(Set Group Helper)" );
Агент (Set Group Helper) выполняется согласно его критерию отбора:
FIELD Group:= @Environment( "MacroTmp" );
@SetEnvironment( переменная; значение )
Область применения: нельзя использовать в формулах отбора, колонок, всплывающих окон и Web-приложениях. В формулах, выполняющихся на сервере, например, в теле агента по расписанию, идет обращение к переменным окружения сервера, а не рабочей станции. Возвращаемое значение всегда есть текстовая строка.
Присваивает значение переменной среды в файле NOTES.INI (Windows, OS/2 или UNIX) или Notes Preferences (Macintosh) пользователя. Имеет тот же синтаксис и действует так же, как и @Environment( переменная; значение ).