Новая разработка
Экспорт
Реализована возможность повторного экспорта выбранного пакета с учетом текущего состояния настроек объектов, ролей и правил доступа:
- возможность скопировать пакет с экспортированным набором объектов в актуальном состоянии;
- возможность использовать ранее сформированный пакет объектов в качестве шаблона с возможностью изменения настроек, в том числе добавления, удаления объектов и изменения информации о пакете;
- просмотр различий в доступности и составе зависимостей одних и тех же объектов в разные моменты формирования пакета;
- фиксация версии состояния одного и того же набора объектов за счет сохранения пакета в разные периоды;
- проверка правил доступа при операции повтора экспорта с выводом соответствующего предупреждения.
При повторе экспорта сопоставляется исходный набор объектов и новый:
-
если отсутствуют расхождения, то открывается мастер экспорта с унаследованным выбором объектов;
-
если выявляются расхождения, то до открытия мастера экспорта выводится предупреждение о различии пакетов, в котором:
- содержится количественная информация о различиях,
- на вкладках “Объекты” и “Роли и правила доступа” представлены компоненты, составляющие разницу с соответствующим статусом “Удалено” или “Добавлено”, а также причиной состояния.
Примечание
Под различиями пакетов понимается разница в составе объектов старого и нового пакета экспорта, а не их состояний (значений свойств объектов).
Улучшения
Экспорт-Импорт
Изменена логика определения набора правил доступа, доступных пользователю для экспорта - в окне добавления экспортируемых ролей и правил доступа пользователь видит правила к тем объектам, которые доступны ему на просмотр за счет его прав, определенных одним из следующих способов:
- для пользователя или хотя бы 1 из назначенных ему ролей обеспечено право на просмотр объекта на уровне экземпляра (RLA),
- для соответствующего субъекта доступа настроено право на просмотр объекта на уровне типа (TLA).
Например, если пользователь может просматривать объект типа “Действия” на уровне Все, то ему для экспорта доступны роли с правами на просмотр только отдельных действий.
Обеспечена сортировка по полям реестров в мастере экспорта/импорта и в окне с информацией о пакете в лексикографическом порядке отображаемого текста
Отображается корректное состояние выбора объектов на уровне шапки столбцов:
-
при повторном экспорте или повторном открытии окна ранее выбранных ролей и правил доступа отображается актуальный частичный или полный выбор;
-
в заголовке столбца “Объекты” окна “Добавление ролей и правил доступа” отображается состояние полного выбора объектов после того, как пользователь добавляет в пакет экспорта все отображаемые (доступные пользователю) элементы столбца.
В мастере экспорта изменен вид конечного элемента в дереве выбора правил доступа
В мастере экспорта/импорта для небольших экранов увеличено окно реестра выбранных объектов. Если информация не вмещается в выделенную область, то добавляется скролл
Изменена иконка раздела “Импорт”
Поддержка специальных значений +infinity/-infinity типа Дата-время
Обновлена библиотека Npgsql до версии 6.0.10 с точечной кастомизацией реализации npgsql**:
- в части применения маппинга хранимых в БД значений infinity/-infinity на значения DateTime.MaxValue/DateTime.MinValue:
- сохранена конвертация infinity/-infinity в DateTime.MaxValue/DateTime.MinValue при чтении из БД,
- не выполняется конвертация DateTime.MaxValue/DateTime.MinValue в infinity/-infinity при записи в БД.
- в части учета регистра имен параметров в запросах сохранена старая регистрозависимая логика сопоставления имен
После обновления 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 при записи в БД.
Обеспечен маппинг хранимых в БД значений infinity/-infinity на значения DateTime.MaxValue/DateTime.MinValue при чтении - значения +infinity/-infinity отображаются без ошибок аналогично значениям DateTime.MaxValue/DateTime.MinValue:
- при отладке в блоках чтения данных (Чтение данных бизнес-объекта, SQL запрос к базе данных),
- при просмотре данных БО и Формы или предпросмотре Отчета с типом источника “Реестр”
Реализовано корректное для пользователя преобразование:
- значений +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
Аналитические панели
Добавлена подложка “Красноярский край” для виджета “Карта”, отображающая:
- 44 района Красноярского края
- город Красноярск
- 12 городов краевого подчинения Красноярского края
- 3 города краевого подчинения Красноярского края, находящиеся в ведении федеральных органов государственной власти и управления
Расширен перечень blockly в обработчиках событий виджетов:
- Добавлен раздел Утилиты с blockly, позволяющими:
- получить атрибуты текущего пользователя:
- логин
- имя
- список ролей
- информацию об организации (наименование, код, идентификатор), возвращает строковое значение
- логин
- осуществить поиск в ролях пользователя
- Добавлены текстовые blockly, осуществляющие поиск заданного текста в просматриваемой строке по выбранному правилу:
- содержит (в)
- начинается (на)
- заканчивается (на)
Документация
Внесены изменения в руководство администратора - в топологию добавлен пункт про кластерный режим, скорректированы инструкции по установке БД и tomcat, настройки сервера балансировки