Описание релизов/0.43.0

Материал из 3v-wiki
Перейти к навигации Перейти к поиску


Содержание

Критичные изменения

  • Обновление версии Angular. Прикладным проектам, использующим библиотеки платформы, необходимо обновиться до Angular 13:

"@angular/animations": "~13.1.3",
"@angular/cdk": "^13.1.3",
"@angular/cdk-experimental": "^13.1.3",
"@angular/common": "~13.1.3",
"@angular/compiler": "~13.1.3",
"@angular/core": "~13.1.3",
"@angular/forms": "~13.1.3",
"@angular/platform-browser": "~13.1.3",
"@angular/platform-browser-dynamic": "~13.1.3",
"@angular/router": "~13.1.3",

а также версии других библиотек:
"@ag-grid-community/angular": "^26.2.0",
"@ag-grid-enterprise/all-modules": "^26.2.1",
"tslib": "^2.3.1",
"zone.js": "~0.11.4"

--devDependencies--
"@angular-devkit/build-angular": "~13.1.4",
"@angular/cli": "~13.1.4",
"@angular/compiler-cli": "~13.1.3",
"@types/jasmine": "~3.6.0",
"karma": "~6.3.11",
"ng-packagr": "^13.1.3",
"typescript": "~4.5.5"

  • Нельзя использовать старые версии клиентов на новых версиях сервисах и наоборот, т.е. чтобы нужно использовать версии клиентов и сервисов > 0.43 или < 0.43.


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


  • При переходе на новый релиз будут следующие изменения в таблицах перекодировок:

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

Пример старого наименования - dict_169012_id_mapping Пример нового наименования - dict_169012_guid_id_id_mapping

Чем грозит такое изменение? 1) Что сгенерированный целочисленный идентификатор для нецелочисленного идентификатора может не совпасть с таковым в старой таблице, поэтому если для таких справочников используются где-то отметки с перечислением целочисленных идентификаторов напрямую (т.е. не через условия), то они станут не корректными. 2) При переходе на старый релиз (до данного изменения) будет использоваться таблица со старым наименованием, что приведёт к до заполнению таблицы недостающими данными, что опять же повлечет за собой ситуация, что сгенерированный идентификатор может не совпадать с таковым в новой таблице.

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

От старой таблицы мы не можем отказаться по нескольким причинам: 1) Мы не знает какой атрибут идентификатор и какого справочника был использован в качестве значение при генерации значений в таблице перекодировке, поэтому мы не можем просто взять и переложить данные в новую таблицу или поменять название старой таблицы на новое. 2) Старую таблицу нужно оставить для совместимости, что если вдруг будет откат версии платформы, то такие справочники хотя бы будут открываться, а не падать с ошибкой о том, что не могут найти старую таблицу (т.к. таблица создается при сохранении и появится, только при пересохранении справочника).

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

Отчёты

Предпросмотр документа

Добавлена функциональность предпросмотра документов типа .pdf. Для того, чтобы открылся предпросмотр следует нажать иконку в ячейке отчёта. Функциональность реализована и в пользовательском навигаторе.

предпросмотр.gif




Автоматическое добавление виртуального элемента в боковик

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

вирт.эл. по умолчанию.png




Формы

Новый элемент. Вкладки(trv-tabset и trv-tab)

Реализован новый элемент Вкладки. Для вкладок появилась возможность задать условия отображения, которые позволяют скрывать как саму вкладку, так и вложенные в неё элементов. В названии вкладки можно задать отступы и иконку из Material Icons. Подробнее...

вкладка1.png





Новый элемент. Контекстное меню(trv-dropdown)

Реализован новый элемент Контекстное меню. Контекстное меню - элемент, который представляет собой некоторое количество выпадающих кнопок. Для того, чтобы задать выпадающие элементы, следует внутри компонента добавить Пункты меню. Также существует возможность добавить разделитель, для визуального отделения пунктов меню друг от друга.

к.меню.png




"Автоматическая высота" для линейных диаграмм

Для диаграмм реализован флаг "Автоматическая высота", включение которого позволяет диаграмме отстраиваться самостоятельно без задания высоты. Отстраивается она по размеру и количеству баров.


Операнд для расчета ячейки отчёта

Добавлен операнд EntryExpressionPivotSourceCellValueParameter для рассчёта ячейки отчёта, где в свойстве pivotSourceId задаётся идентификатор отчета-источника данных, column - номер столбца, row - номер строки (индексы строк и столбцов начинается с 0).

JSON
 1 {
 2  "expression": "[1]",
 3  "operands": [
 4   {
 5    "pivotSourceId": 1,
 6    "column": 0,
 7    "row": 2,
 8    "discriminator": "EntryExpressionPivotSourceCellValueParameter",
 9    "id": 1,
10    "allowMultipleValues": false
11   }
12  ],
13  "id": 1,
14  "name": "Выражение",
15  "code": null
16 }




Показатели

Согласование

Переход к любому состоянию для роли админа

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


Новый внешний источник для получения данных по процессу (дописать)

Для согласования добавлен источник ProcessStateV2, работает как ProcessState, только отличается набором полей.

добавлены подстановки для SubProcessNameTemplate
SubProcessName - наименование подпроцесса из модели родительского процесса
StateName - наименование текущего состояния подпроцесса


Уведомления

Навигатор

Доработка реестра согласования

Доработан реестр согласования:

  • Убраны кнопки "Остановить" и "Перезапустить",
  • Добавлена кнопка удаления экземпляра процесса согласования,
  • Добавлена кнопка "Обновить" с пунктами:
    • "Обновить реестр" - полностью обновляет реестр процессов.
    • "Обновить шаблон" - обновляет шаблон экземпляра процесса в соответствии с основной модельною объекта согласования.
    • "Обновить данные по субъектам" - обновляет кэш субъектов экземпляра процесса.
реестр.png



Контекстное меню навигатора

Реализовано контекстное меню для левого дерева навигатора. Конеткстное меню позволяет

  • Создать папку или объект в выделенной папке
  • Свернуть или развернуть выделенную папку
  • Добавить в обновлению папку и всё её содержимое
  • Копировать ссылку на папку или её идентификатор
  • Вырезать выделенную папку
  • Вставить в выделенную папку объекты в буфере обмена
  • Переименовтаь
  • Открыть панель прав доступа
  • Открыть панель свойств папки
  • Удалить папку
контекстное меню навигатора.gif



Переключение локализации до авторизации на стенде

Теперь выбор локализации для работы с платформой можно произвести до авторизации.

локализация из кк.gif



Пользовательский навигатор

Индикатор уведомлений(пример)

Реализован индикатор уведомлений, который .... Для того, чтобы настроить индикацию в меню пользовательского навигатора нужно сделать следующую настройку:
MENU_ITEM_NOTIFICATION_BOOL_CSS - Оформление уведомления элемента меню (для флага, а не числа)
MENU_ITEM_NOTIFICATION_CSS - Оформление уведомления элемента меню

Уведомления.png




Аудит

Гранулярный аудит

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

Элемент массива Actions Описание записываемых действий
None Действия не записываются в аудит
MetaObjectChanges Изменение метаобъекта
DictionaryDataSaved Сохранение данных справочника
DictionaryElementChanges Изменение элемента справочника
IndicatorDataSaved Сохранение данных показателя
IndicatorDataChanges Изменение данных показателя
CalculationExecutions Расчёт методики
PivotOpenings Открытие отчёта
DbStructureChanges Изменение структуры базы данных
UserOperations Пользовательские операции
SchedulerTaskExecutions Выполнение запланированной задачи
WorkflowStateChanges Изменение состояния согласования
WorkflowProcessesChanges Изменение согласования
All Все действия
DictionaryDataSaved Сохранены данные справочника
IndicatorDataSaved Сохранены данные показателя

По умолчанию аудируются только изменения метаобъектов и структуры согласований.

Общее

Новые функции

Добавлены новые функции в NCalc:

  • Median() - вычисляет медиану набора чисел,
  • AddMinutes() - добавление минут к дате,
  • AddHours() - добавляет часы к дате,
  • AddDays() - добавляет дни к дате,
  • AddMonths() - добавляет месяцы к дате,
  • AddYears() - добавляет годы к дате.
  • CurrentLocale() - вычисляет текущую локаль.

Подробнее об их использовании и настройке можно прочитать здесь.

Конструкторы

Конструктор справочников

Настройка локализованных названий

Реализован вынос локализации наименований атрибутов в конструктор.

локализация в КС.gif



Конструктор форм

Полная локализация конструктора форм

Реализована локализация левой и правой панели настройки для всех элементов форм.

Локализация КФ.png