Установка признака ручного изменения через алгоритм действия

Всем привет!
Есть атрибут с выражением, на котором установлен признак "Рассчитывать значение атрибута, пока нет ручного ввода". Есть потребность изменять это значение массово сразу для нескольких экземпляров через реестр, поэтому было реализовано действие в мультиселект реестре. Однако при изменении через простую установку значения в атрибут в алгоритме признак ручного изменения не устанавливается (по понятным причинам) и выражение повторно пересчитывается.
Нашел интересную функцию "setAttrUserInput". Но не понимаю, как она определяет, на каком конкретно экземпляре требуется установить признак ручной корректировки? Либо сразу для всех экземпляров, либо для базового экземпляра.
И то, и то звучит супер неудобно. Подскажите, можно ли с помощью этой функции установить признак на конкретный экземпляр, указав id? Есть ли альтернативные варианты реализации? Корректно ли создавать самостоятельно запись в технической таблице SYS_TYPE_ATTR_USER_INPUT?

Версия: 6-domdev.83, сборка 544403 (c2119f0) от 02.04.2024 01:36:53

Комментарии

  • @Данияр написал:
    Всем привет!
    Есть атрибут с выражением, на котором установлен признак "Рассчитывать значение атрибута, пока нет ручного ввода". Есть потребность изменять это значение массово сразу для нескольких экземпляров через реестр, поэтому было реализовано действие в мультиселект реестре. Однако при изменении через простую установку значения в атрибут в алгоритме признак ручного изменения не устанавливается (по понятным причинам) и выражение повторно пересчитывается.
    Нашел интересную функцию "setAttrUserInput". Но не понимаю, как она определяет, на каком конкретно экземпляре требуется установить признак ручной корректировки? Либо сразу для всех экземпляров, либо для базового экземпляра.
    И то, и то звучит супер неудобно. Подскажите, можно ли с помощью этой функции установить признак на конкретный экземпляр, указав id? Есть ли альтернативные варианты реализации? Корректно ли создавать самостоятельно запись в технической таблице SYS_TYPE_ATTR_USER_INPUT?

    Версия: 6-domdev.83, сборка 544403 (c2119f0) от 02.04.2024 01:36:53

    Добрый день! Правильно ли поняли что у вас такие настройки выражения:

    • Установлено выражение с опцией "Рассчитывать значение атрибута, пока нет ручного ввода"
    • При этом поле "Автоматический пересчет выражения" пустое

    Вы алгоритмом меняете значение в атрибуте у нескольких карточек и после того как карточки сохранились выражение снова срабатывает и вы видите в атрибуте тоже самое значение что и до работы алгоритма?

  • отредактировано 16 апр

    @morozov_eyu

    Добрый день! Правильно ли поняли что у вас такие настройки выражения:

    • Установлено выражение с опцией "Рассчитывать значение атрибута, пока нет ручного ввода"

    Да

    • При этом поле "Автоматический пересчет выражения" пустое

    Нет, "При изменении любых атрибутов данного типа"

    Вы алгоритмом меняете значение в атрибуте у нескольких карточек и после того как карточки сохранились выражение снова срабатывает и вы видите в атрибуте тоже самое значение что и до работы алгоритма?

    Да. Действие меняет значение атрибута. Этот атрибут фигурирует в алгоритме выражения, соответственно тригерит пересчет выражения. Поэтому значение остается рассчитанным по алгоритму выражения, а хотелось бы, чтобы зафиксировалось ручное изменение

  • отредактировано 17 апр

    Нет, "При изменении любых атрибутов данного типа"

    Очистите это поле "Автоматический пересчет выражения" чтобы в нем не было значения, и оставьте только опцию "Рассчитывать значение атрибута, пока нет ручного ввода"
    И проверьте работу вашего кейса еще раз

Войдите или Зарегистрируйтесь чтобы комментировать.