Описание релизов/0.45.0
Содержание
Критичные изменения
Формы
Для прикладных приложений:
Удалено публичное API "IFormsDataService.getUpdatedBsModel" - вместо него, следует использовать getChangeControlValue(..) и generateBsModelFromOnlyChangeElements(..) в одном потоке.
Новая функциональность
Формы
Возможность указать подпроцесс, чьи состояния и шаги будут проверяться в выражениях и проверках
Реализована возможность в формах обращаться как к шагам основного процесса согласования, так и к шагам подпроцессов. Для получения состояний или шагов подпроцесса необходимо указать идентификатор объекта Workflow, который является подпроцессом для основного процесса согласования и указать параметры для получения экземпляра подпроцесса. В параметрах подпроцесса возможно задать только основные параметры, которые настроены в объекте согласования подпроцесса.
Если параметры подпроцесса для получения состояний/шагов не заданы, то настроенная валидация или выражение срабатывает для всех экземпляров подпроцесса.
JSON – пример указания состояния подпроцесса в операндах выражения:
1 "operands": [
2 {
3 "workflowSourceId": 1,
4 "workflowStateIds": [
5 2
6 ],
7 "subProcess": {
8 "workflowId": 201681,
9 "parameters": [
10 {
11 "id": 1,
12 "expressionId": null,
13 "value": 1
14 }
15 ]
16 },
17 "discriminator": "EntryExpressionWorkflowContainsStatesBooleanParameter",
18 "id": 1,
19 "allowMultipleValues": false
20 }
Согласование
Отправка уведомлений в согласовании на конкретном языке
Реализована отправка уведомлений из согласования на языке пользователя.
Для формирования уведомления в параметры передаются значения атрибутов в соответствии с локалью пользователя.
Для настройки возможности отправки локализованных уведомлений согласования необходимо локализовать текста уведомлений в настройках согласования.
В поле "language" необходимо прописать необходимый язык, а в поле "value" - текст уведомления на заданном языке.
Пример настройки локализации:
1 "localizedTitle": {
2 "defaultValue": "Default title",
3 "items": [
4 {
5 "language": "ru",
6 "value": "Ru title"
7 },
8 {
9 "language": "en",
10 "value": "En title"
11 }
12 ]
13 },
14 "localizedBody": {
15 "defaultValue": "Default body",
16 "items": [
17 {
18 "language": "ru",
19 "value": "Ru body"
20 },
21 {
22 "language": "en",
23 "value": "En body"
24 }
25 ]
26 },
[тут будет ссылка на пример]
Отправка смс-уведомлений в согласовании на конкретном языке
В шаблонах согласования был добавлен признак, определяющий как отправляется уведомление: email или sms.
1 "messageTypes": [
2 "Email",
3 "Sms"
4 ]
Для sms была добавлена настройка "shortText", что позволяет локализовать sms-уведомления.
1 "localizedShortMessage": {
2 "defaultValue": "Default short message",
3 "items": [
4 {
5 "language": "ru",
6 "value": "Ru short message"
7 },
8 {
9 "language": "en",
10 "value": "En short message"
11 }
12 ]
13 },
Навигатор
Работа с деревом объектов навигатора через клавиатуру
Для центрального дерева в навигаторе:
- При нажатии на кнопки вверх/вниз в режиме просмотра "Список" меняется выделение на вышележащий/нижележащий элемент
- При нажатии на кнопки вверх/вниз/вправо/влево в режиме просмотра "Плитка" меняется выделение на соответствующий элемент
- При нажатии на Enter на папке происходит открытие данной папки и выделение первого элемента в ней
- При нажатии на Backspace производится переход на уровень выше и выделение встает на папку, из которой был совершен переход.
Пользовательский навигатор
Отображение доступных языков
Если в конфигурационном файле для пользовательского навигатора определены один или два языка, то их отображение не изменится, то есть языки будут расположены перечислением в одной строке.
Если же языков 3 и более, они отображаются раскрывающимся списком.
Возможность открыть метаобъект
Если в форме c помощью действия OpenMetaObjectAction на кнопки настроено открытие метаобъектов, таких как форма или отчет, то открыть этот метаобъект можно через пользовательский навигатор.
Файловое хранилище
Возможность хранения файлов репозитория в одном бакете S3
Сервис файлохранилища(FileStorage) теперь поддерживает возможность сохранять файлы разных неймспейсов (тенантов) в одном бакете. Для этого в конфигурационный файл добавлен признак, который по умолчанию выключен:
- UseOneBucket - Признак, что для хранения файлов по всем неймспейсам используется один бакет.
- BucketName - Наименование бакета, которое используется для хранения файлов по всем неймспейсам. Данный бакет будет использоваться только при включении признака UseOneBucket.