Еще один способ применения функции @Return — это использование ее в комбинации с функцией @Success, чтобы прекратить выполнение формулы изначально, если существует определенное условие. Функция @Success дает в результате значение true (или 1). Совместно с функцией @If функцию @Success можно использовать для того, чтобы продолжить выполнение формулы. В следующем примере внутри опе-ia?repi? МУ йшлггег ^нкшта" ^РОг иилильзуется функция @Success как оператор, выполняемый, если проверяемое условие истинно. Когда пользователь отвечает Yes, формула продолжает выполняться, сохраняя при этом соответствующие значения в полях cDocStatus и nStatusSort. Если пользователь отвечает No, функция @Return прекращает выполнение формулы.
REM "Отправить документ для рассмотрения";
jnYesNo := @Prompt([yESNO]; "Are you sure?"; "Do you want to release this document?") ;
@If(jnYesNo; @Success; SReturn (""));
@SetField("cDocStatus"; "Pending");
@SetFieldC'nStatusSort"; 4)
Применение в формулах операторов действий
Операторы и формулы действий могут вызвать определенные побочные эффекты и внешние по отношению к формуле события. Сами формулы действий не возвращают полезных значений. Например, функция @MailSend() является оператором действия, так как она отправляет почтовые сообщения. Эта функция имеет возвращаемое значение, но оно играет второстепенную роль. Главным является то, что эта функция отправляет почтовое сообщение; данное действие происходит вне самой формулы. Команды @Commands часто выполняют действия, так как в их основе лежит структура меню. Например, команда @Command([EditProfile]) открывает профильный документ базы данных, но не возвращает никакого значения. Формулы действий могут быть созданы для:
• кнопок панели действий (как в форме, так и в представлении);
• программ-агентов;
• кнопок;
• полей (иногда это возможно);
• "горячих" ссылок;
• значков.
Логические функции @Functions
Имеется большое количество функций @Functions, которые могут быть классифицированы как логические функции @Functions. Эти функции возвращают значение типа Boolean. Помните, что в языке формул булево значение true представлено числом 1, а значение false — числом 0. Возвращаемые значения логических функций @Functions соответствуют числовым эквивалентам значений true и false. В табл. 19.2 перечислены логические функции @Functions:
Булевы или логические функции @Functions из табл.19.2 могут использоваться в различных ситуациях. Многие из этих функций имеют отношение к состоянию документа, например, функции @IsDocBeingEdited или @IsNewDoc. Функции, подобные этим, могут использоваться для сокрытия действий или, чтобы определить, следует ли заполнять поле данными. Например, если поместить функцию @IsNewDoc для кнопки действия Hide When, то при создании документа эта кнопка будет скрыта.
Аналогично, если имеется вычисляемое поле отображения, которое зависит от другого поля документа, отобразить значение поля можно с помощью функции @IsNewDoc:
@If (@IsNewDoc; "New Service Request"; cStatus)
Таблица 19.2 Логические функции @Functions
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.