Версия 1.35.0
Мы расширили возможности настройки индикаторов – теперь параметры расчета (календарь, часовой пояс, время запуска и превышения) можно получать из полей связанных записей, в том числе через цепочки dot-walking. Это обеспечивает гибкую и точную настройку SLA в зависимости от контекста бизнес-сценария.
В редакторе рабочих процессов появилась возможность копировать и вставлять блоки действий вместе с их параметрами, что ускоряет проектирование процессов и позволяет повторно использовать настроенные конфигурации.
Также мы добавили поддержку массового редактирования записей непосредственно в связанных списках на форме, без необходимости открывать основное представление списка.
Помимо этого, мы устранили ряд дефектов, включая проблемы с контейнерами, уязвимости, ошибки в работе индикаций, REM-атрибутов и Simple-тегов.
Улучшения
Выбор полей индикации из связанных записей
Мы расширили возможности настройки индикаторов. Теперь в индикаторах можно использовать не только поля целевой записи, но и поля из другой записи, связанной с целевой записью напрямую или через цепочку связанных записей (dot-walking). Это касается следующих параметров индикации:
- Время запуска – система получает время начала отсчета индикации из указанного поля связанной записи. Если путь указан неверно или поле не заполнено, система создает индикацию, используя в качестве времени запуска время сохранения записи, запустившей индикацию.
- Время превышения – система получает время из указанного поля связанной записи. Если путь указан неверно или поле не заполнено, индикация не создается. При обновлении целевой или связанной записи перерасчет времени превышения не производится – значение остается от предыдущего расчета.
- Календарь – система использует для расчета индикаций календарь из указанного поля связанной записи. Если путь указан неверно или поле не заполнено, используется календарь 24×7. Смена источника календаря в существующих индикаторах применяется только к новым индикациям, ранее рассчитанные не меняются.
- Часовой пояс – система определяет часовой пояс из указанного поля связанной записи. Если путь указан неверно или поле не заполнено, используется часовой пояс из индикатора.
Читайте подробнее в статье Индикаторы.
Копирование блоков рабочего процесса
В редакторе рабочих процессов появилась возможность копировать блоки действий вместе с их параметрами, в том числе между разными рабочими процессами. Это позволяет ускорить создание рабочих процессов и повторно использовать уже настроенные конфигурации.
Основные возможности:
- Копирование и вставка через контекстное меню или горячие клавиши.
- Вставленный блок содержит все настройки оригинала, кроме системных полей. Вложенные параметры и зависимости также копируются.
- Скопированный блок можно вставить многократно без повторного копирования.
- При вставке или перетаскивании блока на активную связь между другими блоками он автоматически интегрируется в последовательность выполнения.
- Вставить скопированный блок можно только в рабочий процесс, таблица которого совпадает с исходной или является дочерней от нее.
- Блоки Begin и End скопировать нельзя.
- Копирование возможно в пределах одной вкладки браузера, при перезагрузке страницы скопированный блок удаляется из памяти.
- За один раз можно скопировать только один блок. При копировании нового блока он заменяет предыдущий.
Читайте подробнее в статье Редактор рабочих процессов.
Массовое редактирование записей в связанных списках
Теперь пользователи могут выполнять массовое редактирование выделенных записей непосредственно в связанных списках на форме, без перехода к основному представлению списка.
Выбор записей сбрасывается при переключении между вкладками области связанных списков, но сохраняется при работе с основной областью формы.
Исправления
Безопасность
- DEF0022594: Устранены критические и высокие уязвимости в контейнере proxy/simple-proxy. Устаревшие компоненты образа обновлены.
- DEF0017735: Добавлено скрытие информации в сообщениях об ошибках веб-приложения. Теперь система возвращает маску ошибки (обобщенный текст) для пользователей без роли admin или debugger. Для администраторов и отладчиков возвращается полный текст ошибки. Серверные ошибки логируются с выдачей ключа трассировки из 8 символов в формате [0-9a-z].
Доступность и обновление
- DEF0023512: Исправлена миграция m240711_150036_add_sop_source_message, из-за которой обновление платформы с ранних версий (например, при обновлении с версии 1.29.0) прерывалось фатальной ошибкой PHP. Теперь обновление выполняется штатно.
- DEF0023304: Исправлена проблема, из-за которой контейнер ws-router не перезапускался после сбоя. Причина была в некорректно переданном параметре перезапуска для Docker Compose – выставлялось значение по умолчанию, из-за чего контейнер не перезапускался после ошибки.
Целостность данных
- DEF0021770: Исправлена ошибка, при которой REM-атрибуты перезаписывались пустыми значениями при обновлении записи через скрипт рабочего процесса в случаях, когда в скрипте не было инициализации REM-атрибутов до вызова методов .update().
- DEF0018068: Исправлена ошибка, из-за которой в бизнес-правилах строка "0" воспринималась как пустое значение при проверке условия valueIsEmpty. Теперь "0" корректно считается непустым значением.
- DEF0017945: Исправлена некорректная работа бизнес-правил с полями типа Date/Time для таблицы Индикации (sys_indication), вызванная тем, что даты передавались из Kafka в Unix-формате. Теперь даты преобразуются в формат yyyy-MM-dd HH:mm:ss.
Оптимизация нагрузки
- DEF0021782: Убраны избыточные операции insert и update при создании индикаций, что сократило нагрузку на микросервис Rule-engine.
- DEF0017089: Исправлено избыточное версионирование записей в таблице Скрипты MID (sys_mid_script). Теперь записи VCS не создаются при каждом соединении с MID-сервером, если запись скрипта MID не изменяется в процессе выполнения.
Интерфейс
- DEF0022726: Возвращены контекстные действия "Показать / Исключить совпадения" для записей в окнах справочников.
- DEF0021729: Исправлена проблема с отсутствием метода сброса выбранных записей в связанном списке. Теперь выделение записей корректно сбрасывается не только при вызове deleteRows, но и при других операциях, изменяющих данные списка.
- DEF0021542: Исправлены проблемы в работе Simple-тега <recordList>:
- Переключатель количества отображаемых записей больше не сбрасывается в значение по умолчанию при переходе на следующую страницу.
- Исправлена логика сравнения фиксированных и дополнительных условий в конструкторе – теперь сравнивается все дерево условий, а не только название колонки.
- Добавлена поддержка вложенных условий в конструкторе, что устраняет проблему исчезновения записей при сложных конфигурациях условий.
- DEF0019576: Исправлено некорректное отображение Simple-тега <list>. Улучшена логика назначения высоты с учетом цикла отрисовки браузера, и теперь поля больше не перекрывают друг друга.