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

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

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

Формы

Для прикладных приложений:

Удалено публичное API "IFormsDataService.getUpdatedBsModel" - вместо него, следует использовать getChangeControlValue(..) и generateBsModelFromOnlyChangeElements(..) в одном потоке.

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

Формы

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

Реализована возможность в формах обращаться как к шагам основного процесса согласования, так и к шагам подпроцессов. Для получения состояний или шагов подпроцесса необходимо указать идентификатор объекта Workflow, который является подпроцессом для основного процесса согласования и указать параметры для получения экземпляра подпроцесса. В параметрах подпроцесса возможно задать только основные параметры, которые настроены в объекте согласования подпроцесса.

Если параметры подпроцесса для получения состояний/шагов не заданы, то настроенная валидация или выражение срабатывает для всех экземпляров подпроцесса. JSON – пример указания состояния подпроцесса в операндах выражения:

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-уведомления.

Пример настройки локализации 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 производится переход на уровень выше и выделение встает на папку, из которой был совершен переход.
управление с клавиатуры.gif




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

Отображение доступных языков

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

2 языка.png



Если же языков 3 и более, они отображаются раскрывающимся списком.

комбик.png



Возможность открыть метаобъект

Если в форме c помощью действия OpenMetaObjectAction на кнопки настроено открытие метаобъектов, таких как форма или отчет, то открыть этот метаобъект можно через пользовательский навигатор.

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




Файловое хранилище

Возможность хранения файлов репозитория в одном бакете S3

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

  1. UseOneBucket - Признак, что для хранения файлов по всем неймспейсам используется один бакет.
  2. BucketName - Наименование бакета, которое используется для хранения файлов по всем неймспейсам. Данный бакет будет использоваться только при включении признака UseOneBucket.