Перейти к основному содержимому
Версия: 7.0

Оператор CANCEL

Оператор CANCEL - создание действия, отменяющего изменения в текущей сессии.

Синтаксис

CANCEL [NESTED [nestedPropertySelector] [CLASSES]]

где nestedPropertySelector имеет один из следующих вариантов:

LOCAL
(propertyId1, ..., propertyIdN)

Описание

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

Параметры

  • NESTED

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

  • LOCAL

    Ключевое слово. Если указывается после NESTED, то все локальные свойства сохранят свои изменения после выполнения оператора CANCEL.

  • propertyId1, ..., propertyIdN

    Непустой список локальных свойств, указываемый после NESTED в круглых скобках. Каждый элемент списка является идентификатором свойства. Указанные в списке локальные свойства сохранят свои изменения после выполнения оператора.

  • CLASSES

    Ключевое слово. Может быть указано, но на поведение оператора CANCEL не влияет.

Примеры

CLASS Sku;
in = DATA LOCAL BOOLEAN (Sku);

// одиночный CANCEL — сбрасывает все накопленные в текущей сессии изменения
dropChanges() { CANCEL; }

// отмена с сохранением конкретного локального свойства
dropChangesKeepIn() {
CANCEL NESTED (in[Sku]); // отменяем все изменения, кроме свойства `in[Sku]`
}

// отмена с сохранением всех локальных свойств
dropChangesKeepAll() { CANCEL NESTED LOCAL; }