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

Отмена изменений (CANCEL)

Оператор отмены изменений полностью очищает текущую сессию изменений.

Очистка сессии возвращает все накопленные в ней изменения: значения свойств данных (в том числе локальных) возвращаются к тем, что были в начале сессии, созданные в сессии объекты исчезают, изменения классов у существующих объектов откатываются.

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

warning

Этот оператор работает по-другому, если выполняется во время транзакции применения — например, внутри применяемого действия или внутри обработчика глобального синхронного события. В этом случае он не очищает сессию, а отменяет идущее в данный момент применение.

Язык

Для объявления действия, реализующего отмену изменений, используется оператор CANCEL.

Примеры

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

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