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


Информационные функции


J @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 )

    J @ReplicaID

    Область применения: нельзя использовать в формулах отбора.

    Возвращает идентификатор реплики текущей базы данных. Так же идентификатор реплики можно посмотреть через меню File - Database - Design Synopsis....

    Данной функцией можно достаточно удобно пользоваться в Web-приложениях для формирования URL.

    Пример. Формула при использовании в кнопке для Web-приложения формирует URL открытия документа «О базе данных».

    @URLOpen("/__" + @ReplaceSubstring(@ReplicaID; ":"; "") + ".nsf/$about?OpenAbout");

    @DbTitle

    Область применения: без ограничений.

    Возвращает название текущей базы данных.

    Пример. Возвращает "Краткое путешествие по Lotus Notes", если эта учебная БД, поставляемая с русской версией Notes, является текущей.

    @DbTitle

    J @ServerName

    Область применения: нельзя использовать в формулах области размещения.

    Возвращает имя сервера текущей БД. Для локальной БД возвращает имя текущего пользователя.

    Пример. Может вернуть, например: "CN=LAEC/OU=LAEC/O=InterTrustCorp/C=SU".

    @ServerName

    @ViewTitle

    Область применения: нельзя использовать в формулах отбора, колонок, фоновых агентов, заголовка окна, редактируемой секции, видимости объектов (за исключением акций видов).

    Возвращает название текущего вида или папки. Если у вида имеются синонимы, они возвращаются элементами текстового списка. В формулах полей (да и в заголовка окна, и акции форм) функция возвращает имя вида, который был текущим перед открытием документа.



    Пример 1. Возвращает "Главный", если таково название текущего вида.

    @ViewTitle

    Пример 2. Возвращает "Главный\По дате" : "Date", если название текущего вида "Главный\По дате" и его alias Date.

    @ViewTitle

    J @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);

      J @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" )


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