Release 5.4.0 (02.04.2024)

Новая разработка

Экспорт

:small_blue_diamond: Реализована возможность повторного экспорта выбранного пакета с учетом текущего состояния настроек объектов, ролей и правил доступа:

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

При повторе экспорта сопоставляется исходный набор объектов и новый:

  • если отсутствуют расхождения, то открывается мастер экспорта с унаследованным выбором объектов;

  • если выявляются расхождения, то до открытия мастера экспорта выводится предупреждение о различии пакетов, в котором:

    • содержится количественная информация о различиях,
    • на вкладках “Объекты” и “Роли и правила доступа” представлены компоненты, составляющие разницу с соответствующим статусом “Удалено” или “Добавлено”, а также причиной состояния.

    Примечание
    Под различиями пакетов понимается разница в составе объектов старого и нового пакета экспорта, а не их состояний (значений свойств объектов).

Улучшения

Экспорт-Импорт

:small_blue_diamond: Изменена логика определения набора правил доступа, доступных пользователю для экспорта - в окне добавления экспортируемых ролей и правил доступа пользователь видит правила к тем объектам, которые доступны ему на просмотр за счет его прав, определенных одним из следующих способов:

  • для пользователя или хотя бы 1 из назначенных ему ролей обеспечено право на просмотр объекта на уровне экземпляра (RLA),
  • для соответствующего субъекта доступа настроено право на просмотр объекта на уровне типа (TLA).
    Например, если пользователь может просматривать объект типа “Действия” на уровне Все, то ему для экспорта доступны роли с правами на просмотр только отдельных действий.

:small_blue_diamond: Обеспечена сортировка по полям реестров в мастере экспорта/импорта и в окне с информацией о пакете в лексикографическом порядке отображаемого текста


:small_blue_diamond: Отображается корректное состояние выбора объектов на уровне шапки столбцов:

  • при повторном экспорте или повторном открытии окна ранее выбранных ролей и правил доступа отображается актуальный частичный или полный выбор;
    Состояние полного выбора
    Состояние частичного выбора

  • в заголовке столбца “Объекты” окна “Добавление ролей и правил доступа” отображается состояние полного выбора объектов после того, как пользователь добавляет в пакет экспорта все отображаемые (доступные пользователю) элементы столбца.

:small_blue_diamond: В мастере экспорта изменен вид конечного элемента в дереве выбора правил доступа

:small_blue_diamond: В мастере экспорта/импорта для небольших экранов увеличено окно реестра выбранных объектов. Если информация не вмещается в выделенную область, то добавляется скролл


:small_blue_diamond: Изменена иконка раздела “Импорт”
Иконка раздела Импорт

Поддержка специальных значений +infinity/-infinity типа Дата-время

:small_blue_diamond: Обновлена библиотека Npgsql до версии 6.0.10 с точечной кастомизацией реализации npgsql**:

  • в части применения маппинга хранимых в БД значений infinity/-infinity на значения DateTime.MaxValue/DateTime.MinValue:
    • сохранена конвертация infinity/-infinity в DateTime.MaxValue/DateTime.MinValue при чтении из БД,
    • не выполняется конвертация DateTime.MaxValue/DateTime.MinValue в infinity/-infinity при записи в БД.
  • в части учета регистра имен параметров в запросах сохранена старая регистрозависимая логика сопоставления имен

:small_blue_diamond: После обновления npgsql до 6.0.10 появилась возможность обработки значений +Infinity/-Infinity, поэтому с версии 5.4.0:

  • в рамках ETL-процессов, выполняющихся в оперативной памяти, значения +Infinity/-Infinity читаются и записываются как DateTime.MaxValue/DateTime.MinValue,
  • в рамках SQL-изированных ETL-процессов значения +Infinity/-Infinity читаются как DateTime.MaxValue/DateTime.MinValue, а записываются в исходном виде как +Infinity/-Infinity.

Примечание
Кастомизация реализации npgsql исключает обратную конвертацию значений DateTime.MaxValue/DateTime.MinValue в +Infinity/-Infinity при записи в БД.

:small_blue_diamond: Обеспечен маппинг хранимых в БД значений infinity/-infinity на значения DateTime.MaxValue/DateTime.MinValue при чтении - значения +infinity/-infinity отображаются без ошибок аналогично значениям DateTime.MaxValue/DateTime.MinValue:

  • при отладке в блоках чтения данных (Чтение данных бизнес-объекта, SQL запрос к базе данных),
  • при просмотре данных БО и Формы или предпросмотре Отчета с типом источника “Реестр”

:small_blue_diamond: Реализовано корректное для пользователя преобразование:

  • значений +Infinity/-Infinity и DateTime.MinValue из столбца типа Дата-время источника PostgreSQL при чтении свойств элементов иерархий и значений мер в результате OLAP-запроса
  • предельных значений типа Дата-время в диапазон допустимых значений для MS Excel при выполнении выгрузки данных в Excel-файл:
    • DateTime.MinValue и -Infinity в 01.01.1900 0:00:00
    • DateTime.MaxValue и +Infinity в 31.12.9999 23:59:59

Аналитические панели

:small_blue_diamond: Добавлена подложка “Красноярский край” для виджета “Карта”, отображающая:

  • 44 района Красноярского края
  • город Красноярск
  • 12 городов краевого подчинения Красноярского края
  • 3 города краевого подчинения Красноярского края, находящиеся в ведении федеральных органов государственной власти и управления

:small_blue_diamond: Расширен перечень blockly в обработчиках событий виджетов:

  1. Добавлен раздел Утилиты с blockly, позволяющими:
  • получить атрибуты текущего пользователя:
    • логин
    • имя
    • список ролей
    • информацию об организации (наименование, код, идентификатор), возвращает строковое значение
  • осуществить поиск в ролях пользователя
  1. Добавлены текстовые blockly, осуществляющие поиск заданного текста в просматриваемой строке по выбранному правилу:
    • содержит (в)
    • начинается (на)
    • заканчивается (на)

Документация

:small_blue_diamond: Внесены изменения в руководство администратора - в топологию добавлен пункт про кластерный режим, скорректированы инструкции по установке БД и tomcat, настройки сервера балансировки