Управление сессиями
Существуют следующие операторы работы с сессиями:
- Применение изменений (
APPLY
) - Отмена изменений (
CANCEL
) - Новая сессия (
NEWSESSION
,NESTEDSESSION
) - Предыдущее значение (
PREV
) - Операторы изменений (
SET
,CHANGED
, ...)
к сведению
Отметим, что последние два оператора создают свойства, а не действия.
Вложенные локальные свойства
При выполнении первых трех операторов управления сессиями, значения всех локальных свойств сбрасываются в NULL
. Это не всегда удобно, и, кроме того, часто бывает необходимо передать данные между разными сессиями / "циклами жизни" одной сессии. Для этого в платформе можно отдельные локальные свойства помечать как вложенные. В этом случае:
- При создании новой сессии - все значения локального свойства скопируются в создаваемую сессию, а при ее закрытии скопируются назад.
- При применении изменений - после завершения транзакции все значения локального свойства сохранятся (по умолчанию, после применения изменений, сессия очищается вместе со значениями всех локальных свойств).
- При отмене изменений - все значения локального свойства сохранятся такими же какими были перед отменой изменений.
Пометку вложенности можно делать как глобально для локального свойства (и соответственно для всех его использований), так и отдельно для каждой операции управления сессиями. Также для любой операции управления сессиями можно указать, что все локальные свойства должны быть вложенными.