bizprocdesigner · bizprocdesigner 26.500.0 Заметное

bizprocdesigner 26.500.0: фильтр ноды приехал выключенным

3 мин чтения

Крупный UI-релиз редактора схем плюс новый тип конструкции — фильтр ноды. Ломающих изменений нет: все правки контроллера и DTO совместимы со старыми вызовами. Главное, что стоит знать заранее: фича спрятана за опцией и по умолчанию выключена.

Фильтр ноды

Новый экшен контроллера:

        Activity::getNodeFilterMetadataAction(
    string $activityType,
    array $documentType = [],
    bool $onlyDynamicEntities = false
): ?array

    

Отдаёт метаданные фильтра для конкретной активности. Два условия: у вызывающего должно быть право CreateWorkflow, а сама активность должна реализовывать NodeFilterMetadataProvider — контракт приехал в bizproc 26.1000.0 того же батча. То есть фильтровать умеет не любая нода, а та, которая объявила, по чему её можно фильтровать.

В перечисление типов конструкций добавлен ConstructionType::FILTER = 'filter', ConstructionDto::fromArray() его обрабатывает, а в JS появился UI (edit-filter-expression).

Включается всё это опцией модуля node_filter_available, дефолт — N:

        \Bitrix\Main\Config\Option::set('bizprocdesigner', 'node_filter_available', 'Y');

    

Проверка — Internal\Config\Feature::isNodeFilterAvailable(). Если после обновления вы не находите фильтр в интерфейсе, это не баг.

Совместимые расширения

Ничего не удалено, но кое-что стоит учесть:

  • Activity::getSettingsControlsAction(..., array $options = []) — новый ключ $options['hideEditorComment'] скрывает поле комментария редактора. То же и со стороны админки: bizproc_activity_settings.php при POST options.hideEditorComment=Y комментарий не показывает и не сохраняет.
  • LoadSettingsResponseDto — поле bool $filterSupported = false. Клиент по нему понимает, показывать ли UI фильтра для этой ноды.
  • ConditionExpressionDto::$value — тип сменился с ?string на mixed, а на $field навешен #[NotEmpty]. Условие теперь может сравнивать не только строки, но поле обязано быть заполнено — валидация переехала из проверок в атрибут.
  • FieldDto — опциональные ?array $options и ?array $settings.
  • Трейт ConditionValueResolver::resolveConditionValue() — общий разбор значения условия, вынесен из дублирования.

Небольшая, но полезная замена внутри

getSettingsControlsAction берёт описание активности через ActivitySearcherService::searchByCode(), а не через CBPRuntime::getActivityDescription(). Поиск по коду вместо обхода рантайма — как правило, это про скорость открытия карточки настроек в дизайнере, где раньше на каждый клик поднималось описание всех активностей.

UI редактора

Основной объём релиза — JS редактора схемы (install/js/bizprocdesigner/editor/chart/src/): скелетон приложения на время загрузки (app-skeleton), Lottie-анимации иконок блоков, тултипы каталога, шапка настроек ноды, табы, bx-control, form-input-tracker. Плюс инспектор данных ноды и preview/rules layout для общих настроек, приехавшие ещё в 26.400.0.

Что делать

  • Хотите фильтры нод — включите bizprocdesigner / node_filter_available.
  • Пишете свои активности и хотите фильтр в дизайнере — реализуйте NodeFilterMetadataProvider из bizproc.
  • Если разбираете ConditionExpressionDto — учтите смену типа value на mixed, строковых допущений в коде быть не должно.

Читайте дальше

calendar 25.197.0 Заметное Свежее

calendar 25.197.0: тип события call_sync и чат, который создаётся сам

У события календаря появился собственный тип, и первый его пользователь — синхронизированные созвоны: при создании такого события автоматически поднимается чат с гостевой ссылкой. Ломающих изменений нет, все правки сигнатур совместимы.

3 мин
calendar 25.200.0 Ломающее Свежее

calendar 25.200.0: таймзона пользователя переехала в b_user.TIME_ZONE — и это ломающий релиз

Самый «ломающий» календарный релиз батча. Часовой пояс пользователя перестал быть настройкой календаря и стал полем пользователя, из-за чего у AJAX-экшена сохранения настроек изменилась сигнатура. Плюс вырезаны два метода `SynchronizationFeature`. Обновление стоит смотреть внимательно, если вы что-т...

4 мин
calendar 25.195.0 Заметное Свежее

calendar 25.195.0: активность БП считает минуты встреч и перестала терять последний день

Точечный релиз вокруг одной активности бизнес-процессов — «Получить информацию из календаря». Она научилась отдавать списки заголовков и суммарные минуты встреч, а заодно у неё поправили границу выборки. Публичного PHP API релиз не меняет.

3 мин
calendar 26.0.0 Заметное Свежее

calendar 26.0.0: потолок повторов RRULE, права на удалённые sharing-события и разбор ошибок REST

Релиз про повторяющиеся события и права. Появился жёсткий лимит на количество повторов, у удалённых событий по общей ссылке — отдельная проверка доступа, а REST перестал терять ошибки между вызовами. Публичные сигнатуры не удалялись, но пара изменений в поведении заметна.

4 мин
Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с нашей политикой конфиденциальности.
AI Домовой

AI Домовой История

на связи

пишет…
Нет истории чатов
AI Домовой

Нужна авторизация

Войдите, чтобы задавать вопросы AI Домовому.

Войти