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

      1. Формула отбора документов

Демонстрация на примере видов Main+Resp, Cal1, Cal2, Cal3. Формула отбора документов в вид является одной самых важнейших формул вида. Формула строится с использованием ключевого слова SELECT (см. стр. 16). Наиболее часто эта формула строится на основании значений полей и свойств документов. Например,

SELECT Form="Hotel"

или

SELECT @Created > [01.01.2004]

или

SELECT @Attachments > 0

В формулах отбора (как впрочем и в формулах столбцов вида) настоятельно не рекомендуется использовать функции, оперирующие с компонентами текущей дата/времени. Если это все-таки необходимо, то желательно предварительно ограничить число документов (это условие должно быть первым в операторе 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).

Самостоятельно реализовать аналог галереи.

      1. Формулы столбцов вида

Для задания формулы столбца необходимо сначала перейти в объектно-событийной панели на конкретный объект Column Value (значение столбца). При этом в панели программного кода можно определить характеристики выводимого значения. В верхней части программной панели расположено поле Display (отображение), которое с помощью трех радиокнопок определяет способ задания значения колонки вида. Интерфейс радиокнопок предлагает для выбора следующие значения:

  • Simple Function (простые функции). Определение значения столбца идет на основании предопределенного набора функции. Все они имеют аналоги в языке @-формул. Ниже в таблице приведен список этих функций с расшифровкой выполняемых ими действий:

Название

Перевод

Расшифровка действия

Аналог на языке @-формул

# in View (eg 2.1.2)

Номер в виде (например, 2.1.2)

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

@DocNumber

# of Responses (1 Level)

Число ответных документов на первом уровне иерархии

Определяет число документов или подкатегорий, лежащих на один уровень ниже от текущей категории. Колонка с этой формулой должна находится левее колонки с категорией, для которой определяется число ответных документов.

@DocChildren

# of Responses (All Level)

Число ответных документов на всех уровнях иерархии

Определяет число документов или подкатегорий, лежащих на всех уровнях ниже текущей категории. Колонка с этой формулой должна находиться левее колонки с категорией, для которой определяется число ответных документов.

@DocDescendants

Attachment Lengths

Размер в байтах присоединенных файлов

Возвращаемое значение есть число, или числовой список, если присоединенных файлов несколько.

@AttachmentLengths

Attachment Names

Имена присоединенных файлов

Возвращаемое значение есть текст, или текстовый список, если присоединенных файлов несколько.

@AttachmentNames

Attachments

Количество присоединенных файлов

Возвращаемое значение есть число, соответствующее числу присоединенных файлов.

@Attachments

Author(s) (Distinguished Name)

Автор (ы) (полное иерархическое имя)

Возвращает имя автора документа в иерархическом формате

@Author

Author(s) (Simple Name)

Автор(ы) (сокращенное имя)

Возвращает имя автора документа в сокращенном формате

@Name([CN]; @Author)

Collapse/Expand (+/-)

Уровень «свернут/развернут»

Возвращает строку "+", если уровень в виде разворачиваемый, и "-" - если нет. Столбец должен иметь категоризацию (свойство Categorized), либо лежать левее категоризующей колонки.

@IsExpandable

Creation Date

Дата создания

Возвращает дату и время создания документа

@Created

Last Modified

Дата последней модификации

Возвращает дату и время последнего сохранения документа

@Modified

Last Read or Edited

Дата последнего чтения или редактирования документа

Возвращает дату и время последнего чтения или редактирования документа

@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. Рассмотреть синтаксис циклов (см. стр. 44).

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