This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Предисловие автора Книга, которую Вы держите в руках, посвящена вопросам программирования на языке @-формул. Данный язык широко используется при создании приложений под управлением Lotus Domino/Notes версии R 6 программного продукта компании IBM Company. Книга состоит 3 частей и двух сегментов приложений. В первой части (главы 1- 5) рассматривается синтаксис языка @-формул, его лексические элементы, последовательность выполнения формул и механизмы обработки ошибок. Во второй части (глава 6) приведены наиболее употребляемые в разработках @-функции с примерами их использования. Третья часть содержит часто используемые @-команды, так же с наглядными примерами. Сегмент приложений содержит полные алфавитные списки @-функций, @-команд, контекст их применения, а так же имеющихся ограничения их использования на различных платформах. Примеры, используемые в настоящей книге, тестировались на версии Lotus/Domino R 6.0.1 под управлением Windows-2000 (в некоторых случаях использовался Linux Red Hat 8). Тестировании Web-приложений выполнялось в браузере MS Internet Explorer 5.0. Автор отдает себе отчет в том, что книга не лишена недостатков, и имеет к себе претензии по стилю изложения и оформления материала. Ряд ее разделов хотелось бы улучшить, дополнить и снабдить более интересными примерами. Однако в условиях необычайно быстрого развития продукта лучше скорее дать в руки читателей информацию в том виде, как она есть сейчас, чем отложить выпуск книги еще на один-два месяца. Автор будут искренне рад Вашим замечаниям и предложениям по содержанию книги и любой информации технического характера по затронутым в книге вопросам. Направляйте их по e-mail: [email protected] или «оставляйте» на WWW-сервере нашей компании http://www.intertrust.ru. Автор выражают искреннюю благодарность и признательность всем, кто оказывал прямую или косвенную помощь в работе над книгой. Особые благодарности ведущим сотрудникам компании InterTrust Co.: Ионцеву Н. Н., Панову В. А., Ардабьеву И. Н., Иванову Д. Ю., Кадникову А. О. – без помощи которых, книга выглядела бы другой. Специальные благодарности: Бреусу И. Б., Поляковой Г. Д., Полякову В. Г. и Перлич Н. А. за существенную помощь, оказанную при написании настоящей книги, а также сыну Роману и дочери Лане за терпение и сочувствие во время работы над книгой. С уважением, Е. Поляков
1 Введение Формулы или @-формулы состоят из одного или более предложений - операторов (statements), которые обычно выполняются по порядку (более подробно это будет рассмотрено в пункте "4.4"). Префикс @происходит от частого использования в таких формулах вызовов @-функций. В приложениях Domino формулы широко используются в следующих целях:
•
отбор документов при селективных репликациях;
•
отбор документов для включения в вид;
•
вычисление значений для показа в документах, видах и папках;
•
определение видимости абзаца формы, абзаца в RichText-поле документа, объекта в области размещения, акции в форме или виде;
•
вычисление, преобразование и проверка значений полей документов;
•
добавление и удаление полей в документах;
•
определение формы, используемой для открытия документа в виде;
•
определение вычисляемых субформ в форме;
•
выполнение последовательности действий при запуске агента, клике по кнопке панели инструментов, акции в виде, активного участка в навигаторе, акции, кнопки или активного участка в форме.
В Notes версий 3.x @-формулы были практически единственным средством для вычислений и автоматизации обработки информации. В 4-й версии появились, по крайней мере, еще два способа: один более простой, но ограниченный - простые действия (simple actions), другой более сложный, но богатый по своим возможностям - объектно-ориентированный язык программирования LotusScript. Пятая версия Domino в дополнение к языку LotusScript дала разработчикам возможности использования объектноориентированного языка Java, который в последнее время стал фактически стандартом для создания Internet-приложений.
В R 6 язык @-формул значительно обновился и стал более похож на процедурный язык (появились операторы цикла, разрешено повторное присваивание значений временным переменным, операторы присваивания допускают вложенность, и т. д.). Кроме этого появились новые элементы дизайна, поддерживающие язык @-формул (например, формула поля Input Enabled [разрешить/запретить ввод в поле]).
Обратите внимание, что новые или модифицированные в версии R 6 @функции и @-команды помечены значком ϑ перед заголовками. Java и LotusScript обеспечивают множество операций, невозможных для @-формул. Например, модификацию списка управления доступом к базе (ACL), но часто использование @-формул бывает проще и эффективнее, а во многих местах @-формулы остались единственным вариантом. Например, в кнопках панели инструментов, при селективных репликациях, для определения видимости объектов, в колонках, критериях отбора и формулах формы видов, в формулах полей.
2 Синтаксис формул Формула состоит из одного или более операторов (statements), разделяемых символом точка с запятой («;»). Синтаксис формул должен подчиняться следующим правилам:
•
формула должна начинаться с ключевого слова, вызова @-функции, переменной или константы;
•
формула должна заканчиваться переменной, константой или @-функцией;
•
аргументы @-функций отделяются друг от друга с помощью символа «;»;
• •
• •
список аргументов функций заключается в скобки. Если аргументы не требуются, скобки можно опустить;
допускается размещать произвольное количество пробелов и переводов строки (в том числе ни одного) между операторами формул и выполнения операций;
за ключевым словом должен следовать хотя бы один пробел;
регистр (прописные или строчные буквы) не имеет значения, кроме как внутри текстовых констант. Ключевые слова автоматически преобразуются в верхний регистр при сохранении формулы.
3 Лексические элементы формул Каждый оператор формулы может состоять из:
•
переменных;
•
констант;
•
операторов выполнения операций (operators), не путать с операторами формул (statements);
•
встроенных @-функций;
•
ключевых слов.
3.1 Переменные Переменные бывают двух типов: поля и временные переменные (также называемые временными полями).
3.1.1 Поля Поля - наиболее часто используемые переменные в формулах. Формула имеет доступ к полям обрабатываемого документа. Для ссылки на значение поля нужно вставить в формулу название поля. При этом важно не забывать о типе данных поля. Большинству функций требуются определенные типы аргументов, а операторам - определенные типы операндов. Для определения типа и имени поля можно обратиться к дизайну конкретной БД. При использовании полей в качестве переменных в формулах, наиболее часто встречаются ошибки для полей типа RichText и полей с множественными значениями (multi-values field). RichText-поля, как правило, не могут использоваться как переменные. Тем не менее, в формуле агента можно присвоить значение такому полю с помощью ключевого слова FIELD, а функция @DbLookup может получить содержимое RichText-поля из другого документа. Функцию @IsAvailable( FieldName ) можно использовать для установления факта наличия в документе поля (в том числе RichText) с таким именем.
Для multi-values-полей следует помнить, что только достаточно ограниченное число @-функций и операторов работают со списками. Для определения является ли значение поля списком можно воспользоваться функцией @Elements( FieldName ). Если возвращаемое значение больше единицы, это говорит о том, что значение поля действительно список. Формулы могут модифицировать значение полей в документе только в том случае, если эти действия не противоречат списку управления доступом к текущей БД. Имена полей в формулах могут использоваться различными путями:
•
• •
для определения значений по умолчанию. При создании нового документа, если в форме установлено "наследование" полей, возможны ссылки на поля в документе, который был открыт или выделен в момент создания. Эта возможность широко используется в Domino при разработке форм для документов-ответов, при создании новых документов "по образцу"; в выражениях для получения новых значений с помощью операторов. Например, формула в колонке вида: FirstName + " " + LastName, где FirstName и LastName - поля в документах, содержащие фамилию и имя; для задания аргументов функций. Здесь возможны два принципиально различных варианта:
• •
название поля используется для ссылки на содержащееся в поле, например, @Text( BirthDate );
значение,
название поля используется как текстовая строка, например формула возвращает содержимое поля Status в документе, найденном по ключу "Virus Check":
Оператор с ключевым словом FIELD присваивает значение полю, если оно уже существует в документе, в противном случае создается новое поле с таким именем. Его тип данных определяется типом присваиваемого значения. Таким же образом можно и удалить поле из документа: FIELD FieldName := @DeleteField;
Поля, значения которых не определены, имеют значение пустой строки (""). Это правило справедливо для полей любых типов, включая и нетекстовые поля. В связи с этим возникает достаточно много ошибок несовместимости типов данных. Для решения этой проблемы рекомендуется для нетекстовых полей определять формулу значения поля по умолчанию.
3.1.2 Предопределенные поля В документах Domino могут присутствовать поля, содержащие определенную служебную информацию. Например, $UpdatedBy, $Revisions, $Ref, $Conflict, Form и т.д. Не все из этих полей (и не во всех контекстах) могут быть использованы в качестве переменных @-формул (для каждого конкретного случая необходимо обращаться к документации). Так, например, в акции формы формула @Prompt( [Ok]; "First Editor"; @Subset( $UpdatedBy; 1 )) действительно выдаст окно с именем первого автора документа, однако формула @SetField( "$UpdatedBy"; "Ivan I Ivanov" ) не изменит значения поля $UpdatedBy. Следует заметить, что сразу после выполнения данной формулы, если посмотреть значение поля $UpdatedBy (например, через окно свойств), то его значение действительно будет "Ivan I Ivanov", но по выходу из режима редактирования (даже с сохранением) Lotus сам восстановит значение указанного поля. Наиболее часто из предопределенных полей в @-формулах используется поле Form. Данное поле содержит имя формы, по которой текущий документ должен отображаться/модифицироваться по умолчанию. Поле Form может использоваться в @-формулах так же как и любое другое не предопределенное поле.
3.1.3 Временные переменные Временные переменные доступны только в пределах формулы, в которой они определены (от определения до конца формулы) и в течение одного выполнения этой формулы. Создание и инициализация временной переменной аналогично инициализации поля, но без ключевого слова FIELD: VariableName := Value;
Тип данных временной переменной соответствует типу значения в правой части оператора присваивания. Этот тип может быть Text, Time, Number или Boolean. Последний - логический - возвращается некоторыми @-функциями
и может принимать значения True (Истина - эквивалентно числу 1) или False (Ложь - эквивалентно числу 0). В R 6 снято ограничении на то, что в пределах одной формулы переменная с одним и тем же именем не должна более одного раза встречаться в левой части оператора присваивания. Для изменения значение временной переменной в процессе выполнения формулы можно использовать как оператор присваивания, так и функцию @Set: VariableName := 1; . . . VariableName := 2;
так и : VariableName := 1; . . . @Set( VariableName; 2 );
3.2 Константы В формулах можно использовать константы трех типов: текстовые, числовые и типа дата-время. Список значений также может использоваться в качестве константы.
Текстовые константы в формулах заключаются в двойные кавычки: "Text constant". В R 6 текстовые константы можно заключать в фигурные скобки. {Text constant}. Чтобы многократно повторить один и тот же символ используйте функцию @Repeat. Обратный слеш «\» внутри текстовой константы служит Esc-символом. Таким образом, если текст в константе, заключенной в двойные кавычки, должен содержать символы «"» или «\» перед ними нужно вставлять добавочный символ «\». В некоторых случаях после сохранения формулы с фигурными скобками, выступающими в качестве ограничителей текстовой константы, последние преобразуются к «\"».
Числовые константы могут состоять из специальных символов, неразделенных пробелами. соблюдаться следующие правила:
• •
символов цифр и При этом должны
первый символ «+» или «-» определяет знак числа, соответственно положительное значение, или отрицательное; целые числа состоят только из символов цифр, неразделенных пробелами;
нецелые числа могут быть представлены в обычной и математической нотации. Для обычной нотации десятичная точка может находиться перед, после или внутри последовательности символов цифр, неразделенных пробелами. Для математической нотации – число может содержать суффикс из символа «Е» и следующих за им чисел, определяющих показатель степени со знаком или без. Например, 123, -123, 1.23, -0.123, 1.23E-12.
Дата-время (Time-date) константы должны быть заключены в квадратные скобки. Например, [5:30], [30.3.93] или [30.3.93 5:30]. Формат представления даты и времени (порядок следования, разделители и т.д.) должен соответствовать стандартам, установленным в операционной системе. При использование сокращенного формата даты для года, например, [dd.mm.yy], если yy < 50 - считается, что это 20yy год, в противном случае 19yy год. Используйте полный формат даты для года, если это необходимо. Результат вычитания двух значений типа дата-время есть целое число, представляющее разницу во времени между этими значениями в секундах. Например, формула: @Prompt( [OK]; "Проба"; @Text( [30.3.93 5:30]- [30.3.93 5:29] ));
выдаст окно со значением 60.
3.3 Операторы выполнения операций В таблице, приведенной ниже, перечислены все допустимые в @формулах операторы в порядке убывания их приоритета. Горизонтальные линии отделяют группы операторов с разным приоритетом. Если в одном выражении встречаются операторы одного приоритета, они выполняются слева направо. Изменить порядок выполнения можно с помощью круглых скобок.
Оператор
Название, описание
Приоритет
:=
Присваивание. В R 6 допустимы вложенные операторы присваивания
Функция @ServerAccess позволяет работать со следующими флагами:
• • • • • • • •
•
188
[ACCESS] – проверяет, имеет ли пользователь права администратора для данного сервера;
[CREATEDATABASE] – проверяет, может ли пользователь создавать БД на указанном сервере;
[CREATEREPLICA] - проверяет может ли пользователь создавать реплики БД на указанном сервере;
[CREATETEMPLATE] – проверяет, может ли пользователь создавать БДшаблоны на указанном сервере;
[DATABASEACCESS] – проверяет, имеет ли администратора на уровне БД для данного сервера;
пользователь
права
[FULLACCESS] – проверяет, имеет ли пользователь права неограниченного администратора для данного сервера;
[REMOTEACCESS] – проверяет, может ли пользователь работать с удаленной консолью сервера;
[RESTRICTEDSYSTEMACCESS] – проверяет, имеет ли пользователь права администратора для данного сервера, соответствующие возможностям запуска ограниченного набора системных команд;
[SYSTEMACCESS] – проверяет, имеет ли пользователь права администратора для данного сервера, соответствующие возможностям запуска команд операционной системы;
[TRACKMESSAGE] – проверяет, имеет ли пользователь права отслеживания почтовых сообщений без просмотра содержимого поля Subject;
[TRACKMESSAGESUBJECT] – проверяет, имеет ли пользователь права отслеживания почтовых сообщений с возможностью просмотра содержимого поля Subject;
[VIEWONLYACCESS] – проверяет, имеет ли пользователь права администратора для данного сервера, соответствующие возможностям запуска очень ограниченного набора команд консоли сервера, которые не могут повлиять на работу сервера (например, SHOW SERVER, SHOW TASKS и т.д.).
Рассмотрим остальные два параметра функции:
•
•
имя_пользователя – задает иерархическое имя пользователя (при использовании Short Name функция всегда возвращает значение 0 (False)). По синтаксису – текстовое значение нечувствительное к регистру;
имя_сервера – необязательный (за исключением использования функции в кнопках панели инструментов) параметр, задающий сервер, на котором проверяются права пользователя. Когда этот параметр опущен, то если БД, в которой выполняется функция, расположена:
• • •
на сервере, то он выступает в роли параметра имя_сервера; на локальной станции, и в ACL БД указан административный сервер, то он выступает в роли параметра имя_сервера; на локальной станции, и в ACL БД не указан административный сервер, то функция возвращает значение 0 (False).
Пример 1. Формула, используемая в кнопке панели инструментов, сначала запрашивает пользователя имя сервера, затем проверяет наличие прав на возможность создания на выбранном сервере новых БД, и при наличии прав – вызывает диалог создания новой БД. REM {Формируем список доступных серверов}; list_server := @DbColumn( "" : "NoCache"; @Subset(@MailDbName; 1) : "names.nsf"; "($Servers)"; 1); REM {Запрашиваем у пользователя имя требуемого сервера}; server := @Prompt( [OkCancelCombo]; "Выбрать сервер"; "Выберите сервер, на котором будет создаваться БД."; @Subset(@MailDbName; 1); list_server); REM {Проверяем возможность создания на выбранном сервере БД}; REM {Формула приведена исключительно ради примера}; REM сервер};
{т.к.
в
диалоге
создания
БД
требуется
повторно
выбирать
@If( @ServerAccess( [CreateDatabase]; @UserName; server )=1; @Command( [FileNewDatabase] ); @Prompt( [Ok]; "Предупреждение"; "Вы не имеете прав на создание БД"+ @Char(13) + "на сервере " + server))
6.19 Функции, работающие с профильными документами Профильные документы являются мощным средством для обмена данными между различными приложениями внутри одной или нескольких баз данных. По сути своей это скрытые документы, создаваемые по определенной форме, и которые могут хранить любые типы данных, допустимые в Domino. Доступ к профильным документам можно получить с помощью языка формул, LotusScript или Java.
Имя профильного документа совпадает с именем формы, по которой этот документ был создан. Кроме этого можно такие документы связать еще с дополнительным уникальным ключом. В версиях Domino/Notes до R 5 включительно говорилось, что профильные документы могут ассоциироваться с конкретным пользователем, т.е. для разных пользователей может существовать разные профильные документы с одним и тем же именем. Таким образом, разрешаются конфликты при одновременной работе нескольких пользователей. В одной базе данных для одного уникального ключа может существовать только один профильный документ с заданным именем. Если при создании профильного документа не был указан ключ, с которым необходимо ассоциировать конкретный профиль, то такой документ может быть только один на всю БД. При этом может существовать профили с тем же именем, но ассоциированные с разными ключами.
"Скрытость" профильных документов не только делает их невидимыми в видах и папках, но и не отображает их число в общем числе документов в окне свойств базы данных.
Создать профильный документ можно по @-команде @Command( [EditProfile]; ...), более подробно данная команда рассматривается в пункте "7.3".
У профильных документов есть важная особенность – они кешируются при работе с БД. В некоторых случаях данная возможность служит во благо, иногда нет.
@GetProfileField( "имя_профильного_документа"; "имя_поля"; "уникальный_ключ" ) Область применения: нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции, заголовка окна, полей, формы, акций формы и вида, и области размещения. Функция возвращает значение поля по имени "имя_поля" из профильного документа с именем "имя_профильного_документа". Третий параметр не обязателен, если он не опущен, то ищется профильный документ, связанный с указанным ключом. Возвращаемое значение имеет тот же тип, что и значение в поле профильного документа, т.е. если в поле лежит число или список дат, то возвращается соответственно число или список дат.
@SetProfileField( "имя_профильного_документа"; "имя_поля"; "значение"; "уникальный_ключ" ) Область применения: нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции, заголовка окна, всплывающих окон, полей, формы, и навигатора. Функция присваивает значение "значение" полю по имени "имя_поля" из профильного документа с именем "имя_профильного_документа". Четвертый параметр не обязателен, если он опущен, то ищется профильный документ общий для данной БД, иначе ищется профильный документ, связанный с указанным ключом. Если на момент вызова функции указанный профильный документ в БД отсутствует, то корректный вызов @SetProfileField принудительно создает такой документ. В таком контексте можно использовать функцию в Web-приложении для создания профильного документа (т.к. команда @Command([EditProfile]; … в Web не поддерживается), и присвоении полю этого документа указанного значения. Функция возвращает значение, соответствующее третьему аргументу функции, т.е. "значение". Хотя в документации сказано, что тип параметра "значение" должен быть текстовый, из опыта известно, что функция корректно работает, и если в качестве третьего параметра выступают числа, "дата-время" или списки, составленные из этих типов. Соответственно при этом возвращаемое значение имеет тот же тип, что и у третьего аргумента.
Пример. Предположим у нас есть два агента Agent1 и Agent2. Agent1 производит некоторые вычисления, и затем значение, хранящееся во временной переменной Ch, записывает в поле Result профильного документа Work (таким образом, он передает параметры Agent2). После этого он вызывает Agent2: @SetProfileField( "Work"; "Result"; Ch; @UserName ); @Command( [ToolsRunMacro]; "Agent1" );
Agent2 считывает вычисленное Agent1 значение в свою временную переменную Ch1 и продолжает вычисления. Ch1 := @GetProfileField( "Work"; "Result"; @UserName );
6.20 Функция выбора требуемого фрейма @SetTargetFrame( "имя_фрейма" ) Область применения: предназначена для работы в формулах акций, гиперобъектов, кнопок панели инструментов и агентов, запускаемых вручную. За функцией должна следовать одна из команд: @Command( [OpenFrameset] ), @Command( [OpenPage] ), @Command( [OpenView] ), @Command( [Compose] ), @Command( [EditDocument] ), @Command([RefreshFrame]). Функция не выполняется, если за ней следует команда @Command( [OpenView] ), у которой не опущен параметр "окно". В случае если за функцией следует команда @Command( [OpenView] ), у которой опущен параметр "вид", то открывается вид, который перед вызовом функции последний раз открывался во фрейме с именем "имя_фрейма". Функция не выполняется, если за ней следует команда @Command([RefreshFrame]) , у которой не опущен параметр "целевой_фрейм". Функция определяет фрейм, в пределах которого должен быть открыт объект, указанный в следующей за функцией команде. Может быть использована для открытия в рамках фрейма видов, страниц, набора фреймов, или документов в режиме создания или редактирования. Параметр "имя_фрейма" определяет требуемый фрейм. Из личного опыта функция также работает совместно с @URLOpen, как в браузере, так и в клиенте Notes. Пример 1. Открывает во фрейме с именем "Second" вид с именем "View1".
Пример 2. Открывает в новом окне главную страницу сайта lotus.com. @SetTargetFrame( "_blank" ); @URLOpen( "http://www.lotus.com" )
6.21 Диалог с пользователем ϑ @Prompt( [стиль]: [NoSort]; "заголовок"; "текст"; "по_умолчанию"; "выбор"; "тип_файла") Область применения: нельзя использовать в формулах отбора, колонок, почтовых агентов и агентов, выполняющихся по расписанию, видимости объекта и всплывающих окон. Ограниченно применима в формулах заголовка окна и формы. Не работает при установке переменной окружения NoExternalApps равной 1. В Web-приложениях не работает. @Prompt используется для запроса информации у пользователя. Функция показывает диалоговое окно заданного стиля, с заданным заголовком и текстом, и содержащее информацию из остальных параметров. Большинство стилей предполагают однозначный ответ и возвращают его как текстовую строку. Другие стили позволяют пользователю ввести или выбрать более одного значения.
Параметр [стиль] определяет внешний вид диалогового окна. Он задается одним из приведенных в таблице ключевых слов. Ключевые слова вводятся в квадратных скобках. Параметр [стиль] является обязательным.
Сообщение и кнопку OK. Используется для информационных сообщений. Использует только параметры [стиль], "заголовок" и "текст".
1 (TRUE).
[YesNo]
Сообщение и кнопки Yes и No. Позволяет принимать решение Да/Нет. Использует только параметры [стиль], "заголовок" и "текст".
1 (TRUE), если нажата кнопка Yes, или 0 (FALSE), если нажата кнопка No.
[YesNoCancel]
Сообщение и кнопки Yes, No и Cancel. Позволяет принимать решение Да/Нет или отказаться от принятия решения. Использует только параметры [стиль], "заголовок" и "текст".
1 (TRUE), если нажата кнопка Yes; 0 (FALSE), если нажата кнопка No; -1, если нажата кнопка Cancel.
[OkCancelEdit]
Сообщение, подокно для ввода текста (с содержимым по умолчанию) и кнопки OK и Cancel. Использует только параметры [стиль], "заголовок" и "текст" и "по умолчанию".
Если нажата кнопка Ok, возвращается первые 254 байта введенного пользователем текста. Если нажата кнопка Cancel, ничего не возвращается, поскольку выполнение всей формулы завершается.
[OkCancelList]
Сообщение, список значений для выбора (с отмеченным значением по умолчанию) и кнопки OK и Cancel. Пользователь выбирает только одно значение из списка. Использует пять первых параметров.
Eсли нажата кнопка Ok, возвращается выбранное пользователем значение. Eсли нажата кнопка Cancel, ничего не возвращается, поскольку выполнение всей формулы завершается. Если выбор по умолчанию в функции не был сделан, а пользователь нажал кнопку OK , не выбрав никакого элемента, возвращается число 1.
[OkCancelCombo]
Сообщение, выпадающий список значений для выбора (с показанным в
Eсли нажата кнопка Ok, возвращается выбранное пользователем значение.
верхнем текстовом подокне значением по умолчанию) и кнопки OK и Cancel. Пользователь выбирает только одно значение из списка. Заметьте, что значение по умолчанию показывается только, если оно содержится в списке возможных выборов; в противном случае текстовое подокно остается пустым. Использует пять первых параметров.
Eсли нажата кнопка Cancel, ничего не возвращается, поскольку выполнение всей формулы завершается. Если выбор по умолчанию в функции не был сделан, а пользователь нажал кнопку OK , не выбрав никакого элемента, возвращается пустая строка.
[OkCancelEditCombo]
Сообщение, выпадающий список значений для выбора (с показанным в верхнем текстовом окне значением по умолчанию) и кнопки OK и Cancel. Пользователь вводит значение или выбирает его из списка. Подобно [OkCancelEdit], но позволяет пользователю вводить значения, не указанные в списке. Использует пять первых параметров.
Eсли нажата кнопка Ok, возвращается выбранное, введенное или измененное пользователем значение. Eсли нажата кнопка Cancel, ничего не возвращается, поскольку выполнение всей формулы завершается.
[OkCancelListMult]
Сообщение, список значений для выбора и кнопки OK и Cancel; пользователь выбирает одно или несколько значений из списка. Подобно [OkCancelList]. Этот стиль использует все пять параметров.
Eсли нажата кнопка Ok, возвращается список выбранных пользователем значений. Eсли нажата кнопка Cancel, ничего не возвращается, поскольку выполнение всей формулы завершается. Если выбор по умолчанию в функции не был сделан, а пользователь нажал кнопку OK , не выбрав никакого элемента, возвращается число 1.
файлов для выбора относительно директории \NOTES\DATA и кнопки Select, Cancel и Help; пользователь выбирает одно значение из списка. Использует только параметры [стиль], "заголовок" и "тип_файла".
возвращается выбранное пользователем имя файла с полным путем и расширением. Eсли нажата кнопка Cancel, ничего не возвращается, поскольку выполнение всей формулы завершается. Если пользователь нажал кнопку Select , не выбрав никакого элемента, окно остается модальным. При нажатии Help выдается соответствующий раздел из базы справки по клиентской программе.
[Password]
Сообщение, подокно для ввода пароля (введенная информация в нем не отображается) и кнопки OK и Cancel. Использует только параметры [стиль], "заголовок" и "текст".
Eсли нажата кнопка Ok, возвращается введенный пользователем пароль. Eсли нажата кнопка Cancel, ничего не возвращается, поскольку выполнение всей формулы завершается.
[ChooseDatabase]
Окно со списком файлов баз данных для выбора и открытия, и кнопки Open, Cancel, Select, About и Browse. Согласно документации функция с данным ключевым словом должна использовать только параметры [стиль], "заголовок" и "выбор". Из личного опыта (подтвержденного bug report) в версии R 6.0.1 параметры "заголовок" и "выбор" работают некорректно.
Возвращает трехэлементный список (имя сервера, имя файла и заголовок базы данных. Для локальных БД в качестве имя сервера возвращается пустая строка.
Ключевое слово [NoSort] необязательно. Если оно присутствует, то это предотвращает сортировку в алфавитном порядке значений из списка
"по_умолчанию" при выводе в подокно списка или выпадающего списка диалогового окна. Для параметра "заголовок" задается текст, который должен быть показан в заголовке диалогового окна. Заголовок окна должен быть указан всегда, если его нет - задается пустая строку "". Максимальное число символов в строке "заголовока" 65. Для параметра "текст" задается текст сообщения, который должен быть показан внутри окна. Параметр должен быть указан всегда, за исключением [LocalBrowse] (и скорее всего [ChooseDatabase]). Если в качестве "текста" используется формула, возвращающая текстовый список, в окне будет показан только первый элемент этого списка. Чтобы показать весь список, используйте @Implode. @NewLine нельзя использовать в параметре "текст", вместо нее рекомендуется использовать @Char(13) для перевода текста на новую строку. Максимальное число символов в строке "текст" 255. В параметре "по_умолчанию" определяется для вводимой пользователем строки значение по умолчанию. Это значение будет появляться в строке ввода при открытии окна; пользователь может принять его, выбирая OK, или заменить его другим значением. Значение "по_умолчанию" предназначено для использования со всеми стилями за исключением: [Ok], [YesNo], [YesNoCancel], [LocalBrowse], [Password] (и скорее всего [ChooseDatabase]). В качестве параметра "выбор" задается список значений, которые нужно поместить в подокне списка диалогового окна. Список "выбор" должен указываться в следующих стилях: [OkCancelList], [OkCancelCombo], [OkCancelEditCombo] и [OkCancelListMult] (и скорее всего [ChooseDatabase]). Параметр "тип_файла" применим только к стилю [LocalBrowse]. В этом контексте определяет текст файла для показа:
Пример 1. Стиль [Ok]. @Prompt( [Ok]; "Напоминание"; "Не
забудьте
сегодня
вечером
выполнить
резервное
копирование." )
Рис. 6.16 @Prompt([Ok];…)
Пример 2. Стиль [YesNo]. @Prompt( [YesNo]; "Отправить сообщение?"; "Это сообщение будет отправлено указанным в поле " + @Char( 13 ) + @Char( 10 ) + "Кому, Копия и Секретная копия лицам." )
Пример 7. Стиль [OkCancelEditCombo]. @Prompt( [OkCancelEditCombo]; "Выбрать базу данных"; "Выберите базу данных для открытия или введите ее название."; "Расписание"; "Расписание" : "Телефонная книга" : @Subset ( @MailDbName; -1 ))
Рис. 6.22 @Prompt([OkCancelEditCombo];…)
Пример 8. Стиль[OkCancelListMult]. @Prompt( [OkCancelListMult]; "Выбрать имя"; "Выберите одно или более имен получателей этого запроса."; "Елена Наумова"; "Елена Наумова" : "Андрей Ефремов" : "Борис Иванов" : "Леонид Решко" )
@PickList( [Custom] : [Single]; "сервер": "база_данных"; "вид"; "заголовок"; "текст"; номер_столбца; "ключ" ) @PickList( [Name] : [Single] ) @PickList( [Room] ) @PickList( [Resource] ) @PickList( [Folders] : [тип_папки] : [Single]; "сервер" : "база_данных" ) Область применения: нельзя использовать в формулах отбора, колонок, почтовых агентов и агентов, выполняющихся по расписанию, видимости объекта, заголовка окна, всплывающих окон и формы. Не работает при установке переменной окружения NoExternalApps равной 1. В Webприложениях не работает. Вариант @PickList( [Custom];…) выдает модальное диалоговое окно, в котором выводится содержимое базы данных "сервер" : "база_данных" по указанному "виду". В этом модальном окне пользователь может выбрать (отметить) один или более документов при первом параметре - [Custom], или только один документ при первом параметре - [Custom] : [Single]. Функция @PickList возвратит значение из указанного столбца "номер_столбца" этого "вида" для выбранных документов. Двухэлементный текстовый список "сервер" : "база_данных" определяет сервер и файл базы, из которой выбирается вид. Если задать элемент "сервер" равным "", будет предполагаться, что база расположена локально. Если вместо двухэлементного списка задать "", вид будет выбран из текущей базы. В случае если первый параметр [Custom] можно в качестве аргумента "сервер" : "база_данных" задавать значение идентификатора реплики, например "85255CEB:0032AC04" (как одну текстовую строку, а не список из двух элементов), подобно тому, как это допускается в функциях @DbColumn и @DbLookup. Параметр "вид" - текстовая строка, содержащая имя открываемого в диалоговом окне вида. Параметр "заголовок" задает текст, выводимый в заголовок диалогового окна, а "текст" - текст, выводимый в само диалоговое окно. Числовой параметр номер_столбца задает номер столбца в виде, из которого функция будет выбирать значения. Обратите внимание, что в отличие от функций @DbColumn и @DbLookup номер столбца для @PickList не зависит от формулы для этого столбца, все столбцы пронумерованы слева направо начиная с единицы.
только
Параметр "ключ" необязателен, при его задании в виде показываются те документы, которые содержат значение ключ в первой
отсортированной и обязательно категоризованной колонке данного вида. По поводу данного параметра следует сделать замечание. По синтаксису данный параметр должен иметь текстовой тип (синтаксический анализатор не дает сохранить формулу с другим типом данных). Однако если значение в колонке имеет другой тип данных (например, числовой или дата-время), а параметр имеет аналогичное значение преобразованное к тексту, то функция работает некорректно. При использовании параметра "ключ" функция @PickList не кеширует информацию в отличие от @DbColumn и @DbLookup, поиск осуществляется каждый раз при новом вызове функции. Размер возвращаемых функцией данных имеет точно такие же ограничения что и у функций @DbColumn и @DbLookup. Обратите внимание, что это ограничения только на размер возвращаемых значений по кнопке Ok (обычно актуально при множественном выборе), сама же функция @PickList имеет доступ ко всем данным вида. При отображении календарного вида в рамках @PickList, последний выводится без слота времени и в формате отображающем два дня календаря, включая текущий. Пользователь в дальнейшем может изменить формат отображения, а также осуществлять навигацию по календарю. Вариант @PickList( [Name] : [Single] ) выводит диалоговое окно, содержащее информацию из доступных адресных книг. Пользователь может выбрать одно или более лиц, групп или серверов, а функция @PickList вернет выбранные им имена. Ключевое слово [Single] не обязательно. Оно указывает, что разрешен выбор только одного имени. Варианты @PickList( [Room] ) и @PickList( [Resource] ) выдают диалоговые окна с информацией о ресурсах и комнатах из доступных адресных книг. Вариант @PickList( [Folders] : [тип_папки] : [Single]; "сервер" : "база_данных" ) выводит диалоговое окно, содержащее информацию об имеющихся папках в "базе_данных". Пользователь может выбрать одну или более папок, а функция @PickList вернет выбранные им имена. Ключевое слово [Single] не обязательно. Параметр [тип_папки] следующих значений:
• •
206
необязателен,
и
может
принимать
одно
[Shared] для отбора только общих папок; [Private] для отбора только личных папок, как сохраняемых в базе данных, так и в файле desktop;
[Shared]:[Private] для отбора только общих до первого использования папок; [NoDesktop] для отбора всех папок, за исключением сохраняемых в файле desktop. Если параметр [тип_папки] опущен, выводятся все папки.
Пример 1. Формула кнопки позволяет пользователю выбрать папку, в которую надо поместить текущий документ. choice := @PickList( [Folders]; "" ); @AddToFolder( choice; "" )
Рис. 6.27 Пример окна @PickList([Folder]) Пример 2. Формула кнопки позволяет пользователю выбрать список пользователей, групп и серверов в качестве значения поля person. FIELD person := person; @SetField( "person"; @PickList( [Name] ) )
Рис. 6.28 Пример окна @PickList([Name]) Пример 3. Формула открывает вид Otdel из базы с идентификатором реплики "C32566DC:00520B5F" в диалоговом окне. Предположим, пользователь отметил в окне документ, для которого во второй колонке вида отображается "Тома Р.О.". Временная переменная choice получит значение: "Тома Р.О.". сhoice :=@PickList( [Custom] : [Single]; "C32566DC:00520B5F"; "Otdel"; "Выбор сотрудника"; "Выберите сотрудника"; 2 );
Рис. 6.29 Пример окна @PickList([Custom]:[Single];...) Пример 4. Выводит диалоговое окно с информацией о имеющихся комнатах из адресных книг. @PickList( [Room] );
Рис. 6.30 Пример окна @PickList( [Room] ) Пример 5. Выводит диалоговое окно с информацией об имеющихся ресурсах из адресных книг. @PickList( [Resource] );
ϑ @DialogBox( "форма"; [AutoHorzFit] : [AutoVertFit] : [NoCancel] : [NoNewFields] : [NoFieldUpdate] : [ReadOnly] : [SizeToTable] : [NoOkCancel] : [OkCancelAtBottom]; "заголовок" ) Область применения: нельзя использовать в формулах отбора, колонок, агентов выполняющихся на сервере (почтовые и по расписанию), заголовка окна и формы. Не возвращает данные из RTF-полей. Не работает при установке переменной окружения NoExternalApps равной 1. В Webприложениях не работает. Открывает в модальном диалоговом окне текущий документ по указанной форме "форма". Пользователь получает возможность работы с документом в диалоговом окне, причем он не может переключиться в другое окно Notes, пока не закроет этот диалог кнопкой OK или Cancel. Ключевые слова [AutoHorzFit] и [AutoVertFit] не обязательны, указываются в случае, если форма представляет собой область размещения (layout region), и диалоговое окно следует "подгонять" под размеры области размещения по горизонтали и (или) по вертикали. Такая возможность может использоваться с любой формой, но она особенно полезна с формами, которые содержат одну область размещения, потому что пользователь может работать с этой областью, как с диалоговым окном. Однако если в форме присутствует более одной области размещения, в диалоговом окне будет выведена только первая область.
Рис. 6.32 Пример формы c областью размещения в диалоговом окне Параметр [NoCancel] не обязателен, указывается необходимости, подавления в диалоговом окне кнопки Cancel.
в
случае
Параметр [NoNewFields] не обязателен, указывается, когда нужно не добавлять в текущий документ поля, которые есть в "форме", но нет в исходной форме. Параметр [NoFieldUpdate] не обязателен, указывается, когда нужно не переносить изменения из полей "формы" в текущий документ. Используется обычно в случае, если значения из этих полей переносятся в другое место (например, по событию QueryClose "формы") Параметр [ReadOnly] не обязателен, указывается в случае необходимости запрета ввода информации в поля диалогового окна (например, при выводе справки). Используется вместе с ключевым словом [NoCancel].
Параметр [SizeToTable] не обязателен, указывается в случае необходимости “подгонки“ диалогового окна под размеры первой таблицы в "форме". Используется только совместно с флагами [AutoHorzFit] и [AutoVertFit]. Из опыта следует заметить, что правильно подгоняются только таблицы в стандартном интерфейсе (т.е. не таблицы с закладками и т.д.).
Параметр [NoOkCancel] не обязателен, указывается в случае необходимости подавления вывода кнопки Ok. Рекомендуется использовать совместно с флагом [NoCancel]. В этом случае для передачи данных из модальной формы в основную можно использовать гиперобъект (например, кнопка) модальной формы с @-командой [RefreshParentNote].
В R 6 появился еще один необязательный параметр [OkCancelAtBottom], позволяющий осуществить вывод кнопок Ok и Cancel (если они присутствуют) в строчку в правом нижнем углу диалогового окна.
Параметр "заголовок" не обязателен, указывается для изменения заголовка окна со стандартного "Lotus Notes" на "заголовок".
Явное возвращаемое значение у функции отсутствует.
При работе с одним и тем же документом по разным формам действуют следующие соглашения:
•
•
•
если "форма" имеет общие (одноименные) поля с текущим документом, значения полей из текущего документа выводятся в диалоговом окне. Rich Text поля (несмотря на указание противного в документации) также отображаются в диалоговом окне; при изменении значение какого-то поля в диалоговом окне и нажатии на кнопку Ok, эти изменения будут отражены в соответствующих полях текущего документа (если, разумеется, не указан флаг [NoFieldUpdate]). Так же не передаются изменения из Rich Text полей; если пользователь вводит значение для поля в диалоговом окне, но текущий документ не содержит поля с таким именем, поле и значение добавляются в документ, даже если в основной форме для показа этого документа такого поля нет (если, разумеется, не указаны флаги [NoNewFields] и/или [NoFieldUpdate]). Пример 1. Форма с именем Profile содержит кнопку с формулой
Предположим, что в обеих формах Profile и Profile Options присутствует поле Comments, но вторая форма представляет собой область размещения и специально создана для удобства редактирования поля Comments. Пользователь, находясь в режиме редактирования документа (по форме Profile), нажимает рассматриваемую кнопку. Документ открывается в диалоговом окне по
форме Profile Options. После редактирования новое значение поля Comments "поступает" в документ. Пример 2. Формула, демонстрирует “подгонку“ диалогового окна под первую таблицу в форме “Form1“, а также действие флага [OkCancelAtBottom]. @DialogBox("Form1";[AutoHorzFit] : [AutoVertFit] : [SizeToTable] : [OkCancelAtBottom]
;"Пример
\"подгонки\" @DialogBox под таблицу" )
Рис. 6.33 «Подгонка» диалогового окна под размеры таблицы
ϑ @StatusBar( строка ) @StatusBar( список_строк ) Область применения: предназначена для использования только в формулах кнопок панели инструментов, заголовка окна, гиперобъектов, полей, акций видов и формы, а также навигатора. В Web-приложениях не работает. Выводит в строку состояния клиента Notes сообщение, состоящее из строки, или если параметр представляет собой список строк, то выводится несколько сообщений, каждое из которых состоит из одного элемента списка_строк. Пример. Выводит сообщение в строку состояния. @StatusBar("Обрати внимание – на мои страдания");
@DbCommand( "Domino"; "ViewPreviousPage") @DbCommand( "Domino"; "ViewNextPage") ϑ @DbCommand( "Domino"; "FolderList" [;"заголовок"[;"список_исключений" ]] ) Область применения: в DOMINO R 6.0.1 ДОКУМЕНТИРОВАНА НЕ ПОЛНОСТЬЮ. Разрешается использовать только в Web-приложениях. В первом варианте синтаксиса организует ссылку на предыдущий документ в виде, во втором на последующий. Третий вариант новый в R 6, при использовании в формулах полей типа список выводит имена доступных из-под Web-папок. Необязательный параметр заголовок определяет первый элемент получаемого списка. Если список доступных папок пуст, то заголовок не выводится. Список_исключений может задавать имена папок (то же в виде списка), которые не будут отображаться в результирующем списке. Данная команда может использоваться совместно с функцией @AddToFolder для помещения текущего документа в выбранную папку. Пример. Под Web доступны папки с именами Folder1, Folder2 и Folder3. Нижеприведенная формула, используемая в формуле поля, выдаст список доступных папок за исключением Folder2 (см. Рис. 6.35). @DbCommand("Domino" ; "FolderList" ; "Выберите папку";"Folder2")
Рис. 6.35 Вариант выбора папок через @DbCommand("Domino" ; "FolderList") В вышеприведенном примере можно было добавить на форму акцию (либо кнопку), которая помещает текущий документ в выбранные в поле My_folders папки. Формула этой кнопки может быть следующая: @If(
Существует еще один способ помещения документов в папку с использованием @DbCommand("Domino" ; "FolderList"; …). Это достигается следующим образом:
• • • •
присвоим полю с формулой @DbCommand("Domino" ; "FolderList"; …) зарезервированное имя $$SelectDestFolder; разместим на этой же форме встроенный вид, у которого поднят флаг Allow selection of documents в его окне свойств на закладке Advanced; в окне свойств встроенного вида как элемента дизайна установить значение Using HTML для поля Display с закладки Info, и поднять флаг Show selection margin с закладки Display; создать акцию формы с формулой @Command([FolderDocuments]; ""; "0"). Клик по кнопке акции будет вызывать помещение выделенного во встроенном виде документа в папку, выбранную в поле $$SelectDestFolder. Если на форму встроена папка (а не вид), то для акции формы можно использовать команду @Command([FolderDocuments]; ""; "1") для перемещения, а не копирования выделенного документа.
Про описанный выше метод следует уточнить, что работает он только для первого выбранного во встроенном виде документа, а также только для первой выбранной папки в поле $$SelectDestFolder (при поднятом флаге Allow multiple values).
6.22 Функции, определяющие тип и характеристики используемого программного обеспечения @ClientType Область применения: нельзя использовать в формулах отбора, колонок, редактируемых, секциях заголовка окна. При использовании в формулах фоновых агентов всегда возвращает значение "None". Возвращает текстовую строку "Notes", если для доступа к базе данных используется клиентская программа LN, "Web" - в случае использования браузера. Очень часто применяется в формулах видимости объектов, для скрытия не работающих в браузерах компонент. Пример. При использовании в формуле видимости объекта, скрывает его при работе в браузере. @If( @ClientType = "Web"; 1; 0 )
@Platform @Platform( [SPECIFIC] ) Область применения: без ограничений. При использовании в формулах отбора, колонок и фоновых агентов возвращает платформу, согласно местонахождению базы данных. Для серверных баз данных - платформу сервера, для локальных баз данных соответственно платформу клиента LN. В остальных формулах возвращает серверную платформу. В Web-приложениях возвращает только серверную платформу. Возвращает текстовый список или строку, определяющую платформу сервера. При вызове с параметром выдает более полную информацию. Так как не все элементы приложений Domino могут работать на разных платформах, то функция может быть использована в целях обеспечения переносимости программного обеспечения. При использовании флага представляет собой текстовый операционной системы, версии вторичной операционной системы
216
[SPECIFIC] возвращаемое значение обычно список, состоящий из имени первичной первичной операционной системы, имени и версии вторичной операционной системы.
Так, например, для Windows 3.11, которая запускается из-под MS-DOS 6.22, функция вернет список: "Windows/16":"3.11":"MS-DOS":"6.22". Для UNIX-платформ возвращается только имя операционной системы без ее версии. При вызове без параметра возвращаемое значение может быть одним из следующих: Windows/16, Windows/32, MS-DOS, OS/2v1, OS/2v2, OS/400, Macintosh, UNIX, NetWare. При использовании флага [SPECIFIC] имя имени первичной операционной системы может быть одним из следующих: Windows/16, Windows/95, Windows/NT, MS-DOS, NetWare, Macintosh/68K, Macintosh/PowerPC, OS/2v1, OS/2v2, IBM OS/400, IBM OS/390, AIX, UNIXWARE, HP UNIX, SUN Sparc, SOLARIS x86, SOLARIS Sparc, SCO OpenDeskTop, Linux. Пример. Может вернуть значение "Windows/NT" : "5.0". @Platform( [SPECIFIC] )
@Version Область применения: без ограничений. При использовании в формулах отбора, колонок и фоновых агентов возвращает версию Lotus Notes/Domino, согласно местонахождению базы данных. Если она находится на сервере, то для сервера, и для локальной базы данных соответственно версию клиента LN. В остальных формулах возвращает версию рабочей станции. Возвращает текстовую строку соответствующую релизу версии Lotus Notes/Domino согласно следующей таблице:
Возвращаемое значение 114
Соответствует версии Lotus Notes/Domino Lotus Notes 3.x
Функция может использоваться в целях обеспечения переносимости программного обеспечения.
Пример. В формуле поля, выполяняющейся на станции с установленной версией Notes/Domino R 6.0.1 вернет "190". @Version
@RegQueryValue( "имя_ключа"; "имя_подключа"; "имя_значения" ) Область применения: В DOMINO R 6.0.1 НЕ ДОКУМЕНТИРОВАНА. Для не Windows-платформ возвращает пустую строку. Возвращает значение ключей из Windows-реестра.
@IsAppInstalled( "имя_клиентского_ПО" ) Область применения: нельзя использовать в формулах отбора и редактируемой секции. Функция, в зависимости от параметра "имя_клиентского_ПО", возвращает 1 (TRUE), если данное программное обеспечение установлено на рабочей станции, и 0 (FALSE) в противном случае.
Параметр "имя_клиентского_ПО" может принимать значение "Designer" соответствует дизайнерскому ПО, и "Admin" - администраторскому ПО.
Пример. Возвращает дизайнерское ПО.
1,
если
на
рабочей
станции
установлено
@IsAppInstalled( "Designer" )
@BrowserInfo( "имя_свойства") Область применения: нельзя использовать в формулах отбора, колонок и агентов. Не работает в клиенте Notes ниже 5-й версии. Определяет и возвращает параметры используемого Возвращаемое значение определяется согласно таблице:
Имя свойства
BrowseType
браузера.
Тип возвращаемого значения
Возвращаемое значение для браузера
Возвращаемое значение клиента LN
Текстовое
"Microsoft",
"Notes"
для
"Netscape", "Compatible" (для браузеров совместимых с Netscape, включая
6.23 Функции, используемые в Webприложениях @URLOpen @URLOpen( "URL"; флаги; "MIME_набор_символов"; "имя_web_пользователя"; "web_пароль"; "имя_пользователя_для_прокси_сервера"; "пароль_для_прокси_сервера") Область применения: нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции, заголовка окна, полей и формы. В первом варианте синтаксиса (т.е. без параметров) функция в интерфейсе клиента Notes открывает (если не было открыто ранее) в панели инструментов поле задания URL, и устанавливает на него фокус. Данный синтаксис в Web-приложениях не поддерживается. Во втором варианте синтаксиса функция может быть использована как в клиенте Notes, так и в браузере. Первый параметр "URL" обязателен, и задает адрес Web-ресурса, который требуется открыть. Остальные параметры необязательные, и предназначены для использования в Notes браузере в контексте баз данных "Server Web Navigator" и "Personal Web Navigator". Рассмотрим эти параметры подробнее:
•
флаги – определяют параметры перезагрузки запрашиваемой страницы, а также принудительного сохранения всех ссылок с запрашиваемой страницы. Данные операции имеют смысл только в рамках баз данных "Server Web Navigator" и "Personal Web Navigator". Если необходимо опустить параметр флаги, но определить следующие за ним параметры, то для флаги нужно указать значение 0 (например, @URLOpen( "http://www.ibm.com"; 0; "myusername"; "mypassword" ) ). С точки зрения синтаксиса, параметр флаги может быть списком из следующих значений:
• • •
222
[RELOAD] – перегружает страницу с интернет сервера; [RELOADIFMODIFIED] – перегружает страницу, только если она была изменена на интернет сервере; [URLLIST] – сохраняет все гиперссылки с запрашиваемой страницы в полях URLLinksN. Первое поле будет называться URLLinks1, далее, когда содержимое этого поля превысит размер в 64К, то будет создано новое поле под ссылки с именем URLLinks2 и т.д. Впоследствии можно использовать эти поля
(например, в агенте) для актуализации данных ссылок. Включение данного флага может серьезно сказаться на производительности приложения.
•
•
•
"MIME_набор_символов" – принудительно устанавливает указанный символьный набор MIME для указанной страницы. Предназначен для использования в случае, когда Web Navigator определяет символьный набор MIME некорректно; "имя_web_пользователя" и "web_пароль" – предназначены для задания имени/пароля при обращении к ресурсу, требующему аутентификации. Данные параметры применимы только в контексте Notes Web Navigator, в других браузерах для аутентификации используются свои средства; "имя_пользователя_для_прокси_сервера" и "пароль_для_прокси_сервера" – предназначена для аутентификации в рамках прокси сервера. Наиболее часто функция применяется с одним параметром "URL".
Если требуется открывать указанную страницу в другом фрейме, то в документации приводится решение с добавлением в параметр "URL" атрибута target, заключенного в кавычки. Данная конструкция (учитывая, что в документации пример приведен с синтаксической ошибкой) у автора к нужным результатам не привела. Однако, применение перед @URLOpen функции @SetTargetFrame решает поставленную задачу. Пример. Формула, примененная в кнопке формы, открывает в новом окне сайт lotus.com. @SetTargetFrame( "_blank" ); @URLOpen( "http://www.lotus.com" )
ϑ @URLEncode( "формат"; значение ) Область применения: без ограничений. Преобразует значение, представленное в виде строки или списка строк, к формату пригодному для использования в URL. Параметр "формат" может задаваться в виде имени символьного набора MIME (например, "KOI8-R" или "ISO-8859-1") или в виде одной из двух предопределенных строк:
"Domino" – соответствует символьному набору MIME "UTF-8"; "Platform" – преобразует параметр значение в соответствии с базовым символьным набором операционной системы.
Функция преобразует не-ASCII символы второго параметра в указанный символьный набор, а затем кодирует их в формат %XX, где XX есть шестнадцатеричное представление символа.
В Domino 5-й версии разработчики достаточно часто использовали эту функцию в Web-приложениях, однако на тот момент она была недокументированна. Кроме этого при переходе к 6-й версии Domino изменился набор допустимых значений параметра "формат".
Функция бывает очень полезна при передаче через URL параметров, значения которых не укладывается в ASCII набор символов.
Пример. Формула, примененная в кнопке формы, открывает Webстраницу, получаемую в результате поиска фразы "перезагрузка сервера" на форуме компании «Интертраст».
ϑ @URLDecode( "формат"; значение ) Область применения: без ограничений. Выполняет обратное преобразование по отношению к функции @URLDecode. Синтаксис и смысловое значение параметров "формат" и значение соответствует функции @URLEncode.
Пример. Если форма открывается в Web-приложении по URL вида «… имя_БД/имя_формы?OpenForm&FIO=%CF%EE%EB%FF%EA%EE%E2%20%C5. %C2.», то для того, чтобы присвоить некоторому полю значение из параметра FIO из URL, достаточно определить для него следующую Defaut Value формулу:
@URLDecode( "Platform"; @UrlQueryString( "FIO" ))
Следует заметить, что значение параметра FIO из URL было предварительно получено с использованием функции @URLEncode, так же с первым параметром "Platform".
ϑ @GetHTTPheader( "имя_header_поля" ) Область применения: разрешается использовать только в Web-приложениях и в контексте видимости объекта, редактируемой секции, заголовка окна, гиперобъекта, полей, формы, акций вида и формы, а также навигатора. В интерфейсе клиента Notes всегда возвращает пустую строку. В Web-приложениях возвращает значение полей типа header fields (более подробно о них можно посмотреть в документе http://www.w3.org/Protocols/rfc1945/rfc1945 раздел 10 «Header Field Definitions»). Значения имя_header_поля могут принимать допустимые значения для полей типа header fields (например, User-Agent, Last-Modified, Content-Type и т.д.).
Пример. Следующая формула в Web-приложении без использования в форме CGI-поля "HTTP_User_Agent", возвращает значение, например, «Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)» @GetHTTPHeader( "User-Agent" )
ϑ @SetHTTPHeader( "имя_response_header_поля"; значение ) Область применения: нельзя использовать в формулах кнопок панели инструментов, колонок, любых типов агентов, видимости объекта, редактируемой секции, всплывающих окон и области размещения.
В Web-приложениях устанавливает значение для полей заголовка HTTP-отклика (response header field). Подробнее о данном типе полей можно посмотреть в документе RFC 2616 (http://www.w3.org/Protocols/rfc2616/rfc2616.html, http://book.itep.ru/4/45/http4561.htm).
Возвращает значение 1 (TRUE) – при успешной установке значения полю, и 0 (FALSE) в противном случае. В интерфейсе клиента Notes функция всегда возвращает 0 (FALSE).
Параметр имя_response_header_поля задается текстовой строкой, и определяет имя поля, которому требуется установить значение. Некоторые поля заголовка HTTP-отклика доступны только для чтения (например, Connection, Content-Type, Date и Server), и поэтому не могут быть изменены функцией @SetHTTPHeader. Следует еще помнить, что помимо строго полей заголовка HTTP-отклика, в качестве параметра имя_response_header_поля могут использоваться общие поля заголовка (general header field).
Параметр значение представляет собой значение для поля заголовка HTTP-отклика. Формат параметра соответствует ожидаемому значению, и может быть текстовой строкой, числом или датой. В последнем случае параметр должен быть в формате RFC 1123 (например, «Sun, 09 Nov 2003 08:49:37 GMT»). Пустая строка в качестве значения удаляет соответствующее поле вместе со значением (данное утверждение автор не смог проверить на практике).
Пример 1. На форме разместим две кнопки. Для первой определим заголовок (Label) «Установить Cookie», затем в программной панели для поля Run выберем значения «Client» и «Formula», а в качестве формулы введем: @SetHTTPHeader("Set-Cookie"; "My_Proba=777")
Для второй кнопки определим: Label – «Прочитать Cookie», Run – «Web» и «JavaScript», код: alert(getCookie('My_Proba'));
В объект JS Header формы внесем следующий код: function getCookie(name) { var prefix = name + "=" var cookieStartIndex = document.cookie.indexOf(prefix) if (cookieStartIndex == -1) return null var cookieEndIndex cookieStartIndex + prefix.length)
=
document.cookie.indexOf(";",
if (cookieEndIndex == -1) cookieEndIndex = document.cookie.length unescape(document.cookie.substring(cookieStartIndex cookieEndIndex))
+
return prefix.length,
}
После последовательного клика сначала по «Установить Cookie», а затем по «Прочитать Cookie», - получаем окно со значением 777.
ϑ @URLQueryString( [параметр] ) Область применения: нельзя использовать в формулах кнопок панели инструментов, отбора, колонок, агентов, всплывающих окон и области размещения. В интерфейсе клиента Notes всегда возвращает пустую строку. В Web-приложениях возвращает параметры из текущего URL. При отсутствии аргумента возвращает все параметры URL в виде списка. При передаче допустимого параметра, возвращает его значение, или пустую строку, если такого параметра нет в URL. Пустое значение так же возвращается, если параметр передается в виде ключевого слова (например, http://www.inttrust.ru/test/test.nsf/Form?OpenForm&Par1=100&Par2&Par3=No). Пример 1. Если URL текущего документа есть "http://dominornext.inttrust.ru/test/test.nsf/Form?OpenForm&Seq=7" функция вернет список "OpenForm" : " Seq=7" @URLQueryString;
Пример 2. Если URL текущего документа есть "http://dominornext.inttrust.ru/test/test.nsf/Form?OpenForm&Seq=7" функция вернет строку "7". @URLQueryString( "Seq" );
ϑ @WebDBName Область применения: без ограничений. Возвращает имя текущей базы данных в формате, пригодном для использования в URL. При этом символ обратного слеша («\») заменяется на обычный слеш («/»), двойной обратный слеш («\\») из имени удаляется, символ тире («-») остается без изменений, так же не изменяется расширение файла, начинающееся с символа точки. Остальные специальные символы заменяются на %xx, где xx – шестнадцатеричное представление символа. Так например, пробел заменяется на символ %20. Функция главным образом использования в URL командах.
предназначена
для
дальнейшего
Пример. Формула, используемая в кнопке формы, формирует URL открытия текущей БД. @URLOpen( "http://" + @WebDbName + "?OpenDatabase")
@GetHTTPHeader(
"Host"
)
+
"/"
+
6.24 Информационные функции ϑ @ConfigFile Область применения: нельзя использовать в формулах отбора и колонок. Возвращает путь к файлу NOTES.INI. При выполнении функции на сервере или в Web-приложениях возвращает путь к NOTES.INI сервера. На клиенте – соответственно путь к клиентскому NOTES.INI. Функция корректно работает, даже если путь к NOTES.INI файлу был указан в командной строке при запуске клиента.
Пример. На рабочей станции автора функция возвращает следующее значение: «C:\lotus\Notes6\notes.ini». @ConfigFile
@DbExists( сервер : файл_базы ) @DbExists( сервер ; идентификатор_реплики ) Область применения: нельзя использовать в формулах отбора, колонок, всплывающих окон и фоновых агентов. Возвращает 1(True), если база существует, или 0(False) в противном случае. Все параметры являются текстовыми строками. Параметр сервер указывает имя сервера, на котором выполняется проверка наличия базы. Если база "ищется" на локальной станции, то параметр сервер задают пустой строкой. Параметр файл_базы задает путь и имя файла базы. Параметр идентификатор_реплики - идентификатор реплики базы. Пример 1. Проверка наличия базы на сервере. @DbExists( "Belgium" : "mail\\frites.nsf" )
Пример 2. Проверка наличия базы с указанным идентификатором реплики на сервере Exists := @DbExists( "Cheshire"; "852556DO:00576146" );
@DbName Область применения: без ограничений. Возвращает для текущей БД имя сервера и собственно базы данных Notes. Возвращаемая величина является двухэлементным текстовым списком "сервер": "каталог\база_данных.nsf". Возвращаемое значение "сервер" может быть пустой строкой, если:
• • •
текущая БД хранится не на сервере, а на компьютере пользователя; формула с @DbName отрабатывает выполняющемуся на сервере;
в
агенте
по
расписанию,
формула с @DbName размещена в колонке вида.
Пример 1. Возвращает "": "NotesEx.nsf", если текущий документ находится в базе данных NotesEx.nsf, хранящейся в каталоге данных Notes на компьютере пользователя. @DbName
Пример 2. Возвращает "CN=NotesSrv400/O=InterTrustCorp/C=SU": "STUD\NotesEx.nsf", если текущий документ находится в базе данных NotesEx.nsf в подкаталоге STUD каталога данных Notes сервера CN=NotesSrv400/O=InterTrustCorp/C=SU. Если база данных хранится в каталоге
данных Notes 'этого же сервера, "CN=NotesSrv400/O=InterTrustCorp/C=SU": "NotesEx.nsf".
результат
будет
@DbName
Пример 3. Возвращает "STUD\NotesEx.nsf" - имя файла, поскольку оно является последним элементом возвращаемого списка. @Subset( @DbName; -1 )
ϑ @ReplicaID Область применения: нельзя использовать в формулах отбора. Возвращает идентификатор реплики текущей базы данных. Так же идентификатор реплики можно посмотреть через меню File - Database - Design Synopsis.... Данной функцией можно достаточно удобно пользоваться в Webприложениях для формирования URL. Пример. Формула при использовании в кнопке для Web-приложения формирует URL открытия документа «О базе данных». @URLOpen("/__" + ".nsf/$about?OpenAbout");
@ReplaceSubstring(@ReplicaID;
":";
"")
+
@DbTitle Область применения: без ограничений. Возвращает название текущей базы данных. Пример. Возвращает "Краткое путешествие по Lotus Notes", если эта учебная БД, поставляемая с русской версией Notes, является текущей. @DbTitle
ϑ @ServerName Область применения: нельзя использовать в формулах области размещения. Возвращает имя сервера текущей БД. Для локальной БД возвращает имя текущего пользователя. Пример. Может "CN=LAEC/OU=LAEC/O=InterTrustCorp/C=SU".
@ViewTitle Область применения: нельзя использовать в формулах отбора, колонок, фоновых агентов, заголовка окна, редактируемой секции, видимости объектов (за исключением акций видов). Возвращает название текущего вида или папки. Если у вида имеются синонимы, они возвращаются элементами текстового списка. В формулах полей (да и в заголовка окна, и акции форм) функция возвращает имя вида, который был текущим перед открытием документа. Пример 1. Возвращает "Главный", если таково название текущего вида. @ViewTitle
Пример 2. Возвращает "Главный\По дате" : "Date", если название текущего вида "Главный\По дате" и его alias Date. @ViewTitle
ϑ @GetViewInfo( флаг ; номер_столбца ) Область применения: нельзя использовать в формулах отбора, колонок, агентов по расписанию, видимости объекта, редактируемой секции, заголовка окна, гиперобъектов, всплывающих окон, формы, акции формы, навигатора и области размещения. Не работает в Web-приложениях. Возвращает значения атрибутов текущего вида. Флаг может принимать одно из следующих значений:
• •
•
[CalendarViewFormat] – применяется только для «календарных» видов, и возвращает значение одновременно отображаемых дней в виде (например, 1, 2, 5, 7 и т.д.); [ColumnValue] – возвращает значение в текущей строке столбца, определяемое номером_столбца. Нумерации столбцов начинается с 0, в нумерации используются и скрытые столбцы. При использовании данного флага требуется второй параметр; [IsCalViewTimeSlotOn] – для «календарных» видов возвращает значение 1 (TRUE), если сегмент времени в виде отображается, и 0 (FALSE) в противном случае. Про данный флаг (согласно информации, любезно предоставленной г-жой Gloria Flaherty из ИБМ) можно сказать следующее, что он предназначен для определения включен или нет сегмент времени в
календарном виде с отображением только на один или два дня. В остальных видах функция всегда возвращает 0 (FALSE).
Из анализа календарного вида стандартной почтовой версии R 6.0.1 можно обнаружить еще два недокументированных флага функции @GetViewInfo: [IsCalendarPrintingCal] и [IsCalendarSummarized].
Пример. В акции вида возвращает значение из третьей колонки текущей строки вида.
a := @GetViewInfo([ColumnValue]; 2); @Prompt([Ok];"ColumnValue";a);
ϑ @LDAPServer Область применения: ДОКУМЕНТИРОВАНА.
В
DOMINO
R
6.0.1
НЕ
Возвращает URL и номер порта LDAP сервера текущего домена. Для поиска LDAP сервера используется следующий алгоритм:
•
опрашивается текущий сервер;
•
на нем в файле Notes.ini ищется переменная LDAPSERVER;
•
опрашивается административный сервер, на котором LDAP выполняется по умолчанию.
Пример. Функция, используемая в формуле поля по умолчанию, в Webприложении может вернуть следующее значение: «ldap://linux.inttrust.ru:389». @LDAPServer
@FontList Область применения: нельзя использовать в формулах отбора, колонок, агентов, запускаемых вручную и фоновых. Не работает в Web-приложениях. Возвращает список доступных для клиента Notes шрифтов в виде текстового списка. При использовании в формуле ключевого поля можно определить необходимый шрифт. Для трех шрифтов вместо имен возвращаются их алиасы. Соответственно: для "Default Serif" - "0", для "Default San Serif" - "1" и для "Default Momospace" - "4". Пример. Формула возвращает либо "Arial Cyr", если такой шрифт установлен, или "Helv" в противном случае. @If( @IsMember( "Arial Cyr"; @FontList ); "Arial Cyr"; "Helv" )
6.25 Функции для обработки ошибок @Failure( строка ) Область применения: предназначена для использования в формулах проверки вводимых данных редактируемых полей, но может быть также использована в формулах формы и агентов. В последнем случае, только возвращает значение, но не выводит предупреждающих сообщений. При использовании в формуле проверки вводимых данных редактируемых полей, @Failure создает диалоговое окно с текстом строки сообщения, и, после нажатия кнопки OK, устанавливает курсор на редактируемое поле со значением, не соответствующим критерию проверки. Наиболее распространенная ошибка в формулах проверки вводимых данных возникает из-за того, что значение поля любого типа до того как в него введены какие-либо значения, есть пустая строка. Соответственно, его тип в этот момент строковый. Поэтому если тип данных проверяемого поля не текстовый (числовой или дата/время), то сначала надо проверить значение поля на не пустоту. В противном случае появится предупреждающее сообщение “Comparison operators must be supplied two values of the same data type” («Операторы сравнение должны получать значения одного и того же типа данных”).
Пример 1. Использованная в формуле проверки вводимых данных, @Failure выводит приведенное на Рис. 6.36 диалоговое окно, если пользователь введет в поле Value значение больше 100. @If( @IsNull(Value); @Failure( "Значение не введено" ); Value ». Все остальные объекты удаляются с соответствующим сообщением). В Web-приложениях не поддерживается. Требует наличие флага 1 и 2. Неявно применяет флаг 16; 16 - включает в поле Body содержимое родительского документа, удаляя из последнего присоединенные файлы, графические изображения и другие большие объекты, заменяя их на текст об удалении, заключенный в квадратные скобки. В Web-приложениях не поддерживается. Требует наличие флага 1 и 2; 32 – включает перед наследуемым текстом подформу с именем $ForwardSep, если таковая в БД имеется (в стандартном почтовом шаблоне mail6.ntf такая форма присутствует). В Web-приложениях не поддерживается. Требует наличие флага 1 и 2.
Пример 1. Открывает в текущей БД форму с именем Resp, которая имеет RTF-поле с именем Body. В поле Body копируется информация в виде свертываемой секции из документа, который был текущим на момент выполнения формулы,. Данная функциональность достигается использованием в акции вида следующей формулы: @Command([ComposeWithReference]; "" : ""; "Resp"; 1 + 2 + 4)
Пример 2. Открывает в почтовой БД текущего пользователя форму Reply, в поле Body которой копируется информация из документа, который был текущим на момент выполнения формулы. Информация копируется в виде свертываемой секции с интернет стилем. Данная функциональность достигается использованием в акции формы следующей формулы: @Command([ComposeWithReference]; @MailDbName; "Reply"; 1 + 2 + 4 + 8)
@Command( [EditDocument] ) @Command( [EditDocument]; "режим_документа"; "режим_отображения" ) Область применения: в виде/папке на документе должен стоять световой маркер, или документ открыт в режиме чтения/редактирования. Можно использовать в Webприложениях в акциях формы (но не в акциях видов) без параметров. При использовании данной команды могут не работать формулы видимости объектов в форматируемых полях. Используйте команду @Command( [OpenDocument] ), которая поддерживает работу всех формул видимости объектов. При использовании команды, когда на документе стоит световой указатель в виде/папке, происходит открытие документа в указанном режиме. Если параметр "режим_документа" опущен, то вызывается режим редактирования. При задании параметра "режим_документа" равным "1" переводит текущий документ в режим редактирования, соответственно "0" - чтения. При задании параметра "режим_отображения" равным "1", текущий документ переходит в режим редактирования в панели предварительного просмотра. Может использоваться для редактирования текущего документа. Однако в случае использования в формулах акций формы и видов предпочтительней пользоваться предопределенными акциями "Edit Document".
Пример. При использовании в формуле акции вида/папки или формы переводит текущий документ в режим редактирования. @Command( [EditDocument]; "1" )
ϑ @Command( [EditRestoreDocument] ) Область применения: на документе стоит световой маркер или документы выд 叿 䉍 /243243243243243243243 졁 .� À ÿ243Ā243 䀀 243243Āго «мягко» удаленные документы, или документ находится в режиме чтения. Выполняет команду меню Edit -> Restore. Другими словами восстанавливает «мягко» удаленные документы. Команда по своему действию похожа на функцию @UndeleteDocument (см. Стр. 128). Из отличий можно назвать, что @Command( [EditRestoreDocument] ) на уровне вида с «мягко» удаленными документами может восстанавливать не только выбранный, но и выделенные документы, в то время как @UndeleteDocument восстанавливает только выбранный документ. На уровне формы @UndeleteDocument корректно работает с документами как в режиме чтения, так и редактирования, а @Command( [EditRestoreDocument] ) – только в режиме чтения. Пример. Формула, примененная в акции вида, содержащего «мягко» удаленные документы, восстанавливает все присутствующие в этом виде документы. @Command( [EditSelectAll] ); @Command( [EditRestoreDocument] )
@Command( [ViewSwitchForm] ; "имя_формы" ) Область применения: документ должен находиться в режиме чтения или редактирования, или он должен находиться в панели предварительного просмотра, и фокус должен находиться в этой панели. Всегда выполняется последней в формуле. Команда не работает, если в виде/папке, из которого был открыт документ, определена формула формы. Изменяет форму, по которой отображается текущий документ, на форму с именем или алиасом "имя_формы". В случае если параметр "имя_формы" опущен, то выдается диалоговое окно со списком всех доступных для текущей базы данных формы.
ϑ @Command( [SwitchForm] ; "имя_формы" ) Область применения: документ должен находиться в режиме чтения или редактирования, или он должен находиться в панели предварительного просмотра, и фокус должен находиться в этой панели. Команда не работает если в виде/папке, из которого был открыт документ, определена формула формы. Изменяет форму, по которой отображается текущий документ, на форму с именем или алиасом "имя_формы". В случае если параметр "имя_формы" опущен, то выдается диалоговое окно со списком всех доступных для текущей базы данных формы. Аналогична @Command( [ViewSwitchForm] ) за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.
@Command( [FileSave] ) Область применения: документ или элементы дизайна (форма/подформа, вид/папка, навигатор и т.д.) должны находиться в режиме редактирования. Можно использовать в Web-приложениях при условии, что у базы установлено свойство "Web access: Use JavaScript when generating pages" (использовать Javascript при создании Web-страниц). Выполняет команду File -> Save (Файл - Сохранить). В Web-приложениях, если в свойствах БД поднят флаг "Web access: Use JavaScript when generating pages" (использовать Javascript при создании Webстраниц) и за командой [FileSave] следует команда [FileCloseWindow] или [CloseWindow], то такая связка транслируется как Submit формы. Команда часто применяется редактируемого документа.
в
акциях
формы
для
сохранения
Пример 1. При использовании в акции формы сохраняет текущий редактируемый документ. @Command( [FileSave] )
Пример 2. При использовании в кнопке формы в Web-приложении организует действие типа Submit формы. У БД должен быть поднят флаг поднят флаг "Web access: Use JavaScript when generating pages". @Command([FileSave]); @Command([CloseWindow])
@Command( [FileCloseWindow] ) Область применения: можно использовать в Webприложениях при условии, что у базы установлено свойство "Allow Javascript on the Web" (использовать Javascript при создании Web-страниц). Не закрывает окно с рабочим пространством. Всегда выполняется последней в формуле. Закрывает текущее окно LN, за исключением главного окна.
В случае если в окне присутствует не сохраненный отредактированный документ или элемент дизайна выдает диалоговое окно с вопросом о сохранении изменений.
Команда достаточно часто применяется в приложениях в акциях форм, как самостоятельно, так и в паре с командой [FileSave]. В Web-приложениях, если команда предваряется командой [FileSave], то такая конструкция транслируется как Submit формы.
ϑ @Command( [CloseWindow] ) Область применения: можно использовать в Webприложениях при условии, что у базы установлено свойство "Allow Javascript on the Web" (использовать Javascript при создании Web-страниц). Не закрывает окно с рабочим пространством. Закрывает текущее окно LN, за исключением главного окна. Аналогична @Command( [FileCloseWindow] ) за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.
ϑ @Command( [EditClear] ) Область применения: в R 6 всегда выполняется последней в формуле. Для корректной работы необходимо выполнения одного из условий: • в виде/папке документ(ы) должны быть выделены (помечены или на документе стоит световой маркер) или документ должен находиться в режиме редактирования; • документ должен находиться в режиме редактирования, и данные для удаления (текст, присоединенные файлы, объекты и т.д.) должны быть выделены. В этом контексте нельзя использовать команду следом за командой [EditGotoField]; • элементы дизайна (форма, подформа, вид, папка и т.д.) должны находиться в режиме редактирования и данные для удаления (поля, столбцы и т.д.) должны быть выделены; • в рабочем пространстве иконки баз данных должны быть выделены. Выполняет команду меню Edit - Clear (Правка - Очистить). Соответственно для пунктов области применения удаляет (устанавливает/снимает пометку об удалении для документов) выбранные документы, выделенный фрагмент в документе или элементе дизайна, находящихся в режиме редактирования, или иконку баз данных (без удаления самой базы данных). Применять команду в Web-приложениях можно только в контексте удаления текущего (а не помеченных) документа. Нельзя использовать в Webприложениях в акциях видов/папок, только в акциях формы. Часто применяется для удаление) текущих документов.
удаления
(установки/снятия
пометки
на
Обратите ВНИМАНИЕ!!!, что в R 6 (в отличие от предыдущих версий, включая R 5) всегда выполняется последней в формуле. Пример. При использовании в формуле акции вида/папки устанавливает/снимает пометку на удаление для выбранных документов. @Command( [EditClear] )
ϑ @Command( [Clear] ) Область применения: необходимо выполнения одного из условий: • в виде/папке документ(ы) должны быть выделены (помечены или на документе стоит световой маркер) или документ должен находиться в режиме редактирования; • документ должен находиться в режиме редактирования, и данные для удаления (текст, присоединенные файлы, объекты и т.д.) должны быть выделены. В этом контексте нельзя использовать команду следом за командой [EditGotoField]; • элементы дизайна (форма, подформа, вид, папка и т.д.) должны находиться в режиме редактирования и данные для удаления (поля, столбцы и т.д.) должны быть выделены; • в рабочем пространстве иконки баз данных должны быть выделены. Выполняет команду меню Edit - Clear (Правка - Очистить). Аналогична @Command( [EditClear] ) за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.
@Command( [MoveToTrash] ) Область применения: работает в акциях видов и формы В Web-приложениях работает только в акциях видов, у которых установлено либо свойство Use applet in the browser (использовать апплет при отображении вида в Web), либо Allow selection of documents (разрешить выделение документов) в этом контексте помечает документ к удалению, но не удаляет его. По действию аналогична команде [EditClear]. Помечает к удалению текущий (выделенные) документы. В клиенте Notes может применяться как в акциях видов/папок, так и акциях форм. Основное предназначение команды для использования в Webприложениях. К сожалению, документация на команду оставляет желать лучшего. Далее идет информация, полученная из личного опыта.
В Web-приложениях команда корректно работает только в акциях видов (но не формы), и только для видов, у которых на закладке Advanced установлено либо свойство Use applet in the browser (использовать апплет при отображении вида в Web), либо Allow selection of documents (разрешить выделение документов).
В первом случае (вид отображается апплетом) помечаются к удалению текущий либо выбранные документы. Во втором случае (вид отображается с возможностью выбора документов) - только выбранные документы. Повторное применение команды в обеих случаях к документам с отметкой на удаление снимает эту отметку. Для реального удаления документов, помеченных к удалению, можно в другой акции применить команду [EmptyTrash]. Совместное применение в одной формуле [MoveToTrash] и [EmptyTrash] работает в R 6.0.1 для видов с установленным свойством Allow selection of documents, но не работает для апплетов вида. В последнем случае никаких действий не выполняется. Пример. Вид имеет свойство Allow selection of documents, для пометки на удаление используется акция вида с формулой: @Command( [MoveToTrash] )
@Command( [EmptyTrash] ) Область применения: без ограничений. Удаляет документы из предопределенной папки ($Trash) и обновляет индекс вида. С версии 5 с помощью этой команды можно также программно воздействовать на апплеты видов. Данную команду удобно использовать совместно с [EditClear] для немедленного удаления документов из базы. Также можно использовать ее в акции папки ($Trash) для очистки корзины. Пример. Данная формула при использовании ее в акции вида и в случае наличия в базе данных предопределенной папки ($Trash) помечает выделенные документы к удалению, и сразу их удаляет из базы данных. @Command( [EditClear] ); @Command( [EmptyTrash] )
@Command( [FilePrint]; "число_копий"; "начальная_страница"; "конечная_страница"; "черновик"; "печать_вида"; "форма"; "разделитель_страниц"; "нумерация"; "дата_начала"; "дата_окончания" ) Область применения: вид/папка должны быть открыты, или документ должен находиться в режиме чтения/редактирования. Печатает текущий/выбранные документы или содержимое вида/папки целиком. Все параметры, за исключением ключевого слова, являются необязательными, однако если необходимо задать шестой параметр, а с третьего по пятый опустить, то необходимо все равно задать их как пустые строки. При использовании команды без параметров выдает диалоговое окно File Print (для Macintosh диалоговое окно выбора принтера). Параметр "число_копий" может принимать значения "" или "N". Соответствует числу выводимых на печать копий. Параметры "начальная_страница" и "конечная_страница" могут принимать значения "" или "N". Позволяют осуществить вывод на печать только определенных листов результирующего документа. "Черновик" может принимать значения "draft" (соответствует черновой печати) или "". Определяет качество печати. Аргумент "печать_вида" при значении "printview" осуществляет печать содержимого вида/папки, при значении "" в виде печатаются выбранные документы. При печати открытого документа данный аргумент игнорируется. "Форма" определяет имя формы, по которой будут печататься документы из вида/папки. При печати открытого документа данный аргумент игнорируется. "Разделитель_страниц" определяет при печати нескольких документов, как они будут отделены друг от друга. При значении "pagebreak" указывает, что каждый документ будет начинаться с новой страницы, при "line" разделителем документов будет пустая строка. При печати открытого документа данный аргумент игнорируется. "Нумерация" определяет нумерацию страниц в результирующем документе. При значении "resetpages" для каждого документа будет своя нумерация страниц, при пустой строке будет сквозная нумерация. При печати открытого документа данный аргумент игнорируется.
Параметры "дата_начала" и "дата_окончания" применяются только при печати содержимого вида, который имеет календарный стиль. Они определяют с какой и по какую дату печатать содержимое представления. При задании им значений пустой строки даты определяются из первого и последнего документа вида. Пример 1. При использовании в акции формы печатает текущий документ. @Command( [FilePrint]; "" );
Пример 2. При использовании соответственно содержимое вида/папки.
ϑ @Command( [Folder]; "папка"; "флаг") Область применения: документ должен быть открыт, либо документы выделены в виде. Документ(ы) должен быть уже сохранен на диске (не новый документ). В R 6 всегда выполняется последней в формуле. Копирует или копирует с удаление документ(ы) в папку. Все параметры, за исключением ключевого слова, необязательны. При их отсутствии выдается диалоговое окно для их определения. В случае, когда команда используется без параметров, предпочтительней пользоваться предопределенными акциями формы или вида/папки. Параметр "папка" задает имя или алиас папки, в которую необходимо скопировать или переместить документы. "Флаг" определяет режим копирование/перемещение, выполняется соответственно перемещение, при "0" - копирование.
при
"1"
Начиная с пятой версии Domino, в дополнении к команде [Folder] можно пользоваться функцией @AddToFolder. Учтите только, что она работает только с текущим, но не выделенными документами. В версии 5 и выше с помощью команды [Folder] можно также программно воздействовать на апплеты видов. Пример 1. При использовании в акции папки перемещает выбранные документы из текущей папки в папку "Moscow". @Command( [Folder]; "Moscow"; "1" )
Пример 2. При отборе документов с использованием полнотекстового индекса, при отображении в виде/папке пропадают категории. Для отображения отобранных документов с категориями можно воспользоваться нижеследующей формулой, применив ее, например, в кнопке панели инструментов. Формула сначала выделяет все отобранные документы, а затем копирует их в папку "Moscow", имеющую тот же дизайн, что и у текущего вида/папки и переходит в нее. @Command( [EditSelectAll] ); @Command( [Folder]; "Moscow"; "0" ); @Command( [OpenView]; "Moscow" )
ϑ @Command( [FolderDocuments]; "папка"; "флаг") Область применения: документ должен быть открыт, либо документы выделены в виде. Документ(ы) должен быть уже сохранен на диске (не новый документ). Копирует, или копирует с удаление документ(ы) в папку. Аналогична @Command( [Folder] ) за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.
@Command( [RemoveFromFolder] ) Область применения: в папке документ(ы) должны быть выделены (помечены или на документе стоит световой маркер) или документ должен находиться в режиме чтения/редактирования. Удаляет текущий документ(ы) из текущей папки.
В случае, когда формула состоит из одной команды [RemoveFromFolder], предпочтительней пользоваться предопределенными акциями формы или папки.
С версии 5 эта команды можно использоваться для программного воздействия на апплеты видов.
@Command( [EditCopy] ) @Command( [EditCut] ) Область применения: необходимо выполнения одного из условий: • в виде/папке документ(ы) должны быть выделены (помечены или на документе стоит световой маркер); • документ должен находиться в режиме редактирования или чтения, и данные для копирования (текст, присоединенные файлы, объекты и т.д.) должны быть выделены; • элементы дизайна (форма, подформа, вид, папка и т.д.) должны находиться в режиме редактирования, и данные для копирования (поля, столбцы и т.д.) должны быть выделены. Выполняют команды меню для [EditCopy] - Edit - Copy (Правка Копировать), и для [EditCut] - Edit - Cut (Правка - Вырезать). Соответственно для пунктов области применения копируют в буфер обмена ([EditCut] копирует с удалением) выбранные документы, или выделенный фрагмент в документе или элементы дизайна, находящихся в режиме редактирования. Пример. При использовании в формуле акции вида/папки копирует в буфер обмена выбранные в текущей базе данных документы, и затем вставляет их в новую локальную базу "My_sec.nsf", открывая ее при этом по виду "View1". @Command( [EditCopy] ); @Command( [FileOpenDatabase]; "" : "My_sec.nsf"; "View1" ); @Command( [EditPaste] )
@Command( [EditPaste] ) Область применения: вид/папка должны быть открыты, или документ должен находиться в режиме редактирования, или элементы дизайна (форма, подформа, вид и т.д.) должны находиться в режиме редактирования. Информация в буфере обмена должна соответствовать типу приемника. В случае если в буфере обмена находится информация из форматируемого поля, а вставка осуществляется в текстовое поле, часть информации может быть утеряна. Выполняет команду Edit - Paste (Правка - Вставить). Соответственно либо вставляет в вид/папку скопированные ранее документы, либо вставляет информацию в поля, либо вставляет элементы дизайна.
@Command( [EditSelectAll] ) Область применения: документ должен находиться в режиме чтения/редактирования, или вид/папка должны быть открыты, или в текущем окне отображается лист рабочего пространства, или форма/подформа находятся в режиме редактирования. Выполняет команду Edit - Select All (Правка - Выделить все). Для документа находящегося в режиме чтения, команда выделяет все содержимое формы, включая поля, статичный текст, графику и т.д. Для документа находящегося в режиме редактирования, команда выделяет все содержимое текущего поля. Для вида/папки выделяются все входящие в них документы. Для формы/подформы, находящихся в режиме редактирования, выделяются все элементы дизайна, включая области размещения (в документации сказано, что области размещения не выделяются). Для листа рабочего пространства выделяются все находящиеся на нем иконки баз данных. Пример 1. Формула, при использовании ее в акции вида/папки, помечает к удалению все находящиеся соответственно в виде/папке документы. @Command( [EditSelectAll] ); @Command( [EditClear] );
Пример 2. При отборе документов с использованием полнотекстового индекса, при отображении в виде/папке пропадают категории. Для отображения отобранных документов с категориями можно воспользоваться нижеследующей формулой, применив ее, например, в кнопке панели инструментов.
Формула сначала помечает все отобранные документы, затем устанавливает переключатель для отображения только выбранных документов, выключая при этом переключатель для отображения только отобранных с помощью полнотекстового поиска документов.
@Command( [EditSelectByDate] ) Область применения: вид/папка должны быть открыты в текущем окне. Выдает диалоговое окно отбора документов по дате (Select by Date).
В диалоговом окне можно определить интервал дат и тип даты или создания, или последнего изменения документов. После нажатия клавиши Ok помечаются документы, удовлетворяющие введенным условиям.
Пример. После определения условий отбора по дате, помеченные документы копируются с удалением в буфер обмена, а затем вставляются в архивную базу. @Command( [EditSelectByDate] ); @Command( [EditCut] ); @Command( [FileOpenDatabase]; "" : "Archive.nsf"; "View1" ); @Command( [EditPaste] )
@Command( [EditDeselectAll] ) Область применения: необходимо выполнения одного из условий: • в виде/папке документы должны быть выделены; • документ должен находиться в режиме редактирования или чтения, и данные для снятия с них отметки выделения (текст, присоединенные файлы, объекты и т.д.) должны быть выделены; • элементы дизайна (форма, подформа, вид, папка и т.д.) должны находиться в режиме редактирования, и данные для копирования (поля, столбцы и т.д.) должны быть выделены; • в рабочем пространстве иконки баз данных должны быть выделены. Выполняет команду меню Edit - Deslect All (Правка - Снять все выделение). Снимает все выделения в перечисленных в области применения объектах.
@Command( [ToolsMarkAllRead] ) @Command( [ToolsMarkAllUnread] ) Область применения: документ должен быть открыт в режиме чтение/редактирование, или в текущем окне должен быть открыт вид/папка. Помечает все документы в базе данных для команды [ToolsMarkAllRead] соответственно как прочтенные, а [ToolsMarkAllUnread] - как непрочтенные. Результат работы команд “виден” только в случае, если разработчики предусмотрели возможность отображения непрочтенных документов.
@Command( [ToolsMarkSelectedRead] ) Область применения: в текущем окне должен быть открыт вид/папка, и документы должны быть помечены, или на документе стоит световой маркер. Помечает текущий или выбранные документы в базе данных как прочтенные. Результат работы команд “виден” только в случае, если разработчики предусмотрели возможность отображения непрочтенных документов.
@Command( [ToolsMarkSelectedUnread] ) Область применения: в текущем окне должен быть открыт вид/папка, и документы должны быть помечены, или на документе стоит световой маркер, или документ должен быть открыт в режиме чтения/редактирование. Помечает текущий или выбранные документы в базе данных как непрочтенные.
7.2 Команды открытия объектов @Command( [FileOpenDatabase]; "сервер" : "база_данных"; "вид"; "ключ"; "окно"; "флаг" ) @Command( [FileOpenDatabase]; "сервер" : "база_данных"; "навигатор"; "окно_навигатора"; "окно"; "флаг" ) Область применения: нельзя применять в формулах диалогового окна. Можно использовать в Web-приложениях при условии, что параметр "сервер" есть пустая строка. Если используется синтаксис с третьим параметром "вид", то следующей командой в формуле обязательно должна быть [OpenDocument]. Открывает указанную базу данных с использованием заданного вида или навигатора.
Все параметры, за исключением ключевого слова, являются необязательными, однако если необходимо задать шестой параметр, а с третьего по пятый опустить, то необходимо все равно задать их как пустые строки.
Параметр "сервер" определяет имя сервера, содержащего базу данных, если он равен пустой строке, то предполагается, что БД расположена на локальном компьютере.
Параметр "база_данных" задает имя файла базы данных. Если он:
• •
задан как пустая строка, то просматриваются все окна в порядке их возникновения. Если в каком-либо окне открыта база или ее иконка выбрана в рабочем пространстве, то открывается именно эта первая найденная база; если ни в одном окне это условие не выполняется, либо команда вызвана только с одним - ключевым словом, то выдается диалоговое окно выбора базы данных для открытия.
Аргумент "вид" задает имя или алиас вида/папки, которые должны открыться первыми при открытии базы данных. Если параметр "вид" опущен, то будет открыт либо вид по умолчанию или вид, которым последний раз открывал именно этот пользователь. "Ключ" задает значение, которое должно соответствовать значению в первой отсортированной колонке вида. В случае такого соответствия на первый такой документ устанавливается световой маркер вида. Если параметр опущен, то никакой документ не выбирается. При задании параметру "окно" значения "1" указанная база будет открываться в новом окне, даже в случае, если она уже была открыта с использованием указанного вида. Параметр "флаг" при значении "1" запрещает добавлять иконку для открываемой базы на рабочее пространство, при условии, что ее там раньше не было. Аргумент "навигатор" задает имя навигатора, которые должны отображаться при открытии базы данных, "окно_навигатора" равное "1" заставляет его открываться в полноэкранном режиме. Пример 1. Команда открывает локальную базу данных "D:\Book\123\Glossary.nsf" по виду с алиасом "Rusterm", который в первой отсортированной колонке имеет документ со значением "Вид личный". @Command( [FileOpenDatabase]; "" : "D:\\Book\\123\\Glossary.nsf"; "Rusterm"; "Вид личный" )
Пример 2. Открывается эта же база, но по навигатору "Main", который открывается в полноэкранном режиме. @Command( [FileOpenDatabase]; "" : "D:\\Book\\123\\Glossary.nsf"; "Main"; "1" )
@Command( [FileOpenDBRepID]; "идентификатор_реплики"; "сервер"; "вид"; "ключ"; "окно"; "флаг" ) @Command( [FileOpenDBRepID]; "идентификатор_реплики"; "сервер"; "навигатор"; "окно_навигатора"; "окно"; "флаг" ) Область применения: нельзя применять в формулах диалогового окна. Открывает базу, указанную идентификатором использованием заданного вида или навигатора. Все параметры, необязательными.
за
исключением
ключевого
реплики,
слова,
с
являются
Параметры "вид", "ключ", "окно", "флаг", "навигатор" и "окно_навигатора" имеют такой же синтаксис и семантику, что и в команде [FileOpenDatabase]. Параметр "идентификатор_реплики" определяет идентификатор реплики нужной базы данных, "сервер" - указывает предполагаемый сервер, на котором эта база находится. Для поиска базы данных по идентификатору реплики используется следующий алгоритм, сначала просматривается рабочее пространство пользователя, затем база ищется на сервере "сервер", и уже потом на остальных доступных в текущей сессии серверах.
@Command( [OpenDocument]; "флаг"; UNID; "ширина_окна" : "высота_окна" ) Область применения: вид/папка базы данных должны быть открыты в текущем окне. В открытом виде/папке должен присутствовать открываемый документ. Открывает документ на чтение/редактирование по его универсальному идентификатору. Все параметры, кроме ключевого слова, необязательны. Параметр "флаг" при значении "1" вызывает требуемый документ в режиме редактирования, при "0" - в режиме чтения. Значение по умолчанию "0". Аргумент UNID задает универсальный идентификатор документа. В случае если он опущен, то открывается текущий документ в виде/папке.
Параметр "ширина_окна" : "высота_окна" задает в дюймах соответственно высоту и ширину окна, в котором будет создаваться документ. Параметр не имеет смысла, когда выбран MDI (Multiple Document Interface многооконный интерфейс в рамках главного окна) интерфейс, и окно имеет установленное свойство - максимальный размер. В случае если этот параметр опущен или равен нулю, то окно имеет размеры, сохраненные последним пользователем. Следует обратить особое внимание на область применения команды, исходя из определения, она напрямую не работает в формулах, входящих в форму (в частности, в акциях формы). В Web-приложениях [OpenDocument] может быть использована исключительно без параметров UNID и "ширина_окна" : "высота_окна", и только если ей предшествует команда [OpenView] или [FileOpenDatabase] с определенным набором параметров:
•
•
для [FileOpenDatabase] (см. стр. 256) применим только вариант синтаксиса с параметром "вид", но не "навигатор", причем должен быть еще задан параметр "ключ", и "сервер" в виде пустой строки. Остальные параметры должны быть опущены; для [OpenView] (см. стр. 260) должны быть заданы параметры "вид" и "ключ". Остальные параметры должны быть опущены.
В обоих случаях параметр "вид" должен быть задан явно (т.е. не в виде пустой строки), а в качестве "ключа" может быть использован псевдоидентификатор $first, который соответствует первому документу в виде. Пример 1. В виде с именем "View1" четвертый столбец определяется по формуле @Text( @DocumentUniqueID ), а первый столбец сортировочный. Тогда формула, примененная в акции вида, сначала запросит значение ключа из первой колонки вида, затем найдет по ключу UNID этого документа, и, наконец, откроет этот документ на редактирование. ch := @Prompt( [OkCancelEdit]; "Введите искомое значение"; "Введите значение для поиска документа"; "" ); ch1 := @DbLookup( "" : "NoCache"; ""; "View1"; ch; 4 ); @Command( [OpenDocument]; "1"; ch1 )
Пример 2. В Web-приложении следующая формула открывает первый документ в виде People базы данных Domino Directory текущего сервера: @Command([FileOpenDatabase]; "$first");
Пример 3. В текущей БД имеется скрытый вид «(By UNID)», первая колонка которого имеет сортировку и определяется по формуле @Text( @DocumentUniqueID ). В Web-приложении формула, примененная в акции формы, откроет на редактирование родительский документ по отношению к текущему. @Command([OpenView]; "(By UNID)"; @Text( $Ref )); @Command([OpenDocument]; "1")
@Command( [OpenView]; "вид"; "ключ"; "окно" ) Область применения: БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве. Можно использовать в Web-приложениях. Открывает вид/папку для текущей базы данных. Все параметры за исключением ключевого слова необязательны. Аргумент "вид" задает имя или алиас вида/папки, если он опущен, то открывается либо вид по умолчанию, либо вид, которым последний раз открывал текущий пользователь. Параметр "ключ" определяет значение, которое должно соответствовать информации из первой отсортированной колонки вида. В случае успешного поиска на первый такой документ устанавливается световой маркер вида. При задании параметру "окно" значения "1" вид будет открываться в новом окне, даже в случае, если он уже был открыт в другом окне. Для использования команды в Web-приложениях параметр "окно" должен быть опущен, а "ключ" может иметь значение псевдоидентификатора $first, который соответствует первому документу в виде. Пример. Формула, при использовании в акции формы, в процессе выполнения открывает вид для того, чтобы возможно стало выполнить команду [OpenDocument] (см. пример к этой команде). ch := @Prompt( [OkCancelEdit]; "Введите искомое значение"; "Введите значение для поиска документа"; "" ); ch1 := @DbLookup( "" : "NoCache"; ""; "View1"; ch; 4 ); @Command( [OpenView]; "View1" ); @Command( [OpenDocument]; "1"; ch1 )
@Command( [OpenFrameset]; "имя_набора_фреймов" ) Область применения: предназначена для использования в акциях формы и видов. Можно использовать в Webприложениях. Открывает определенный набор фреймов текущей базы данных. Параметр "имя_набора_фреймов" обязательный. Он определяет имя или алиас открываемого набора фреймов. Пример. Команда, используемая в акции вида, открывает набор фреймов с именем "Main" для текущей базы данных. @Command( [OpenFrameset]; "Main" )
@Command( [OpenNavigator]; "навигатор"; "окно_навигатора" ) Область применения: БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве. Можно использовать в Web-приложениях при опущенном третьем параметре. Открывает указанный навигатор в текущей базе данных.
Аргумент "навигатор" задает имя или алиас навигатора, а "окно_навигатора" равное "1" заставляет его открываться в полноэкранном режиме.
@Command( [OpenPage]; "страница" ) Область применения: БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве. Предназначена для использования в акциях формы и видов. Можно использовать в Web-приложениях. Открывает определенную страницу текущей базы данных. Параметр "страница" обязательный. Он определяет имя или алиас открываемой страницы. Пример. Команда, используемая в акции вида, открывает страницу с именем "First" для текущей базы данных. @Command( [OpenPage]; "First" )
@Command( [HelpAboutDatabase] ) @Command( [HelpUsingDatabase] ) Область применения: БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве. Открывают соответственно документы "О базе использовании базы данных" для текущей базы данных.
данных"
и
"Об
Данные команды иногда применяются в приложениях в формулах навигаторов и акций.
@Command( [OpenHelpDocument]; "сервер" : "база_данных"; "вид"; "ключ" ) @Command( [OpenHelpDocument]; [тип_справочника]; "вид"; "ключ" ) Область применения: справочная БД должна быть одна на сервере или в локальной директории. Первый столбец указанного вида должен быть сортировочным. Можно использовать в Web-приложениях в формулах кнопок. Открывает определенный вид, указанной справочной базы данных, и становится на нужный документ. Все параметра за исключением ключевого слова необязательны. В первом варианте явно задается местоположение справочной базы данных. Параметр "сервер" задает имя сервера, если это пустая строка, то считается, что справочная БД расположена локально. "База_данных" задает имя файла справочной базы данных. Если этот параметр опущен, то ищется справочная база по клиентской части. Второй вариант определяет справочную базу данных из установленных, с помощью ключевого слова [тип_справочника]. Данный флаг может принимать следующие значения:
• • •
262
[ClientHelp] - для справочной базы о программном обеспечении рабочей станции; [DesignerHelp] - для справочной базы о программном обеспечении разработчика приложений; [AdminHelp] - для справочной администратора системы.
Аргумент "вид" задает имя или алиас вида/папки, которые должны открыться первыми при открытии базы данных. "Ключ" задает значение, которое должно соответствовать значению в первой отсортированной колонке вида. В случае такого соответствия на первый такой документ устанавливается световой маркер вида. Пример. Формула запрашивает у пользователя тип справочной базы, затем интересующий его термин, и после этого выдает справочную информацию по нему из соответствующей базы по индексу "Index". Ch := @Prompt( [OkCancelCombo]; "Выбор базы"; "Выберите справочную базу данных."; "Справка по клиенту"; "Справка по клиенту" : "Справка по дизайнеру": "Справка по администрированию" ); ch1 := @Prompt( [OkCancelEdit]; "Введите искомое значение"; "Введите значение для поиска
@Command( [FileExit] ) Область применения: нельзя применять в формулах диалогового окна. Всегда выполняется последней в формуле. Выполняет команду File - Exit (Файл - Выход из Notes). В случае если в каком-либо окне присутствует не сохраненный отредактированный документ или элемент дизайна выдает диалоговое окно с вопросом о сохранении изменений. В приложениях данная команда иногда применяется в главном полноэкранном навигаторе для выхода в операционную систему.
ϑ @Command( [ExitNotes] ) Область применения: нельзя диалогового окна.
применять
в
формулах
Выполняет команду File - Exit (Файл - Выход из Notes). Аналогична @Command( [FileExit] ) за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.
7.3 Команды для работы с профильными документами ϑ @Command( [EditProfile]; "имя_профильного_документа"; "уникальный_ключ" ) Область применения: в R 6 всегда выполняется последней в формуле. Нельзя применять в формулах диалогового окна. Для создания профильного документа нужен доступ к базе данных не ниже автора. Создает новый или открывает существующий профильный документ на редактирование. Параметр "имя_профильного_документа" задает имя профильного документа. Третий параметр не обязателен, если он опущен, то ищется или создается профильный документ общий для данной базы данных, иначе ищется профильный документ, связанный с указанным ключом. Пример. Предположим, что для обмена информацией между приложениями внутри определенной базы данных необходимо для каждого пользователя иметь профильный документ, ассоциированный с именем пользователя. Для автоматизации процедуры создания профильных документов для каждого пользователя можно использовать приведенную ниже формулу, которую можно использовать, например, в кнопке навигатора. В формуле сначала выбирается имя пользователя из адресной книги, затем создается для него профильный документ с именем "User". Затем документ сохраняется и закрывается. Ch := @PickList( [Name]:[Single] ); @Command( [EditProfile]; "User"; Ch ); @Command( [FileSave] ); @Command( [FileCloseWindow] );
ϑ @Command( [EditProfileDocument]; "имя_профильного_документа"; "уникальный_ключ" ) Область применения: нельзя применять в формулах диалогового окна. Для создания профильного документа нужен доступ к базе данных не ниже автора. Создает новый или открывает существующий профильный документ на редактирование. Аналогична @Command( [EditProfile] ) за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.
7.4 Команды обновления отображаемой информации ϑ @Command( [ReloadWindow] ) Область применения: в R 6 всегда выполняется последней в формуле. Работает в формулах акций форм и кнопок. В акциях видов для клиента Notes команда работает только в случае, если вид входит в набор фреймов. Может использоваться в Web-приложениях. "Перезагружает" или обновляет содержимое текущего окна LN. Для набора фреймов обновляет содержимое всех входящих в него фреймов.
ϑ @Command( [RefreshWindow] ) Область применения: работает в формулах акций форм и кнопок. В акциях видов для клиента Notes команда работает только в случае, если вид входит в набор фреймов. Может использоваться в Web-приложениях. "Перезагружает" или обновляет содержимое текущего окна LN. Для набора фреймов обновляет содержимое всех входящих в него фреймов. Аналогична @Command( [ReloadWindow] ) за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.
ϑ @Command( [RefreshFrame]; "фрейм" ) Область применения: работает в формулах акций форм и видов и гиперобъектах. Может использоваться в Webприложениях. "Перезагружает" или обновляет содержимое указанного "фрейма". Если перед командой [RefreshFrame] следует функция @SetTargetFrame, то значение параметра "фрейм" игнорируется, и осуществляется обновление фрейма, заданного функцией @SetTargetFrame. В рамках клиента Notes, если параметр "фрейм" опущен и функция @SetTargetFrame в формуле отсутствует, то [RefreshFrame] не выполняет никаких действий. Если команда выполняется во вложенном наборе фреймов с одноименными фреймами, на один из которых указывает параметр "фрейм", то обновление осуществляется только для одноименного фрейма самого верхнего уровня. В Web-приложениях команда обновляет только текущий фрейм, при этом игнорируется параметр "фрейм". Функция @SetTargetFrame не оказывает влияния на команду [RefreshFrame] в Web-приложениях. Пример. Команда, примененная в кнопке страницы, обновляет фрейм с именем «Right» для набора фреймов, отображаемых в клиенте Notes. @Command([RefreshFrame]; "Right")
@Command( [ViewRefreshFields] ) Область применения: документ должен быть открыт в режиме редактирования, или вид/папка должны быть открыты в текущем окне. Можно использовать в Web-приложениях. Осуществляет пересчет всех формул полей для текущего документа, или обновляет содержимое вида/папки. С версии 5 с помощью этой команды можно также программно воздействовать на апплеты видов. Пример. Команда при использовании в акции вида/папки обновляет содержимое экрана. @Command( [ViewRefreshFields] )
@Command( [RefreshHideFormulas] ) Область применения: вид/папка должны быть открыты, или документ должен находиться в режиме чтения/редактирования. Пересчитывает только формулы видимости объектов в документе или виде. Формулы вычисляемых полей, проверки введенных данных и т.д. при этом не пересчитываются. На уровне вида команда не оказывает влияние на формулы скрытия столбцов, только на формулы скрытия акций вида. Пример. Предположим у нас есть форма, в которой формулы вычисляемых полей должны выполняться только по выходу из документа (например, из-за громоздкости расчетов). Но в зависимости от содержимого поля "Type" должны скрываться/отображаться определенные объекты формы. Для того чтобы не заставлять пересчитываться все формулы, а выполнить только формулы видимости объектов, применим следующую конструкцию в формуле кнопки для определения значения поля "Type" (поле вычисляемое). ch := @Prompt( [OkCancelCombo]; "Выбор типа статьи"; "Выберите тип статьи."; "Текст"; "Текст" : "Видео" : "Графика" : "Подводка"); @SetField( "Type"; ch ); @Command( [RefreshHideFormulas] )
@Command( [RefreshParentNote] ) Область применения: работает диалогового окна.
только
в
формулах
Передает изменения из одноименных полей диалогового окна (имеется ввиду @DialogBox или его аналог на LotusScript) в основной документ. Пример. Формула, отрабатывающая по событию QueryClose диалогового окна, всегда передает изменения в одноименных полях в основной документ в независимости от того, какую кнопку нажал пользователь Ok или Cancel. @Command( [RefreshParentNote] )
@Command( [ToolsRefreshAllDocs] ) Область применения: в текущем окне должен быть открыт вид/папка. Перевычисляет все формулы во всех документах текущего вида/папки и сохраняет изменения. Следует обратить внимание на область применения команды, исходя из определения, она напрямую не работает в формулах, входящих в форму (в частности, в акциях формы). Пример. Формула, используемая в акции формы, сначала сохраняет текущий документ. Затем открывает вид "View1" и обновляет все документы в нем. @Command( [FileSave] ); @Command( [OpenView]; "View1" ); @Command( [ToolsRefreshAllDocs] );
@Command( [ToolsRefreshSelectedDocs] ) Область применения: в текущем окне должен быть открыт вид/папка, хотя бы один документ должен быть выделен или на документе должен стоять световой маркер. Перевычисляет все формулы в текущем или выделенных документах текущего вида/папки и сохраняет изменения.
7.5 Команды для работы с видами и папками @Command( [ViewChange]; "вид" ) Область применения: в R 6 всегда выполняется последней в формуле. Вид/папка должны быть открыты в текущем окне. Может использоваться в Web-приложениях с обязательным указанием второго параметра. Осуществляет переход в указанный вид/папку текущей базы данных. Аргумент "вид" задает имя или алиас вида/папки, если он опущен, то выдается диалоговое окно для определения требуемого вида/папки. В отличие от [OpenView], команда [ViewChange] всегда переключается в вид/папку только в текущем окне.
Пример. Команда переходит в вид "View1" текущей базы данных. @Command( [ViewChange]; "View1" )
ϑ @Command( [SwitchView]; "вид" ) Область применения: вид/папка должны быть открыты в текущем окне. Может использоваться в Web-приложениях с обязательным указанием второго параметра. Осуществляет переход в указанный вид/папку текущей базы данных. Аналогична @Command( [ViewChange] ) за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд. Аргумент "вид" задает имя или алиас вида/папки, если он опущен, то выдается диалоговое окно для определения требуемого вида/папки.
@Command( [ViewCollapse] ) @Command( [ViewExpand] ) @Command( [ViewExpandWithChildren] ) Область применения: вид/папка должны быть открыты в текущем окне. Можно использовать в Web-приложениях. Для текущей строки-категории команда [ViewCollapse] соответственно свертывает все категории и документы ниже ее, [ViewExpand] раскрывает один уровень категории или документов ниже ее, а [ViewExpand] раскрывает все уровни категории или документов ниже ее. С версии 5 с помощью этих команд можно также программно воздействовать на апплеты видов.
@Command( [ViewCollapseAll] ) @Command( [ViewExpandAll] ) Область применения: вид/папка должны быть открыты в текущем окне. Можно использовать в Web-приложениях. Команда [ViewCollapseAll] соответственно свертывает, а [ViewExpandAll] раскрывает все категории и документы в текущем виде/папке.
С версии 5 с помощью этих команд можно также программно воздействовать на апплеты видов.
@Command( [ViewShowOnlyCategories] ) Область применения: вид/папка должны быть открыты в текущем окне. Отображает в виде только категории без документов. Работает как переключатель.
@Command( [ViewShowOnlySearchResults] ) Область применения: вид/папка должны быть открыты в текущем окне. Поиск с использованием полнотекстового индекса должен быть произведен. Отображает в виде только документы, удовлетворяющие условиям запроса полнотекстового поиска. Работает как переключатель.
@Command( [ViewShowOnlySelected] ) Область применения: вид/папка должны быть открыты в текущем окне. Отображает в виде только выбранные документы. Работает как переключатель.
@Command( [ViewShowOnlyUnread] ) Область применения: вид/папка должны быть открыты в текущем окне. Отображает в виде только непрочтенные документы. Работает как переключатель. Пример. Формула, примененная в акции вида, после выполнения запроса полнотекстового поиска отмечает все отобранные документы. Затем помечает их как непрочтенные, и наконец, отображает только непрочтенные документы. @Command( [EditSelectAll] ); @Command( [ToolsMarkSelectedUnread] ); @Command( [ViewShowOnlySearchResults] ); @Command( [ViewShowOnlyUnread] );
7.6 Команды запуска приложений @Command( [ToolsRunMacro]; "имя_агента" ) Область применения: БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве. Всегда выполняется последней в формуле, за исключением Webприложений, где все @-команды выполняются последовательно. Выполняет в текущей базе указанного агента. Если параметр "имя_агента" не указано, то выдается диалоговое окно для выбора имени запускаемого агента. Для скрытых агентов его имя надо указывать в скобках. Пример 1. Формула запускает в текущей базе агента по имени "Proba". @Command( [ToolsRunMacro]; "Proba" )
Пример 2. Формула запускает в текущей базе данных скрытого агента "MyHidden". @Command( [ToolsRunMacro]; "(MyHidden)" )
ϑ @Command( [RunAgent]; "имя_агента" ) Область применения: БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве. Выполняет в текущей базе указанного агента. Аналогична @Command( [ToolsRunMacro] ) за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.
@Command( [Execute]; "имя_файла_приложения"; "аргументы_командной_строки" ) Область применения: нельзя применять в формулах диалогового окна. Параметры должны соответствовать формату операционной системы. Запускает внешнее приложение операционной системы. Параметр "аргументы_командной_строки" может быть как строкой, так и текстовым списком.
Пример 1. Команда, используемая в формуле акции формы, загружает стандартную программу калькулятора операционной системы Windows 95. @Command( [Execute]; "C:\\Windows\\Calc.exe" )
Пример 2. Команда загружает текстовый процессор MS Word и подгружает в него два файла документов. Следует заметить, что когда третий аргумент в данной команде был текстовым списком, то загружался только первый файл. @Command( [Execute]; "C:\\MSOffice\\Winword\\Winword.exe"; "D:\\Book\\Glava_06.doc D:\\Book\\Glava_07.doc" )
7.7 Команды для работы с почтой @Command( [MailAddress] ) Область применения: документ должен находиться в режиме редактирования. Указатель курсора должен находиться в пределах редактируемого поля. В документе должно быть хотя бы одно поле, используемое для адресации (SendTo, CopyTo, BlindCopyTo). Выдает диалоговое окно определения почтового адреса (Mail Address). Пользователь может выбрать в окне адресата и при нажатии Ok выбранная информация занесется в соответствующие адресные поля документа. Пример. Документ находится в режиме редактирования и у него имеется поле SendTo. Команда, используемая в формуле акции формы, выдает диалоговое окно определения адреса. Выбрав адресата, нажатием Ok заносим информацию в поле SendTo. @Command( [MailAddress] )
@Command( [MailComposeMemo] ) Область применения: нельзя применять диалогового окна.
в
формулах
Создает в почтовом ящике пользователя пустое почтовое сообщение по форме, используемой по умолчанию для почтовой базы (обычно Memo), и устанавливает фокус на него. После отправки почтового сообщения фокус возвращается в базу, из которой выполнялась команда.
ϑ @Command( [EditQuoteSelection] ) Область применения: документ должен быть открыт в режиме редактирования, и текст должен быть выделен. Преобразует выделенный текст к формату, принятому в письмахответах с использованием цитирования. Другими словами, вставляет в начало каждой строки символ больше (“>”), форматирует текст в строках по 70 символов, и удаляет из текста присоединенные файлы и другие объекты. Следует обратить внимание, что перенос осуществляется только по словам, т.е. если слово состоит более чем из 70 символов, то оно переноситься не будет.
С помощью переменных из Notes.ini можно изменить как символ, вставляемый в начало строки, (переменная QuotePrefix), так и длину строки цитирования (переменная QuoteLineLength). Обратите внимание, что во-первых, данные переменные задаются в Notes.ini без префикса «$» (например, QuoteLineLength=60), а во-вторых, значение этих переменных влияет на результат применения команды [ComposeWithReference] с ключом 8 (см. Стр. 240).
Пример. Формула, примененная в акции вида почтового ящика, позволяет создать ответ на письмо с цитирование в интернет стиле. Данный пример приведен исключительно для демонстрации команды [EditQuoteSelection]. В почтовом ящике, созданном по почтовому шаблону R 6, присутствует встроенные возможности для создания таких писем (например, кнопка Reply -> Reply with Internet-Style History).
@Command([EditDocument]; "1"); REM {открываем текущий документ на редактирование}; @Command([EditGotoField]; "Body"); REM {переключаем фокус на поле Body}; @Command([EditSelectAll]); REM {выделяем все содержимое поля Body}; @Command([EditCopy]); REM {копируем выделенное содержимое поля Body в буфер обмена}; @Command([CloseWindow]);
REM {закрываем письмо с цитатами}; @Command([Compose]; ""; "Memo"); REM {создаем новое письмо}; @UpdateFormulaContext; REM {переключаем контекст на новый документ}; @Command([EditGotoField]; "Body"); REM {переключаем фокус на поле Body}; @Command([EditPaste]); REM {вставляем в поле Body содержимое буфера обмена}; @Command([EditSelectAll]); REM {выделяем все содержимое поля Body}; @Command( [EditQuoteSelection] ); REM {применяем к выделенному фрагменту функцию цитирования};
Нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции, формы и навигатора. Работает только с текстом, представленным в однобайтовой кодировке. При использовании с RTF-полями документ должен перед применением функции быть сохранен.
Осуществляет выделение и замену в тексте определенных его частей.
@Accessed
Нельзя использовать в формулах отбора и навигатора. Функция "чувствительна" к часовому поясу.
Возвращает величину "дата-время" последнего доступа (для чтения или записи) к документу.
@Acos
Без ограничений. Аргумент должен лежать в пределах [-1,1].
Возвращает значение арккосинуса числа или числового списка.
@AddToFolder
Разрешается использование в формулах кнопок панели инструментов, кнопок и гиперобъектов, агентов, а так же в акциях видов и форм.
Добавляет текущий документ в папку с именем, содержащимся в первом аргументе, удаляя при этом тот же документ из папки, имя которой находится во втором аргументе.
Стр. 98
Без ограничений. "чувствительна" к поясу.
Изменяет величину "датавремя" на заданный интервал времени.
Разрешается использовать только в формулах отбора документов и селективной репликации. Не работает в версиях Lotus Notes/Domino ниже R4.
Конструкция SELECT формула_отбора | @AllChildren отбирает все документы, удовлетворяющие формуле отбора, плюс документы, которые являются документами-ответами только на документы, удовлетворяющие формуле отбора.
Разрешается использовать только в формулах отбора документов и селективной репликации. Не работает в версиях Lotus Notes/Domino ниже R4.
Конструкция SELECT формула_отбора | @AllDescendants отбирает все документы, удовлетворяющие формуле отбора, плюс документы, которые являются документами-ответами и документами-ответами на ответ на всех уровнях дерева, "начинающегося" только от документов, удовлетворяющих формуле отбора.
Без ограничений.
Преобразует строку или список строк, представленных в кодировке LMBCS (Lotus Multi-Byte Character Set) соответственно в строку или список строк в кодировке ASCII.
@Asin
Без ограничений. Аргумент должен лежать в пределах [-1,1].
Возвращает значение арксинуса числа или числового списка.
@Atan
Без ограничений.
Возвращает значение арктангенса числа или числового списка.
@Atan2
Без ограничений. Аргументы должны быть числа или числовые списки.
Возвращает значение арктангенса от дроби второго аргумента на первый.
Нельзя использовать в формулах отбора, колонок, редактируемой секции, заголовка окна, полей, формы и области размещения.
Применяется для изменения параметров оповещения в личном почтовом ящике.
@CheckFormulaSyn tax
Нельзя использовать в формулах отбора и столбцов вида.
Проверяет свой аргумент на соответствие правилам языка @-формул.
Нельзя использовать в формулах отбора, колонок, редактируемых секциях и заголовка окна. При использовании в формулах фоновых агентов всегда возвращает значение "None".
Возвращает текстовую строку "Notes", если для доступа к базе данных используется клиентская программа LN, "Web" - в случае использования браузера.
@Command
Нельзя использовать в формулах отбора, колонок, видимости объектов, редактируемой секции, формы, полей, заголовка окна и фоновых агентов.
Выполняет команды LN. Большинство стандартных команд из системного меню LN можно выполнить с помощью этой функции.
@Compare
Нельзя использовать в формулах навигатора.
Осуществляет попарное сравнение двух текстовых списков.
Нельзя использовать в формулах отбора и колонок.
Возвращает путь к файлу NOTES.INI.
Без ограничений.
Определяет, является ли подстрока (или хотя бы один из элементов списка подстрок) частью строки.
@Cos
Без ограничений.
Возвращает значение косинуса числа или числового списка.
@Count
Без ограничений.
Возвращает число элементов в списке, в отличие от @Elements, возвращает для пустой строки и значений не являющихся списком – значение 1.
Нельзя использовать в формулах навигатора. При использовании в формулах полей возвращаемое значение определяется по часам сервера, если БД не является локальной. Функция "чувствительна" к часовому поясу.
Возвращает время и дату создания документа.
Без ограничений. "чувствительна" к поясу.
Функция часовому
Возвращает заданную параметрами дату как величину типа "датавремя", но содержащую только компоненту даты.
Без ограничений. "чувствительна" к поясу.
Функция часовому
Извлекает день месяца из указанной даты.
Нельзя использовать в формулах отбора и колонок. Ограниченно применима в формулах всплывающих окон. Возвращаемое значение не должно превышать 64 Кбайта. Не работает при установке переменной окружения NoExternalApps равной 1.
Находит и возвращает колонку значений из вида или папки в базе данных Notes/Domino.
Нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции и заголовка окна. Возвращаемое значение не должно превышать 64 Кбайта. Не работает при установке переменной окружения NoExternalApps равной 1.
Использует для доступа к соответствующей таблице и колонке ODBC-драйвер, соответствующий указанному источнику данных. Извлекает значения из одной колонки в таблице.
В DOMINO R 6.0.1 ДОКУМЕНТИРОВАНА НЕ ПОЛНОСТЬЮ. Разрешается использовать только в Webприложениях.
Организует ссылки на предыдущий или последующий документ в виде, или на список доступных папок.
Нельзя использовать в формулах отбора, колонок, всплывающих окон. Возвращаемое значение не должно превышать 64 Кбайта. Не работает при установке переменной окружения NoExternalApps равной 1.
Выполняет указанную команду ODBC-драйвера.
Нельзя использовать в формулах отбора, колонок, всплывающих окон и фоновых агентов.
Возвращает 1(True), если база существует, или 0(False) в противном случае.
Нельзя использовать в формулах отбора, колонок и почтовых агентов. Ограниченно применима в формулах всплывающих окон. Результирующее значение может быть неточным, если первая сортировочная колонка "вида" содержит поле, которое может принимать несколько значений (multi-values field), и сортировка колонки указана без категоризации. Возвращаемое значение не должно превышать 64 Кбайта. Не работает при установке переменной окружения NoExternalApps равной 1.
Получив значение ключа, функция просматривает указанный вид или папку, и находит в них все документы, содержащие значение "ключ" в первой отсортированной колонке.
Нельзя использовать в формулах отбора, колонок, заголовка окна, видимости объекта, редактируемой секции и почтовых агентов. Возвращаемое значение не должно превышать 64 Кбайта. Не работает при установке переменной окружения NoExternalApps равной 1.
Использует соответствующий указанному источнику данных ODBC-драйвер для доступа к соответствующей таблице и колонкам. Извлекает и возвращает значения из указанной колонки, принадлежащие к тем записям, у которых значение в ключевой колонке совпадает с указанным параметром ключ.
Возвращает список групп, пользователей и серверов, имеющих доступ менеджера к текущей базе.
Без ограничений.
Возвращает для текущей базы данных имя сервера и собственно БД.
Без ограничений.
Возвращает текущей БД.
@DDEExecute
Нельзя использовать в формулах отбора, колонок, заголовка окна, формы и навигатора. Не работает под управлением операционной среды MacOS и UNIX. Не работает при установке переменной окружения NoExternalApps равной 1. Не работает в Web-приложениях.
Передает указанному DDEприложению команду и выполняет ее. Возвращаемое значение @True(1) в случае удачного выполнения команды, @False(0) в противном случае. В случае передачи некорректного ID связи с DDE-сервером возвращается состояние ошибки.
@DDEInitiate
Нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции, формы, навигатора и области размещения. Не работает под управлением операционной среды MacOS и UNIX. Не работает при установке переменной окружения NoExternalApps равной 1. Не работает в Web-приложениях.
Инициирует связь с DDEсервером и возвращает полученный идентификатор связи с сервером.
В DOMINO R 6.0.1 ДОКУМЕНТИРОВАНА НЕ ПОЛНОСТЬЮ. Нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции, заголовка окна, формы и навигатора. Не работает под управлением операционной среды MacOS и UNIX. Не работает при установке переменной окружения NoExternalApps равной 1. Не работает в Web-приложениях.
Передает данные указанному DDEприложению. Возвращаемое значение @True(1) в случае удачного выполнения команды, @False(0) в противном случае. В случае передачи некорректного ID связи с DDE-сервером возвращается состояние ошибки.
@DDETerminate
В DOMINO R 6.0.1 ДОКУМЕНТИРОВАНА НЕ ПОЛНОСТЬЮ. Нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции, заголовка окна, формы и навигатора. Не работает под управлением операционной среды MacOS и UNIX. Не работает при установке переменной окружения NoExternalApps равной 1. Не работает в Web-приложениях.
Завершает связь с указанным DDEприложением. В случае передачи некорректного ID связи с DDE-сервером возвращается состояние ошибки, в противном случае возвращается пустое значение.
DEFAULT
Без ограничений.
На время выполнения формулы присваивает полю значение по умолчанию.
Разрешается использовать только в формулах агентов. В Web-приложениях не работает.
Удаляет документ, обрабатываемый агентом.
Нельзя использовать в формулах заголовка окна, отбора, колонок, формы и навигатора.
Удаляет поле из текущего документа.
Нельзя использовать в формулах отбора, колонок, агентов,
выполняющихся на сервере (почтовые и по расписанию), заголовка окна и формы. Не передает данные из RTF-полей. Не работает при установке переменной окружения NoExternalApps равной 1. В Webприложениях не работает.
документ по указанной форме. При закрытии модального окна может передать изменения, произошедшие в его полях, в основной документ.
@Do
Нельзя использовать в формулах отбора и столбцов.
Используется для последовательного вычисления нескольких выражений. Вычисляет выражения слева направо и возвращает значение последнего выражения.
Разрешается использовать только в формулах колонок и заголовка окна. В Webприложениях работает только в формулах колонок.
Используется для определения числа ответных документов у текущего документа или категории (считаются только документы-ответы на текущий документ, но ни ответы на ответы).
Разрешается использовать только в формулах колонок и заголовка окна. В Webприложениях работает только в формулах колонок.
Используется для определения числа ответных документов у текущего документа или категории (считаются документы-ответы и ответна-ответ у текущего документа).
Нельзя использовать в формулах отбора, колонок и навигатора.
Возвращает текстовый список, содержащий имена всех полей в текущем документе.
Нельзя использовать в формулах навигатора.
Возвращает приблизительный размер документа в байтах.
только в формулах колонок и заголовка окна. Ограниченно применима в формулах полей. В Web-приложениях работает только в формулах колонок.
представляющее текущий уровень документа или категории в дереве ответов.
@DocLock
Нельзя использовать в формулах отбора, колонок, полей, формы и навигатора. Не работает в Webприложениях.
Выполняет операции блокировки, разблокировки текущего документа, а также может возвращать статус документа (заблокирован/разблокиров ан) и включен ли в текущей БД механизм блокировки.
@DocMark
Разрешается использовать только в формулах агентов. В Web-приложениях не работает.
Устанавливает для текущего документа пометку: сохранять или не сохранять изменения документа на диске.
@DocNumber
Разрешается использовать только в формулах колонок и заголовка окна. Ограниченно применима в формулах полей. В Web-приложениях работает только в формулах колонок.
Возвращает значение, представляющее иерархический уровень текущего документа или категории в дереве ответов.
Нельзя использовать в формулах навигатора.
Возвращает приблизительный размер “усеченной“ при репликации части документа в байтах.
Разрешается использовать только в формулах колонок и заголовка окна. Ограниченно применима в формулах полей. В Web-приложениях работает только в формулах колонок.
Возвращает значение, представляющее иерархический уровень родительского документа или категории в дереве ответов.
Разрешается использовать только в формулах колонок и заголовка окна. Ограниченно применима в формулах полей. В Web-приложениях работает только в формулах колонок.
Возвращает значение представляющее количество документов или категорий на текущем уровне иерархии в дереве ответов.
Нельзя использовать в формулах навигатора. В формулах полей создает ссылку (DocLink) на текущий документ.
Возвращает так называемый универсальный идентификатор документа (UNID) - 32-x символьную комбинацию букв и цифр, уникально идентифицирующую текущий документ во всех репликах распределенной базы.
Нельзя использовать в формулах навигатора. При выполнении на сервере возвращает домен сервера. В Web-приложениях не работает.
Возвращает имя домена для текущего пользователя из личной адресной книги, в соответствии с текущим местом вызова.
Нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции, заголовка окна, всплывающих окон и области размещения.
Осуществляет организацию циклов с постусловием.
@EditECL
Нельзя использовать в формулах отбора, колонок, редактируемой секции, видимости объекта, заголовка окна, всплывающих окон, поля, формы, акций видов и формы и области размещения.
Выводит модальное диалоговое окно с параметрами списка управления выполнением рабочей станции администратора для указанного списка управления выполнением и указанной адресной книги.
@EditUserECL
Нельзя использовать в формулах отбора, колонок, редактируемой секции, видимости объекта, заголовка окна, всплывающих окон, поля, формы, акций видов и формы и области размещения.
Выводит модальное диалоговое окно с параметрами списка управления выполнением текущей рабочей станции.
@Elements
Без ограничений.
Возвращает в формате числа количество текстовых, числовых или "дата-время" элементов в списке.
В DOMINO R 6.0.1 ДОКУМЕНТИРОВАНА НЕ ПОЛНОСТЬЮ. Нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции
Включает или выключает механизм оповещения в почтовом ящике.
. @Ends
Без ограничений.
Определяет, находится ли заданная подстрока (или хотя бы один из элементов списка подстрок) в самом конце строки.
Нельзя использовать в формулах отбора, колонок, навигатора и Web-приложениях. Ограниченно применима в формулах всплывающих окон. Для присвоения переменным окружения значения при использовании в теле других функций (таких как @If или @Do) применяйте функцию @SetEnvironment. В формулах выполняющихся на сервере, например, в теле агента по расписанию, идет обращение к переменным окружения сервера, а не рабочей станции. Возвращаемое значение всегда есть текстовая строка.
Устанавливает или возвращает значение переменной окружения.
Нельзя использовать в формулах отбора, колонок, видимости объекта, навигатора и Webприложениях. Ограниченно применима в формулах всплывающих окон.
Присваивает значение переменной окружения
Без ограничений.
Генерирует ситуацию ошибки. Возвращаемое значение @Error.
однако применение функции в формулах отбора и колонок может привести к непредсказуемым результатам.
рассматривает свой параметр как текстовое представление @формулы, компилирует и вычисляет ее. Возвращает значение последнего выражения в @-формуле или ситуацию ошибки.
@Exp
Без ограничений. Аргумент должен лежать в пределах [-11355.1371, 11356.5234].
Вычисляет значение экспоненциальной функции от числа или числового списка.
@Explode
Без ограничений.
Возвращает список, составленный из подстрок списка строк или диапазона дат.
Предназначена для использования в формулах проверки вводимых данных редактируемых полей, но может быть также использована в формулах формы и агентов. В последнем случае, только возвращает значение, но не выводит предупреждающих сообщений.
В формуле проверки вводимых данных редактируемых полей, функция выводит диалоговое окно с текстом сообщения об ошибке.
@False
Без ограничений.
Возвращает 0 (False).
FIELD Стр.15
Нельзя использовать в формулах отбора, колонок, видимости объекта, заголовка окна, формы и навигатора.
Присваивает полю.
@FileDir
Без ограничений.
Выделяет и возвращает из своего параметра-строки имя директории, или другими словами часть строки от начала до первого правого символа слеша (включая его), или если этого символа нет, то пустую строку.
Нельзя использовать в формулах отбора, колонок, агентов, запускаемых вручную и фоновых. Не работает в Web-приложениях.
Возвращает список доступных для клиетна Notes шрифтов в виде текстового списка.
Нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции, заголовка окна, всплывающих окон и области размещения.
Осуществляет организацию циклов по счетчику.
@FormLanguage
В DOMINO R 6.0.1 ДОКУМЕНТИРОВАНА.
НЕ
Для баз, использующих формы с поддержкой нескольких языков, возвращает имя языка текущей формы.
@GetAddressBooks
Нельзя использовать в формулах отбора и колонок.
Возвращает список адресных книг клиента или сервера (в зависимости от расположения БД, в которой выполняется формула).
Без ограничений.
Функция возвращает текущие настройки часового пояса в каноническом формате. При выполнении функции на стороне сервера возвращает настройки часового пояса сервера, в клиенте – соответственно рабочей станции.
Нельзя использовать в формулах отбора, колонок, всплывающих окон и навигатора.
Возвращает значение поля по его имени и универсальному идентификатору документа.
Нельзя использовать в формулах заголовка окна и кнопок панели инструментов.
Возвращает для текущего документа значение поля по его имени. Если указанное поле в текущем документе отсутствует, то возвращается пустая строка. Для полей, содержащих значение типа список, возвращается только первое значение из списка.
Разрешается использовать только в формулах кнопок панели инструментов, акций формы и полей. Не работает в Web-приложениях. Документ должен находиться либо в режиме редактирования, либо чтения, в этом случае текст или входящий в таблицу объект должен быть выделен.
Возвращает в зависимости от флага либо номер текущей строки, либо номер колонки, либо программное имя таблицы. В R 6.0.1 функция корректно работает только в обработчике события onHelp. В остальных контекстах не зависимо от флагов функция возвращает 1, как число (а не текст).
Разрешается использовать только в Web-приложениях и в контексте формул видимости объекта, редактируемой секции, заголовка окна, гиперобъекта, полей, формы, акций вида и формы, а также навигатора. В интерфейсе клиента Notes всегда возвращает пустую строку.
В Web-приложениях возвращает значение полей типа header fields.
@GetPortsList
Нельзя использовать в формулах отбора, колонок. Не работает в Web-приложениях.
Возвращает текстовый список включенных/выключенных портов.
@GetProfileField
Нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции, заголовка окна, полей, формы, акций формы и вида и области размещения.
Функция возвращает значение поля из профильного документа по имени поля и имени документа.
Нельзя использовать в формулах отбора, колонок, агентов по расписанию, видимости объекта, редактируемой секции, заголовка окна, гиперобъектов, всплывающих окон, формы, акции формы, навигатора и области размещения. Не работает в Web-приложениях.
Возвращает значения атрибутов текущего вида.
Физически удаляет документ из базы данных.
Стр. 130
В DOMINO R 6.0.1 ДОКУМЕНТИРОВАНА НЕ ПОЛНОСТЬЮ. Предназначена для использования только в формулах агентов. Не работает в Web-приложениях.
@HashPassword
Без ограничений.
Функция осуществляет кодирование строки более стойкое, чем функция @Password.
Стр. 231
@HardDeleteDocum ent
Стр. 136
@Hour Стр. 96
Без ограничений. "чувствительна" к поясу.
@If
Без ограничений.
Осуществляет проверку входящих в него условий, и выполняет связанное с истинным (TRUE) условием действие. Возвращается значение выполненного действия.
Без ограничений.
Возвращает значение первого параметра, если в нем нет ошибки. В противном случае возвращается значение второго параметра (если он есть), или пустая строка (при его отсутствии).
Без ограничений.
"Сцепляет" все элементы списка строк в одну строку.
Стр. 38
@IfError Стр. 235
@Implode Стр. 58
290
Функция часовому
Возвращает количество часов в параметре "датавремя".
Нельзя использовать в формулах навигатора. Предназначена для работы с документами, созданными по форме с включенной опцией наследования полей. Если опция не включена, возвращает такое же значение, что и @DocumentUniqueID. В формулах полей создает ссылку (DocLink) на указанный документ.
Возвращает универсальный идентификатор документа, который был текущим в момент создания документа, для которого используется эта функция.
@Integer
Без ограничений.
Возвращает целую часть числа или числового списка.
@IsAgentEnabled
Нельзя использовать в формулах отбора, колонок, и не предназначена для использования в формулах заголовка окна и формы. БД должна быть открыта, в противном случае возвращается 0. Для агентов созданных в LN версии 3.х, и для агентов, выполняющихся не по расписанию, всегда возвращает 1. Не работает в Webприложениях.
Возвращает 1 (True) для "включенного" агента, 0 (False) если он не включен, или не существует.
@IsAppInstalled
Нельзя использовать в формулах отбора и редактируемой секции.
Определяет тип установленного клиентского программного обеспечения (дизайнерский клиент/администраторский клиент).
Нельзя использовать в формулах навигатора. В формуле колонок и отбора может использоваться только с полями, имеющими флаг SUMMARY.
Проверяют наличие документе поля указанным именем.
@IsCategory
Разрешается использовать только в формулах колонок.
Проверяет, является ли строка в виде категорией или нет.
отбора, колонок, агентов, формы, акций вида и навигатора.
текущий документ находится в режиме редактирования, или 0 (FALSE) в противном случае.
@IsDocBeingLoaded
Разрешается использовать только в формулах видимости объекта, заголовка окна, полей и формы.
Возвращает 1 (TRUE), если текущий документ в настоящее время загружается в память для последующего отображения, или 0 (FALSE) в противном случае.
Разрешается использовать в формулах полей, может ограниченно использоваться в формулах кнопок панели инструментов, кнопок, гиперобъектов и акций формы. В Web-приложениях не работает.
Возвращает 1 (TRUE), если в настоящее время текущий документ отправляется почтой, или 0 (FALSE) в противном случае.
Разрешается использовать в формулах полей, может ограниченно использоваться в формулах кнопок панели инструментов, кнопок, гиперобъектов и акций формы.
Возвращает 1 (TRUE), если в настоящее время текущий документ пересчитывается, или 0 (FALSE) в противном случае.
Разрешается использовать в формулах полей, может ограниченно использоваться в формулах кнопок панели инструментов, кнопок, гиперобъектов и акций формы.
Возвращает 1 (TRUE), если в настоящее время текущий документ сохраняется, или 0 (FALSE) в противном случае.
@IsDocTruncated
Нельзя использовать в формулах навигатора.
Возвращает 1 (TRUE), если текущий документ является "усеченным" в процессе репликации, или 0 (FALSE) в противном случае.
@IsError
Нельзя использовать в формулах навигатора.
Возвращает 1 (TRUE) если аргумент соответствует @ERROR, и 0 (FALSE) в противном случае.
Разрешается использовать только в формулах колонок. В
данный уровень документов в виде "разворачиваемым".
@IsMember
Без ограничений.
Возвращает 1 (TRUE), если строка является элементом списка строк, или 0 (FALSE) в противном случае.
Стр. 102
@IsModalHelp
Без ограничений. В приложениях не работает.
Web-
Возвращает 1 (TRUE), если текущий документ является документом модальной подсказки, и 0 (FALSE) в противном случае.
@IsNewDoc
Нельзя использовать в формулах навигатора. Корректно работает в формулах кнопок панели инструментов, кнопок, видимости абзацев, доступа к секции, заголовка окна, полей, формы и акций формы. При использовании в формулах столбцов, отбора документов, агентах и акциях видов всегда возвращает значение 0.
Возвращает 1 (TRUE), если редактируемый документ еще не сохранялся на диске, или 0 (FALSE) в противном случае.
Без ограничений.
Возвращает 1 (TRUE), если строка не является элементом списка строк, или 0 (FALSE) в противном случае.
Нельзя использовать в формулах заголовка окна.
Возвращает 1 (TRUE), если параметр является пустой строкой и 0 (FALSE) во всех остальных случаях, включая состояние ошибки (@Error) и список из пустых строк.
Без ограничений.
Проверяет значение и возвращает 1 (TRUE), если параметр является числом или числовым списком, или 0 (FALSE) в противном случае.
Нельзя использовать в формулах навигатора. Для документов, которые еще не разу не сохранялись на диске, всегда
Возвращает 1 (TRUE), если документ является документом-ответом (Response), или 0 (FALSE) в
Возвращает 1 (TRUE), если параметр является строкой или списком строк, или 0 (FALSE) в противном случае.
Без ограничений.
Возвращает 1 (TRUE), если параметр является величиной или списком величин "дата-время", или 0 (FALSE) в противном случае.
Нельзя использовать в формулах навигатора. В формуле колонок может использоваться только с полями, имеющими флаг SUMMARY.
Проверяет наличие документе поля указанным именем.
@IsValid
Нельзя использовать в формулах отбора, колонок, агентов по расписанию, видимости объектов и заголовка окна.
Возвращает 1 (True) если все формулы проверки для значений полей текущей формы возвращают 1 (True), или 0 (FALSE) в противном случае.
@IsVirtualizedDirector y
В DOMINO R 6.0.1 ДОКУМЕНТИРОВАНА.
Возвращает 1 (True) если на сервере разрешен режим виртуальных директорий, 0 (FALSE) в противном случае. Под виртуальными директориями понимается режим сервера xSP (т.е. когда на одном сервере могут хоститься несколько организаций).
@Keywords
Без ограничений. При использовании с третьим параметром может возвращать некорректный результат.
Без ограничений. Аргумент должен быть больше нуля.
Возвращает число или числовой список, являющийся десятичным логарифмом от аргумента.
@LowerCase
Без ограничений.
Преобразует все символы строки-аргумента к нижнему регистру.
Нельзя использовать в формулах колонок. В Web-приложениях не работает.
Возвращает двухэлементный текстовый список формата "сервер": "файл почтового ящика", соответствующий текущему размещению почтового ящика пользователя.
Нельзя использовать в формулах колонок и отбора. В Webприложениях не работает.
Возвращает 1 (TRUE), если в общих почтовых настройках отмечена опция "Encrypt saved copy of mail that you send" (шифровать сохраняемую в почтовом ящике копию почтового сообщения), и 0 (FALSE) в противном случае.
Нельзя использовать в формулах колонок и отбора. В Webприложениях не работает.
Возвращает 1 (TRUE), если в общих почтовых настройках отмечена опция "Encrypt mail that you send" (шифровать отправляемую почту), и 0 (FALSE) в противном случае.
Нельзя использовать в формулах колонок и отбора. В Webприложениях не работает.
почтовых настройках выбрано "Don't keep a copy" (не сохранять копию);
• •
@MailSend Стр.138
@MailSignPreferenc e Стр. 145
@Matches
Стр. 100
2, если выбрано "Always prompt" (всегда выводить окно, позволяющее конкретно разрешить вопрос о сохранении).
Нельзя использовать в формулах отбора, колонок, видимости объекта, заголовка окна и всплывающих окон. Не работает при установке переменной окружения NoExternalApps равной 1. В Web-приложениях не работает.
Функция текущий получателю.
Нельзя использовать в формулах колонок и отбора. В Webприложениях не работает.
Возвращает 1 (TRUE), если в общих почтовых настройках отмечена опция "Sign mail that you send" ("подписывать" отправляемую почту), и 0 (FALSE) в противном случае.
Без ограничений.
Проверяет указанную строку на соответствие строке-образцу.
Без ограничений.
При двух параметрах возвращает наибольшее из двух чисел или числовых
Стр. 64
@Max
1, если выбрано "Always keep a copy" (всегда сохранять копию);
списков. Для списков выполняется попарное сравнение. В варианте с одним параметров – возвращает значение наибольшего элемента списка.
@Member
Без ограничений.
Возвращает 0, если строка не содержится в списке строк; возвращает величину от 1 до N, определяющую положение строки в списке строк.
Без ограничений.
Возвращает указанное число символов из средины строки, просматривая ее слева направо.
Без ограничений.
Возвращает указанное число символов из средины строки, просматривая ее справа налево.
Без ограничений.
При двух параметрах возвращает наименьшее из двух чисел или числовых списков. Для списков выполняется попарное сравнение. В варианте с одним параметров – возвращает значение наименьшего элемента списка.
Стр. 103
@Middle Стр. 70
@MiddleBack Стр. 78
@Min Стр. 101
@Minute Стр. 96
@Modified Стр. 115
298
Без ограничений. "чувствительна" к поясу.
Корректно формулах
Функция часовому
работает только в столбцов. Нельзя
Возвращает количество минут в параметре "датавремя".
использовать в формулах навигатора, видимости объекта, формы, редактируемой секции, почтовых агентах и агентах, запускаемых по событию вставки документов из буфера обмена. При использовании в формулах вычисляемых и вычисляемых для показа полей возвращает значение соответствующее предпоследнему, а не последнему времени модификации. Функция "чувствительна" к часовому поясу.
показывающую, когда документ в последний раз редактировался и сохранялся.
@Modulo
Без ограничений. Второй аргумент не должен содержать элементов равных нулю.
Возвращает число или числовой список, соответствующий остатку от деления первого аргумента на второй. В случае списков выполняется попарная операция вычисления остатка.
@Month
Без ограничений. "чувствительна" к поясу.
Функция часовому
Возвращает номер месяца в параметре "дата-время".
Без ограничений. При использовании с именами, полученными из адресных книг Lotus Notes, не работают форматы [A], [G], [I], [P], [Q] и [S]. Они предназначены для работы с именами адресов, пришедших из внешней (не Lotus Notes) почты.
Возвращает определенные составляющие имени пользователя.
Нельзя использовать в формулах отбора, колонок.
Функция просматривает все доступные адресные книги, ищет в них пользователей с именами из второго
аргумента и возвращает объединенный текстовый список с определенной параметрами функции информацией об этих пользователях. @Narrow
Предназначена для использования только в формулах преобразования значений полей.
Преобразует строку из двухбайтовой кодировки DBCS в однобайтовую SBCS.
@NewLine
Нельзя использовать в формулах отбора, колонок, видимости объекта, формы, заголовка окна, области размещения и в контексте функции @Prompt. В Web-приложениях не работает в формулах отбора, формы и заголовка окна.
Вставляет символ перехода на новую строку (возврат каретки) в текстовую строку.
@No
Без ограничений.
Всегда возвращает 0.
@NoteID
Нельзя использовать в формулах формы и навигатора.
Возвращает 8-и символьный идентификатор документа в базе.
Нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции, заголовка окна, всплывающих окон, формы и области размещения.
В контексте функции @Transform возвращает значение, которое не добавляется в результирующий список. Во всех остальных контекстах возвращает пустую строку.
Без ограничений.
Возвращает текущие дату и время как значение типа "дата-время".
Нельзя использовать в формулах отбора, колонок, заголовка окна и формы.
Функция удаляет почтового адреса повторяющиеся в домены.
В DOMINO R 6.0.1 ДОКУМЕНТИРОВАНА.
Возвращает поддиректорию, содержащую каталог данных компании, в которой
зарегистрирован текущий пользователь. Имеется в виду режим сервера xSP (т.е. когда на одном сервере могут хоститься несколько организаций). В остальных случаях возвращает пустую строку.
@Password
Без ограничений.
Возвращает закодированную исходной.
Без ограничений. Функция работает в Web-приложениях.
Возвращает в виде числа уровень сложности пароля для расшифровки.
@Pi
Без ограничений.
Возвращает число "пи".
@PickList
Нельзя использовать в формулах отбора, колонок, почтовых агентов и агентов, выполняющихся по расписанию, видимости объекта, заголовка окна, всплывающих окон и формы. Не работает при установке переменной окружения NoExternalApps равной 1. В Webприложениях не работает.
Выдает модальное диалоговое окно с информацией из определенной базы данных или из доступных адресных книг.
Без ограничений. При использовании в формулах отбора, колонок и фоновых агентов возвращает платформу
Возвращает текстовый список или строку, определяющую платформу сервера/клиента.
согласно местонахождению базы данных. Для серверных баз данных соответственно платформу сервера, для локальной базы данных платформу клиента. В остальных формулах возвращает серверную платформу. В Webприложениях возвращает только серверную платформу. @PostedCommand
Нельзя использовать в формулах отбора, колонок, видимости объектов, редактируемой секции, формы, полей, заголовка окна, всплывающих окон и фоновых агентов.
Выполняет команду LN. Большинство стандартных команд из системного меню LN можно выполнить с помощью этой функции. Отличается от @Command тем, что выполняется в формуле в последнюю очередь, и не имеет возвращаемого значения.
@Power
Без ограничений.
Возвращает число или числовой список, соответствующий возведению первого аргумента в степень второго. Для списков операция осуществляется попарно.
@Prompt
Нельзя использовать в формулах отбора, колонок, почтовых агентов и агентов, выполняющихся по расписанию, видимости объекта и всплывающих окон. Ограниченно применима в формулах заголовка окна и формы. Не работает при установке переменной окружения NoExternalApps равной 1. В Webприложениях не работает.
Используется для запроса информации у пользователя. Функция показывает диалоговое окно заданного стиля, с заданным заголовком и текстом, и содержащее информацию на основании остальных параметров.
Без ограничений.
Преобразует первый символ каждого слова строки или текстового списка к верхнему регистру,
Нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции, заголовка окна, полей, формы, области размещения, акций видов и формы и области размещения.
Копирует список управления выполнением администратора из указанной адресной книги на текущую рабочую станцию.
@RegQueryValue Стр. 218
В DOMINO R 6.0.1 НЕ ДОКУМЕНТИРОВАНА. Для не Windows-платформ возвращает пустую строку.
Возвращает ключей из реестра.
REM
Без ограничений.
Позволяет включать формулу комментарии.
Стр. 61
Без ограничений. Длина возвращаемой строки не должна превышать 1024 символа.
Возвращает строку, полученную из исходной путем многократной операции конкатенации ее с собой.
@Replace
Без ограничений.
Ищет в списке строк значения, указанные в списке для поиска и заменяет каждое найденное значение соответствующим значением из списка для замены.
Без ограничений.
Выполняет замены в исходной строке или списке строк всех вхождений слов или фраз из списка строк для поиска, на соответствующие слова или фразы из списка строк для замены.
Нельзя использовать в формулах отбора.
Возвращает идентификатор реплики текущей базы данных.
Нельзя использовать в формулах области размещения.
Возвращает имя сервера текущей базы данных.
Без ограничений.
Присваивает значение временной переменной.
Нельзя использовать в формулах отбора, колонок, всплывающих окон и навигатора.
Присваивает новое значение полю по его имени и универсальному идентификатору.
Нельзя использовать в формулах отбора, колонок, всплывающих окон и Web-приложениях. Следует помнить, что в формулах выполняющихся на сервере идет обращение к переменным окружения сервера, а не рабочей станции. Возвращаемое значение всегда есть текстовая строка.
Устанавливает значение переменной окружения.
Нельзя использовать в формулах отбора, колонок, видимости объекта, заголовка окна, всплывающих окон, формы, полей и навигатора.
Присваивает значение полю в текущем документе.
Нельзя использовать в формулах кнопок панели инструментов, колонок, любых типов агентов, видимости объекта, редактируемой секции, всплывающих окон и области размещения.
В Web-приложениях устанавливает значение для полей типа response header fields.
Нельзя использовать в формулах отбора, колонок, видимости объекта, заголовка окна, всплывающих окон, полей, формы, и навигатора.
Присваивает значение полю в профильном документе или создает профильный документ.
Стр. 193
Предназначена для использования только в формулах акций, гиперобъектов, кнопок панели инструментов и агентов, запускаемых вручную.
Позволяет указать фрейм, в котором необходимо открыть вид, страницу, набор фреймов или создать/отредактировать документ.
Определяет знак числа или элементов числового списка.
@Sin
Без ограничений.
Определяет синус числа или элементов числового списка.
@Sort
Нельзя использовать в формулах навигатора.
Осуществляет сортировку элементов списка.
@Soundex
Предназначена для использования только в формулах колонок БД Domino Directory.
Возвращает код "созвучия" для текстовой строки.
@Sqrt
Без ограничений. Аргумент должен быть положительным числом.
Определяет корень квадратный от числа или элементов числового списка.
@StatusBar
Предназначена для использования только в формулах кнопок панели инструментов, заголовка окна, гиперобъектов, полей, акций видов и формы, а также навигатора. В Web-приложениях не работает.
Выводит сообщение строку состояния.
Без ограничений.
Возвращает указанное число значений, считая от начала или конца списка.
Возвращает 1 (TRUE).
Стр. 234
Предназначена для использования в формулах проверки вводимых данных редактируемых полей.
@Sum
Без ограничений.
Возвращает сумму всех элементов числового списка или нескольких
Без ограничений. При использовании в формулах полей, возвращает значение текущей даты по таймеру рабочей станции, а не сервера.
Возвращает текущую дату.
Без ограничений. При использовании в формулах полей, возвращает значение "дата-время" по таймеру рабочей станции, а не сервера.
Возвращает значение "дата-время", соответствующее завтрашнему дню.
Нельзя использовать в формулах заголовка окна.
Преобразует, если возможно, значение или список значений в число или числовой список.
Нельзя использовать в формулах заголовка окна.
Преобразует, если возможно, значение или список значений в величину "дата-время" или список величин "дата-время".
Стр. 46
Нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции, заголовка окна, всплывающих окон и области размещения.
Осуществляет выполнение цикла по элементам списка.
@Trim
Без ограничений.
Удаляет пробелы в начале, в конце и внутри строки, или в списке строк.
@True
Без ограничений.
Возвращает 1 (TRUE).
@Unavailable
Нельзя использовать в формулах заголовка окна, отбора, колонок, формы, навигатора и видимости объекта.
Удаляет поле в текущем документе.
Стр. 128
Нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции, заголовка окна, всплывающих окон, полей, формы, навигатора и области размещения.
В случае если у базы установлено свойство "мягких" отметок об удалении, снимает такие отметки с удаленных документов.
@Unique
Без ограничений.
При вызове без параметра возвращает случайным образом сгенерированную
уникальную строку. При вызове с параметром, удаляет из списка строк повторяющиеся значения. @UpdateFormulaCo ntext Стр. 43
Предназначена для использования в интерактивных приложениях, не работает в контекстах, где не допустимо использование @Command. Не работает в Web-приложениях.
В рамках интерфейса клиента Notes используется для обновления контекста текущей формулы.
@UpperCase
Без ограничений.
Преобразует все символы строки или списка строк к верхнему регистру.
Без ограничений.
Выполняет преобразование отношению к @URLDecode.
Без ограничений.
Преобразует строку или список строк к формату пригодному для использования в URL.
@URLGetHeader
Может использовать только в контексте баз данных "Server Web Navigator" и "Personal Web Navigator". Нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции, заголовка окна, полей и формы. Не работает в Web-приложениях.
Возвращает значение header полей URL.
@URLHistory
Может использовать только в контексте баз данных "Server Web Navigator" и "Personal Web Navigator". Нельзя использовать в формулах отбора, колонок, видимости объекта, агентов по расписанию, редактируемой секции, заголовка окна, полей и формы. Не работает в Web-
Выполняет определенные команды с ресурсами URL, которые уже когда-либо загружались и информация о них была сохранена в списке предысторий URL (History URL List).
Нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции, заголовка окна, полей и формы.
Выдает диалоговое окно для открытия ресурса URL, или открывает ресурс URL.
Нельзя использовать в формулах кнопок панели инструментов, отбора, колонок, агентов, всплывающих окон и области размещения. В интерфейсе клиента Notes всегда возвращает пустую строку.
В Web-приложениях возвращает параметры из текущего URL.
Нельзя использовать в формулах отбора, колонок, фоновых агентов и всплывающих окон. В Notes R 4.х автоматически заменяется на функцию @V4UserAccess. Для локальных баз в варианте синтаксиса без второго параметра и с опущенным в ACL флагом "Enforce a consistent Access Control List across all replicas of this database." (Использовать единый список управления доступом для всех реплик) всегда возвращает значение 6:1:1:1:1:1:1:1:1. Если пользователь не имеет доступа к базе, он получит сообщение: "You are not authorized to perform that operation." (Вы неавторизованы для выполнения данной операции). Не работает с оператором Evaluate LotusScript.
Возвращает число или числовой список, элементы которого позволяют определить уровень доступа текущего пользователя к указанной БД.
Без ограничений.
Возвращает основное или альтернативное имя пользователя или сервера в каноническом формате ([Canonicalize]).
Возвращает имя основного или альтернативного языка.
Стр. 181
@UserNamesList
Нельзя использовать в формулах отбора, колонок, фоновых агентов, заголовка окна, навигатора и области размещения. Предназначена для использования в БД, расположенных на сервере, или для локальных баз данных с установленным свойством "Enforce a consistent Access Control List across all replicas" (Использовать единый список управления доступом для всех реплик). Для локальных баз данных без этого свойства всегда возвращает пустую строку.
Функция текстовый содержащий доступа пользователя базе данных.
@UserPrivileges
Нельзя использовать в формулах отбора, колонок и фоновых агентов. Не работает в Webприложениях.
Функция возвращает для текущего пользователя текстовый список порядковых номеров, назначенных ему привилегий (аналог ролей в LN R 2.x), но не сами имена привилегий.
@UserRoles
Нельзя использовать в формулах отбора, колонок и фоновых агентов. Предназначена для использования в БД, расположенных на сервере, или для локальных баз данных с установленным свойством "Enforce a consistent Access Control List across all replicas"
Возвращает текстовый список имен ролей, на которые в списке управления доступом текущей базы назначен текущий пользователь.
(Использовать единый список управления доступом для всех реплик). Для локальных баз данных без этого свойства всегда возвращает пустую строку. @V2If
Без ограничений.
Аналог функции @If для версии LN 2.х
@V3UserName
Без ограничений.
Аналог функции @UserName для версии 3.х. Возвращает имя текущего пользователя или имя сервера в сокращенном формате ([Abbreviate]).
@V4UserAccess
Нельзя использовать в формулах отбора, колонок и фоновых агентов. Для локальных баз с опущенным в ACL флагом "Enforce a consistent Access Control List across all replicas of this database." (Использовать единый список управления доступом для всех реплик) всегда возвращает значение 6:1:1. Если пользователь не имеет доступа к базе, он получит сообщение: "You are not authorized to perform that operation." (Вы неавторизованы для выполнения данной операции).
Аналог функции @UserAccess для версии 4.х. Возвращает числовой список из трех элементов, позволяющий определить уровень доступа текущего пользователя в указанной базе.
@ValidateInternetAd dress
В DOMINO R 6.0.1 НЕ ДОКУМЕНТИРОВАНА. Работает в формулах проверки значения полей и в формулах вычисляемых полей.
Функция проверяет почтовый адрес на соответствие его стандартам RFC 822 или RFC 821.
В DOMINO R 6.0.1 ДОКУМЕНТИРОВАНА.
НЕ
Сравнивает два пароля, и возвращает 1 (TRUE), если пароли эквивалентны, и 0 (FALSE) в противном случае.
Без ограничений. При использовании в формулах отбора, колонок и фоновых
Возвращает текстовую строку соответствующую релизу версии Domino.
агентов возвращает версию Lotus Notes/Domino согласно местонахождению базы данных. Если она находится на сервере, то для сервера, и для локальной базы данных соответственно версию клиента LN. В остальных формулах возвращает версию рабочей станции. @ViewTitle Стр. 231
@WebDBName
Нельзя использовать в формулах отбора, колонок, фоновых агентов, заголовка окна, полей, редактируемой секции, видимости объектов (за исключением акций видов).
Возвращает название текущего вида или папки.
Без ограничений.
Возвращает имя текущей базы данных в формате, пригодном для использования в URL
Стр. 228
@Weekday Стр. 94 @While Стр. 45
@Wide
@Word
Без ограничений. "чувствительна" к поясу.
Функция часовому
Определяет день недели для величины типа "датавремя".
Нельзя использовать в формулах отбора, колонок, видимости объекта, редактируемой секции, заголовка окна, всплывающих окон, формы и области размещения.
Осуществляет организацию циклов с предусловием.
Предназначена использования формулах полей.
Преобразует строку из однобайтовой кодировки SBCS в двухбайтовую DBCS.
только
для в
Без ограничений.
Функция просматривает исходную строку слева направо и возвращает "слово" по его позиции в строке.
Стр. 87
@Year Стр. 95
Без ограничений. "чувствительна" к поясу.
Функция часовому
Из указанной величины "дата-время" извлекает и возвращает год.
Без ограничений. Использование функции в формулах колонок и отбора документов может иногда приводить к отображению недостоверных данных, особенно в момент перехода дат. При использовании в формулах полей, возвращает значение "дата-время" по таймеру рабочей станции, а не сервера.
Добавляет для указанной БД ее иконку на рабочее пространство без открытия БД.
AddDatabaseRepID
Без ограничений.
Добавляет для БД, указанной идентификатором реплики и сервером, ее иконку на рабочее пространство без открытия БД.
AdminCertify
Нельзя применять в формулах диалогового окна.
Используется для сертификации ID-файлов пользователей и серверов.
AdminCreateGroup
Работает только когда в клиенте администратора открыт вид «Группы».
В документации сказано, что в 6-й версии команда является устаревшей. В 5-й версии при открытом в клиенте администратора виде «Группы», выводила форму для ввода группы с пустыми значениями. В 6-й версии при аналогичных условиях выводит предупреждающее окно с текстом «Command is not supported.» (команда не поддерживается).
AdminCrossCertifyIDF ile
Нельзя применять в формулах диалогового окна.
Используется для кросс-сертификатов.
AdminCrossCertifyKey
Нельзя применять в формулах диалогового окна.
Используется для создания кросс-сертификата с использованием ключа, ассоциированного с ID-файлом.
В документации сказано, что в 6-й версии команда является устаревшей. В предыдущих версиях должна была выдавать диалоговое окно для анализа характеристик выбранной базы данных. В 6-й версии выводит предупреждающее окно с текстом «Command is not supported.» (команда не поддерживается).
AdminDatabaseQuota s
Работает только в клиенте администратора.
В документации сказано, что в 6-й версии команда является устаревшей. В предыдущих версиях должна была для выбранного сервера выдавать список баз данных, у которых можно изменить их максимальный размер. В 6-й версии выводит предупреждающее окно с текстом «Command is not supported.» (команда не поддерживается).
AdminIDFileClearPass word
Нельзя применять в формулах диалогового окна.
Используется для снятия пароля с ID-файла без переключения на этот ID-файл.
AdminIDFileExamine
Нельзя применять в формулах диалогового окна.
Используется для получения информации о ID-файла (тип лицензии, сертификат, ключи шифрования и т.д.)
AdminIDFileSetPassw ord
Нельзя применять в формулах диалогового окна.
Используется для смены пароля ID-файла, в частности может быть использована для смены пароля ID-файла сертификатора.
Administration
Нельзя применять в формулах диалогового окна.
Открывает или передает фокус на клиент администратора, если последний установлен на локальной машине.
Выдает диалоговое окно для создания иерархического IDфайла сертификатора новой организации.
AdminNewOrgUnit
Нельзя применять в формулах диалогового окна.
Используется для создания иерархического ID-файла сертификатора новой организационной единицы.
AdminOpenAddressB ook
Работает только в клиенте администратора.
В документации сказано, что в 6-й версии команда является устаревшей. В предыдущих версиях должна была для выбранного сервера открывать адресную книгу, если их несколько, выдавалось диалоговое окно для выбора адресной книги. В 6-й версии выводит предупреждающее окно с текстом «Command is not supported.» (команда не поддерживается).
AdminOpenCatalog
Работает только в клиенте администратора.
В документации сказано, что для выбранного сервера должна открывать базу данных каталога (Catalog.nsf). К сожалению, у автора команда выдавала только предупреждающее окно с текстом «Cannot execute the specified command.» (не могу выполнить указанную команду).
AdminOpenCertLog
Работает только в клиенте администратора.
В документации сказано, что в 6-й версии команда является устаревшей. В предыдущих версиях должна была для выбранного сервера открывать базу данных журнала сертификатов (Certlog.nsf). В 6й версии выводит предупреждающее окно с текстом «Command is not supported.» (команда не поддерживается).
В документации сказано, что в 6-й версии команда является устаревшей. В предыдущих версиях должна была для выбранного сервера открывать адресную книгу и выводит вид "Группы" (Groups), если адресных книг несколько выдавалось диалоговое окно для выбора адресной книги. В 6-й версии выводит предупреждающее окно с текстом «Command is not supported.» (команда не поддерживается).
AdminOpenServerLog
Работает только в клиенте администратора.
В документации сказано, что в 6-й версии команда является устаревшей. В предыдущих версиях должна была для выбранного сервера открывать базу данных журнала сервера (Log.nsf). В 6-й версии выводит предупреждающее окно с текстом «Command is not supported.» (команда не поддерживается).
AdminOpenServersVi ew
Работает только в клиенте администратора.
В документации сказано, что в 6-й версии команда является устаревшей. В предыдущих версиях должна была для выбранного сервера должна открывать адресную книгу и выводить вид "Сервера" (Servers), если адресных книг несколько выдавалось диалоговое окно для выбора адресной книги. В 6-й версии выводит предупреждающее окно с текстом «Command is not supported.» (команда не поддерживается).
В документации сказано, что в 6-й версии команда является устаревшей. В предыдущих версиях должна была для выбранного сервера открывать базу данных статистики работы сервера (Statrep.nsf). В 6-й версии выводит предупреждающее окно с текстом «Command is not supported.» (команда не поддерживается).
AdminOpenUsersView
Работает только в клиенте администратора.
В документации сказано, что в 6-й версии команда является устаревшей. В предыдущих версиях должна была для выбранного сервера открывать адресную книгу и выводить вид "Пользователи" (Users), если адресных книг несколько выдавалось диалоговое окно для выбора адресной книги. В 6-й версии выводит предупреждающее окно с текстом «Command is not supported.» (команда не поддерживается).
AdminOutgoingMail
Работает только в клиенте администратора.
В документации сказано, что в 6-й версии команда является устаревшей. В предыдущих версиях должна была для выбранного сервера открывать базу данных почтового ящика сервера (Mail.box). В 6-й версии выводит предупреждающее окно с текстом «Command is not supported.» (команда не поддерживается).
AdminRegisterFromFil e
Нельзя применять в формулах диалогового окна.
Используется для регистрации пользователей, в случае если информация о них хранится в текстовом файле.
AdminRegisterServer
Нельзя применять в формулах диалогового окна.
Используется для создания IDфайла для нового сервера.
В документации сказано, что в 6-й версии команда является устаревшей. В предыдущих версиях должна была выдавать диалоговое окно трассировки прохождения почты (Mail Path Tracing). В 6-й версии выводит предупреждающее окно с текстом «Command is not supported.» (команда не поддерживается).
AdminStatisticsConfig
Работает только в клиенте администратора.
В документации сказано, что в 6-й версии команда является устаревшей. В предыдущих версиях должна была для выбранного сервера открывать базу данных статистики работы сервера (Events4.nsf). В 6-й версии выводит предупреждающее окно с текстом «Command is not supported.» (команда не поддерживается).
AdminTraceConnectio n
Нельзя применять в формулах диалогового окна.
Выдает диалоговое окно трассировки соединений (Trace Connections) для серверапосредника.
AgentEdit
Агент должен быть выбран в виде "Агенты" текущей базы данных.
Открывает редактор агентов и загружает в него выбранного агента.
AgentEnableDisable
Без ограничений. Если параметры опущены, то агент должен быть выбран в виде "Агенты" текущей базы данных.
Нельзя применять в формулах диалогового окна. Агент должен быть выбран в виде "Агенты" текущей базы данных. Агент должен быть хотя бы раз выполнен.
Выводит диалоговое окно с журналом работы последнего запуска агента.
AgentRun
Нельзя применять в формулах диалогового окна. Агент должен быть выбран в виде "Агенты" текущей базы данных.
Запускает выбранного агента и затем выводит журнал его работы.
AgentSetServerName
Без ограничений.
Для указанного агента по расписанию, устанавливает на каком сервере он должен выполняться.
AgentTestRun
Нельзя применять в формулах диалогового окна. Агент должен быть выбран в виде "Агенты" текущей базы данных.
Выполняет тестовый запуск выбранного агента и выводит журнал его работы.
AttachmentDetachAll
Нельзя применять в формулах диалогового окна. Текущий документ должен быть открыт на чтение или редактирование, или форма/подформа должны быть открыты в режиме редактирования. Документ должен иметь присоединенные файлы.
Выдает диалоговое окно для сохранения на диске присоединенных файлов (Save Attachments To).
AttachmentLaunch
Нельзя применять в формулах диалогового окна. Текущий документ должен быть открыт на чтение или редактирование, или форма/подформа должны быть открыты в режиме редактирования. Документ должен иметь присоединенные файлы, и один из них должен быть выделен.
Запускает, если это возможно, приложение, в котором было подготовлен выбранный присоединенный файл и выполняет его.
Нельзя применять в формулах диалогового окна. Текущий документ должен быть открыт на чтение или редактирование, или форма/подформа должны быть открыты в режиме редактирования. Документ должен иметь присоединенные файлы, и один из них должен быть выделен.
Выдает свойств файла.
AttachmentView
Нельзя применять в формулах диалогового окна. Текущий документ должен быть открыт на чтение или редактирование, или форма/подформа должны быть открыты в режиме редактирования. Документ должен иметь присоединенные файлы, и один из них должен быть выделен.
Запускает, если это возможно, программу просмотра содержимого присоединенного файла, и отображает в ней содержимое выбранного присоединенного файла. Загрузки приложения, в котором готовился присоединенный файл, не происходит.
CalendarFormat
Вид календарного стиля должен быть открыт.
Меняет формат отображения вида календарного стиля, изменяя число дней или месяцев, одновременно показываемых на экране.
CalendarGoTo
Вид календарного стиля должен быть открыт. При использовании с одним параметром нельзя применять в формулах диалогового окна.
В виде календарного стиля осуществляет переход на день, указанный вторым параметром, или выдает диалоговое окно для определения дня, на который необходимо перейти.
CheckCalendar
Текущая БД должна содержать хотя бы один вид календарного стиля.
Выдает диалоговое окно с видом календарного стиля в формате на один день.
Нельзя применять в формулах диалогового окна. Документ должен быть открыт в режиме редактирования.
Выдает диалоговое окно для выбора папок, в которые необходимо поместить текущий документ.
Clear
Необходимо выполнения одного из условий:
Выполняет команду меню Edit Clear (Правка - Очистить). Аналогична @Command( [EditClear] ) за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.
Стр. 247
•
в виде/папке документ(ы) должны быть выделены (помечены или на документе стоит световой маркер) или документ должен находиться в режиме редактирования;
•
документ должен находиться в режиме редактирования, и данные для удаления (текст, присоединенные файлы, объекты и т.д.) должны быть выделены. В этом контексте нельзя использовать команду следом за командой [EditGotoField];
•
элементы дизайна (форма, подформа, вид, папка и т.д.) должны находиться в режиме редактирования и данные для удаления (поля, столбцы и т.д.) должны быть выделены;
•
в рабочем пространстве иконки баз данных должны быть выделены.
Можно использовать в Web-приложениях при условии, что у базы установлено свойство "Allow Javascript on the Web" (использовать Javascript при создании Web-страниц). Не закрывает окно с рабочим пространством.
Закрывает текущее окно LN. В случае если в окне присутствует не сохраненный отредактированный документ или элемент дизайна, выдает диалоговое окно с вопросом о сохранении изменений. Аналогична [FileCloseWindow], но в отличие от нее выполняется немедленно.
Нельзя применять в формулах диалогового окна.
Создает в указанной базе данных новый документ по определенной форме и переключает на него фокус LN.
БД должна быть открыта, на документе, на которой создается ответ, должен стоять световой маркер или документ должен быть открыт в режиме чтения/редактирования.
Создает ответный документ для документа, на котором стоит световой маркер, и переключает фокус Domino на него.
CreateAction
Форма, или подформа, или вид, или папка должны быть открыты в режиме редактирования.
Создает новую кнопку-акцию.
CreateAgent
Нельзя применять в формулах диалогового окна. БД должна быть открыта или выбрана в рабочем пространстве. Пользователь должен иметь доступ к базе данных не ниже дизайнера, или в списке управления доступом ему должно быть разрешено создавать личных агентов.
Создает нового агента в текущей базе данных и загружает агент в рабочую панель и выводит окно свойств агента.
CreateControlledAcce ssSection
Форма или подформа должна быть открыта в режиме редактирования, и текст секции должен быть выделен.
Создает в выбранной форме или подформе секцию с управляемым доступом.
Навигатор должен быть открыт в режиме редактирования.
Создает объект "эллипс" текущем навигаторе.
в
CreateFolder
Нельзя применять в формулах диалогового окна. БД должна быть открыта или выбрана в рабочем пространстве. Пользователь должен иметь доступ к базе данных не ниже дизайнера, или в списке управления доступом ему должно быть разрешено создавать личные папки.
Выдает диалоговое окно для создания новой папки.
CreateForm
Нельзя применять в формулах диалогового окна. БД должна быть открыта или выбрана в рабочем пространстве. Пользователь должен иметь доступ к базе данных не ниже дизайнера.
Создает новую пустую форму в текущей базе данных.
CreateLayoutRegion
Форма или подформа должна быть открыта в режиме редактирования.
Создает новую область размещения в форме или подформе.
CreateNavigator
Нельзя применять в формулах диалогового окна. БД должна быть открыта или выбрана в рабочем пространстве. Пользователь должен иметь доступ к базе данных не ниже дизайнера.
Создает навигатор данных.
CreatePolygon
Навигатор должен быть открыт в режиме редактирования.
Создает "многоугольник" навигаторе.
CreatePolyline
Навигатор должен быть открыт в режиме редактирования.
Создает объект "ломаная линия" в текущем навигаторе.
CreateRectangle
Навигатор должен быть открыт в режиме редактирования.
Навигатор должен быть открыт в режиме редактирования.
Создает "гиперпрямоугольник" текущем навигаторе.
объект в
CreateSection
Документ должен быть открыт в режиме редактирования, или форма/подформа должны быть открыты в режиме редактирования. Текст секции должен быть выделен.
Создает секцию в документе форме/подформе.
текущем или
CreateSubform
Нельзя применять в формулах диалогового окна. БД должна быть открыта или выбрана в рабочем пространстве. Пользователь должен иметь доступ к базе данных не ниже дизайнера.
Создает подформу данных.
CreateTextbox
Навигатор должен быть открыт в режиме редактирования.
Создает объект типа "надпись" в текущем навигаторе.
CreateView
Нельзя применять в формулах диалогового окна. БД должна быть открыта или выбрана в рабочем пространстве. Пользователь должен иметь доступ к базе данных не ниже дизайнера.
Выдает диалоговое окно для создания нового вида.
DatabaseDelete
Иконка БД должна быть выделена, но база не должна быть открыта. Пользователь должен иметь доступ менеджера к текущей БД.
Физически удаляет БД с диска локальной станции или сервера. Если с БД в данный момент кто-то работает, то появится предупреждающее сообщение, что база будет удалена позднее. Выполняется немедленно в отличие от команды [FileDatabaseDelete].
формулах диалогового окна. БД должна быть открыта или выбрана в рабочем пространстве.
параметров текущей БД.
DebugLotusScript
Нельзя применять в формулах диалогового окна.
Включает/выключает отладчик кода LotusScript.
DesignDocumentInfo
Нельзя применять в формулах диалогового окна. На документе в виде или папке должен стоять световой указатель, или документ должен быть открыт на чтение/редактирование.
Выдает окно свойств текущего документа.
DesignFormAttributes
Форма/подформа или страница должны быть открыты в режиме редактирования.
Выдает окно свойств для текущей формы/подформы или страницы.
DesignFormFieldDef
Форма/подформа должны быть открыты в режиме редактирования. Поле должно быть выделено
Выдает окно свойств для выделенного поля текущей формы/подформы.
DesignFormNewField
Форма/подформа должны быть открыты в режиме редактирования. Ни одно поле не должно быть выделено.
Создает новое поле в текущей форме/подформе и выдает для него окно свойств.
DesignForms
Нельзя применять в формулах диалогового окна. БД должна быть открыта или выбрана в рабочем пространстве. Пользователь должен иметь доступ к БД не ниже дизайнера.
Открывает в текущей БД папку дизайнера с имеющимися в БД формами.
DesignFormShareFiel d
Форма/подформа должны быть открыты в режиме редактирования. Поле должно быть выделено.
Делает выделенное поле общим в текущей форме/подформе.
быть открыты в режиме редактирования. Ни одно поле не должно быть выделено.
вставки общего поля (Insert Shared Field) для текущей формы/подформы.
DesignFormWindowTi tle
Форма должна быть открыта в режиме редактирования.
Переходит в Designer в режим определения заголовка окна для текущей формы.
DesignHelpAboutDoc ument
Нельзя применять в формулах диалогового окна. БД должна быть открыта или выбрана в рабочем пространстве. Пользователь должен иметь доступ к БД не ниже дизайнера.
Открывает на редактирование документ о БД для текущей БД.
DesignHelpUsingDocu ment
Нельзя применять в формулах диалогового окна. БД должна быть открыта или выбрана в рабочем пространстве. Пользователь должен иметь доступ к БД не ниже дизайнера.
Открывает на редактирование документ "О работе с БД " для текущей БД.
DesignIcon
Нельзя применять в формулах диалогового окна. БД должна быть открыта или выбрана в рабочем пространстве. Пользователь должен иметь доступ к БД не ниже дизайнера.
Выдает диалоговое окно для редактирования иконки выбранной БД.
DesignMacros
Нельзя применять в формулах диалогового окна. БД должна быть открыта или выбрана в рабочем пространстве.
Открывает в текущей базе данных папку Designer с имеющимися в БД агентами и макросами для БД версий 3.х.
Нельзя применять в формулах диалогового окна. БД должна быть открыта или выбрана в рабочем пространстве. Пользователь должен иметь доступ к БД не ниже дизайнера.
Выдает диалоговое окно для определения сервера с шаблонами баз данных для обновления дизайна текущей БД.
DesignReplace
Нельзя применять в формулах диалогового окна. БД должна быть открыта или выбрана в рабочем пространстве. Пользователь должен иметь доступ к БД не ниже дизайнера.
Выдает диалоговое окно для определения сервера с шаблонами БД для замены дизайна текущей БД.
DesignSharedFields
Нельзя применять в формулах диалогового окна. БД должна быть открыта или выбрана в рабочем пространстве. Пользователь должен иметь доступ к БД не ниже дизайнера.
Открывает в текущей БД папку Designer с имеющимися в БД общими полями.
DesignSynopsis
Нельзя применять в формулах диалогового окна. БД должна быть открыта или выбрана в рабочем пространстве.
Выдает диалоговое окно со сведениями о структуре БД (Design Synopsis).
DesignViewAppendCo lumn
Вид или папка должны находиться в режиме редактирования. Столбец в виде/папку должен быть выбран.
Создает новый столбец, следующий за выбранным в текущем виде/папке.
DesignViewAttributes
Вид или папка находиться в редактирования.
должны режиме
Выдает окно свойств текущего вида/папки.
DesignViewColumnDe f
Вид или папка должны находиться в режиме редактирования. Столбец должен быть выбран.
Переходит в Designer в режим определения формулы формы (Design Form Formula), по которой должны открываться документы в текущем виде/папке.
DesignViewNewColu mn
Вид или папка должны находиться в режиме редактирования. Столбец должен быть выбран.
Создает новый столбец перед выбранным в текущем виде/папке.
DesignViews
Нельзя применять в формулах диалогового окна. БД должна быть открыта или выбрана в рабочем пространстве. Пользователь должен иметь доступ к БД не ниже дизайнера.
Открывает в Designer папку с имеющимися в текущей БД видами.
DesignViewSelectFor mula
Вид должен находиться в режиме редактирования.
Переходит в Designer в режим определения формулы отбора документов в виде.
Нельзя применять в формулах диалогового окна. Должен быть открыт либо документ Server из Domino Directory, либо документ Location из личной адресной книги.
Выдает диалоговое окно установки параметров модемной связи в соответствии с текущим местом вызова.
Directories
Нельзя применять в формулах диалогового окна.
Выдает диалоговое окно поиска адресов (Directories) по всем доступным клиенту адресным книгам, с возможностью переноса нужных записей в личную адресную книгу.
EditBottom
Форма или документ должны находиться в режиме редактирования.
Переводит курсор для документа в последнее редактируемое поле, для формы в конец формы.
EditButton
Документ должен находиться в режиме редактирования. Кнопка должна быть выделена.
Переходит в клиенте Notes в режим определения действий по выделенной кнопке и выдает ее окно свойств.
последней в формуле. Для корректной работы необходимо выполнения одного из условий: •
в виде/папке документ(ы) должны быть выделены (помечены или на документе стоит световой маркер) или документ должен находиться в режиме редактирования;
•
документ должен находиться в режиме редактирования и данные для удаления (текст, присоединенные файлы, объекты и т.д.) должны быть выделены. В этом контексте нельзя использовать команду следом за командой [EditGotoField];
•
элементы дизайна (форма, подформа, вид, папка и т.д.) должны находиться в режиме редактирования и данные для удаления (поля, столбцы и т.д.) должны быть выделены;
Clear (Правка - Очистить).
• в рабочем пространстве иконки БД должны быть выделены. В Webприложениях может использоваться только в акциях формы, для пометки текущего (не выделенных) документа на удаление. EditCopy
332
Необходимо выполнения одного из условий:
Выполняет команду меню Edit Copy (Правка – Копировать).
в виде/папке документ(ы) должны быть выделены (помечены или на документе стоит световой маркер);
•
документ должен находиться в режиме редактирования или чтения, и данные для копирования (текст, присоединенные файлы, объекты и т.д.) должны быть выделены;
•
элементы дизайна (форма, подформа, вид, папка и т.д.) должны находиться в режиме редактирования, и данные для копирования (поля, столбцы и т.д.) должны быть выделены.
Необходимо выполнения одного из условий:
Выполняет команду меню Edit Cut (Правка - Вырезать).
в виде/папке документ(ы) должны быть выделены (помечены или на документе стоит световой маркер);
•
документ должен находиться в режиме редактирования, и данные для копирования в буфер обмена с удалением (текст, присоединенные файлы, объекты и т.д.) должны быть выделены;
•
элементы дизайна (форма, подформа, вид, папка и т.д.) должны находиться в режиме редактирования, и данные для копирования (поля, столбцы и т.д.) должны быть выделены.
Необходимо выполнения одного из условий:
Выполняет команду меню Edit Deslect All (Правка - Снять все
документ должен находиться в режиме редактирования или чтения, и данные для снятия с них отметки выделения (текст, присоединенные файлы, объекты и т.д.) должны быть выделены;
•
элементы дизайна (форма, подформа, вид, папка и т.д.) должны находиться в режиме редактирования, и данные для копирования (поля, столбцы и т.д.) должны быть выделены;
•
в рабочем пространстве иконки БД должны быть выделены.
EditDetach
Документ должен находиться в режиме редактирования или чтения. Без указания параметров присоединенный файл должен быть выделен.
Используется для сохранения на диске присоединенных файлов.
EditDocument
В виде/папке на документе должен стоять световой
Переводит текущий документ в режим редактирования/чтения.
маркер, или документ открыт в режиме чтения/редактирования. Можно использовать в Web-приложениях в акциях формы (но не в акциях видов) без параметров. При использовании данной команды могут не работать формулы видимости объектов в форматируемых полях. Используйте команду @Command( [OpenDocument] ), которая поддерживает работу всех формул видимости объектов.
EditDown
Форма/подформа документ находиться в редактирования.
или должны режиме
Переводит курсор для документа в пределах поля на одну или определенное число строк вниз, если выходим за рамки поля перемещаемся в поле ниже текущего. Для формы/подформы на одну или определенное число строк вниз.
EditEncryptionKeys
Вид/папка должны быть открыты и световой указатель стоит на документе, или документ должен находится в режиме редактирования или чтения.
Выдает диалоговое окно свойств текущего документа, сразу переходя на закладку Security (безопасность). Здесь можно назначить ключи шифрования для текущего документа.
EditFind
Вид/папка должны быть открыты, или документ должен находиться в режиме чтения/редактирования.
Выполняет команду Edit Find/Replace (Правка Найти/Заменить).
открыты, или документ должен находиться в режиме просмотра.
предварительного просмотра выполняет команду Edit – Find/Replace (Правка – Найти/Заменить) без перехода фокуса в панель предварительного просмотра документа. Если панель предварительного просмотра закрыта, действие аналогично команде @Command( [EditFind] ).
EditFindNext
Вид/папка должны быть открыты, или документ должен находиться в режиме чтения/редактирования.
Выполняет команду Edit – Find Next (Правка - Найти далее). Оперирует с результатами полнотекстового поиска, если он был произведен, и фокус находится либо в виде на отобранном документе, либо в отобранном документе на найденном слове/фразе. В противном случае выдает диалоговое окно обычного поиска.
EditGotoField
Документ находиться в редактирования.
должен режиме
Перемещает курсор в указанное поле текущего документа.
EditHeaderFooter
Форма/подформа должны находиться в режиме редактирования, или документ должен быть выбран в виде/папке, или находиться в режиме чтения.
Выдает окно свойств текущего документа или формы/подформы для изменения параметров печати.
EditHorizScrollbar
Документ должен быть открыт. Команда не поддерживается на платформах OS/2 и Macintosh.
Отображает горизонтальную линейку "прокрутки" для текущего документа.
Форма/подформа должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы в бланке формы (но не в формулах и т.д.).
Для текущего и всех абзацев ниже текущего увеличивает отступ от левого края на 1/4 дюйма.
EditIndentFirstLine
Форма/подформа должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы в бланке формы (но не в формулах и т.д.).
Для текущего и всех абзацев ниже текущего увеличивает отступ от левого края на 1/4 дюйма первой строки абзаца ("красная строка").
EditInsertButton
Форма/подформа должны находиться в режиме редактирования и ничего не должно быть выделено, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы в бланке формы (но не в формулах и т.д.).
Создает новую кнопку в документе или форме/подформе и выдает окно свойств кнопки.
EditInsertFileAttachme nt
Документ должен находиться в режиме редактирования. Курсор должен быть в форматируемом поле.
Форма/подформа должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы в бланке формы (но не в формулах и т.д.). Команда не поддерживается на платформах OS/2, UNIX и Macintosh.
Используется для встраивания в документ или форму/подформу OLEобъектов.
EditInsertPageBreak
Форма/подформа или страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы в бланке формы (но не в формулах и т.д.).
Добавляет/удаляет в документе, форме/подформе, или странице символ перевода страницы.
EditInsertPopup
Форма/подформа или страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Текст для документа в форматируемом поле, для формы/подформы в бланке формы должен быть выделен.
Создает гиперобъект типа текстового "всплывающего" окна.
Форма/подформа или страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы в бланке формы (но не в формулах и т.д.).
Выдает диалоговое окно создания объекта таблицы.
EditIsertText
Форма/подформа или страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в поле, для формы/подформы в бланке формы (но не в формулах и т.д.).
Вставляет указанную текстовую строку с текущего положения курсора.
EditLeft
Форма/подформа, страница, или документ должны находиться в режиме редактирования.
Переводит курсор для документа в пределах поля на один или определенное число символов влево, если выходим за рамки поля перемещаемся в поле левее текущего. Для формы/подформы или страницы на одну или определенное число символов левее.
EditLinks
Форма/подформа или документ должны находиться в режиме редактирования и иметь одну или более OLE или DDE-связей.
Выдает диалоговое внешних связей.
EditLocations
Нельзя применять в формулах диалогового окна.
Открывает личную адресную книгу по виду "Место вызова" (Location).
На документе в виде/папке должен стоять световой указатель или документ должен находиться в режиме редактирование/чтение.
Создает ссылку на текущий документ и помещает ее в буфер обмена. Пользователь может затем вставить эту ссылку в любое форматируемое поле.
EditNextField
Документ находиться в редактирования.
должен режиме
Перемещает указатель курсора в следующее редактируемое поле. Перемещаясь слева направо, сверху вниз, независимо от порядка обхода полей определенных в форме.
EditOpenLink
Документ должен находиться в режиме редактирования/чтения. Ссылка должна быть выделена, и указывать на объекты Domino (не OLE, или DDE).
Открывает объекты, на которые указывает выбранная ссылка.
EditPaste
Вид/папка должны быть открыты, или документ должен находиться в режиме редактирования, или элементы дизайна (форма, подформа, вид и т.д.) должны находиться в режиме редактирования. Информация в буфере обмена должна соответствовать типу приемника. В случае если в буфере обмена находится информация из форматируемого поля, а вставка осуществляется в текстовое поле, часть информации может быть утеряна.
Выполняет команду Edit - Paste (Правка - Вставить).
Документ должен находиться в режиме редактирования и курсор должен быть в пределах форматируемого поля, или форма/подформа должны находиться режиме редактирования.
Выдает диалоговое специальной вставки Special).
EditPhoneNumbers
Нельзя применять в формулах диалогового окна.
Открывает личную адресную книгу по виду "Дополнительно\Подключения" (Advanced\Connections).
EditPrevField
Документ находиться в редактирования.
должен режиме
Перемещает указатель курсора в предыдущее редактируемое поле. Перемещение осуществляется справа налево, снизу вверх, независимо от порядка обхода полей определенных в форме.
EditProfile
В R 6 всегда выполняется последней в формуле. Нельзя применять в формулах диалогового окна. Для создания профильного документа нужен доступ к БД не ниже автора.
Открывает на редактирование новый или существующий профильный документ.
Нельзя применять в формулах диалогового окна. Для создания профильного документа нужен доступ к БД не ниже автора.
Создает новый или открывает существующий профильный документ на редактирование. Аналогична @Command( [EditProfile] ) за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.
Документ должен быть открыт в режиме редактирования, и текст должен быть выделен.
Преобразует выделенный текст к формату принятому в письмах ответах с использованием цитирования. Другими словами, вставляет в начало каждой строки символ больше (“>”), форматирует текст в строках по 70 символов, и удаляет из текста присоединенные файлы и другие объекты.
EditResizePicture
Документ должен находиться в режиме редактирования и рисунок должен быть выделен.
Используется для изменения размеров вставленного в форматируемое поле рисунка.
EditRestoreDocume nt
На документе стоит световой маркер или документы выделены в рамках вида, отображающего «мягко» удаленные документы, или документ находится в режиме чтения.
Выполняет команду меню Edit -> Restore. Другими словами восстанавливает «мягко» удаленные документы.
EditRight
Форма/подформа документ находиться в редактирования.
или должны режиме
Переводит курсор для документа в пределах поля на один или определенное число символов вправо, если выходим за рамки поля перемещаемся в поле правее текущего. Для формы/подформы на одну или определенное число символов правее.
EditSelectAll
Документ должен находиться в режиме чтения/редактирования, или вид/папка должны быть открыты, или в текущем окне отображается лист рабочего пространства, или форма/подформа находятся в режиме редактирования.
Выполняет команду Edit - Select All (Правка - Выделить все).
Документ форма/подформа находиться в редактирования.
или должны режиме
Отображает/скрывает отображение скрытых символов (табуляция, пробел, возврат каретки). Для документа показывает скрытые символы только в форматируемых полях.
EditTableDeleteRowC olumn
Документ или форма/подформа/страница должны находиться в режиме редактирования. Указатель курсора должен находиться в пределах таблицы.
Выдает диалоговое окно удаление строк/столбцов в текущей таблице.
EditTableFormat
Документ или форма/подформа/страница должны находиться в режиме редактирования. Указатель курсора должен находиться в пределах таблицы.
Выдает окно свойств таблицы.
EditTableInsertRowCo lumn
Документ или форма/подформа/страница должны находиться в режиме редактирования. Указатель курсора должен находиться в пределах таблицы.
Выдает диалоговое окно вставки строк/столбцов в текущей таблице.
EditTop
Форма или документ должны находиться в режиме редактирования.
Переводит курсор для документа в первое редактируемое поле, для формы в начало формы.
EditUndo
Нельзя применять в формулах диалогового окна.
Выполняет команду Edit - Undo (Правка - Отменить). Для формул акции и кнопок работает только при открытом в текущем окне виде/папке, снимая при этом отметку об удалении документа.
версию усеченного документа из базы, которая участвовала в репликации с параметрами усечения больших документов.
EditUp
Форма/подформа документ находиться в редактирования.
или должны режиме
Переводит курсор для документа в пределах поля на одну или определенное число строк вверх, если выходим за рамки поля перемещаемся в поле выше текущего. Для формы/подформы на одну или определенное число строк вверх.
EmptyTrash
Без ограничений.
Удаляет документы из предопределенной папки ($Trash) и обновляет индекс вида.
ExchangeUnreadMark s
В текущем окне должны быть помечены две иконки реплик одной базы. Иконки не должны быть наложены друг на друга.
Помечает как прочтенные документы в одной реплике, если они помечены как прочтенные в другой реплике.
Execute
Нельзя применять в формулах диалогового окна. Параметры должны соответствовать формату операционной системы.
Запускает внешнее приложение операционной системы.
Стр. 264
Нельзя применять в формулах диалогового окна.
Выполняет команду File - Exit (Файл - Выход из Notes). Аналогична @Command( [FileExit] ) за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.
Web-приложениях при условии, что у базы установлено свойство "Allow Javascript on the Web" (использовать Javascript при создании Web-страниц). Не закрывает окно с рабочим пространством. Всегда выполняется последней в формуле.
случае если в окне присутствует не сохраненный отредактированный документ или элемент дизайна, выдает диалоговое окно с вопросом о сохранении изменений.
FileDatabaseACL
БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве. Пользователь должен иметь уровень доступа к базе выше, чем "Нет доступа" для чтения информации, и менеджера для изменения.
Выдает диалоговое окно со списком управления доступом (ACL) к текущей БД.
FileDatabaseCompact
БД должна быть открыта или ее иконка выделена в рабочем пространстве. Пользователь должен иметь уровень доступа Менеджера к БД.
Вызывает процесс сжатия неиспользованного пространства в БД, и одновременно, если дизайн БД подготовлен в старых версиях LN, конвертирует его в текущую версию.
FileDatebaseCopy
БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве. Пользователь должен иметь уровень доступа к базе не ниже читателя и иметь привилегию "Replicate or copy documents" (реплицировать или копировать документы).
Выдает диалоговое окно создания новой копии текущей БД.
Иконка БД должна быть выделена в рабочем пространстве, но сама база не должна быть открыта. Пользователь должен иметь уровень доступа Менеджера к базе. Всегда выполняется последней в формуле.
Физически удаляет файл текущей БД с диска. Если с БД в данный момент кто-то работает, то появится предупреждающее сообщение, что база будет удалена позднее.
FileDatabaseInfo
БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве. Пользователь должен иметь уровень доступа к БД Депозитор или выше.
Выдает окно свойств текущей БД.
FileDatabaseRemove
Иконки БД должны быть выделены в рабочем пространстве, но сами базы не должны быть открыты.
Удаляет иконки выделенных БД с рабочего пространства. Если базы открыты, то появится предупреждающее сообщение, что иконка базы будет удалена позднее.
FileDatabaseUseServ er
Иконка БД должна быть выделена в рабочем пространстве.
Согласно документации должна выдавать диалоговое окно выбора сервера (Switch Server) для переключения на другую реплику текущей БД. Из личного опыта в R 6.0.1 команда не работает.
FileExit
Нельзя применять в формулах диалогового окна. Всегда выполняется последней в формуле.
Выполняет команду File - Exit (Файл - Выход из Notes). В случае если в каком-либо окне присутствует не сохраненный отредактированный документ или элемент дизайна, выдает диалоговое окно с вопросом о сохранении изменений.
Документ должен быть открыт в режиме чтения/редактирования, или вид/папка должны быть открыты в текущем окне.
Используется для экспорта содержимого документа или вида/папки в файлы приложений не LN.
БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве. Пользователь должен иметь уровень доступа к БД Дизайнера или выше.
Выдает диалоговое окно создания полнотекстового индекса для текущей БД.
FileFullTextDelete
БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве. Пользователь должен иметь уровень доступа к БД Дизайнера или выше. У базы должен быть полнотекстовый индекс.
Удаляет у текущей полнотекстовый индекс.
FileFullTextInfo
БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве. Пользователь должен иметь уровень доступа к БД Депозитора или выше.
Выдает окно свойств текущей БД, отображая сразу закладку с информацией о полнотекстовом индексе.
FileFullTextUpdate
БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве. Пользователь должен иметь уровень доступа к БД Дизайнера или выше.
Используется для обновления полнотекстового индекса текущей БД.
FileImport
Документ должен быть открыт в режиме редактирования и курсор должен находиться в форматируемом поле, или вид/папка должны быть открыты в текущем окне.
Используется для импорта содержимого файла приложений не LN в документ или вид/папку LN.
создания новой реплики текущей БД. Если в текущем окне БД не открыта и не выбрана, то сначала выдается диалоговое окно для выбора текущей БД. FileOpenDatabase
Нельзя применять в формулах диалогового окна. Можно использовать в Web-приложениях при условии, что параметр "сервер" есть пустая строка, и если используется синтаксис с третьим параметром "вид", то следующей командой в формуле обязательно должна быть [OpenDocument].
Открывает указанную БД с использованием заданного вида или навигатора.
Нельзя применять в формулах диалогового окна. В Web-приложениях не работает.
Открывает БД, указанную ее идентификатором реплики, с использованием заданного вида или навигатора.
FilePageSetup
БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве.
Выдает диалоговое окно параметров страницы для печати (Page Setup), или для OS Macintosh диалоговое окно File Print Margin.
FilePrint
Вид/папка должны быть открыты, или документ должен находиться в режиме чтения/редактирования.
Печатает текущий/выбранные документы или содержимое вида/папки целиком.
Без ограничений. Команда не поддерживается на платформе Macintosh.
Документ или элементы дизайна (форма/подформа, вид/папка, навигатор и т.д.) должны находиться в режиме редактирования. Можно использовать в Web-приложениях при условии, что у БД установлено свойство "Web access: Use JavaScript when generating pages" (использовать Javascript при создании Web-страниц)
Выполняет команду File - Save (Файл - Сохранить).
FileSaveNewVersion
Документ должен находиться в режиме редактирования. В форме, по которой редактируется документ, должна быть включена поддержка версии.
Сохраняет редактируемый документ как новую версию.
FindFreeTimeDialog
Документ должен находиться в режиме редактирования. Все параметры должны быть заданы (необязательные могут быть пустой строкой). Время собрания не должно приходиться на полночь.
Выдает диалоговое окно поиска свободного времени для собрания (Free Time).
Folder
Документ должен быть открыт, либо документы выделены в виде. Документ(ы) должен быть уже сохранен(ы) на диске ( не новый документ). В R 6 всегда выполняется последней в формуле.
Копирует, или копирует с удалением документ(ы) в папку.
Вид/папка должны быть открыты, и указатель курсора должен находиться в области навигации.
"Cвертывает" в области навигации выделенную категорию вида/папки, содержащие вложенные документы или категории.
Замечание по поводу использования команд [FolderCollapse], [FolderExpand], [FolderExpandAll], [FolderExpandWithChildren]. Один из вариантов как добиться контекста, чтобы на момент выполнения курсор находился в области навигации. Перечисленные команды используются в формулах кнопок панели инструментов, курсор устанавливаем на нужную папку/вид и нажимаем правую кнопку мыши (при этом число пунктов основного меню должно значительно уменьшиться), затем «кликаем» по кнопке панели инструментов. FolderCustomize
Вид/папка открыты.
быть
Переводит дизайн вида/папки в режим редактирования.
FolderDocuments
Документ должен быть открыт, либо документы выделены в виде. Документ(ы) должен быть уже сохранен(ы) на диске ( не новый документ).
Копирует, или копирует с удаление документ(ы) в папку. Аналогична [Folder] за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.
FolderExpand
Вид/папка должны быть открыты, и указатель курсора должен находиться в области навигации.
"Раскрывает" в области навигации выделенную категорию вида/папки, содержащие вложенные документы или категории на один уровень вниз.
FolderExpandAll
Вид/папка должны быть открыты, и указатель курсора должен находиться в области навигации.
"Раскрывает" в области навигации все категории всех видов/папок, содержащих вложенные виды/папки.
FolderExpandWithChil dren
Вид/папка должны быть открыты, и указатель курсора должен находиться в области навигации.
"Раскрывает" в области навигации на все уровни выделенную категорию вида/папки, содержащие вложенные виды/папки.
FolderMove
Вид/папка открыты.
Выдает диалоговое окно для перемещения текущего вида/папки в другой вид/папку.
Вид/папка должны быть открыты в режиме редактирования. Указатель курсора должен находиться в области навигации.
Согласно документации, выдает окно свойств текущего вида/папки. Автору не удалось добиться от команды данного результата. Применение команды вызывало сообщение об ошибке.
FolderRename
Вид/папка должны быть открыты в клиенте Notes.
Выдает диалоговое окно для переименования текущего вида/папки.
FormActions
Форма/подформа или страница должны быть открыты в режиме редактирования.
Открывает/скрывает в Designer панель акций.
FormTestDocument
Форма или страница должны быть открыты в режиме редактирования. Для подформ не работает.
Создает по текущей форме документ или открывает страницу. Можно использовать для проверки формул полей, скриптов и т.д.
GoUpLevel
Документ должен быть открыт на чтение/редактирование.
Выводит вид, в котором текущий документ отображается. Может быть использована для открытия вида, в котором хранится ссылка на документ (DocLink), перед закрытием документассылки.
HelpAboutDatabase Стр. 262
БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве.
Открывает документ "О БД" для текущей БД.
HelpAboutNotes
Без ограничений.
Выводит модальное окно с информацией о текущей версии и релизе LN.
HelpUsingDatabase
БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве.
Документ или форма/подформа/страница должны находиться в режиме редактирования. Указатель курсора должен находиться в пределах гиперобъекта. Работает только для гиперобъектов, созданных с помощью команд пункта меню Create – HotSpot (Создание – Гиперобъект) за исключением Button (кнопок).
Удаляет гиперобъект, не удаляя сам объект (картинка, текст и т.д.)
HotSpotProperties
Документ или форма/подформа/страница должны находиться в режиме редактирования. Указатель курсора должен находиться в пределах гиперобъекта. Работает только для гиперобъектов, созданных с помощью команд пункта меню Create – HotSpot (Создание – Гиперобъект) за исключением Button (кнопок).
Выдает окно гиперобъекта.
InsertSubform
Форма должны находиться в режиме редактирования. Указатель курсора должен находиться в пределах бланка формы.
Выдает вставки Subform).
LayoutAddGraphic
Форма/подформа должны находиться в режиме редактирования. Указатель курсора должен находиться в пределах области размещения. В буфере обмена должно находиться вставляемое изображение.
Вставляет графическое изображение из буфера обмена в область размещения.
Форма/подформа должны находиться в режиме редактирования. Указатель курсора должен находиться в пределах области размещения.
Создает пустой ярлык (статичный текст) в области размещения.
LayoutElementBringT oFront
Форма/подформа должны находиться в режиме редактирования. Объект области размещения должен быть выделен.
Переносит выделенный объект области размещения на передний план. Т.е. он будет отображаться поверх других объектов, если они есть.
LayoutElementPropert ies
Форма/подформа должны находиться в режиме редактирования. Объект области размещения должен быть выделен.
Выдает окно свойств для выделенного объекта области размещения.
LayoutElementSendT oBack
Форма/подформа должны находиться в режиме редактирования. Объект области размещения должен быть выделен.
Переносит выделенный объект области размещения на задний план. Т.е. он будет отображаться под другими объектами, если они есть.
LayoutProperties
Форма/подформа должны находиться в режиме редактирования. Область размещения или ее объект должны быть выделены.
Выдает окно свойств области размещения.
MailAddress
Документ должен находиться в режиме редактирования. Указатель курсора должен находиться в пределах редактируемого поля. В документе должно быть хотя бы одно поле, используемое для адресации (SendTo, CopyTo, BlindCopyTo).
Выдает диалоговое окно определения почтового адреса (Mail Address). Пользователь может выбрать адресата и при нажатии Ok выбранная информация занесется в соответствующие адресные поля документа.
Нельзя применять в формулах диалогового окна.
Создает в почтовом ящике пользователя пустое почтовое сообщение по форме, используемой по умолчанию для почтовой базы (обычно Memo), и устанавливает фокус на него.
На документе в виде/папке должен стоять световой указатель или он должен быть выделен, или документ должен находиться в режиме редактирование/чтение.
Создает новое почтовое сообщение и помещает в него содержимое выбранных документов.
MailForwardAsAttach ment
Работает при установленной почтовой системе cc:Mail. На документе в виде/папке должен стоять световой указатель, или документ должен находиться в режиме редактирование/чтение.
Пересылает текущий документ, как cc:Mail присоединенный файл.
MailOpen
Без ограничений.
Выводит представление или навигатор почтовой базы пользователя, открывавшиеся последними в этой базе.
MailReqestCrossCert
Нельзя применять в формулах диалогового окна.
Используется для создания и отправки по почте защищенной копии ID-файла сертификатора.
MailReqestNewName
Нельзя применять в формулах диалогового окна.
Используется для создания пользователем запроса на изменение имени и отправки по почте этого запроса.
MailReqestNewPublic Key
Нельзя применять в формулах диалогового окна. ID-файл пользователя должен быть заверен иерархическим сертификатом.
Используется для создания пользователем запроса на изменение открытого ключа (Public Key) и отправки по почте этого запроса.
MaiScanUnread
Нельзя применять в формулах диалогового окна.
Проверяет почтовую базу пользователя на наличие не прочтенной почты. Если таковая имеется, открывает первый непрочтенный документ.
На документе в виде/папке должен стоять световой указатель или он должен быть выделен, или документ должен находиться в режиме редактирование/чтение. В документе должно быть поле, используемое для адресации (SendTo). Не работает в Webприложениях.
Используется для отправки по почте текущего или выбранных документов.
MailSendCertificateRe quest
Нельзя применять в формулах диалогового окна.
Используется для создания и отправки по почте защищенной копии ID-файла пользователя.
MailSendEncryptionK ey
Нельзя применять в формулах диалогового окна.
Используется для отправки по почте пользовательских ключей шифрования.
MailSendPublicKey
Нельзя применять в формулах диалогового окна.
Используется для отправки по почте открытого ключа (Public Key) пользователя.
Навигатор должен быть открыт в режиме редактирования, графическое изображение должно находиться в буфере обмена.OpenNavig atorНеобходимо, чтобы к почтовой базе, или к календарному виду был доступ у текущего пользователя,
Открывает определенную страницу текущей БД.БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве. Можно использовать в Web-приложениях при опущенном третьем параметре.Предназначе на для использования в акциях формы и видов. Можно использовать в Webприложениях.Открывает
Вставляет графическое изображение из буфера обмена в виде фонового изображения на задний план навигатора.Открывает определенный набор фреймов текущей БД.По действию аналогична команде [EditClear]. Помечает к удалению текущий (выделенные) документы.
либо через ACL, либо через профиль делегирования.Отк рывает OLEобъект для редактирования.Ви д/папка должны быть открыты, или документ должен находиться в режиме чтения/редактиров ания. В Webприложениях не работает.В виде/папке осуществляет навигацию на предыдущий непрочтенный в виде/папке документ для текущего. Работает снизу вверх, по кругу. Аналогична [NavigatePrevUnrea d] за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.NavPrevMai nВид/папка должны быть открыты, или документ должен находиться в режиме чтения/редактиров ания. В Webприложениях может использоваться
календарный вид почтовой базы указанного или выбираемого пользователя.Форма/под форма/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. OLEобъект должен быть выделен. Команда не поддерживается на платформах OS/2, UNIX и Macintosh.ObjectDisplayA sNavPrevUnreadВид/папк а должны быть открыты, или документ должен находиться в режиме чтения/редактирования. В Web-приложениях не работает.Вид/папка должны быть открыты, или документ должен находиться в режиме чтения/редактирования. В Web-приложениях может использоваться только в акциях формы.Работает в акциях видов и формы В Web-приложениях работает только в акциях видов, у которых установлено либо свойство Use applet in the browser (использовать апплет при отображении вида в Web), либо Allow selection of documents (разрешить выделение документов) в этом контексте помечает документ к удалению, но
только в акциях формы.В виде/папке осуществляет навигацию на предыдущий главный в дереве ответов документ по отношению к текущему. Аналогична [NavigatePrevMain] за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.Вид/папка должны быть открыты, или документ должен находиться в режиме чтения/редактиров ания. В Webприложениях не работает.NavNextS electedВид/папка должны быть открыты, или документ должен находиться в режиме чтения/редактиров ания. В Webприложениях не работает.В виде/папке осуществляет навигацию на следующий выбранный в виде/папке
документ для текущего. Работает сверху вниз, по кругу. Аналогична [NavigateNextSelect ed] за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.В виде/папке осуществляет навигацию на следующий документ. Аналогична [NavigateNext] за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.NavNextMai nВид/папка должны быть открыты, или документ должен находиться в режиме чтения/редактиров ания. В Webприложениях может использоваться только в акциях формы.В виде/папке осуществляет навигацию на следующий главный в дереве
ответов документ по отношению к текущему. Аналогична [NavigateNextMain] за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.NavNextВи д/папка должны быть открыты, или документ должен находиться в режиме чтения/редактиров ания. В Webприложениях может использоваться только в акциях формы.В виде/папке осуществляет навигацию на предыдущий главный в дереве ответов документ по отношению к текущему.Navigate PrevSelectedВид/па пка должны быть открыты, или документ должен находиться в режиме чтения/редактиров ания. Всегда выполняется последней в формуле. В Webприложениях не
работает.В виде/папке осуществляет навигацию на предыдущий выбранный в виде/папке документ для текущего. Работает снизу вверх, по кругу.NavigatePrev UnreadВид/папка должны быть открыты, или документ должен находиться в режиме чтения/редактиров ания. Всегда выполняется последней в формуле. В Webприложениях не работает.В виде/папке осуществляет навигацию на предыдущий непрочтенный в виде/папке документ для текущего. Работает снизу вверх, по кругу.NavigateToBa ckLinkДокумент должен находиться в режиме чтения/редактиров ания. В Webприложениях не работает.Возвращ ает фокус на документ, из которого по ссылке был открыт
текущий документ. Текущий документ и база, его содержащая, при этом закрываются.Navig atorPropertiesНавиг атор должен находиться в режиме редактирования.В ыдает окно свойств для навигатора.Navigat orTestНавигатор должен находиться в режиме редактирования.За пускает навигатор в тестовом режиме для проверки работы его компонент. Повторный вызов команды возвращает навигатор в режим редактирования.Пе реходит в документе к предыдущему значению, удовлетворяющем у результатам поиска. Работает справа налево, снизу вверх.NavigatePrev MainВид/папка должны быть открыты, или документ должен находиться в режиме чтения/редактиров
ания. Всегда выполняется последней в формуле. В Webприложениях может использоваться только в акциях формы.В виде/папке осуществляет навигацию на предыдущий документ.Navigate PrevHighlightДокум ент должен находиться в режиме чтения/редактиров ания. Поиск с использованием полнотекстового индекса должен быть выполнен. В Web-приложениях не работает.В виде/папке осуществляет навигацию на следующий непрочтенный в виде/папке документ для текущего. Работает сверху вниз, по кругу.NavigatePrev Вид/папка должны быть открыты, или документ должен находиться в режиме чтения/редактиров ания. Всегда выполняется последней в формуле. В Web-
приложениях может использоваться только в акциях формы.В виде/папке осуществляет навигацию на следующий выбранный в виде/папке документ по отношению к текущему. Работает сверху вниз, по кругу.NavigateNext UnreadВид/папка должны быть открыты, или документ должен находиться в режиме чтения/редактиров ания. Всегда выполняется последней в формуле. В Webприложениях не работает.В виде/папке осуществляет навигацию на следующий главный в дереве ответов документ по отношению к текущему.Navigate NextSelectedВид/па пка должны быть открыты, или документ должен находиться в режиме чтения/редактиров
ания. Всегда выполняется последней в формуле. В Webприложениях не работает.Переходи т в документе к следующему значению, удовлетворяющем у результатам поиска. Работает слева направо, сверху вниз.NavigateNext MainВид/папка должны быть открыты, или документ должен находиться в режиме чтения/редактиров ания. Всегда выполняется последней в формуле. В Webприложениях может использоваться только в акциях формы.В виде/папке осуществляет навигацию на следующий документ.Navigate NextHighlightДокум ент должен находиться в режиме чтения/редактиров ания. Поиск с использованием полнотекстового индекса должен быть выполнен. В Web-приложениях
не работает.Navigate NextВид/папка должны быть открыты, или документ должен находиться в режиме чтения/редактиров ания. Всегда выполняется последней в формуле. В Webприложениях может использоваться только в акциях формы.MoveToTra sh Стр. 261
Стр. 247 PasteBitmapAsObject Открывает вид/папку для текущей базы данных.PasteBitmapA sBackgroundБаза данных должна быть открыта или ее иконка должна быть выделена в рабочем пространстве. Можно использовать в Webприложениях.OpenVi ewБД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве. Предназначена для использования в акциях формы и видов. Можно использовать в Webприложениях.Открыв ает указанный навигатор в текущей БД.OpenPageСправо чная БД должна быть одна на сервер или в локальной директории. Первый столбец указанного вида должен быть сортировочным. Можно использовать в Web-приложениях в формулах кнопок.Открывает определенный вид, указанной справочной БД, и
Навигатор должен быть открыт в режиме редактирования, графическое изображение должно находиться в буфере обмена.
Вставляет графическое изображение из буфера обмена как гиперобъект навигатора.
становится на нужный документ.OpenHelpD ocumentВид/папка БД должны быть открыты в текущем окне. В открытом виде/папке должен присутствовать открываемый документ.Открывает документ на чтение/редактирован ие по его универсальному идентификатору.Ope nFramesetOpenDocu mentВыдает окно свойств для OLEобъекта.OpenCalenda rObjectPropertiesObje ctOpenФорма/подфор ма/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. OLE-объект должен быть выделен. Команда не поддерживается на платформах OS/2, UNIX и Macintosh.Форма/под форма/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования (для некоторых OLEобъектов достаточно режима чтения). OLEобъект должен быть выделен. Команда не
поддерживается на платформах OS/2, UNIX и Macintosh.Выдает окно свойств OLEобъекта.В виде/папке осуществляет навигацию на предыдущий выбранный в виде/папке документ для текущего. Работает снизу вверх, по кругу. Аналогична [NavigatePrevSelected ] за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.NavPrevSelect edВ виде/папке осуществляет навигацию на предыдущий документ. Аналогична [NavigatePrev] за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.NavPrevВ виде/папке осуществляет навигацию на следующий непрочтенный в виде/папке документ для текущего. Работает сверху вниз, по кругу. Аналогична [NavigateNextUnread] за тем лишь
исключением, что выполняется немедленно в формуле, а не после всех остальных команд.NavNextUnrea d
Стр. 260
Стр. 261 Стр. 262 Стр. 261 Стр. 258
PictureProperties
Документ или элемент дизайна должны быть открыты на редактирование, графическое изображение должно быть выбрано.
Выдает окно свойств графического изображения.
PublishDatabase
БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве, причем только одна. В рабочем пространстве должна присутствовать как минимум одна библиотечная БД.
Выдает диалоговое окно размещение информации о текущей БД в библиотечной БД.
Работает в формулах акций форм и видов и гиперобъектах. Может использоваться в Webприложениях.
"Перезагружает" или обновляет содержимое указанного фрейма.
Вид/папка должны быть открыты, или документ должен находиться в режиме чтения/редактирования.
Пересчитывает только формулы видимости объектов в документе или виде.
Работает формулах окна.
только в диалогового
Передает изменения из одноименных полей диалогового окна в основной документ.
Работает в формулах акций форм и кнопок. В акциях видов для клиента Notes команда работает только в случае, если вид входит в набор фреймов. Может использоваться в Webприложениях.
"Перезагружает" или обновляет содержимое текущего окна LN. Для набора фреймов обновляет содержимое всех входящих в него фреймов. Аналогична [ReloadWindow] за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.
Работает в формулах акций форм и кнопок. В акциях видов для клиента Notes команда работает только в случае, если вид входит в набор фреймов. В R 6 всегда выполняется последней в формуле. Может использоваться в Web-приложениях.
"Перезагружает" или обновляет содержимое текущего окна LN. Для набора фреймов обновляет содержимое всех входящих в него фреймов.
Работает только при открытой странице удаленного отладчика (File -> Tools – Remote
Выдает диалоговое окно для определения местоположения удаленно отлаживаемого агента.
В папке документ(ы) должны быть выделены (помечены или на документе стоит световой маркер) или документ должен находиться в режиме чтения/редактирования.
Удаляет текущий документ(ы) из текущей папки.
RenameDatabase
Иконка БД должна находиться в рабочем пространстве. БД не должна быть открыта.
Для указанной БД переключает ее иконку на реплику этой базы на другом сервере.
Replicator
Нельзя применять в формулах диалогового окна.
Отображает "Репликатор" пространства.
ReplicatorReplicateHi gh
Нельзя применять в формулах диалогового окна.
Начинает процесс репликации для баз с высоким приоритетом в параметрах репликации.
ReplicatorReplicateNe xt
Процесс реплицирования должен идти.
Заканчивает реплицирование текущей БД и переходит к реплицированию следующей базы согласно установкам. Может привести к частичной репликации текущей базы.
ReplicatorReplicateSe lected
Иконка БД должна быть выделена на странице "Репликатор".
Начинает процесс репликации выделенной БД.
ReplicatorReplicateWi thServer
Нельзя применять в формулах диалогового окна.
Выдает диалоговое окно определения сервера для репликации и начинает процесс репликации для выбранного сервера.
ReplicatorSendMail
Нельзя применять в формулах диалогового окна.
Отправляет исходящую почту на почтовый сервер.
ReplicatorSendReceiv eMail
Нельзя применять в формулах диалогового окна.
Начинает процесс репликации между почтовым сервером и локальной почтовой БД пользователя.
Начинает/продолжает процесс репликации для выделенных баз.
ReplicatorStop
Нельзя применять в формулах диалогового окна.
Останавливает процесс репликации. Может привести к частичной репликации текущей базы.
RunAgent
БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве.
Выполняет в текущей БД указанного агента. Аналогична [ToolsRunMacro] за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.
RunScheduledAgents
БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве.
Выполняет в текущей БД все фоновые агенты, независимо от времени их запуска и статуса Enable/Disable. Аналогична [ToolsRunBackgroundMacros] за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.
SectionCollapse
Документ должен быть открыт в режиме чтение/редактирование, или форма/подформа/страница должны быть открыты в режиме редактирования. Секция должна быть выбрана.
Свертывает/разворачивает текущую секцию в документе или форме/подформе/странице.
SectionCollapseAll
Документ должен быть открыт в режиме чтение/редактирование, или форма/подформа/страница должны быть открыты в режиме редактирования.
Свертывает все секции в документе или форме/подформе/странице.
Форма/подформа должны быть открыты в режиме редактирования, секция с управляемым доступом должна быть выбрана, и поле, хранящее имена редакторов секции (Section field name (for R3 compatability only) должно иметь тип редактируемый (Editable).
Выдает диалоговое окно определения редакторов текущей секции.
SectionExpand
Документ должен быть открыт в режиме чтение/редактирование, или форма/подформа/страница должны быть открыты в режиме редактирования. Секция должна быть выбрана.
Разворачивает/свертывает текущую секцию в документе или форме/подформе/странице.
SectionExpandAll
Документ должен быть открыт в режиме чтение/редактирование, или форма/подформа/страница должны быть открыты в режиме редактирования.
Разворачивает все секции в документе или форме/подформе/странице.
SectionProperties
Документ должен быть открыт в режиме редактирования, и секция в форматируемом поле должна быть выбрана, или форма/подформа/страница должны быть открыты в режиме редактирования и секция должна быть выбрана.
Документ должен быть открыт в режиме редактирования, и секция в форматируемом поле должна быть выбрана, или форма/подформа/страница должны быть открыты в режиме редактирования и секция должна быть выбрана.
Удаляет текущую секцию как объект, возвращая документ или форму/подформу/страницу к состоянию до создания секции.
SetCurrentLocation
Без ограничений.
Выдает диалоговое окно определения места вызова.
ShowHideLinkPreview
Документ должен быть открыт в режиме чтение/редактирование.
Используется для отображения/скрытия панели предварительного просмотра, для документов, связанных с текущим по ссылке.
ShowHideParentPrevi ew
Документ должен быть открыт в режиме чтение/редактирование.
Используется для отображения/скрытия панели предварительного просмотра для родительского, по отношению к текущему документа.
ShowHidePreviewPan e
В виде/папке на документе должен стоять световой маркер.
Используется для отображения/скрытия панели предварительного просмотра для текущего в виде/папке документа.
ShowProperties
Без ограничений.
Выдает окно свойств для выбранного в текущем окне объекта LN (БД, документа, секции и т.д.).
SmartIconFloating
Без ограничений.
В документации сказано, что в 6-й версии команда не поддерживается. В 5-й версии разрешает перемещение панели инструментов по текущему экрану. В 6-й версии не выполняет никаких
В документации сказано, что в 6-й версии команда не поддерживается. В 5-й версии переключала на следующий набор кнопок панели инструментов. В 6-й версии не выполняет никаких действий.
StyleCircleKey
Документ или форма/подформа/страница должны быть открыты в режиме редактирования. Хотя бы один стиль параграфа для объекта должен существовать.
Циклически переключает для документа или формы/подформы/страницы существующие стили параграфов из имеющихся.
SwitchForm
Документ должен быть открыт в режиме чтения/редактирования, или он должен находиться в панели предварительного просмотра, и фокус должен находиться в этой панели. Команда не работает если в виде/папке, из которого был открыт документ, определена формула формы.
Для текущего документа переключает его отображение по новой указанной форме. Аналогична [ViewSwitchForm] за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.
Вид/папка должны быть открыты в текущем окне. Может использоваться в Web-приложениях с обязательным указанием второго параметра.
Осуществляет переход в указанный вид/папку текущей БД. Аналогична [ViewChange] за тем лишь исключением, что выполняется немедленно в формуле, а не после всех остальных команд.
должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
центру абзаца.
TextAlignFull
Форма/подформа/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
Форматирует текущий текст по ширине абзаца.
TextAlignLeft
Форма/подформа/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
Форматирует текущий текст по левому краю абзаца.
TextAlignNone
Форма/подформа/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
правому краю абзаца.
TextBold
Документ или элемент дизайна должен находиться в режиме редактирования. Для документа курсор должен быть в форматируемом поле, для элемента дизайна в рамках объекта допускающего менять параметры шрифта.
Устанавливает/снимает для выделенного или текущего текста свойство шрифта "полужирный".
TextBullet
Форма/подформа/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
Устанавливает/снимает для выделенного или текущего текста форматирование типа маркированный список.
TextCycleSpacing
Форма/подформа/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
Устанавливает для выделенного или текущего текста величину межстрочного интервала (одинарный, полуторный, двойной). Работает по кругу.
должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
выделенного или текущего текста свойство размер шрифта на следующий по отношению к текущему размеру.
TextFont
Форма/подформа/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
Выдает окно свойств для выделенного или текущего текста.
TextItalic
Документ или элемент дизайна должен находиться в режиме редактирования. Для документа курсор должен быть в форматируемом поле, для элемента дизайна в рамках объекта допускающего менять параметры шрифта.
Устанавливает/снимает для выделенного или текущего текста свойство шрифта "курсив".
TextNormal
Форма/подформа/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
Устанавливает/снимает для выделенного или текущего текста свойство шрифта "обычный".
должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
выделенного или текущего текста форматирование типа нумерованный список.
TextOutdent
Форма/подформа/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
Форматирует текущий или выделенный текст, уменьшая его левый отступ.
TextParagraph
Форма/подформа/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
Выдает окно свойств текущего или выделенного текста, становясь сразу на закладку с параметрами форматирования.
TextParagraphStyles
Форма/подформа/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
Выдает окно свойств текущего или выделенного текста, становясь сразу на закладку с параметрами стилей параграфа.
Форма/подформа/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
Устанавливает/снимает для текущего текста свойство шрифта типа "фломастер".
TextReduceFont
Форма/подформа/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
Устанавливает для выделенного или текущего текста свойство "размер шрифта" на предыдущий по отношению к текущему размеру.
TextSetFontColor
Форма/подформа/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
Устанавливает для выделенного или текущего текста свойство "цвет шрифта" на указанный.
TextSetFontFace
Форма/подформа/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
Устанавливает для выделенного или текущего текста свойство "имя шрифта" на указанное.
режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
текста свойство "размер шрифта" на указанный.
TextSpacingDouble
Форма/подформа/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
Устанавливает для выделенного или текущего текста величину двойного межстрочного интервала.
TextSpacingOneAndA Half
Форма/подформа/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
Устанавливает для выделенного или текущего текста величину полуторного межстрочного интервала.
TextSpacingSingle
Форма/подформа/страница должны находиться в режиме редактирования, или документ должен находиться в режиме редактирования. Курсор должен быть для документа в форматируемом поле, для формы/подформы/страниц ы в бланке формы.
Устанавливает для выделенного или текущего текста величину одинарного межстрочного интервала.
Документ или элемент дизайна должен находиться в режиме редактирования. Для документа курсор должен быть в форматируемом поле, для элемента дизайна в рамках объекта допускающего менять параметры шрифта.
Устанавливает/снимает для выделенного или текущего текста свойство шрифта "подчеркнутый".
ToolsCall
Порты должны быть соответствующим образом настроены.
Выдает диалоговое подключение к серверу.
ToolsCategories
Документ должен быть открыт в режиме чтение/редактирование, или в текущем окне должен быть открыт вид/папка и документы должны быть выделены или на документе стоит световой маркер. Документ(ы) должны иметь поле "Categories", и вид/папка должны иметь первый категоризированный столбец, в формуле которого присутствует поле "Categories".
Категоризирует текущий выбранные документы.
ToolsHangUp
Порты должны быть соответствующим образом настроены.
Выдает диалоговое отключение от сервера.
ToolsMarkAllRead
Документ должен быть открыт в режиме чтение/редактирование, или в текущем окне должен быть открыт вид/папка.
Помечает все документы в БД как прочтенные.
Документ должен быть открыт в режиме чтение/редактирование, или в текущем окне должен
В текущем окне должен быть открыт вид/папка, и документы должны быть помечены, или на документе стоит световой маркер.
Помечает текущий или выбранные документы в БД как прочтенные.
В текущем окне должен быть открыт вид/папка, и документы должны быть помечены, или на документе стоит световой маркер, или документ должен быть открыт в режиме чтения/редактирование.
Помечает текущий или выбранные документы в БД как непрочтенные.
В текущем окне должен быть открыт вид/папка.
Перевычисляет все формулы во всех документах текущего вида/папки и сохраняет изменения.
В текущем окне должен быть открыт вид/папка, и документы должны быть помечены, или на документе стоит световой маркер.
Перевычисляет все формулы в текущем или выделенных документах текущего вида/папки и сохраняет изменения.
ToolsReplicate
БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве.
Используется для реплицирования текущей БД.
ToolsRunBackground Macros
БД должна быть открыта или ее иконка должна быть выделена в рабочем пространстве. Всегда выполняется последней в формуле.
Выполняет в текущей БД все фоновые агенты, независимо от времени их запуска и статуса Enable/Disable. В дальнейшем фоновые агенты будут выполняться по расписанию.
ToolsRunMacro
БД должна быть открыта
Выполняет
Стр. 255
ToolsMarkSelectedU nread Стр. 256
ToolsRefreshAllDoc s Стр. 268 ToolsRefreshSelecte dDocs Стр. 268
или ее иконка должна быть выделена в рабочем пространстве. Всегда выполняется последней в формуле, за исключением Web-приложений, где все @-команды выполняются последовательно.
указанного агента.
ToolsScanUnreadCho ose
Нельзя применять в формулах диалогового окна.
Выдает диалоговое окно определения имен БД, в которых необходимо осуществить поиск непрочтенных документов.
ToolsScanUnreadPref erred
Нельзя применять в формулах диалогового окна.
Выдает диалоговое окно результатов поиска непрочтенных документов в базах данных, определенных командой [ToolsScanUnreadChoose].
ToolsScanUnreadSele cted
Нельзя применять в формулах диалогового окна.
При открытой (или выбранной в рабочем пространстве одной БД) открывает первый непрочтенный документ текущей БД. Если в рабочем пространстве выбрано несколько БД, то выдает диалоговое окно (как по команде [ToolsScanUnreadPreferred]) для выбранных БД. Если не одна БД в рабочем пространстве не выбрана, то выдает диалоговое окно (как по команде [ToolsScanUnreadPreferred]) для выбранных БД. В указанном диалоге пользователь может ограничить набор БД для сканирования.
ToolsSetupLocation
Нельзя применять в формулах диалогового окна.
Открывает на редактирование документ, соответствующий текущему месту вызова, из личной адресной книги.
панель предварительного показа - в правой части экрана.
Устанавливает для всех видов/папок в текущей БД следующий порядок отображения панелей: •
панель навигации - в левой верхней части экрана;
•
панель показа - в правой верхней части экрана;
•
панель предварительного показа - в нижней части экрана.
ViewCertify
Должен быть открыт вид "Пользователь" ("Person") общей адресной книги, и в виде выбран один или несколько документов.
Используется ресертификации пользователей.
ViewChange
В R 6 всегда выполняется последней в формуле. Вид/папка должны быть открыты в текущем окне. Можно использовать в Web-приложениях при условии задания второго параметра.
Осуществляет переход в указанный вид/папку текущей БД.
Вид/папка должны быть открыты в текущем окне. Можно использовать в Web-приложениях.
Для текущей строки-категории "свертывает" все категории и документы ниже ее.
Вид/папка должны быть открыты в текущем окне. Можно использовать в Web-приложениях.
"Свертывает" все категории и документы в текущем виде/папке.
Вид/папка должны быть открыты в текущем окне. Можно использовать в
Для текущей строки-категории "раскрывает" один уровень категории или документов ниже
Вид/папка должны быть открыты в текущем окне. Можно использовать в Web-приложениях.
"Раскрывает" все категории и документы в текущем виде/папке.
Вид/папка должны быть открыты в текущем окне. Можно использовать в Web-приложениях.
Для текущей строки-категории "раскрывает" все уровни категории или документов ниже ее.
ViewHorizScrollBar
Вид/папка должны быть открыты в текущем окне. Указатель курсора должен находиться в панели показа. Команда не поддерживается на платформах OS/2 и Macintosh.
Отображает в виде/папке горизонтальную полосу «прокрутки». Из личного опыта автора команда в версии R 6.0.1 не работает.
ViewMoveName
Должен быть открыт вид "Пользователь" ("Person") Domino Directory, и в виде выбран один или несколько документов.
Используется для ресертификации выбранных пользователей в новой организационной единице.
ViewNavigatorsFolder s
Вид/папка должны быть открыты в текущем окне.
Отображает навигации стандартный умолчанию.
ViewNavigatorsNone
Вид/папка должны быть открыты в текущем окне.
Скрывает панель навигации в текущем виде/папке.
ViewRefreshFields
Документ должен быть открыт в режиме редактирования, или вид/папка должны быть открыты в текущем окне. Можно использовать в Web-приложениях.
Осуществляет пересчет всех формул полей для текущего документа, или обновляет содержимое вида/папки.
ViewRefreshUnread
В текущем окне должна быть открыта страница рабочего пространства.
Обновляет значение числа непрочтенных документов в иконках БД на текущем листе рабочего пространства.
ViewRenamePerson
Должен быть открыт вид "Пользователь" ("Person")
Используется для изменения общего или иерархического
В текущем окне должна быть открыта страница рабочего пространства.
Отображает/скрывает серверов на иконках рабочем пространстве.
ViewShowUnread
В текущем окне должна быть открыта страница рабочего пространства.
Отображает/скрывает число непрочтенных документов на иконках БД в рабочем пространстве.
ViewSwitchForm
Документ должен быть открыт в режиме чтения/редактирования, или он должен находиться в панели предварительного просмотра, и фокус должен находиться в этой панели. Всегда выполняется последней в формуле. Команда не работает если в виде/папке, из которого был открыт документ, определена формула формы.
Для текущего документа переключает его отображение по новой указанной форме.
WindowCascade
Нельзя применять в формулах диалогового окна. Не работает в Webприложениях.
Отображает все открытые окна Notes/Domino каскадным стилем, т.е. уменьшенным размером окон и “лесенкой”. Обратите внимание, что под окнами здесь подразумеваются окна Notes/Domino, присутствующие в панели задач операционной системы, а не открытые в рамках одного приложения, например, Domino Designer.
WindowMaximize
Нельзя применять в формулах диалогового окна. Не работает в Webприложениях.
Раскрывает на весь размер главного окна активное окно Notes/Domino.
WindowMaximizeAll
Нельзя применять в формулах диалогового окна. Не работает в Webприложениях.
Раскрывает на весь размер все открытые окна Notes/Domino.
WindowMinimize
Нельзя применять в формулах диалогового окна. Не работает в Web-
Нельзя применять в формулах диалогового окна. Не работает в Webприложениях.
Свертывает все открытые окна Notes/Domino.
WindowNext
Нельзя применять в формулах диалогового окна. Не работает в Webприложениях.
Делает активным окно, следующим за текущим, т.е. лежащим правее в панели задач операционной системы.
WindowRestore
Нельзя применять в формулах диалогового окна. Работает только для окон, у которых изменялись размеры после выполнения команд максимизации/минимизаци и. На окна, размеры которых были изменены с помощью [WindowCascade] или [WindowTile] влияние не оказывает. Не работает в Web-приложениях.
Возвращает активное окно к размерам до применения максимизации/минимизации.
WindowTile
Нельзя применять в формулах диалогового окна. Не работает в Webприложениях.
Размещает все окна Notes/Domino в рамках главного окна.
WindowWorkspace
Нельзя применять в формулах диалогового окна.
Переключается или открывает окно рабочего пространства.
WorkspaceProperties
В текущем окне должна быть открыта страница рабочего пространства.
Выдает окно свойств текущей страницы рабочего пространства.
WorkspaceStackRepli caIcons
В текущем окне должна быть открыта страница рабочего пространства.
10 Разработка тестовых приложений Разработку тестового приложения начнем с простейшего варианта. Создадим форму и реализуем функции: создания нового, редактирование, удаление и печать документа. Указанную функциональность будем реализовать через акции вида и формы.
10.1 Простые операции с документами 10.1.1 Создание нового документа по форме Для создания нового документа воспользуемся @-командой Compose (см. стр. 239). В итоге акция вида будет иметь формулу: @Command([Compose];"";"Country"). Для сохранения нового документа предусмотрим акцию формы с действиями: сохранение (см. стр. 244) и закрытие текущего документа (см. стр. 245). Код акции будет следующим: @Command([FileSave]); @Command([FileCloseWindow])
Перед сохранением формы следует не забыть «скрыть» акцию в режиме чтения документа (на второй закладке свойств акции). Продемонстрировать форму и вид Country.
10.1.2 Редактирование текущего документа Для редактирования документа можно воспользоваться системной акцией вида. Однако, системные акции не транслируются в Web. Для реализации редактирования текущего документа можно воспользоваться одной из следующих команд [EditDocument] (см. стр. 242) или [OpenDocument] (см. стр. 258). В обоих случаях акции «напрямую» не работают в Web-приложениях на уровне вида, даже если вид транслируется в Web апплетом. Существуют и другие недостатки/достоинства этих команд по отношению друг к другу (см. их описание). Для редактирования на уровне открытого документа можно использовать команду [EditDocument]. Следует не забыть «скрыть» акцию формы в режиме редактирования. Для Web-приложений надо использовать эту команду без параметров.
10.1.3 Удаление документа Для пометки документа на удаление можно использовать команду [EditClear] (см. стр. 246). В клиенте Notes эта команда работает на уровне вида и формы. В Web-приложениях команда работает только на уровне открытого документа, и сразу удаляет (т.е. не помечает к удалению) текущий документ. Кроме [EditClear] для удаления документов могут быть использованы команды [MoveToTrash] (см. стр. 247) и [EmptyTrash] (см. стр. 248). В частности для немедленного удаления документа(ов) на уровне вида в клиенте Notes может быть использованы следующие последовательности команд: Вариант 1 (исправить в книге пример со страницы 248). @Command( [Clear] ); @Command( [EmptyTrash] )
Вариант 2. @Command([MoveToTrash]); @Command([EmptyTrash])
В Web-приложениях для видов с установленными свойствами: Use applet in the browser (использовать апплет при отображении вида в Web), либо Allow selection of documents (разрешить выделение документов) можно использовать команды [MoveToTrash] и [EmptyTrash]. Единственно не допускается их совместное использование в рамках одной формулы.
10.1.4 Печать документа и вида Для печати в рамках клиента Notes используется команда [FilePrint] (см. стр. 249). Для печати содержимого вида можно использовать следующую команду в акции вида: @Command( [FilePrint]; ""; ""; ""; ""; "printview" )
Для печати открытого документа можно использовать следующую команду в акции формы: @Command( [FilePrint]; "" );
При печати открытого документа можно переключить отображение его контента на другую форму, распечатать его по этой форме, а затем обратно переключиться на отображение по старой форме. В этом случае команда акции вида может выглядеть следующим образом: @Command( [SwitchForm] ; "новая_форма" );
Для корректной работы такой формулы, форма не должна быть сохранена в документе и вид/папка, из которого осуществлялось открытие документа, не должна иметь формулы формы.
10.1.5 Упражнение В рамках этого упражнения слушатели должны самостоятельно реализовать рассмотренные в этом параграфе, а именно создание нового, редактирование, удаление и печать документа и вида.
10.2 Формулы полей У объекта поле в Domino/Notes R 6, в зависимости от типа поля, может присутствовать от одного до четырех подобъектов, значение которых определяется на языке @-формул. Это:
• • • • • •
Default value formula (значение поля по умолчанию). Результат должен быть пригоден для сохранения в данном поле; Input translation formula (формула преобразования значения поля). Результат должен быть пригоден для сохранения в данном поле; Input validation formula (формула проверки значения поля). Результат истина или ложь; Input enabled formula (формула разрешения ввода значения в поле). Результат - истина или ложь; Computed field formula (формула вычисляемого поля). Результат должен быть пригоден для сохранения в данном поле; Keyword field formula (формула ключевых слов). Результат – значение или список значений, пригодный для сохранения в данном поле.
Начнем рассмотрение с Input validation formula. Запретим сохранять документ с некоторым пустым полем. Данную функциональность можно реализовать с использованием функций @Failure (см. стр. 233), @Success (см. стр. 234) и @If (см. стр. 38). Продемонстрировать форму Country. @If(Country=""; @Failure("Поле Country не должно быть пустым"); @Success)
Демонстрация на примере формы DeadLine. Формула по умолчанию можно использовать для задания начального значения некоторых полей. Например, для поля, в которое требуется поместить текущую на момент создания документа дату плюс два дня, можно определить следующую формулу по умолчанию: @Adjust(@Today;0;0;2;0;0;0)
Формула преобразования введенного значения обеспечивает функциональность по изменению значений текущего или иных полей документа. Например, @SetField("Dline";@Today); @Trim(@ThisValue)
Демонстрация на примере формы Chair. В рамках формул полей в 6-й версии Notes/Domino можно использовать новые команды: @ThisValue (см. стр. 125), @ThisName (см. стр. 125) и @GetField (см. стр. 125). Эти функции позволяет писать переносимый код, очень часто без явного указания в формуле конкретных имен полей. Модифицируем пример со стульями из примера к функции @GetField. В нашем случае формула вычисляемых полей общей цены будет следующая: chairName := @Left(@ThisName; "_"); @IfError(@ToNumber(@GetField(chairName + "_Quantity")) @IfError(@ToNumber(@GetField(chairName + "_Price"));0)
;
0)
*
Демонстрация на примере формы DeadLine. Формула разрешения ввода значения в поле применима только к полям типа NativeOS style. Если эта формула возвращает значение истина (1), то поле доступно для ввода в клиенте Notes, в противном случае поле недоступно для ввода. Например, @IsMember("[admin]";@UserRoles)
Формулы ключевых слов будут рассмотрены в следующем параграфе.
10.2.1 Упражнение В форме Страна реализовать запрет ввода в поле Country пустого значения.
10.3 Получения доступа к данным, находящимся вне текущего документа До настоящего момента мы получали данные только из текущего документа. Существуют возможности получения доступа к другим данным в рамках языка @-формул. Рассмотрим некоторые из них.
10.3.1 Доступ к данным вида Для получения в виде списка значений столбца вида используется функция @DbColumn (см. стр. 150), а для поиска информации по ключу из колонки вида - @DbLookup (см. стр. 155). Внимательно рассмотреть синтаксис и параметры функций. Реализуем следующую функциональность: ввод документов по странам, городам и отелям. В рамках документа «город» необходимо осуществить выбор страны из списка. В документе «отель» после выбора из списка стран, поле «город» тоже должно выбираться из списка и соответствовать выбранному значению страны. В этом случае значение формулы ключевых слов поля Country в формах «город» и «отель» может иметь вид: "... страна "Country"; 1) ,
не
выбрана
..."
:
@DbColumn("":"NoCache";
"";
а формула поля Town в форме «отель»: @If(@IsMember(Country ; "... страна не выбрана ..." : ""); "... выберите сначала страну ..."; @IsError(@DbLookup("" : "NoCache"; ""; "Town"; Country; 2)); "... в данной стране не введено ни одного города ..."; "... город не выбран ..." : @DbLookup("" : "NoCache"; ""; "Town"; Country; 2))
Виды «Country» и «Town» должны присутствовать в БД и иметь соответствующие настройки. Для корректной работы примера у свойств полей типа список требуется поднять флаги Refresh fields on keyword change (для Country) и Refresh choices on document refresh (для Town). Продемострировать форму Letter.
10.3.2 Наследование Демонстрация на примере форм Inherit, ForInherit и вида Inherit. Поля формы могут наследовать данные из текущего документа в момент создания нового документа. Включение режима наследования осуществляется в свойствах формы на закладке Defaults в секции On Create. В клиенте Notes наследование можно выполнять как на уровне вида, так и на уровне открытого документа. В Web-приложениях наследование работает только на уровне
открытого документа, даже в случае когда вид отображается с помощью апплета. В качестве приемника наследуемых значений лучше всего использовать редактируемые и вычисляемые при создании поля.
10.3.3 Упражнение Реализовать пример Страна – Город – Отель. В форме «отель» реализовать наследование полей «страна» и «город».
10.3.4 Работа с профильными документами Демонстрация на примере БД HOTEL. Для работы с профильными документами (см. раздел 6.19) на языке @-формул можно использовать две функции: @GetProfileField (см. стр. 192), @SetProfileField (см. стр. 192) и одну из двух команд: [EditProfile] (см. стр. 264) или [EditProfileDocument] (см. стр. 265).
10.3.5 Упражнение Видоизменить пример Страна – Город – Отель следующим образом. Информация о странах и городах находится в одной БД, а об отелях в другой БД. В этой же БД для обеспечения доступа к информации Страна – Город в профильном документе хранятся путь к БД с информацией о Стране – Городе.
10.3.6 Работа с переменными окружения Демонстрация на примере БД HOTEL. Для работы с переменными окружения можно использовать функции @Environment (см. стр.111) и @SetEnvironment (см. стр. 113).
10.3.7 Упражнение Видоизменить предыдущий пример так, чтобы информация о местонахождении БД со странами и городами хранилась в переменных окружения. Объяснить недостатки этого метода.
10.4 Диалог с пользователем 10.4.1 Функция @Prompt Демонстрация на примере форм Prompt и Hotel. Рассмотреть синтаксис и пример с функцией @Prompt (см. стр. 194). Объяснить синтаксис и применение
команд [NavNext] и [NavPrev]. С помощью этой функции в форме Отель реализовать акцию, осуществляющую переход на предыдущий/следующий документ. Формула акции может быть следующая: rez := @Prompt([OkCancelCombo]:[NoSort]; перейти?"; "вниз"; "вверх":"вниз");
10.4.2 Функция @DialogBox Демонстрация на примере формы HotelDialogBox. Рассмотреть синтаксис и пример с функцией @DialogBox (см. стр. 210). Объяснить синтаксис и применение функции @Eval (см. стр. 42) и команды [RefreshParentNote] (см. стр. 267). С помощью функции @DialogBox в форме Отель реализовать две кнопки, которые осуществляют соответственно выбор в отдельных формах Страны и Города.
10.4.3 Функция @PickList Демонстрация на примере формы HotelPikList. Рассмотреть синтаксис и пример с функцией @PickList (см. стр. 205). С помощью функции @PickList в форме Отель реализовать кнопку, которая вызывает диалог и заполнение полей Страны и Города.
10.5 Формулы скрытия информации В рамках Domino R6 может применяться формулы, которые осуществляют скрытие информации. Это формулы скрытия: абзаца формы/подформы/страницы, акций форм/видов, строк аутлайна столбцов вида. Во всех случаях формулы должны возвращать 1 (Истина) для скрытия информации, и 0 (Ложь) – в противном случае. Следует обратить внимание, что формулы скрытия информации не являются дополнительным уровнем безопасности, т.к. к «скрытой» информации можно добраться другим путем (показать окно свойств документа).
10.5.1 Формулы скрытия абзаца формы Демонстрация на примере формы Hide и Hotel. Как видно из названия формула может быть применена только к абзацу текста, т.е., нельзя «скрыть» одно слово в строке. Для решения этой проблемы можно примерить ячейки таблицы с невидимыми границами (см. форму Hotel). В рамках формы можно в формулах скрытия использовать значения полей. Формы скрытия автоматически не перевычисляются при изменении внешних условий (показать форму Hide). Для принудительного перевычисления формул скрытия можно применять обновление документа (F9), его аналог на языке @-формул - [ViewRefreshFields]
(см. стр.266) или [RefreshHideFormulas] (см. стр. 267). Последняя команда предпочтительней. Кроме собственно формулы скрытия абзаца можно скрывать последний в зависимости от режима документа и типа клиента.
10.5.2 Формулы скрытия акций формы и вида Демонстрация на примере формы и вида Hotel (акции English). В формулах скрытия акций формы также можно использовать значения полей. Для акций вида это возможно только при условии поднятия в свойствах вида флага Evaluate actions for every document change.
10.5.3 Формулы скрытия столбцов вида и строк аутлайна Демонстрация на примере формы Out, аутлайна Out1 (строка Hotel) и вида Hotel (последний столбец). Контекст этих формул не очень хорошо документирован. Для формулы скрытия столбца вида она выполняется единократно при открытия вида и не перевычисляется при использовании команд [ViewRefreshFields] и [RefreshHideFormulas]. Для строк аутлайна перевычисление их формул скрытия может быть произведено по команде [ViewRefreshFields] (но не [RefreshHideFormulas]).
10.5.4 Упражнение В форме Отель создать поле «Название отеля по латински». Это поле должно скрываться, если в поле Страна введено значение «Россия». Создать акцию формы, выводящую значение поля «Название отеля по латински» или строку: «Название отеля по латински не введено». Акция также должна скрываться , если в поле Страна введено значение «Россия». Создать аналогичную акцию в виде Отель.
10.6 Формулы работы с видами 10.6.1 Формула отбора документов Демонстрация на примере видов Main+Resp, Cal1, Cal2, Cal3. Формула отбора документов в вид является одной самых важнейших формул вида. Формула строится с использованием ключевого слова SELECT (см. стр. 16). Наиболее часто эта формула строится на основании значений полей и свойств документов. Например, SELECT Form="Hotel"
В формулах отбора (как впрочем и в формулах столбцов вида) настоятельно не рекомендуется использовать функции, оперирующие с компонентами текущей дата/времени. Если это все-таки необходимо, то желательно предварительно ограничить число документов (это условие должно быть первым в операторе SELECT), а затем применить условие, имеющее отношение к текущей дате/времени. Например, SELECT Form = "Main" & @Created > @Adjust(@Now; 0; 0; -3; 0; 0; 0), а не наоборот SELECT @Created > @Adjust(@Now; 0; 0; -3; 0; 0; 0) & Form = "Main". В 6-й версии Domino для этих целей можно еще использовать «раскраску» строк вида через профайл (см. вид Cal3). Такие виды не помечаются сервером, как требующие частого обновления, однако индекс этих видов автоматически не изменяется в зависимости от таймера. Самостоятельно реализовать аналог примера с видом Cal3. Для отбора документов «родителей» вместе со своими потомками можно использовать функции @AllChildren (см. стр. 170) и @AllDescendants (см. стр. 171). Продемонстрировать пример организации галереи (см. БД TestJPG.nsf). Рассмотреть функции @DocumentUniqueID (см. стр. 146) и @WebDBName (см. стр. 228). Самостоятельно реализовать аналог галереи.
10.6.2 Формулы столбцов вида Для задания формулы столбца необходимо сначала перейти в объектно-событийной панели на конкретный объект Column Value (значение столбца). При этом в панели программного кода можно определить характеристики выводимого значения. В верхней части программной панели расположено поле Display (отображение), которое с помощью трех радиокнопок определяет способ задания значения колонки вида. Интерфейс радиокнопок предлагает для выбора следующие значения:
•
Simple Function (простые функции). Определение значения столбца идет на основании предопределенного набора функции. Все они имеют аналоги в языке @-формул. Ниже в таблице приведен список этих функций с расшифровкой выполняемых ими действий:
Отображает иерархический уровень текущего документа. Номер 2.1.2 говорит, что документ на верхнем уровне иерархии лежит во второй категории, на втором уровне иерархии в первой категории, а сам принадлежит к третьему уровню иерархии и в рамках его лежит вторым, считая сверху вниз.
@DocNumber
# Responses Level)
of (1
Число ответных документов на первом уровне иерархии
Определяет число документов или подкатегорий, лежащих на один уровень ниже от текущей категории. Колонка с этой формулой должна находится левее колонки с категорией, для которой определяется число ответных документов.
@DocChildre n
# of Responses (All Level)
Число ответных документов на всех уровнях иерархии
Определяет число документов или подкатегорий, лежащих на всех уровнях ниже текущей категории. Колонка с этой формулой должна находиться левее колонки с категорией, для которой определяется число ответных документов.
Возвращаемое значение есть число, или числовой список, если присоединенных файлов несколько.
@Attachment Lengths
Attachment Names
Имена присоедин енных файлов
Возвращаемое значение есть текст, или текстовый список, если присоединенных файлов несколько.
@Attachment Names
Attachments
Количество присоедин енных файлов
Возвращаемое значение есть число, соответствующее числу присоединенных файлов.
@Attachment s
Author(s) (Distinguished Name)
Автор (ы) (полное иерархичес кое имя)
Возвращает имя автора документа в иерархическом формате
@Author
Author(s) (Simple Name)
Автор(ы) (сокращенн ое имя)
Возвращает имя автора документа в сокращенном формате
@Name([CN]; @Author)
Collapse/Expa nd (+/-)
Уровень «свернут/р азвернут»
Возвращает строку "+", если уровень в виде разворачиваемый, и "-" если нет. Столбец должен иметь категоризацию (свойство Categorized), либо лежать левее категоризующей колонки.
@IsExpandab le
Creation Date
Дата создания
Возвращает время документа
дату и создания
@Created
Last Modified
Дата последней модификац ии
Возвращает дату и время последнего сохранения документа
Дата последнего чтения или редактиров ания документа
Возвращает дату и время последнего чтения или редактирования документа
@Accessed
Size (bytes)
Размер байтах
Возвращает размер документа в байтах
@DocLength
•
•
в
Field (поля). Определение значения столбца идет на основании полей, присутствующих в текущей БД. В панели программного кода перечислен список этих полей. Следует помнить, что в колонках видов нельзя отображать значение Rich Text полей. Имена таких полей обычно отсутствуют в панели программного кода. Это происходит в случае, когда у всех документов текущей БД поле с таким именем имеет тип Rich Text. Далее, если текущая колонка категоризованная (Categorized), и в значении поля присутствует символ обратного слеша («\»), то в колонке возникают дополнительные уровни иерархии, число которых зависит от количества обратных слешей в значении поля. Например, значение поля «Европа\Россия\Москва» в категоризованной колонке вида будет отображено тремя уровнями иерархии, соответственно «Европа», «Россия» и «Москва». При этом, следует не забывать, что Domino поддерживает до 32 уровней иерархии; Formula (@-формула). Определение значения столбца идет на основании языка @-формул. Это наиболее гибкий способ определения значения колонки вида. В контексте формулы колонки видов допускается использовать ссылки на значения полей, а также ряд @-функции, которые поддерживаются в этом контексте (подробнее см. документацию). Аналогично предыдущему пункту в категоризованных колонках допускается использовать символ обратного слеша («\»). В этом случае стоит не забывать, что согласно синтаксису @-формул, символ слеша должен быть удвоен. Например, формула столбца может выглядеть так: Country + "\\" + Region + "\\" + Town. Продемонстрировать формулу столбца со слешем (см. вид Hotel with
slash). Продемонстрировать и объяснить работу примера галереи в рамках вида (см. вид Table photo БД TestJPG.nsf). Самостоятельно реализовать аналог табличной галереи. Рассмотреть механизм использования циклов в формулах видов на примере видов Numb и NumbSelFormula. Рассмотреть синтаксис циклов (см. стр. 43).
10.6.3 Наложения фильтра на вид Рассмотреть синтаксис и описание функции @SetViewInfo (см. стр. 167). Продемонстрировать пример в видах Hotel и Calend. Обратите внимание на эффект снятия фильтра при переключении между разными типами видов (Календарный – Стандартный). Самостоятельно реализовать в виде Отели наложение/снятия фильтра по стране.
10.7 Работа с почтой Рассмотреть синтаксис и описание функций @MailSend (см. стр. 138) и @ValidateInternetAddress (см. стр. 142). Продемонстрировать примеры с формами Memo, Memo1, Memo2. Самостоятельно реализовать форму для отправки документа по почте. Необходимо выполнить три варианта:
•
@MailSend без параметров;
•
@MailSend с определением адресата из поля, отличного от SendTo;
•
@MailSend с пересылкой ссылки на документ.
10.8 Работа с именами пользователей Рассмотреть синтаксис и описание функций @UserName (см. стр. 177) и @Name (см. стр. 177). Продемонстрировать пример с формой Name+Access. Самостоятельно реализовать форму, в информации используются функции @UserName недостатки этого метода.
которой для скрытия и @Name. Объяснить
10.9 Работа с уровнями доступа Рассмотреть синтаксис и описание функций @UserAccess (см. стр. 182), @UserRoles (см. стр. 184), @IsMember (см. стр. 102) и @IsNotMember (см. стр. 103) . Продемонстрировать пример с формой Name+Access. В виде Country скрыть акцию с командой Compose для пользователей, не имеющих доступа на создание документов. В форме из предыдущего параграфа скрыть абзац с использованием функции @UserRoles.
10.10Блокировка документов на редактирование Рассмотреть синтаксис и описание функций @DocLock (см. стр. 130), @IsAvailable (см. стр. 127) и @DbManager (см. стр. 182). Продемонстрировать пример с видом Lock. Самостоятельно реализовать вид, в котором присутствуют две акции. Первая блокирует, а вторая - разблокирует текущий документ.
10.11Операции с папками Рассмотреть синтаксис и описание функции @AddToFolder (см. стр. 134) и команд [Folder] (см. стр. 250), [FolderDocuments] (см. стр. 251), [RemoveFromFolder] (см. стр. 251) и [EditSelectAll] (см. стр. 253). Продемонстрировать пример с папкой Leningrad. Самостоятельно создать две папки. В первой создать три акции, каждая из которых реализует одну функций/команд: @AddToFolder, [Folder] и [RemoveFromFolder].
10.12Функции, используемые в Webприложениях Рассмотреть синтаксис и описание функций @URLOpen (см. стр. 222), @SetTargetFrame (см. стр. 193), @ReplicaID (см. стр. 230), @ReplaceSubstring (см. стр. 88), @URLEncode (см. стр. 223), @GetHTTPHeader (см. стр. 225), @SetHTTPHeader (см. стр. 225), @ClientType (см. стр. 216) и @BrowserInfo (см. стр. 219). Обратите внимание, что последняя функция только определяет физическую возможность поддержания указанных режимов, а не фактическое состояние (включен/выключен). Продемонстрировать примеры: с видом AllDocs (акции URLOpen1 и URLOpen2, URLOpen3), с видом Hotel (акция Категория) и формой $$Search. Самостоятельно реализовать поисковую форму по индексу вида.
10.13Формулы по месту применения Еще раз показать документы из БД Справки с заголовками «Where does this @function work?…».
10.13.1Формулы панели инструментов - Toolbar button Показать как вносить такие формулы (File -> Preferences -> Toolbar Preferences). Рассмотреть синтаксис и описание команд [ViewCollapseAll] (см. стр. 269) и [ViewExpandAll] (см. стр. 269) Самостоятельно реализовать две кнопки панели инструментов с указанными командами.
10.13.2Формулы агентов Рассказать про критерий отбора документов в комбинации Рассмотреть синтаксис и описание функций @Created (см. @HardDeleteDocument (см. стр. 130), @DeleteDocument (см. @DeleteField (см. стр. 126), @UndeleteDocument (см. стр. 128) [EditRestoreDocument] (см. стр. 243). Продемонстрировать агентов HardDelete и вид SoftDeletionView.
с SELECT. стр. 115), стр. 129), и команду SoftDelete,
Самостоятельно написать агента, который обрабатывает все документы созданные по определенной форме в заданном интервале времени и удаляет из этих документов поле Form.
10.13.3Формула секции с управляемым доступом Спросить (и при необходимости рассказать) про два функциональных предназначения секции с управляемым доступом. Формула секции с управляемым доступом предназначена для ограничения числа редакторов, которые могут изменять информацию из полей такой секции. В зависимости от типа поля секции редактируемое/вычисляемое формула секции с управляемым доступом представляет собой формулу поля секции либо Default Value, либо просто Value. Рассмотреть синтаксис и описание функций @IsNewDoc (см. стр. 119), @Now (см. стр. 89) и @Created (см. стр. 115). Продемонстрировать форму EdSection. Самостоятельно создать новую форму и реализовать в ней секцию с управляемым доступом так, чтобы входящие в нее поля можно было редактировать в течении 5 дней после создания документа всем уполномоченным пользователям, а после этого срока – только пользователи, назначенные на роль [admin].
10.13.4Формула заголовка окна Продемонстрировать пример с формой Country в клиенте Notes и Web. Самостоятельно реализовать аналогичный пример.
10.13.5Формулы гиперобъектов и всплывающих окон Продемонстрировать пример с формой HotSpot+PopUp. Напомнить, что формула всплывающих окон должна возвращать текстовую строку. Самостоятельно реализовать аналогичный пример.
10.13.6Формулы формы вида/папки Рассказать про общий алгоритм определения формы для отображения в рамках Domino (сохраненная в документе форма -> формула формы -> поле Form -> свойство формы Default database form. Продемонстрировать пример с видом ViewWithFormFormula. Самостоятельно создать новый вид и реализовать в нем формулы формы в зависимости от роли пользователей.
10.13.7Формулы навигатора и области размещения Под формулами навигатора подразумеваются формулы обработчики события «клик» по объектам, входящим в навигатор (например, гиперобъект – прямоугольник). Под формулами области размещения, скорее всего, подразумевается формула обработчик события «клик» по графической кнопке области размещения. Продемонстрировать примеры с навигатором Main и формой Layout Region.
10.13.8Недокументированные контексты формул К сожалению в документах Where does this @function work? … не упоминаются некоторые контексты применения @-формул, которые отличаются от приведенных в документации. В частности, формулы вычисляемого текста, определения графического ресурса, строк аутлайна. Показать элементы дизайна. Сказать, что, например, в формулах вычисляемого текста не работает функция @Prompt.
10.14Новые функции и команды в R 6.5.1 по отношению к R 6.0.1 10.14.1Работа с Instant Messaging ϑ @GetIMContactListGroupNames Область применения: В DOMINO ДОКУМЕНТИРОВАНА.
R
6.5.1
НЕ
Возвращает список групповых имен из контактного листа службы Instant Messaging.
ϑ @Command( [ShowHideIMContactList] ) Область применения: В DOMINO ДОКУМЕНТИРОВАНА.
R
6.5.1
НЕ
Отображает/скрывает контактный список службы Instant Messaging.
ϑ @Command( [AddToIMContactList] ; имена ; группа ) Область применения: В DOMINO R 6.5.1 ДОКУМЕНТИРОВАНА.
НЕ
Добавляет в контактный лист службы Instant Messaging новых пользователей из второго параметра команды. Третий параметр необязательный. Если он опущен, то появляется диалоговое окно для определения группы, в которую следует добавить новых пользователей. Если параметр не опущен, то добавление идет без диалога. Если указанная группа отсутствует, то она создается при выполнении команды.
ϑ @Command( [SendInstantMessage] ; имена ) Область применения: В DOMINO R ДОКУМЕНТИРОВАНА.
6.5.1
НЕ
Открывает чат с указанными во втором параметре пользователями. Продемонстрировать пример с формой NewFunction.
10.14.2Остальные функции ϑ @TemplateVersion Область применения: ДОКУМЕНТИРОВАНА.
В
DOMINO
R
6.5.1
НЕ
Возвращает версию, в которой был подготовлен шаблон текущей БД. Из опыта, функция корректно работает только для БД, созданных на основании шаблонов, входящих в стандартную поставку. Для собственных шаблонов возвращает 1 как число, а не текст.
ϑ @ViewShowThisUnread( флаг ) Область применения: В DOMINO ДОКУМЕНТИРОВАНА.
R
6.5.1
НЕ
При значении флага равном "1" отображает только непрочтенные документы в виде/папке. При любом другом значении флага отображает все документы вида/папки. Продемонстрировать пример с видом AllDocs.
Изучение новых возможностей IBM Lotus Domino Designer 6, М.: Светотон, 2003., 248 стр.
3.
Н.Н. Ионцев, Е.В. Поляков, О.Г. Таранченко, Программирование в Lotus Domino R. 5: формулы и функции, язык LotusScript, встроенные классы LotusScript и Java, - М.: Светотон, 1999 г., 935 с.
4.
Поляков Е.В., Средства разработки приложений в Lotus Domino R5: Domino Designer. – М. Светотон, 2002., 468 стр.
5.
Карандин С., Колосов М., Поляков Е., Краткий справочник по разработке Web-приложений на платформе Lotus Domino R5. - М: Светотон, 2001., 336 стр.
6.
Н.Н. Ионцев, В.К. Кулаков, В.А. Панов, LotuNotes R. 4: разработка приложений, язык LotusScript, встроенные классы, М.: Научная книга, 1996 г., 575 с.
3.1 ПЕРЕМЕННЫЕ.................................................................................................. 6 3.1.1 ПОЛЯ.................................................................................................. 6 3.1.2 ПРЕДОПРЕДЕЛЕННЫЕ ПОЛЯ....................................................................... 8 3.1.3 ВРЕМЕННЫЕ ПЕРЕМЕННЫЕ........................................................................ 8 3.2 КОНСТАНТЫ.................................................................................................... 9 3.3 ОПЕРАТОРЫ ВЫПОЛНЕНИЯ ОПЕРАЦИЙ................................................................. 10 3.4 ПОРЯДОК ВЫПОЛНЕНИЯ ВЫЧИСЛЕНИЙ..................................................................14 3.5 КЛЮЧЕВЫЕ СЛОВА.......................................................................................... 14 3.6 ФУНКЦИИ...................................................................................................... 17 3.6.1 ПОБОЧНЫЕ ЭФФЕКТЫ............................................................................ 19 3.6.2 ОГРАНИЧЕНИЯ ПРИМЕНИМОСТИ @-ФУНКЦИЙ И КОМАНД, НАЛАГАЕМЫЕ СПИСКОМ УПРАВЛЕНИЯ ВЫПОЛНЕНИЕМ (ECL)......................................................... 20 3.6.3 ОГРАНИЧЕНИЯ ПРИМЕНИМОСТИ @-ФУНКЦИЙ И КОМАНД ДЛЯ WEB-ПРИЛОЖЕНИЙ 24 4 КАК ВЫПОЛНЯЮТСЯ ФОРМУЛЫ
29
4.1 ПОРЯДОК ВЫПОЛНЕНИЯ................................................................................... 29 4.2 ФОРМУЛЫ, ВОЗВРАЩАЮЩИЕ ЗНАЧЕНИЯ................................................................30 4.3 ФОРМУЛЫ, ВЫПОЛНЯЮЩИЕ ПОСЛЕДОВАТЕЛЬНОСТЬ ДЕЙСТВИЙ...................................31 4.4 ВЫПОЛНЕНИЕ ФОРМУЛ, СОДЕРЖАЩИХ ВЫЗОВЫ @-КОМАНД...................................... 32 5 ОБРАБОТКА ОШИБОК В ФОРМУЛАХ
35
6 ОПИСАНИЕ @-ФУНКЦИЙ DOMINO
38
6.1 ФУНКЦИИ - БАЗОВЫЕ КОНСТРУКЦИИ ЯЗЫКА ФОРМУЛ................................................ 38 6.2 ФУНКЦИИ ВЫПОЛНЕНИЯ ЦИКЛОВ......................................................................... 43
6.3 ФУНКЦИИ ОПРЕДЕЛЕНИЯ И ПРЕОБРАЗОВАНИЯ ТИПОВ ДАННЫХ................................... 48 6.4 ФУНКЦИИ ДЛЯ РАБОТЫ СО СТРОКАМИ.................................................................. 60 6.4.1 ОПРЕДЕЛЕНИЕ ВХОЖДЕНИЯ ПОДСТРОКИ В СТРОКУ........................................62 6.4.2 ВЫДЕЛЕНИЕ И ЗАМЕНА ЧАСТИ СТРОКИ....................................................... 67 6.5 ФУНКЦИИ ДЛЯ РАБОТЫ СО ЗНАЧЕНИЯМИ ТИПА "ДАТА-ВРЕМЯ".................................... 89 6.5.1 ФУНКЦИИ, РАБОТАЮЩИЕ С КОМПОНЕНТАМИ ЗНАЧЕНИЯ ТИПА "ДАТА-ВРЕМЯ"....... 94 6.6 ФУНКЦИИ ДЛЯ РАБОТЫ С ЧИСЛЕННЫМИ ЗНАЧЕНИЯМИ.............................................. 99 6.7 ФУНКЦИИ ДЛЯ РАБОТЫ СО СПИСКАМИ................................................................ 101 6.8 РАБОТА С ПЕРЕМЕННЫМИ ОКРУЖЕНИЯ............................................................... 111 6.9 УСТАНОВКА ЗНАЧЕНИЯ ВРЕМЕННОЙ ПЕРЕМЕННОЙ................................................. 114 6.10 ФУНКЦИИ ДЛЯ РАБОТЫ С ТЕКУЩИМ ДОКУМЕНТОМ.............................................. 114 6.10.1 ОПРЕДЕЛЕНИЯ СВОЙСТВ, ХАРАКТЕРИСТИК И СОСТОЯНИЯ ТЕКУЩЕГО ДОКУМЕНТА ..................................................................................................... 115 6.10.2 ОПЕРАЦИИ С ПОЛЯМИ....................................................................... 124 6.10.3 ОПЕРАЦИИ С ДОКУМЕНТОМ................................................................. 128 6.11 ФУНКЦИИ ДЛЯ РАБОТЫ С ПАРОЛЯМИ.............................................................. 136 6.12 ФУНКЦИИ ДЛЯ РАБОТЫ С ПОЧТОЙ.................................................................. 138 6.12.1 ФУНКЦИИ, ОПРЕДЕЛЯЮЩИЕ ПОЧТОВЫЕ НАСТРОЙКИ.................................. 143 6.13 РАБОТА С ИДЕНТИФИКАТОРАМИ ДОКУМЕНТОВ................................................... 146 6.14 ПОЛУЧЕНИЕ ИНФОРМАЦИИ ИЗ БАЗ ДАННЫХ DOMINO...........................................150 6.14.1 @DBCOLUMN - ВЫБОР ЗНАЧЕНИЙ ИЗ КОЛОНКИ.......................................150 6.14.2 @DBLOOKUP - ВЫБОР ИЗ КОЛОНКИ ИЛИ ПОЛЯ ЗНАЧЕНИЙ ПО КЛЮЧУ............155 6.15 ПОЛУЧЕНИЕ ИНФОРМАЦИИ ИЗ БАЗ ДАННЫХ, ПОДДЕРЖИВАЮЩИХ ODBC-ДРАЙВЕРЫ..158 6.16 ФУНКЦИИ ДЛЯ РАБОТЫ С ВИДАМИ.................................................................. 167 6.16.1 ФУНКЦИИ, ИСПОЛЬЗУЕМЫЕ В ФОРМУЛАХ ОТБОРА ДОКУМЕНТОВ.................... 170 6.16.2 ФУНКЦИИ, ИСПОЛЬЗУЕМЫЕ В ФОРМУЛАХ КОЛОНОК....................................172 6.17 ФУНКЦИИ, РАБОТАЮЩИЕ С ИМЕНАМИ ПОЛЬЗОВАТЕЛЕЙ....................................... 176 6.18 ФУНКЦИИ, РАБОТАЮЩИЕ С ПРАВАМИ ДОСТУПА................................................. 182 6.19 ФУНКЦИИ, РАБОТАЮЩИЕ С ПРОФИЛЬНЫМИ ДОКУМЕНТАМИ................................... 191 6.20 ФУНКЦИЯ ВЫБОРА ТРЕБУЕМОГО ФРЕЙМА......................................................... 193
6.21 ДИАЛОГ С ПОЛЬЗОВАТЕЛЕМ........................................................................... 194 6.22 ФУНКЦИИ, ОПРЕДЕЛЯЮЩИЕ ТИП И ХАРАКТЕРИСТИКИ ИСПОЛЬЗУЕМОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ............................................................................................216 6.23 ФУНКЦИИ, ИСПОЛЬЗУЕМЫЕ В WEB-ПРИЛОЖЕНИЯХ............................................ 222 6.24 ИНФОРМАЦИОННЫЕ ФУНКЦИИ........................................................................ 228 6.25 ФУНКЦИИ ДЛЯ ОБРАБОТКИ ОШИБОК................................................................. 233 7 ОПИСАНИЕ @-КОМАНД DOMINO
239
7.1 КОМАНДЫ ДЛЯ РАБОТЫ С ТЕКУЩИМ И ВЫДЕЛЕННЫМИ ДОКУМЕНТАМИ.........................239 7.2 КОМАНДЫ ОТКРЫТИЯ ОБЪЕКТОВ....................................................................... 256 7.3 КОМАНДЫ ДЛЯ РАБОТЫ С ПРОФИЛЬНЫМИ ДОКУМЕНТАМИ........................................ 264 7.4 КОМАНДЫ ОБНОВЛЕНИЯ ОТОБРАЖАЕМОЙ ИНФОРМАЦИИ..........................................265 7.5 КОМАНДЫ ДЛЯ РАБОТЫ С ВИДАМИ И ПАПКАМИ..................................................... 268 7.6 КОМАНДЫ ЗАПУСКА ПРИЛОЖЕНИЙ..................................................................... 271 7.7 КОМАНДЫ ДЛЯ РАБОТЫ С ПОЧТОЙ.................................................................... 272 8 АЛФАВИТНЫЙ СПИСОК @-ФУНКЦИЙ
275
9 АЛФАВИТНЫЙ СПИСОК @-КОМАНД
315
10 РАЗРАБОТКА ТЕСТОВЫХ ПРИЛОЖЕНИЙ
393
10.1 ПРОСТЫЕ ОПЕРАЦИИ С ДОКУМЕНТАМИ............................................................. 393 10.1.1 СОЗДАНИЕ НОВОГО ДОКУМЕНТА ПО ФОРМЕ............................................. 393 10.1.2 РЕДАКТИРОВАНИЕ ТЕКУЩЕГО ДОКУМЕНТА............................................... 393 10.1.3 УДАЛЕНИЕ ДОКУМЕНТА....................................................................... 394 10.1.4 ПЕЧАТЬ ДОКУМЕНТА И ВИДА................................................................ 394 10.1.5 УПРАЖНЕНИЕ.................................................................................. 395 10.2 ФОРМУЛЫ ПОЛЕЙ....................................................................................... 395 10.2.1 УПРАЖНЕНИЕ.................................................................................. 396 10.3 ПОЛУЧЕНИЯ ДОСТУПА К ДАННЫМ, НАХОДЯЩИМСЯ ВНЕ ТЕКУЩЕГО ДОКУМЕНТА........... 397 10.3.1 ДОСТУП К ДАННЫМ ВИДА.................................................................... 397 10.3.2 НАСЛЕДОВАНИЕ............................................................................... 397
10.3.3 УПРАЖНЕНИЕ.................................................................................. 398 10.3.4 РАБОТА С ПРОФИЛЬНЫМИ ДОКУМЕНТАМИ............................................... 398 10.3.5 УПРАЖНЕНИЕ.................................................................................. 398 10.3.6 РАБОТА С ПЕРЕМЕННЫМИ ОКРУЖЕНИЯ.................................................. 398 10.3.7 УПРАЖНЕНИЕ.................................................................................. 398 10.4 ДИАЛОГ С ПОЛЬЗОВАТЕЛЕМ........................................................................... 398 10.4.1 ФУНКЦИЯ @PROMPT........................................................................ 398 10.4.2 ФУНКЦИЯ @DIALOGBOX................................................................... 399 10.4.3 ФУНКЦИЯ @PICKLIST.......................................................................399 10.5 ФОРМУЛЫ СКРЫТИЯ ИНФОРМАЦИИ.................................................................. 399 10.5.1 ФОРМУЛЫ СКРЫТИЯ АБЗАЦА ФОРМЫ..................................................... 399 10.5.2 ФОРМУЛЫ СКРЫТИЯ АКЦИЙ ФОРМЫ И ВИДА............................................ 400 10.5.3 ФОРМУЛЫ СКРЫТИЯ СТОЛБЦОВ ВИДА И СТРОК АУТЛАЙНА........................... 400 10.5.4 УПРАЖНЕНИЕ.................................................................................. 400 10.6 ФОРМУЛЫ РАБОТЫ С ВИДАМИ........................................................................ 400 10.6.1 ФОРМУЛА ОТБОРА ДОКУМЕНТОВ........................................................... 400 10.6.2 ФОРМУЛЫ СТОЛБЦОВ ВИДА................................................................. 401 10.6.3 НАЛОЖЕНИЯ ФИЛЬТРА НА ВИД............................................................. 405 10.7 РАБОТА С ПОЧТОЙ...................................................................................... 405 10.8 РАБОТА С ИМЕНАМИ ПОЛЬЗОВАТЕЛЕЙ.............................................................. 405 10.9 РАБОТА С УРОВНЯМИ ДОСТУПА...................................................................... 405 10.10 БЛОКИРОВКА ДОКУМЕНТОВ НА РЕДАКТИРОВАНИЕ.............................................. 406 10.11 ОПЕРАЦИИ С ПАПКАМИ.............................................................................. 406 10.12 ФУНКЦИИ, ИСПОЛЬЗУЕМЫЕ В WEB-ПРИЛОЖЕНИЯХ........................................... 406 10.13 ФОРМУЛЫ ПО МЕСТУ ПРИМЕНЕНИЯ............................................................... 406 10.13.1 ФОРМУЛЫ ПАНЕЛИ ИНСТРУМЕНТОВ - TOOLBAR BUTTON........................... 407 10.13.2 ФОРМУЛЫ АГЕНТОВ.........................................................................407 10.13.3 ФОРМУЛА СЕКЦИИ С УПРАВЛЯЕМЫМ ДОСТУПОМ..................................... 407 10.13.4 ФОРМУЛА ЗАГОЛОВКА ОКНА...............................................................407 10.13.5 ФОРМУЛЫ ГИПЕРОБЪЕКТОВ И ВСПЛЫВАЮЩИХ ОКОН................................408
10.13.6 ФОРМУЛЫ ФОРМЫ ВИДА/ПАПКИ.......................................................... 408 10.13.7 ФОРМУЛЫ НАВИГАТОРА И ОБЛАСТИ РАЗМЕЩЕНИЯ...................................408 10.13.8 НЕДОКУМЕНТИРОВАННЫЕ КОНТЕКСТЫ ФОРМУЛ.......................................408 10.14 НОВЫЕ ФУНКЦИИ И КОМАНДЫ В R 6.5.1 ПО ОТНОШЕНИЮ К R 6.0.1.................. 409 10.14.1 РАБОТА С INSTANT MESSAGING......................................................... 409 10.14.2 ОСТАЛЬНЫЕ ФУНКЦИИ .................................................................... 410 11 ЛИТЕРАТУРА