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

В рамках этого упражнения слушатели должны самостоятельно реализовать рассмотренные в этом параграфе, а именно создание нового, редактирование, удаление и печать документа и вида.

    1. Формулы полей

У объекта поле в 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 (см. стр. 39). Продемонстрировать форму 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 (см. стр. 124) и @GetField (см. стр. 125). Эти функции позволяет писать переносимый код, очень часто без явного указания в формуле конкретных имен полей. Модифицируем пример со стульями из примера к функции @GetField. В нашем случае формула вычисляемых полей общей цены будет следующая:

chairName := @Left(@ThisName; "_");

@IfError(@ToNumber(@GetField(chairName + "_Quantity")) ; 0) * @IfError(@ToNumber(@GetField(chairName + "_Price"));0)

Демонстрация на примере формы DeadLine. Формула разрешения ввода значения в поле применима только к полям типа NativeOS style. Если эта формула возвращает значение истина (1), то поле доступно для ввода в клиенте Notes, в противном случае поле недоступно для ввода. Например,

@IsMember("[admin]";@UserRoles)

Формулы ключевых слов будут рассмотрены в следующем параграфе.

      1. Упражнение

В форме Страна реализовать запрет ввода в поле Country пустого значения.

    1. Получения доступа к данным, находящимся вне текущего документа

До настоящего момента мы получали данные только из текущего документа. Существуют возможности получения доступа к другим данным в рамках языка @-формул. Рассмотрим некоторые из них.

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