Изменить или создать запись (upsert)
Типичная задача: при каждом запуске блока увеличивать значение поля на единицу.
Сложность в том, что:
- При первом обращении записи в списке ещё нет — её нужно создать.
- При последующих — запись уже есть, и её нужно изменять.
Как понять, что делать
В конструкторе нет отдельной «upsert»-операции. Решение — собрать её из двух действий: сначала пробуем изменить, а если записи нет — создаём её с дефолтными значениями.
Шаг 1. Попытка изменить запись
Первое действие изменяет запись и записывает в переменную result успешность операции:
result = 1— запись существовала и была изменена.result = 0— записи не было, изменить нечего.
Шаг 2. Создание записи, если её не было
Через условие #{result} = 0 запускаем действие добавления новой записи со значениями по умолчанию.
примечание
Условие проверяется только если изменить запись не удалось — то есть создание сработает один раз, при самом первом запуске блока. На всех последующих обращениях будет работать только первое действие (изменение).

