Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Polyakov.doc
Скачиваний:
20
Добавлен:
02.12.2018
Размер:
5.13 Mб
Скачать
    1. Работа с переменными окружения

@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( переменная; значение ).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]