Оператор NESTEDSESSION
Оператор NESTEDSESSION- создание действия, которое выполняет другое действие во вложенной сессии.
Синтаксис
NESTEDSESSION action 
Описание
Оператор NESTEDSESSION создает действие, которое выполняет другое действие во вложенной сессии. При этом все изменения, уже произошедшие в текущей сессии, попадают в создаваемую вложенную сессию. Также все изменения, которые будут произведены во вложенной сессии, попадут в текущую сессию при применении изменений во вложенной сессии.
Параметры
- 
actionКонтекстно-зависимый оператор-действие, описывающий действие, которое должно быть выполнено во вложенной сессии.
 
Примеры
testNestedSession ()  {
    NESTEDSESSION {
        name(Sku s) <- 'aaa';
        APPLY; // на самом деле изменения применятся не в базу данных, а в "верхнюю" сессию
    }
    MESSAGE (GROUP SUM 1 IF name(Sku s) == 'aaa'); // возвращает все строки
    CANCEL;
    // возвращает NULL, если в базе не было раньше Sku с именем aaa
    MESSAGE (GROUP SUM 1 IF name(Sku s) == 'aaa'); 
}
FORM sku
    OBJECTS s = Sku PANEL
    PROPERTIES(s) id, name
;
newNestedSession()  {
    NESTEDSESSION {
        NEW s = Sku {
            // показывает форму, но любые изменения в ней не будут применены в базу данных,
            // а будут сохранены в "верхней сессии"
            SHOW sku OBJECTS s = s;
        }
    }
}