Основы языка формул. Синтаксис и лексические элементы формул, страница 2

Оператор (:) используется для объединения двух значений одного типа данных в список. Каждый из операндов сам может быть списком. Результат содержит все элементы первого операнда, затем все элементы второго При многократном использовании в одном выражении можно объединить в список несколько значений.

"Moscow": "London": "New York": "Tokyo"

Операторы в формулах могут иметь один из типов, приведенных в таблице 19.1.

Таблица 19.1 - Типы операторов, имеющиеся в языке формул

Тип

Примеры

Операторы присваивания

dTarget:=@Adjust(dStart; 0; 1; 0; 0; 0; 0)

Для переменной dTarget устанавливается значение на один месяц позднее, чем значение переменной dStart

@SetField(cStatus;  "New")

Для переменной cStatus устанавливается значение "New"

Операторы сравнения

cStatus = "Completed"

Проверяет, равно ли значение переменной cStatus значению

"Completed" nRequest> 10000

Проверяет, больше ли 10000 значение переменной nRequest

Условные операторы

@lf(cStatus = "Completed"; @Do(...

Если переменная cStatus имеет значение "Completed", то

предпринимается некоторое действие

@lf(@lsNewDoc & @lsDocBeingSaved; "New"; cStatus)

Если сохраняется новый документ, то в программе для события Value вычисляемого поля присваивается значение "New" переменной cStatus.

Управляющие операторы

@Return(" ")

Прекращает выполнение формулы

@Do()

Выполняет ряд операторов

Операторы действий

@MailSend(jcSendTo; jcCC...

Отправляет [заметку]

@Command([FileSave])

Сохраняет текущий документ

Присваивание значений полям и переменным

Имеется только один оператор присваивания, := . Однако имеется еще три способа присваивания значений:

# DEFAULT

FIELD •

@SetField()

Присвоить значение переменной можно только первым из этих трех способов (посредством ключевого слова DEFAULT). Двумя другими способами, как следует из названий, присваиваются значения полям документов.

ДОБАВЛЕНИЕ И УДАЛЕНИЕ ПОЛЕЙ

Помните, что в отличие от записей таблиц в реляционных базах данных, в приложениях Domino можно свободно добавлять поля в документы и удалять их из документов. Чтобы добавить новое поле, просто присвойте ему какое-либо значение с помощью одного из трех приведенных выше ключевых слов. Чтобы удалить поле, используйте  следующую  формулу:

FIELD   fieldname   :=   @DeleteField

Поля, которые добавляются или удаляются, принадлежат конкретному документу; это означает, что, когда в документе создается новый экземпляр поля, он не будет существовать ни в каком другом документе. Когда поле удаляется, оно удаляется из конкретного  документа.

Значения полей можно присваивать переменным, а значения переменных — полям. Значение может быть результатом выражения, значением функции @Function или константой. Значение может быть также присвоено полю в событии Value для вычисляемого поля, в событии Default Value для редактируемого поля или в событии Choices для ключевого поля; это осуществляется путем ввода константы или формулы. В данном случае присваивание является неявным и оператор присваивания для этого не требуется.

Использование операций сравнения в формулах

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

& (И), | (ИЛИ), ! (НЕ)

Пример:

SELECT Form = "AR" & cStatus = "New" &! @Contains(cLastAgent;

"Manager Notification") ;

Следующий оператор извлекает значения только в том случае, когда редактируется новый документ:

If (@IsNewDoc | GlsDocBeingEdited;

@DbColumn (" "; cHRLookupID ; "LUCost"; 1) ;