Описание релизов/0.43.0: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
(Полностью удалено содержимое страницы)
Метка: очистка
 
(не показаны 43 промежуточные версии 2 участников)
Строка 1: Строка 1:
 +
{{DISPLAYTITLE:0.43 - Фердинанд Пóрше}}
 +
[[Файл:Ferdinand Porsche1.jpg|300px|link=https://ru.wikipedia.org/wiki/Порше,_Фердинанд]] <br>
 +
=Критичные изменения=
 +
*Обновление версии Angular. '''Прикладным сервисам''', использующим библиотеки платформы, необходимо обновиться до Angular 13.
  
 +
<div class="NavFrame collapsed" style="width:700px;">
 +
  <div class="NavHead"> Библиотеки, которые следует обновить </div>
 +
  <div class="NavContent">
 +
"@angular/animations": "~13.1.3",<br>
 +
"@angular/cdk": "^13.1.3",<br>
 +
"@angular/cdk-experimental": "^13.1.3",<br>
 +
"@angular/common": "~13.1.3",<br>
 +
"@angular/compiler": "~13.1.3",<br>
 +
"@angular/core": "~13.1.3",<br>
 +
"@angular/forms": "~13.1.3",<br>
 +
"@angular/platform-browser": "~13.1.3",<br>
 +
"@angular/platform-browser-dynamic": "~13.1.3",<br>
 +
"@angular/router": "~13.1.3",<br><br>
 +
 +
а также версии других библиотек:<br>
 +
"@ag-grid-community/angular": "^26.2.0",<br>
 +
"@ag-grid-enterprise/all-modules": "^26.2.1",<br>
 +
"tslib": "^2.3.1",<br>
 +
"zone.js": "~0.11.4"<br><br>
 +
 +
--devDependencies--<br>
 +
"@angular-devkit/build-angular": "~13.1.4",<br>
 +
"@angular/cli": "~13.1.4",<br>
 +
"@angular/compiler-cli": "~13.1.3",<br>
 +
"@types/jasmine": "~3.6.0",<br>
 +
"karma": "~6.3.11",<br>
 +
"ng-packagr": "^13.1.3",<br>
 +
"typescript": "~4.5.5"<br>
 +
</div></div>
 +
<br>
 +
*Не сохранена обратная совместимость между версиями клиентов и сервисов. При переходе на 43 релиз '''прикладным сервисам''' следует обновить клиенты до 43 версии.
 +
<br>
 +
*Отложенная загрузка справочников в формах: рекомендуем провести тестирование форм на корректность поведения.
 +
<br>
 +
*Удалены следующие свойства json в формах:
 +
*#BinaryConditionWorkFlowStateIn<br>
 +
*#EntryExpressionJsonQueryParameter<br>
 +
*#DataIndicatorDataSource<br>
 +
*#JsonDataSource<br>
 +
*#MetaObjectDataSource<br>
 +
*#UiDataMetaObject<br>
 +
*#UiDataSourceDataIndicator<br>
 +
*#UiDataSourceJson<br>
 +
<br>
 +
*При использовании внешних справочников с нецелочисленными идентификаторами возможна перекодировка численных идентификаторов при сохранении модели такого справочника. Если фильтрация настроена явно на идентификатор, то следует перепроверить значения после сохранения.
 +
<br>
 +
 +
= Новая функциональность =
 +
== Отчёты ==
 +
=== Предпросмотр документа ===
 +
Добавлена функциональность предпросмотра документов типа .pdf. Для того, чтобы открылся предпросмотр следует нажать иконку в ячейке отчёта. Функциональность реализована и в пользовательском навигаторе.
 +
[[Файл:предпросмотр.gif|слева|border]] <br clear="both" /><br>
 +
<div class="NavFrame collapsed" style="width:700px; overflow:auto;">
 +
  <div class="NavHead">Примеры</div>
 +
  <div class="NavContent">
 +
[https://study.3v-cloud.com/navigator/#/home?objectId=1518 Отчёт с файлом(.pdf)]
 +
  </div>
 +
</div>
 +
<br>
 +
 +
=== Автоматическое добавление виртуального элемента в боковик ===
 +
Сейчас виртуальный элемент добавляется по умолчанию в сложные структуры боковика. Это сделано во избежание того, чтобы дочерние элементы не скрывались под родительскими.
 +
 +
<gallery mode="packed" margin=200px; heights=400px style="text-align:left;">
 +
Файл:автоматический виртуальный элемент.png|<div style="text-align:center">'''Иерархия с виртуальным элементом'''</div>
 +
Файл:нет вир.элемент.png|<div style="text-align:center">'''Иерархия без виртуального элемента'''</div>
 +
</gallery>
 +
 +
Данная настройка вынесена в конструктор отчётов.
 +
[[Файл:вирт.эл. по умолчанию.png|слева|750px|border]] <br clear="both" /><br>
 +
 +
<div class="NavFrame collapsed" style="width:700px; overflow:auto;">
 +
  <div class="NavHead">Примеры</div>
 +
  <div class="NavContent">
 +
[https://study.3v-cloud.com/navigator/#/?viewId=1488 Отчёт с автоматическими виртуальными элементами]
 +
  </div>
 +
</div>
 +
<br>
 +
 +
== Формы ==
 +
=== Новый элемент. Вкладки(trv-tabset и trv-tab) ===
 +
Реализован новый элемент Вкладки. Для вкладок появилась возможность располагать компонент горизонтально и вертикально. В названии вкладки можно задать отступы и иконку из [https://fonts.google.com/icons?selected=Material+Icons Material Icons]. [[Платформа_3V/Формы/Компоненты/Верстка/Вкладки|Подробнее...]]. А также реализована настройка заголовков, правил и прочего через конструктор.
 +
[[Файл:вкладка1.png|слева|border]] <br clear="both" /><br>
 +
 +
<div class="NavFrame collapsed" style="width:700px; overflow:auto;">
 +
  <div class="NavHead">Примеры</div>
 +
  <div class="NavContent">
 +
[https://study.3v-cloud.com/navigator/#/home?objectId=1484 Форма с вкладками]
 +
  </div>
 +
</div>
 +
<br>
 +
 +
=== Новый элемент. Контекстное меню(trv-dropdown) ===
 +
Реализован новый элемент Контекстное меню. Контекстное меню - элемент, который представляет собой некоторое количество выпадающих кнопок. Для того, чтобы задать выпадающие элементы, следует внутри компонента добавить Пункты меню. Также существует возможность добавить разделитель, для визуального отделения пунктов меню друг от друга.
 +
[[Файл:к.меню.png|слева|border]] <br clear="both" /><br>
 +
 +
<div class="NavFrame collapsed" style="width:700px; overflow:auto;">
 +
  <div class="NavHead">Примеры</div>
 +
  <div class="NavContent">
 +
[https://study.3v-cloud.com/navigator/#/home?objectId=1484 Форма с контекстным меню]]
 +
  </div>
 +
</div>
 +
<br>
 +
 +
=== "Автоматическая высота" для линейных диаграмм ===
 +
Для диаграмм реализован флаг "Автоматическая высота", включение которого позволяет диаграмме отстраиваться самостоятельно без задания высоты. Отстраивается она по размеру и количеству баров. 
 +
[[Файл:автоматическая высота для л.диаграммы.png|слева|800px|border]]<br clear="both" /><br>
 +
<div class="NavFrame collapsed" style="width:700px; overflow:auto;">
 +
  <div class="NavHead">Примеры</div>
 +
  <div class="NavContent">
 +
[https://study.3v-cloud.com/navigator/#/home?objectId=1524 Форма с линейной диаграммой]
 +
  </div>
 +
</div>
 +
<br>
 +
 +
=== Операнд для расчета ячейки отчёта ===
 +
Добавлен операнд  '''''EntryExpressionPivotSourceCellValueParameter''''' для расчёта ячейки отчёта, где<br>
 +
'''''pivotSourceId''''' - идентификатор отчета-источника данных, <br>
 +
'''''column''''' - номер столбца, <br>
 +
'''''row''''' - номер строки.<br>
 +
'''Важно!!!''' Индексы строк и столбцов начинается с 0
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;">
 +
<div style="font-weight:bold;line-height:1.6;">JSON</div>
 +
<div class="mw-collapsible-content mw-collapsed-content">
 +
<syntaxhighlight lang="JSON" line>
 +
{
 +
"expression": "[1]",
 +
"operands": [
 +
  {
 +
  "pivotSourceId": 1,
 +
  "column": 0,
 +
  "row": 2,
 +
  "discriminator": "EntryExpressionPivotSourceCellValueParameter",
 +
  "id": 1,
 +
  "allowMultipleValues": false
 +
  }
 +
],
 +
"id": 1,
 +
"name": "Выражение",
 +
"code": null
 +
}
 +
</syntaxhighlight>
 +
</div></div>
 +
<br>
 +
<div class="NavFrame collapsed" style="width:700px; overflow:auto;">
 +
  <div class="NavHead">Примеры</div>
 +
  <div class="NavContent">
 +
[https://study.3v-cloud.com/navigator/#/home?objectId=1496 Форма выражением, рассчитывающим ячейку отчета]
 +
  </div>
 +
</div>
 +
<br>
 +
 +
== Показатели ==
 +
=== Блокировка значений факта в выпадающем списке ===
 +
Добавлено свойство блокировки значений факта показателя с типом "Элемент справочника".
 +
Для того, чтобы настроить данную функциональность следует в связанном справочнике, который используется в качестве факта с типом "элемент справочник" добавить столбец логического типа и настроить связь на этот атрибут в '''''canSelectAttribute''''' показателе.
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;">
 +
<div style="font-weight:bold;line-height:1.6;">JSON</div>
 +
<div class="mw-collapsible-content mw-collapsed-content">
 +
<syntaxhighlight lang="JSON" line>
 +
{
 +
  ...
 +
  "indicatorDictionaries": [
 +
    {
 +
      "mappings": [
 +
        {
 +
          "elementId": 1,
 +
          "columnId": 3,
 +
          "dictionaryElementsOptions": {
 +
            "displayAttributeId": 2,
 +
            "canSelectAttribute": {
 +
              "discriminator": "OwnAttributeDefinitionDto",
 +
              "id": 20
 +
            },
 +
            "dictionaryId": 1527,
 +
            "hierarchyId": null,
 +
            "limit": null
 +
          }
 +
        }
 +
      ],
 +
      "discriminator": "DataIndicatorFactDictionaryDto",
 +
      "dictionaryId": 1529
 +
    }
 +
  ],
 +
}
 +
</syntaxhighlight>
 +
</div></div>
 +
 +
 +
[[Файл:canselect.png|слева|650px|border]] <br clear="both" /><br><br>
 +
 +
<div class="NavFrame collapsed" style="width:700px; overflow:auto;">
 +
  <div class="NavHead">Примеры</div>
 +
  <div class="NavContent">
 +
[https://study.3v-cloud.com/navigator/#/home?objectId=1558 Показатель с заблокированным элементом справочника]
 +
  </div>
 +
</div>
 +
<br>
 +
 +
== Согласование ==
 +
=== Переход к любому состоянию для роли админа ===
 +
Пользователь с ролью админ может перейти на любое состояние запущенного процесса. В конфигурационный файл добавлено свойство '''''ProcessAdminRole''''', в котором следует указать роль админа.
 +
 +
=== Новый внешний источник для получения данных по процессу ===
 +
Для согласования добавлен источник '''''ProcessStateV2''''', который отличается набором полей.<br>
 +
Изменены названия:
 +
*'''''StateId'''''-->'''''Id ''''' - Идентификатор процесса. Также изменён тип данных на строковый.
 +
*'''''ParentStateId'''''-->'''''ParentId ''''' - Идентификатор родительского процесса
 +
*'''''StateName'''''-->'''''Name ''''' - Наименование состояния процесса или подпроцесса
 +
Добавлено:
 +
*'''''EntryId''''' - Идентификатор состояния процесса или подроцесса
 +
Все дальнейшие доработки будут внесены в '''''ProcessStateV2'''''. '''''ProcessState''''' остаётся как устаревший источник.
 +
<gallery mode="packed" margin=200px; heights=130px style="text-align:left;">
 +
Файл:согласование v1.png|<div style="text-align:center">'''ProcessState'''</div>
 +
Файл:согласование v2.png|<div style="text-align:center">'''ProcessStateV2'''</div>
 +
</gallery>
 +
 +
=== Новые подстановки в название подпроцесса ===
 +
Добавлены подстановки для '''''SubProcessNameTemplate'''''<br>
 +
*'''''SubProcessName''''' - наименование подпроцесса из модели родительского процесса<br>
 +
*'''''StateName''''' - наименование текущего состояния подпроцесса.
 +
 +
''Пример шаблона''
 +
  <nowiki>%SubProcessName% - %StateName%</nowiki>
 +
 +
''Пример уведомления в письме:''
 +
Запустить проведение анализа - Анализ завершён
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;">
 +
<div style="font-weight:bold;line-height:1.6;">JSON</div>
 +
<div class="mw-collapsible-content mw-collapsed-content">
 +
<syntaxhighlight lang="JSON" line>
 +
"subProcesses": [
 +
            {
 +
              "workflowId": 1,
 +
              "name": "Запустить проведение анализа",
 +
              ...
 +
              "parameterMappings": [
 +
                {
 +
                  "parentProcessParameterId": 1,
 +
                  "subProcessParameterId": 2
 +
                }
 +
              ],
 +
              "subProcessNameTemplate": "%SubProcessName% - %StateName%"
 +
            }
 +
          ]
 +
</syntaxhighlight>
 +
</div></div>
 +
<br>
 +
 +
== Навигатор ==
 +
=== Доработка реестра согласования ===
 +
Доработан реестр согласования:
 +
*Убраны кнопки "Остановить" и  "Перезапустить",
 +
*Добавлена кнопка удаления экземпляра процесса согласования,
 +
*Добавлена кнопка "Обновить" с пунктами:
 +
** "Обновить реестр" - полностью обновляет реестр процессов.
 +
** "Обновить шаблон" - обновляет шаблон экземпляра процесса в соответствии с основной модельною объекта согласования.
 +
** "Обновить данные по субъектам" - обновляет кэш субъектов экземпляра процесса.
 +
[[Файл:реестр.png|слева|750px|border]] <br clear="both" /><br>
 +
 +
=== Контекстное меню навигатора ===
 +
Реализовано контекстное меню для левого дерева навигатора. Контекстное меню позволяет:
 +
*Создать папку или объект в выделенной папке
 +
*Свернуть или развернуть выделенную папку
 +
*Добавить в обновлению папку и всё её содержимое
 +
*Копировать ссылку на папку или её идентификатор
 +
*Вырезать выделенную папку
 +
*Вставить в выделенную папку объекты в буфере обмена
 +
*Переименовать
 +
*Открыть панель прав доступа
 +
*Открыть панель свойств папки
 +
*Удалить папку
 +
 +
[[Файл:контекстное меню навигатора.gif|слева|border]] <br clear="both" /><br>
 +
 +
=== Переключение локализации до авторизации на стенде ===
 +
Теперь выбор локализации для работы с платформой можно произвести до авторизации.
 +
[[Файл:локализация из кк.gif|слева|border]] <br clear="both" /><br>
 +
 +
== Пользовательский навигатор ==
 +
=== Индикатор уведомлений ===
 +
Реализован индикатор уведомлений, который показывает наличие уведомлений на пунктах меню пользовательского навигатора.  <br>
 +
Для того, чтобы настроить уведомление в  "Меню пользовательского навигатора" следует задать запрос, к методу, который возвращает целочисленное или логическое значение. [[Платформа_3V/Пользовательский_навигатор/Меню_навигатора(описание_справочника)#Настроить уведомления|Подробнее...]]
 +
 +
Для того, чтобы настроить дизайн уведомления в меню пользовательского навигатора нужно задать следующие настройки:<br>
 +
'''''MENU_ITEM_NOTIFICATION_BOOL_CSS''''' - Оформление уведомления элемента меню в формате CSS(для флага),<br>
 +
'''''MENU_ITEM_NOTIFICATION_CSS''''' - Оформление уведомления элемента меню в формате CSS(для числа).
 +
[[Платформа 3V/Пользовательский навигатор/Настройка дизайна#Оформить_уведомления|Подробнее...]]
 +
[[Файл:Уведомления.png|слева|750px|border]] <br clear="both" /><br>
 +
<div class="NavFrame collapsed" style="width:700px; overflow:auto;">
 +
  <div class="NavHead">Примеры</div>
 +
  <div class="NavContent">
 +
[https://study.3v-cloud.com/navigator/#/home?objectId=912 Меню пользовательского навигатора]
 +
  </div>
 +
</div>
 +
<br>
 +
 +
== Аудит ==
 +
=== Гранулярный аудит ===
 +
Реализована возможность более гибко настраивать аудирование системы с помощью задания действий, которые нужно записывать. В конфигах в секции '''''AuditSettings''''' добавлено два новых параметра:<br>
 +
'''''Enabled''''' - логическое значение, определяющее, включен ли аудит,<br>
 +
'''''Actions''''' - массив элементов, задающий аудируемые действия.
 +
{| class="wikitable"
 +
|-
 +
! Элемент массива Actions !! Описание записываемых действий
 +
|-
 +
| '''None''' || Действия не записываются в аудит
 +
|-
 +
| '''MetaObjectChanges''' || Изменение метаобъекта
 +
|-
 +
| '''DictionaryDataSaved''' || Сохранение данных справочника
 +
|-
 +
| '''DictionaryElementChanges ''' || Изменение элемента справочника
 +
|-
 +
| '''IndicatorDataSaved''' || Сохранение данных показателя
 +
|-
 +
| '''IndicatorDataChanges ''' || Изменение данных показателя
 +
|-
 +
| '''CalculationExecutions''' || Расчёт методики
 +
|-
 +
| '''PivotOpenings''' || Открытие отчёта
 +
|-
 +
| '''DbStructureChanges''' || Изменение структуры базы данных
 +
|-
 +
| '''UserOperations''' || Пользовательские операции
 +
|-
 +
| '''SchedulerTaskExecutions ''' || Выполнение запланированной задачи
 +
|-
 +
| '''WorkflowStateChanges ''' || Изменение состояния согласования
 +
|-
 +
| '''WorkflowProcessesChanges ''' || Изменение согласования
 +
|-
 +
| '''All ''' || Все действия
 +
|-
 +
| '''DictionaryDataSaved''' || Сохранены данные справочника
 +
|-
 +
| '''IndicatorDataSaved''' || Сохранены данные показателя
 +
|-
 +
|}
 +
 +
По умолчанию аудируются только изменения метаобъектов и структуры согласований:
 +
* Если в конфигурационном файле развертываемого приложения определен параметр "Level": "Default", то в аудит перестанут писаться изменения элементов справочника; при определении "Level": "Detailed" будет писаться все, как и раньше.
 +
* Если в конфигурационном файле развертываемого приложения нет упоминания аудита, то начиная с 43 версии фиксируются минимальные изменения, связанные с редактированием метаданных
 +
 +
== Общее ==
 +
=== Новые функции ===
 +
Добавлены новые функции в NCalc:
 +
*'''Median()''' - вычисляет медиану набора чисел,
 +
*'''AddMinutes()''' - добавление минут к дате,
 +
*'''AddHours()''' - добавляет часы к дате,
 +
*'''AddDays()''' - добавляет дни к дате,
 +
*'''AddMonths()''' - добавляет месяцы к дате,
 +
*'''AddYears()''' - добавляет годы к дате.
 +
*'''CurrentLocale()''' - вычисляет текущую локаль.
 +
Подробнее об их использовании и настройке можно прочитать [[Платформа_3V/Выражение/Расчет_выражений|здесь]].
 +
 +
'''Отчеты:''' Новый операнд (PredefinedPivotOperandDto), позволяющий вычислить в отчетах уникальный GUID (инстанс) '''текущего открытого''' отчета ("value": "PivotInstanceId") и идентификатор текущего отчета "value": "PivotId"
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;">
 +
<div style="font-weight:bold;line-height:1.6;">JSON</div>
 +
<div class="mw-collapsible-content mw-collapsed-content">
 +
<syntaxhighlight lang="JSON" line>
 +
{
 +
"expression": "[1]",
 +
"operands": [
 +
  {
 +
      "value": "PivotId",
 +
      "discriminator": "PredefinedPivotOperandDto",
 +
      "code": null,
 +
      "id": 1,
 +
      "name": null
 +
  }
 +
],
 +
"id": 1,
 +
"name": "Выражение",
 +
"code": null
 +
}
 +
</syntaxhighlight>
 +
</div></div>
 +
 +
'''Формы:''' Новый операнд (EntryExpressionPredefinedParameter) в выражениях, позволяющий вычислить в формах уникальный GUID (инстанс) '''текущей открытой''' формы ("value": "CardInstanceId") и идентификатор текущей формы "value": "CardModelId"
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;">
 +
<div style="font-weight:bold;line-height:1.6;">JSON</div>
 +
<div class="mw-collapsible-content mw-collapsed-content">
 +
<syntaxhighlight lang="JSON" line>
 +
{
 +
"expression": "[1]",
 +
"operands": [
 +
  {
 +
  "value": "CardInstanceId",
 +
  "discriminator": "EntryExpressionPredefinedParameter",
 +
  "id": 1,
 +
  "allowMultipleValues": false
 +
  }
 +
],
 +
"id": 1,
 +
"name": "Идентификатор инстанса карточки",
 +
"code": null
 +
}
 +
</syntaxhighlight>
 +
</div></div>
 +
 +
= Конструкторы =
 +
== Конструктор справочников ==
 +
=== Настройка локализованных названий ===
 +
Реализована возможность задания локализованных наименований и значений атрибутов через конструктор.
 +
[[Файл:локализация в КС.gif|слева|border]] <br clear="both" /><br>
 +
 +
== Конструктор форм ==
 +
=== Полная локализация конструктора форм ===
 +
Реализована локализация левой и правой панели настройки для всех элементов форм.
 +
[[Файл:Локализация КФ.png|слева|750px|border]] <br clear="both" /><br>

Текущая версия на 07:54, 1 марта 2022

Ferdinand Porsche1.jpg

Содержание

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

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


  • Не сохранена обратная совместимость между версиями клиентов и сервисов. При переходе на 43 релиз прикладным сервисам следует обновить клиенты до 43 версии.


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


  • Удалены следующие свойства json в формах:
    1. BinaryConditionWorkFlowStateIn
    2. EntryExpressionJsonQueryParameter
    3. DataIndicatorDataSource
    4. JsonDataSource
    5. MetaObjectDataSource
    6. UiDataMetaObject
    7. UiDataSourceDataIndicator
    8. UiDataSourceJson


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


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

Отчёты

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

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

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




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

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

Данная настройка вынесена в конструктор отчётов.

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




Формы

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

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

вкладка1.png




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

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

к.меню.png




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

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

автоматическая высота для л.диаграммы.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 }



Показатели

Блокировка значений факта в выпадающем списке

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

JSON
 1 {
 2    ...
 3    "indicatorDictionaries": [
 4     {
 5       "mappings": [
 6         {
 7           "elementId": 1,
 8           "columnId": 3,
 9           "dictionaryElementsOptions": {
10             "displayAttributeId": 2,
11             "canSelectAttribute": {
12               "discriminator": "OwnAttributeDefinitionDto",
13               "id": 20
14             },
15             "dictionaryId": 1527,
16             "hierarchyId": null,
17             "limit": null
18           }
19         }
20       ],
21       "discriminator": "DataIndicatorFactDictionaryDto",
22       "dictionaryId": 1529
23     }
24   ],
25 }


canselect.png





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

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

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

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

Для согласования добавлен источник ProcessStateV2, который отличается набором полей.
Изменены названия:

  • StateId-->Id - Идентификатор процесса. Также изменён тип данных на строковый.
  • ParentStateId-->ParentId - Идентификатор родительского процесса
  • StateName-->Name - Наименование состояния процесса или подпроцесса

Добавлено:

  • EntryId - Идентификатор состояния процесса или подроцесса

Все дальнейшие доработки будут внесены в ProcessStateV2. ProcessState остаётся как устаревший источник.

Новые подстановки в название подпроцесса

Добавлены подстановки для SubProcessNameTemplate

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

Пример шаблона

 %SubProcessName% - %StateName%

Пример уведомления в письме:

Запустить проведение анализа - Анализ завершён
JSON
 1  "subProcesses": [
 2             {
 3               "workflowId": 1,
 4               "name": "Запустить проведение анализа",
 5               ...
 6               "parameterMappings": [
 7                 {
 8                   "parentProcessParameterId": 1,
 9                   "subProcessParameterId": 2
10                 }
11               ],
12               "subProcessNameTemplate": "%SubProcessName% - %StateName%"
13             }
14           ]


Навигатор

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

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

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



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

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

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



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

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

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



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

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

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

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

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




Аудит

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

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

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

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

  • Если в конфигурационном файле развертываемого приложения определен параметр "Level": "Default", то в аудит перестанут писаться изменения элементов справочника; при определении "Level": "Detailed" будет писаться все, как и раньше.
  • Если в конфигурационном файле развертываемого приложения нет упоминания аудита, то начиная с 43 версии фиксируются минимальные изменения, связанные с редактированием метаданных

Общее

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

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

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

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

Отчеты: Новый операнд (PredefinedPivotOperandDto), позволяющий вычислить в отчетах уникальный GUID (инстанс) текущего открытого отчета ("value": "PivotInstanceId") и идентификатор текущего отчета "value": "PivotId"

JSON
 1 {
 2  "expression": "[1]",
 3  "operands": [
 4   {
 5       "value": "PivotId",
 6       "discriminator": "PredefinedPivotOperandDto",
 7       "code": null,
 8       "id": 1,
 9       "name": null
10    }
11  ],
12  "id": 1,
13  "name": "Выражение",
14  "code": null
15 }

Формы: Новый операнд (EntryExpressionPredefinedParameter) в выражениях, позволяющий вычислить в формах уникальный GUID (инстанс) текущей открытой формы ("value": "CardInstanceId") и идентификатор текущей формы "value": "CardModelId"

JSON
 1 {
 2  "expression": "[1]",
 3  "operands": [
 4   {
 5    "value": "CardInstanceId",
 6    "discriminator": "EntryExpressionPredefinedParameter",
 7    "id": 1,
 8    "allowMultipleValues": false
 9   }
10  ],
11  "id": 1,
12  "name": "Идентификатор инстанса карточки",
13  "code": null
14 }

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

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

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

Реализована возможность задания локализованных наименований и значений атрибутов через конструктор.

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



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

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

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

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