Команды возврата

Основное предназначение команд в Домино 8 состоит в обеспечении взаимодействия источников данных и интерфейсов. С помощью команд источник данных сообщает интерфейсу что тот должен сделать. Подробнее об этом механизме написано в других книгах.

Также команды применяются в качестве результата выполнения процедур. В этом случае команда называется командой возврата. Формально процедура не возвращает результат, но для дальнейшей обработки часто требуется точно знать, что запущенная процедура завершилась без ошибок. Анализ команды возврата позволяет запрограммировать действия программы как в случае нормального завершения выполненной процедуры, так и в случае выполнения с ошибкой.

Все команды расположены в проекте по следующему адресу – библиотека 'Системная область’, раздел ‘Интерфейс’, раздел – ‘Команды’. При взаимодействии процедур используются только некоторые из этих команд.

При нормальном завершении процедуры выставляется команда возврата cmdCONTINUE.

Следующие команды возврата также считаются нормальным завершением.

  • cmdRETURN_OK
  • cmdREFRESH_ALL
  • cmdREFRESH_PAGE
  • cmdREFRESH_LINE

Любая другая команда возврата (в том числе cmdRETURN_CANCEL и cmdEXIT) означает, что выполнение процедуры завершилось с ошибкой.

Команда ‘cmd RETURN_CANCEL’ предназначена для прерывания выполнения всей цепочки процедур, запускаемых во время акцепта (деакцепта, удаления) объекта.

Для функций команды возврата не используются. Во-первых, функция возвращает некое значение, указанное в описании функции. Это значение можно использовать для передачи сообщения об ошибке. Во-вторых, имеется внутренний результат выполнения функции. Этот внутренний результат может иметь либо истинное значение (TRUE) в случае нормального завершения функции, либо ложное значение (FALSE), если в процессе работы функции произошла ошибка.

Если функция внутри выражения завершилась с ошибкой, то вычисление выражения прерывается.

Для управления командой возврата применяются следующие операторы:

  • EXIT – При использовании в процедуре возвращается команда cmdCONTINUE. При использовании в функции внутренний результат получает ложное значение (FALSE). При использовании в процедуре-методе возвращается команда cmdRETURN_ CANCEL.
  • RETURN – При использовании в процедуре или в процедуре-методе возвращается команда cmdCONTINUE. При использовании в функции внутренний результат получает истинное значение    (TRUE).
  • Отложить Выполнение - При использовании в процедуре или в процедуре-методе возвращается команда cmdCONTINUE. При использовании в функции внутренний результат получает истинное значение    (TRUE).

Если для процедуры или функции указан признак ‘Прервать при наличии ошибок’ и запущенная процедура (функция) завершилась с ошибкой, то прерывается выполнение того блока, где данная процедура была вызвана. Это может быть либо основной блок процедуры (‘Выполнить действия’), либо блок ‘Всегда выполнять перед завершением’. Сообщение об ошибке заносится в протокол.