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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
 
(не показано 28 промежуточных версий 2 участников)
Строка 1: Строка 1:
 +
= Критичные изменения=
 +
==Формы==
 +
Для источников полей формы старое свойство "dataSourceId" теперь не актуально.<br>
 +
Текущее свойство: "dataSource. dataSourceId". Значение из актуального свойства будет копироваться в устаревшие свойства для обратной совместимости. Ручное изменение в json устаревших свойств не будет учитываться, будет оставаться значение, указанное в "dataSource. dataSourceId". [[Описание_релизов/0.47.0#.D0.A3.D0.BD.D0.B8.D0.B2.D0.B5.D1.80.D1.81.D0.B0.D0.BB.D1.8C.D0.BD.D0.BE.D0.B5_.D1.81.D0.B2.D0.BE.D0.B9.D1.81.D1.82.D0.B2.D0.BE_.D0.B4.D0.BB.D1.8F_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.B8.D1.8F_.D0.B8.D1.81.D1.82.D0.BE.D1.87.D0.BD.D0.B8.D0.BA.D0.B0|Подробнее]]
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 +
<div style="font-weight:bold;line-height:1.6;">Пример</div>
 +
<div class="mw-collapsible-content mw-collapsed-content">
 +
<syntaxhighlight lang="JSON" line>
 +
      "dataSourceId": 1,        //устаревшее свойство
 +
      "dataSource": {
 +
        "dictionarySourceId": 1, //устаревшее свойство
 +
        "searchSettings": {
 +
          "maxElements": null,
 +
          "minInputChars": 2,
 +
          "searchMode": "Client",
 +
          "debounceMs": 300
 +
        },
 +
        "dataSourceId": 1    //актуальное свойство
 +
      },
 +
</syntaxhighlight>
 +
</div></div>
 +
 +
==Отчеты==
 +
Настройка "isReadOnly": true в блоке "view" блокирует редактирование отчета и подкрашивает недоступные для редактирования ячейки серым. Сейчас при старой настройке "isReadOnly": true ячейки отчета будут подкрашены серым цветом (ранее заблокированные ячейки при данной настройке были белыми).
 +
 
= Новая функциональность =
 
= Новая функциональность =
== Справочники ==
 
 
== Внешние справочники==
 
== Внешние справочники==
 
===Возможность фильтрации от токена пользователя===
 
===Возможность фильтрации от токена пользователя===
Строка 40: Строка 64:
 
</div></div>
 
</div></div>
  
== Календарные справочники ==
 
 
== Отчёты ==
 
== Отчёты ==
===заголовок ДОДЕЛАТЬ===
+
===Подкраска заблокированных для ввода ячеек===
 
В json-модель отчетов добавлена настройка, позволяющая отключить визуальную подкраску ячеек, недоступных для редактирования.
 
В json-модель отчетов добавлена настройка, позволяющая отключить визуальную подкраску ячеек, недоступных для редактирования.
 
<gallery mode="packed"; heights=200px style="text-align:left;">
 
<gallery mode="packed"; heights=200px style="text-align:left;">
Строка 48: Строка 71:
 
Файл:заблокированные не подсвечиваются.png|<div style="text-align:center">'''Заблокированные ячейки не выделены'''</div>
 
Файл:заблокированные не подсвечиваются.png|<div style="text-align:center">'''Заблокированные ячейки не выделены'''</div>
 
</gallery>
 
</gallery>
 +
Настройка "isReadOnly": true блокирует редактирование отчета и подкрашивает недоступные для редактирования ячейки.
 
Для отключения выделения заблокированных ячеек необходимо включить настройку 'disableHighlightLockedCells' в блоке "view":
 
Для отключения выделения заблокированных ячеек необходимо включить настройку 'disableHighlightLockedCells' в блоке "view":
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
Строка 58: Строка 82:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
</div></div>
 
</div></div>
 +
Данная настройка также позволяет не подкрашивать те столбцы, которые заблокированы через настройку самого столбца.
  
 
===Локализация===
 
===Локализация===
Строка 116: Строка 141:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
</div></div>
 
</div></div>
<gallery mode="packed"; heights=150px style="text-align:left;">
+
<gallery mode="packed"; heights=135px style="text-align:left;">
 
Файл:локализация ру.png|<div style="text-align:center">'''RU'''</div>
 
Файл:локализация ру.png|<div style="text-align:center">'''RU'''</div>
 
Файл:локализация ен.png|<div style="text-align:center">'''EN'''</div>
 
Файл:локализация ен.png|<div style="text-align:center">'''EN'''</div>
Строка 137: Строка 162:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
</div></div>
 
</div></div>
<gallery mode="packed"; heights=150px style="text-align:left;">
+
<gallery mode="packed"; heights=140px style="text-align:left;">
 
Файл:локализация 2 ру.png|<div style="text-align:center">'''RU'''</div>
 
Файл:локализация 2 ру.png|<div style="text-align:center">'''RU'''</div>
 
Файл:локализация 2 ен.png|<div style="text-align:center">'''EN'''</div>
 
Файл:локализация 2 ен.png|<div style="text-align:center">'''EN'''</div>
Строка 183: Строка 208:
 
* Количество пустых строк вставленных после заголовка - "rowCountAfterHeader";
 
* Количество пустых строк вставленных после заголовка - "rowCountAfterHeader";
 
* Выводить/не выводить заголовок - "showHeader".
 
* Выводить/не выводить заголовок - "showHeader".
 +
Также при экспорте отчета (из отчета или через действие в форме) теперь учитывается настройка "isTopHeaderHidden". То есть если шапка отчета скрыта, то она не экспортируется в excel.
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div style="font-weight:bold;line-height:1.6;">Пример настройки</div>
 
<div style="font-weight:bold;line-height:1.6;">Пример настройки</div>
Строка 228: Строка 254:
 
[[Файл:шаблон справочник.jpg|слева|800px|border]]<br clear="both" /><br>
 
[[Файл:шаблон справочник.jpg|слева|800px|border]]<br clear="both" /><br>
 
Так, при изменении шаблона, необходимо загружать только новые файлы в справочник, а ссылка в форме изменится автоматически.<br>
 
Так, при изменении шаблона, необходимо загружать только новые файлы в справочник, а ссылка в форме изменится автоматически.<br>
Для этого в форме необходимо создать выражение, которое будет вычислять ссылку на шаблон. Возможны два варианта формирования выражения:
+
Для этого в форме необходимо создать выражение, которое будет вычислять ссылку на шаблон. Ссылка вычисляется как элемент справочника - объекта приложения:
* Ссылка вычисляется как элемент справочника - объекта приложения
 
* Ссылка вычисляется как элемент справочника - источника данных формы
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div style="font-weight:bold;line-height:1.6;">Пример выражения (справочник - источник данных формы)</div>
 
<div class="mw-collapsible-content mw-collapsed-content">
 
<syntaxhighlight lang="JSON" line>
 
{
 
"expression": "[1]",
 
"returnFirstParameterValue": false,
 
"operands": [
 
  {
 
  "dictionarySourceId": 1,
 
  "attributeId": null,
 
  "attribute": {
 
    "discriminator": "OwnAttributeDefinitionDto",
 
    "id": 22
 
  },
 
  "getFirstElementValue": true,
 
  "useAllInstanceElements": false,
 
  "discriminator": "EntryExpressionDictionarySourceParameter",
 
  "id": 1,
 
  "allowMultipleValues": false
 
  }
 
],
 
"id": 1,
 
"name": "Ссылка из справочника",
 
"code": null
 
}
 
</syntaxhighlight>
 
</div></div>
 
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
Строка 330: Строка 326:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
</div></div>
 
</div></div>
[[Файл:выгрузка по шаблону.gif|слева|800px|border]]<br clear="both" /><br>
+
[[Файл:выгрузка по шаблону.gif|слева|850px|border]]<br clear="both" /><br>
 
<div class="NavFrame collapsed" style="width:700px; overflow:auto;">
 
<div class="NavFrame collapsed" style="width:700px; overflow:auto;">
 
   <div class="NavHead">Пример</div>
 
   <div class="NavHead">Пример</div>
Строка 350: Строка 346:
 
Добавлен новый компонент "Таблица" (trv-pivot). Старый компонент "Таблица с данными" (bs-pivot) в панели добавления по "+" заменен на новый.
 
Добавлен новый компонент "Таблица" (trv-pivot). Старый компонент "Таблица с данными" (bs-pivot) в панели добавления по "+" заменен на новый.
 
По умолчанию высота таблицы не ограничена и на форме по высоте занимает столько, сколько сам отчет, расположенный в ней.
 
По умолчанию высота таблицы не ограничена и на форме по высоте занимает столько, сколько сам отчет, расположенный в ней.
Для новой таблицы на вкладке стилей появилась возможность задания максимальной и минимальной ширины/высоты. Также появилась возможность задания высоты таблицы не только в пикселях, но и в процентах.
+
Для новой таблицы на вкладке стилей появилась возможность задания максимальной и минимальной ширины/высоты.  
 
[[Файл:стили таблицы.png|слева|600px|border]]<br clear="both" /><br>
 
[[Файл:стили таблицы.png|слева|600px|border]]<br clear="both" /><br>
 +
Исправлена ошибка с отступом, позволяющим задать высоту до 98% и сейчас задание 100% работает корректно.<br>
 +
Можно ограничить высоту таблицы высотой экрана. Для этого необходимо задать высоту контейнера, в котором расположена таблица - 100%, а далее задать высоту таблицы - 100%. В таком случае высота таблицы ограничится экраном и появится вертикальный скролл.
  
Можно ограничить высоту таблицы высотой экрана. Для этого необходимо задать высоту контейнера, в котором расположена таблица - 100%, а далее задать высоту таблицы - 100%. В таком случае высота таблицы ограничится экраном и появится вертикальный скролл.
+
===Универсальное свойство для задания источника===
 +
Реализовано универсальное свойство для задания источника отображения полей формы. Для всех элементов имеющих "источник отображения", а именно:
 +
* раскрывающийся список, выбор из списка - "DictionarySourceEntry"
 +
* таблицы и диаграммы - "PivotSourceEntry"
 +
* согласование - "WorkflowSourceEntry"
 +
актуальным свойством для указания источника отображения является:
 +
 
 +
<syntaxhighlight lang="JSON" line>
 +
{
 +
"dataSource": {
 +
        "dataSourceId": 1
 +
      }
 +
</syntaxhighlight>
 +
Это сделано, чтобы унифицировать задание источников и не требовалось для каждого вида элемента использовать отдельное свойство DataSourceId, PivotSourceId и WorkflowSourceId соответственно, как было ранее.
  
== Методики ==
 
 
== Показатели ==
 
== Показатели ==
 
===API по получению значений показателей ===
 
===API по получению значений показателей ===
Строка 368: Строка 378:
 
Файл:GUID объекта.png|<div style="text-align:center">'''GUID'''</div>
 
Файл:GUID объекта.png|<div style="text-align:center">'''GUID'''</div>
 
</gallery>
 
</gallery>
 
== Уведомления ==
 
 
  
 
== Навигатор ==
 
== Навигатор ==
Строка 398: Строка 405:
 
В навигаторе на вкладке "Роли и пользователи" при попытке создать пользователя с существующим логином возвращается сообщение: "Пользователь с таким логином уже существует".
 
В навигаторе на вкладке "Роли и пользователи" при попытке создать пользователя с существующим логином возвращается сообщение: "Пользователь с таким логином уже существует".
  
== Пользовательский навигатор ==
+
==Обновление==
== Ресурсы ==
+
===Форсированная установка объектов в новые и копирование объектов ===
== Обновление ==
+
* Реализована возможность копирования объектов так, чтобы скопированные объекты не имели ссылок на прежние, а являлись новыми объектами. При копировании двух и более связанных объектов новые объекты связуются друг с другом, а не с теми, которые были скопированы.
== Соединение ==
+
* Реализована возможность при загрузке обновления устанавливать объекты не в существующие, а создавать новые. Так же доступна возможность указывать папку, куда будут установлены объекты. Обновление устанавливается через swagger с флагом ForceNew и указанием Родителя (опционально) - все устанавливаемые объекты создаются заново, как новые, устанавливаются они в одну папку.
== Аудит ==
+
[[Файл:обновление.png|слева|800px|border]]<br clear="both" /><br>
== Файловое хранилище==
+
 
 
== Общее ==
 
== Общее ==
 +
===Генератор лицензий===
 +
Реализован генератор лицензий, который предоставляет веб-интерфейс с возможностью выпустить новую лицензию или проверить существующую. При выпуске новой лицензии в данные лицензии помимо указанных параметров можно добавлять произвольные дополнительные параметры - они войдут в итоговую лицензию.

Текущая версия на 07:35, 6 июня 2022

Содержание

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

Формы

Для источников полей формы старое свойство "dataSourceId" теперь не актуально.
Текущее свойство: "dataSource. dataSourceId". Значение из актуального свойства будет копироваться в устаревшие свойства для обратной совместимости. Ручное изменение в json устаревших свойств не будет учитываться, будет оставаться значение, указанное в "dataSource. dataSourceId". Подробнее

Пример

Отчеты

Настройка "isReadOnly": true в блоке "view" блокирует редактирование отчета и подкрашивает недоступные для редактирования ячейки серым. Сейчас при старой настройке "isReadOnly": true ячейки отчета будут подкрашены серым цветом (ранее заблокированные ячейки при данной настройке были белыми).

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

Внешние справочники

Возможность фильтрации от токена пользователя

Для внешних справочников, настроенных на соединении с "dbType": "Link", реализована возможность фильтрации справочника (в отчете или форме) от токена пользователя. Фильтр от токена пользователя для внешних справочников настраивается по аналогии с обычным справочником.

При использовании внешнего справочника на соединении типа Link в отчете или форме можно настроить фильтр на атрибут справочника от токена следующим образом:

Пример фильтрации

Отчёты

Подкраска заблокированных для ввода ячеек

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

Настройка "isReadOnly": true блокирует редактирование отчета и подкрашивает недоступные для редактирования ячейки. Для отключения выделения заблокированных ячеек необходимо включить настройку 'disableHighlightLockedCells' в блоке "view":

Пример

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

Локализация

Появилась возможность локализовать:

  • Настройки группировки
Пример
  • Кнопки: название кнопки, название подсказки
Пример
  • Пользовательские наименования атрибутов показателя
Пример
  • Пользовательские наименования атрибутов отчета
Пример
  • Транспонированные настройки

Формы

Дополнительные настройки для выгрузки отчета в Excel

Реализована возможность задания дополнительных настроек при выгрузке отчета в документ Excel из формы. При настройке действия для выгрузки отчета теперь можно задать:

  • Количество пустых строк вставленных до заголовка - "rowCountBeforeHeader";
  • Количество пустых строк вставленных после заголовка - "rowCountAfterHeader";
  • Выводить/не выводить заголовок - "showHeader".

Также при экспорте отчета (из отчета или через действие в форме) теперь учитывается настройка "isTopHeaderHidden". То есть если шапка отчета скрыта, то она не экспортируется в excel.

Пример настройки


Возможность вычислять ссылки для выгрузки по шаблону

Добавлена возможность получать ссылку для выгрузки документа как результат выражения. Ранее при выгрузке документа необходимо было загрузить шаблон в fileStorage и добавлять ссылку для скачивания вручную. При изменении шаблона документа необходимо было изменять ссылку.
На данный момент реализована выгрузка по шаблону через справочник:

  1. Шаблон загружается в справочник,
  2. В справочнике формируется ссылка на загруженный шаблон,
  3. При формировании действия для скачивания файла в форме вычисляется ссылка на шаблон из справочника.
шаблон справочник.jpg



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

Пример выражения (справочник - объект приложения)

При формировании действия для выгрузки указать идентификатор выражения в "templateFilenameSettings" вместо ссылки.

Действие для выгрузки с вычисляемой ссылкой
выгрузка по шаблону.gif



Доработка архитектуры конструктора форм

  • В конструкторе форм удалены кнопки "Применить/Отмена" в правой панели, любые изменения сразу же записываются в текущую json-модель формы.

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

форма сохранение данных.gif



  • Изменена логика открытия правой панели. Открытие правой панели происходит по клику на элемент формы в левой панели как и ранее. Закрытие же происходит при повторном нажатии на выбранную вкладку в правой панели.
открытие правого дерева.gif



  • Изменена работа левой панели. При открытии формы все вкладки кроме "элементы" находятся в свернутом состоянии. При раскрытии нижележащих вкладок пространство, занимаемое верхними вкладками уменьшается.
работа левого дерева.gif



Новый компонент формы - таблица

Добавлен новый компонент "Таблица" (trv-pivot). Старый компонент "Таблица с данными" (bs-pivot) в панели добавления по "+" заменен на новый. По умолчанию высота таблицы не ограничена и на форме по высоте занимает столько, сколько сам отчет, расположенный в ней. Для новой таблицы на вкладке стилей появилась возможность задания максимальной и минимальной ширины/высоты.

стили таблицы.png



Исправлена ошибка с отступом, позволяющим задать высоту до 98% и сейчас задание 100% работает корректно.
Можно ограничить высоту таблицы высотой экрана. Для этого необходимо задать высоту контейнера, в котором расположена таблица - 100%, а далее задать высоту таблицы - 100%. В таком случае высота таблицы ограничится экраном и появится вертикальный скролл.

Универсальное свойство для задания источника

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

  • раскрывающийся список, выбор из списка - "DictionarySourceEntry"
  • таблицы и диаграммы - "PivotSourceEntry"
  • согласование - "WorkflowSourceEntry"

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

1  {
2  "dataSource": {
3         "dataSourceId": 1
4       }

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

Показатели

API по получению значений показателей

Добавлен API по получению и изменению значений в контроллер показателей. Контроллер "IndicatorDataSource" позволяет работать с показателями как с источниками данных.

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

Возможность задать GUID и код объекта

При создании внешнего справочника на объекте "Соединение с источником данных" реализована возможность в качестве идентификатора объекта задать не только идентификатор объекта согласования, а также его GUID или Код.
Данная возможность позволяет перенести внешний справочник с одного стенда на другой так, что указанный в идентификаторе внешнего справочника объект установится корректно, и не потребуется его редактирование после установки обновления.

Навигатор

Возможность узнать версию платформы на главной странице навигатора

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

информация о версиях.gif



Изменены иконки отображения объектов

Были изменены иконки для объектов репозитория "форма" и "отчет" для удобства визуального различия объектов. В новой версии платформы иконки выглядят следующим образом:

иконки объектов.png




Изменен фильтр поиска в навигаторе

В навигаторе в поиске по типам объектов добавлена возможность снимать отметку со всех типов и выбирать конкретные.

выбор типа объектов.gif




Возможность перехода из объекта "ресурс" в навигатор

Для объекта "Ресурс" добавлена возможность перехода в навигатор по клику на соответствующее поле в выпадающем списке.

ресурс показать в нави.gif



Возможность встраивать приложение платформы на сайт

Добавлена возможность встраивать приложение платформы, как окно браузера, вложенное в основное (тег <iframe>), на некоторый сайт. В таком случае пользователю, просматривающему приложение на сайте не нужно авторизовываться в приложении. Вход по умолчанию осуществляется под пользователем, указанным в конфигурационном файле в настройках "passwordFlow".

приложение на сайте.png



Сообщение при попытке создания существующего пользователя

В навигаторе на вкладке "Роли и пользователи" при попытке создать пользователя с существующим логином возвращается сообщение: "Пользователь с таким логином уже существует".

Обновление

Форсированная установка объектов в новые и копирование объектов

  • Реализована возможность копирования объектов так, чтобы скопированные объекты не имели ссылок на прежние, а являлись новыми объектами. При копировании двух и более связанных объектов новые объекты связуются друг с другом, а не с теми, которые были скопированы.
  • Реализована возможность при загрузке обновления устанавливать объекты не в существующие, а создавать новые. Так же доступна возможность указывать папку, куда будут установлены объекты. Обновление устанавливается через swagger с флагом ForceNew и указанием Родителя (опционально) - все устанавливаемые объекты создаются заново, как новые, устанавливаются они в одну папку.
обновление.png



Общее

Генератор лицензий

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