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

Версия 1.31.0

В этой версии мы добавили возможность разделять личные и общие фильтры в конструкторе условий для многократного повторного применения во время работы со списками. Также обеспечили поддержку компактного режима Simple-тега списка recordList с возможностью опционально игнорировать глобальные настройки отображения интерфейса при помощи дополнительного атрибута.

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

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

На формы поставщика и потребителя сообщений очередей RabbitMQ добавлена возможность проверки соединения.

Также в эту версию вошли и другие улучшения и исправления.

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


Фильтры в конструкторе условий

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

Доступность фильтров определяется при их создании. Создавать и редактировать фильтры, доступные всем пользователям платформы, могут только пользователи с ролью admin, остальные пользователи могут создавать и редактировать только персональные фильтры.

Список доступных фильтров расположен в верхнем правом углу виджета конструктора условий. Там же располагаются кнопки сохранения и добавления нового фильтра.

Мы также предусмотрели возможность вносить изменения в условия и названия сохраненных фильтров.

Читайте подробнее в статье Конструктор условий.

Работа с полями типа WYSIWYG в скриптах и REST API

Для упрощения работы с текстовыми данными в полях типа WYSIWYG мы внедрили системные свойства:

  • wysiwyg.columns.scripts_text_mode, которое содержит ID колонок типа WYSIWYG, которые необходимо использовать в скриптах в виде текста.

  • wysiwyg.columns.rest_api_json_mode, которое содержит ID колонок типа WYSIWYG, доступных для интеграций с внешними системами в виде объекта с данными в формате WYSIWYG.

Следующие методы API-класса SimpleRecord Server-Side могут возвращать как WYSIWYG, так и Text, в зависимости от того, указана ли колонка в системном свойстве wysiwyg.columns.scripts_text_mode:

Улучшения


Расширение функциональности карты зависимостей

В этой версии мы улучшили визуализацию карты зависимостей и добавили следующие возможности для пользователей и разработчиков:

  • перемещение элементов по карте при помощи механизма "drag and drop", чтобы расположить элементы более удобным образом. Изменения не сохраняются, карта принимает первоначальный вид после обновления страницы.
  • выделение соединений цветом при наведении для большей информативности.
  • добавлены атрибуты для настройки отображения карты зависимостей через внешний скрипт getCustomDependencyMapData.

Читайте подробнее в статье Карта зависимостей.

Логирование ошибок скриптов

На форму таблицы Журнал работы скриптов (sys_log_script) добавлено поле Строка с исключением, в котором указан номер строки скрипта, содержащей ошибку.

Также теперь логирование ошибок работы скриптов происходит всегда. Если в свойстве simple.logs.enable_script_logging указано значение false, логирование будет отключено только для скриптов, выполнение которых прошло успешно.

Читайте подробнее в статье Системные журналы.

Оптимизация методов класса SimpleSystem

Для повышения производительности платформы мы обновили требования проверки правил контроля доступа в следующих методах класса SimpleSystem:

Проверка правил контроля доступа производится
  • ss.getUser();
  • ss.getApplicationId();
  • ss.getProperty();
  • ss.generateUrlAction();
  • ss.eventQueue();
  • ss.eventQueueScheduled().
Проверка правил контроля доступа отключена
  • ss.getUserID();
  • ss.info();
  • ss.debug();
  • ss.warning();
  • ss.error().

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

Управление периодичностью пересчета SLA

В этой версии мы дали возможность клиентам управлять нагрузкой, которая создается при периодическом пересчете индикаций, при помощи системных свойств, задающих интервалы пересчета. Также добавили свойство slm.calculation.period.in_pause, в котором можно задать фиксированный интервал обновления индикаций, находящихся на паузе.

Свойства и их значения, используемые по умолчанию, указаны ниже:

СвойствоЗначение по умолчанию в секундах
slm.calculation.period.after_breach7200
slm.calculation.period.before_breach_greater_than_1_day7200
slm.calculation.period.before_breach_1_day3600
slm.calculation.period.before_breach_6_hour1800
slm.calculation.period.before_breach_2_hour600
slm.calculation.period.before_breach_30_minutes60
slm.calculation.period.in_pause''

Читайте подробнее в статье Свойства управления уровнем услуг.

Компактный режим в Simple-теге recordList

Компактный режим просмотра таблиц теперь можно включить не только через основные настройки.

В Simple-тег recordList добавлен атрибут compactView, с помощью которого можно настроить отображение виджета вне зависимости от основных настроек текущего пользователя. Если атрибут не указан, отображение списка определяется значением настройки Компактный режим интерфейса текущего пользователя.

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

Конструктор условий

Конструктор условий теперь закрывается после выполнения фильтрации записей. Благодаря этому пользователь сразу видит результаты без необходимости прокручивать страницу вниз до конца виджета.

Проверка подключения

Добавили возможность проверки подключения Потребитель RabbitMQ (sys_rabbitmq_consumer) и Поставщик RabbitMQ (sys_rabbitmq_producer). Новая кнопка Проверить соединение расположена на форме и работает аналогично такой же кнопке на формах таблицы Сервер LDAP (sys_ldap_server). По окончании проверки появляется сообщение в правом нижнем углу с результатом проверки и описанием ошибки, если она произошла.

Читайте подробнее в статьях Потребитель RabbitMQ и Внешние очереди.

Исправления


DEF0022484: При импорте записей с помощью SOP-файлов возникала ошибка, если в колонках типа Text, HTML и Script было указано значение, содержащееся в двойных фигурных скобках, например, {{Привет!}}. При загрузке пакетов с такими данными система неверно интерпретировала двойные кавычки в JSON и возвращала ошибку. В этой версии добавлены проверки по вставке данных с различным синтаксисом в значениях колонок, и импорт данных с двойными фигурными скобками в полях указанных выше типов проходит без ошибок.

DEF0019432: XLSX-файл, полученный при экспорте таблицы, содержал некорректные данные: в колонках типа Choice содержалось значение опции вместо отображаемого значения, что затрудняло восприятие информации. Проблема заключалась в отсутствии переопределения метода getValueForExport() для полей типа Choice. В этой версии переопределение настроено, и данные в экспортированных XLSX-файлах отображаются корректно.

DEF0018301: При работе с временными файлами размер контейнера backend-api быстро увеличивался. В этой версии для хранения временных файлов используется директория на виртуальной машине, в которой настроено автоматическое удаление файлов после загрузки в хранилище S3 или по прошествии 24 часов со времени последнего изменения.

DEF0018256: Ранее возникали ошибки открытия экспортированного XLSX-файла, если значение ячейки превышало допустимый лимит Excel. В этой версии платформы библиотека Excelize обновлена до версии 2.9.0 и слишком длинные значения при экспорте обрезаются до допустимых, что позволяет открыть экспортированный файл.

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

DEF0017501: Повторная загрузка локального пакета после его отката приводила к ошибке RestoreVersionException. Помимо исправления логики отката пакетов дополнили документацию более подробным описанием особенностей работы с SOP-файлами.

DEF0016995: Методы класса SimpleSearch возвращали ошибки, связанные с несовершенным механизмом генерации ID. В этой версии проблемы устранены.

DEF0016429: В случае нескольких исключающих элементов календаря метод whenWillExpire() класса SimpleSchedule возвращал некорректный ответ. В этой версии метод учитывает, что массив с сегментами рабочего дня может динамически увеличиваться, и возвращает точные данные.

DEF0015288: Ввод поискового запроса, содержащего знак "%", приводил к ошибке поиска. В этой версии мы доработали поисковый алгоритм с учетом специальных символов.