Язык @-формул в LotusDomino R 6.

Функции


@-функции

- это способ обращения из формул к встроенному в Domino набору процедур, выполняющих специализированные вычисления или производящих определенные действия в интерфейсе Notes.

Формат вызова функций:

@FunctionName( Arg1; Arg2; ...; ArgN );

Список аргументов заключается в скобки. Если аргументы не требуются, скобки опускаются. Друг от друга аргументы отделяются точкой с запятой. В большинстве случаев они должны иметь определенный тип данных.

Некоторым функциям, например, @Command, @PostedCommand, @DocMark, @GetPortsList, @PickList, @MailSend, @Name, @Prompt требуются аргументы - ключевые слова. Они заключаются в квадратные скобки.

Примеры.

@Prompt( [OK]; Title; Subject );

@Name( [CN]; AUTHOR );

@Command( [EditClear] );

Большинство @-функций в результате выполнения возвращают значение определенного типа. Иногда тип результата зависит от типов аргументов и еще каких-либо условий.

Пример. @Prompt( [OkCancelList]; Title; Subject; Default; List ) по кнопке OK возвращает выбранную строку текстового списка. Если ничего не выбрано, то возвращает истину (число 1), если нажата кнопка OK, или ложь (число 0), если нажат Cancel.

@-Команды



- специальные функции, вызывающие немедленный отклик в интерфейсе пользователя. С помощью @-команд можно выполнить практически все стандартные команды меню. Кроме того, имеется ряд специализированных команд. Область применения @-команд - "Run once"- агенты, кнопки, акции, гиперобъекты и кнопки панели инструментов. Заметьте, что некоторые из команд действуют не во всех указанных контекстах.

Нельзя использовать @-команды в контексте, где отсутствует диалог с пользователем (например, агенты по расписанию, фоновые агенты, формулы полей и т.д.).

В Domino 4-й версии и выше есть две @-функции для выполнения команд:

@Command( [ИмяКоманды]; параметр1; ...; параметрN )

@PostedCommand( [ИмяКоманды]; параметр1; ...; параметрN )

Их первый аргумент - ключевое слово, определяющее имя команды. От него зависит состав остальных параметров.


Различие между @Command и @PostedCommand заключается в порядке их выполнения в формуле (более подробно рассмотрено в пункте "4.4").

Пример. Формула кнопки панели инструментов открывает БД на любом доступном сервере по ее ID реплики. Если база открыта успешно, формула выполняется дальше - создается новый документ и т.д.

REM "Если базу открыть не удалось, - Return";

@If( @Command( [FileOpenDBRepID]; "C3256310:002881A3" ); "";

     @Return( "" ));

@Command( [Compose]; ""; "Main Topic" );

@Command( [EditGotoField]; "Subject" );

@Command( [EditInsertText]; "New subject" );

@Command( [EditGotoField]; "Body" )

Примечание 1: когда имя БД (или другое имя файла) включается в команду в качестве параметра, пути доступа к файлам должны быть указаны в соответствии с требованиями операционной системы рабочей станции или сервера, на котором хранится БД. Если БД хранится на компьютере, работающем в Windows или OS/2, используйте формат записи:

"Сервер" : "Каталог\\Database.NSF", где Database.NSF - имя файла БД.

Примечание 2: при включении в формулу в качестве параметра имени вида или формы, не указывайте символ подчеркивание в имени, даже если он в параметре явно присутствует. Для вида "_Туры\_По дате" при использовании его в формуле применяется следующий синтаксис:

"Туры\\По дате"


Содержание раздела