Перейти к основному содержимому
Версия: 1.32.0

Версия 1.32.0

В этой версии мы доработали возможности рабочих процессов для их автоматизации, связанной с обработкой расширенных моделей записи.

Ускорили обработку конфигурационных пакетов, чтобы точнее отслеживать выполнение операций при работе с конфигурационными пакетами.

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

Новая функциональность


Асинхронная загрузка конфигурационных пакетов

Внедрен асинхронный режим обработки импортированных пакетов и оптимизирован процесс их выполнения. Данная функциональность направлена на обеспечение стабильной работы с конфигурационными пакетами и повышение удобства импорта больших пакетов (более 100 000 записей VCS) на экземпляр.

В системном свойстве platform.vcs.sop_process_quantity вы можете указать количество конфигурационных пакетов, которые могут быть в обработке одновременно.

В новом виджете Управление конфигурационными пакетами отображается информация об импортированных пакетах, обработка которых была запущена на экземпляре. В виджете доступна информация об инициаторе и статусе обработки со ссылками на записи пакетов.

Читайте подробнее в статье Конфигурационные пакеты.

Улучшения


Расчет ретроспективного времени паузы при создании индикации

Теперь при расчете суммарного времени приостановки индикации также учитываются потенциальные паузы обработки, случившиеся в прошлом. Для этого мы добавили на форму индикаторов поле Учитывать ретроспективную паузу.

Если свойство Учитывать ретроспективную паузу активно:

  • При запуске индикации система проверяет историю записи и, если находит там состояния записи, соответствующие условию паузы, то суммирует их длительность и учитывает в соответствующих параметрах индикации затраченного рабочего времени, а также времени превышения и времени паузы.
  • На форме индикации в поле Время паузы отображается значение ретроспективной паузы на момент создания индикации, после создания – сумма ретроспективной и накопленной пауз, если для индикатора установлен флажок Учитывать ретроспективную паузу, а в поле Время превышения индикации выбрано Определяется длительностью.
к сведению

Ввиду выполнения расчетов паузы на основе данных таблицы История (sys_history), пауза не рассчитывается для индикаторов, в условиях паузы или возобновления которых используются:

  • REM-атрибуты;
  • полей, к которым настроено обращение с помощью dot-walking;
  • полей типа Journal Input.

так как их изменения не регистрируются для целевой записи.

Читайте подробнее в статье Индикаторы.

Поддержка рабочего процесса для моделей расширенной записи (REM)

Теперь вы можете явно связать модель расширенной записи с рабочим процессом. Например, для каждого типового запроса по услуге, для которой создана модель, запускается соответствующий рабочий процесс с нужными шагами (сбор данных, согласование, исполнение, опрос и другие).

Вы можете создать разные модели для одной и той же услуги, чтобы запускать соответствующий рабочий процесс в зависимости от условий. Например, рабочий процесс, не включающий согласование, и рабочий процесс, который будет включать действия по дополнительному согласованию и обработке данных.

Рабочий процесс запускается при создании записи по модели, а при изменении модели он останавливается и запускается новый. Для запуска рабочего процесса укажите его на форме соответствующей модели, а в свойствах рабочего процесса укажите триггер Использование REM.

Также в свойствах рабочего процесса поле Тип условия было переименовано на Триггер, и обновлены названия опций поля в соответствии с логикой, которую они реализуют: Вручную, По условию и Использование REM.

В действие рабочего процесса Switch мы добавили поле Версия процесса, в котором отражено название рабочего процесса, что позволяет быстро ориентироваться в запущенных действиях.

Читайте подробнее в статье Расширенная модель записи.

Системные улучшения


Разблокировка зависших задач в планировщике

Обновили механизм обнаружения зависших задач в планировщике. Теперь такие задачи становятся доступными для повторного выполнения через одну минуту после обнаружения проблемы. Ранее они оставались заблокированными в течение одного часа.

Читайте подробнее в эксплуатационной документации.

Исправления


DEF0022644: В рабочих процессах действие Record Generator прерывалось с ошибкой Array to string conversion из-за недостаточной строгости критериев в алгоритме определения типа колонки. В результате чего созданные и обновленные записи могли содержать ошибку в значении полей и были недоступны для дальнейшей работы.

DEF0022287: После выделения ESM-платформы (приложение Simple) в отдельное приложение было выявлено, что часть записей, например, созданных в приложении Simple, мигрировали в приложение Platform и стали недоступными для редактирования после обновления до версии 1.29.0. Причиной некорректной миграции была клиентская настройка "коробочных" таблиц, которую не учли при разработке механизма миграции. В этой версии алгоритмы миграции исправлены и все записи приложения Simple перенесены из Platform в Simple.

DEF0021494: В индикаторе отсутствовала проверка на наличие пустого значения в поле, из-за чего индикация создавалась при выборе условия НЕ РАВНО, если указанное поле в записи целевой таблицы было пустым. В этой версии доработали логику операторов в соответствии со всеми возможными их комбинациями с типами полей.

DEF0021205: При прерывании сохранения записи бизнес-процессом через метод setAbortAction нераспределенный экземпляр системы приостанавливал работу и возвращал ошибку 500. На распределенных стендах это приводило к появлению ошибки 502. В этой версии добавлены необходимые сценарии для корректной работы в случае прерывания процесса.

DEF0021010: Поля типа Template неправильно преобразовывали значение, взятое из полей типа WYSIWYG. В этой версии настроен механизм, позволяющий корректно передавать значения из WYSIWYG в Template.

DEF0020747: Система не могла обрабатывать обращение к полю типа List с помощью dot-walking в атрибуте condition. Из-за этого механизм автозаполнения не срабатывал и появлялась ошибка Server error. В этой версии поведение восстановлено.

DEF0020127: В предыдущей версии заголовки колонок смещались относительно самих колонок при группировке по ним. В этой версии верстка исправлена и заголовки не смещаются.

DEF0019650: Клиентский скрипт onChange не срабатывал при изменении поля или REM-атрибута типа Date/Time или Date. Логика определения изменений в компоненте isChanged не учитывала необходимость вызова компонента onChange при возврате к исходному значению (включая сброс до пустого значения), что приводило к некорректной работе скриптов. В этой версии логика дополнена соответственно.

DEF0018431: В настройках интеграции с LDAP можно было задать вредоносный URL. Чтобы исключить подобные случаи в новых версиях мы усилили тестирование безопасности системы.