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, строковых допущений в коде быть не должно.

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

security 26.200.0 Безопасность Свежее

Security 26.200.0 не ставится на маке и Windows: фатал «Cannot redeclare class» прямо в апдейтере

Обновление security 26.200.0 у нас не установилось вообще: апдейтер умирает с фаталом посреди своего скрипта. Если ваш прод на Linux — выдыхайте, вас это не касается. А вот если вы ставите обновления в локальной разработке на macOS или Windows (Docker с bind-mount проектной папки — это ровно тот слу...

4 мин
mail 26.900.0 Заметное Свежее

Mail 26.900.0: общие подписи ломают старый API, а тяжёлые вложения переезжают на Диск

Модуль mail получил один из самых жирных релизов за последнее время: 523 файла, +39 182/−3 131 строк. Внутри — три большие фичи (общие подписи, автоперенос тяжёлых вложений на Диск, избранное с AI-классификацией писем), переработанный IMAP-синк истории и три новые таблицы в БД. Если вы кастомизирова...

4 мин
location 26.300.0 Заметное Свежее

Location 26.300.0: батчевый обратный геокодинг — до 20 координат за один вызов

Релиз от 17 июня 2026 с одной, но цельной темой: в модуль `location` завезли батчевый обратный геокодинг — метод `findByCoordsList`, который превращает список координат в список локаций за один вызов сервиса. Если вы строите интеграции с картами или доставкой и до сих пор дёргали `findByCoords` в ци...

2 мин
main 26.700.0 Заметное Свежее

Main 26.700.0: в ядре появились фича-флаги

Битрикс выкатил main 26.700.0 — и это тот редкий случай, когда в ядре появляется целая новая подсистема: фича-флаги `Bitrix\Main\Config\Feature` с двумя таблицами в БД. Плюс несколько тихих поведенческих изменений, которые стоит проверить, если у вас не-UTF-8 сайт, кастомные фильтры пользователей ил...

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

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

на связи

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

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

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

Войти