Платформа 3V/Обновления/Установка обновлений: различия между версиями

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

Версия 13:58, 21 апреля 2021

Используется метод swagger/index.html?urls.primaryName=Updates#/Updates/Updates_ApplyUpdate

При применении обновления можно не указывать никакие настройки, тогда все объекты из обновления будут установлены с настройками по умолчанию, т.е. без данных, без прав на элементы и поиск существующих объектов будет осуществляться строго по Guid. Если на схемах объекты имеют разные Guid (для старых схем), но совпадающие идентификаторы, то можно задать опцию TryMapByKeyAndType (по умолчанию false).

1 {
2   "tryMapByKeyAndType": true
3 }

В таком случае будет происходить поиск по идентификатору + контроль на тип объекта.

Для справочников доступны расширенные настройки установки объектов:

 1 {
 2 	"ApplyUpdateSettings": [
 3 		{
 4 			"id": 701,
 5 			"dataOptions": 3,
 6 			"clearDataBeforeUpdate": false,
 7 			"DictionaryPermissionsOptions": {
 8 				"AddNewPermissions": true,
 9 				"PermissionsOptions": 0,
10 				"ClearBeforeUpdate": true
11 			},
12 			"DictionaryElementsPermissionsOptions": {
13 				"AddNewPermissions": true,
14 				"PermissionsOptions": 0,
15 				"ClearBeforeUpdate": true
16 			},
17 			"discriminator": "DictionaryApplyUpdateSettingsDto"
18 		}
19 	]
20 }

id - идентификатор объекта с исходной схемы.

dataOptions - опция применения данных. Допустимы следующие значения:

Значение Название Определение
0 None Не применять данные
1 AddNewElements Добавлять новые элементы
2 ChangeExistElements Изменять существующие элементы
3 AddNewAndChangeExistElements Добавлять новые и обновлять существующие

clearDataBeforeUpdate - очищать все существующие данные в процессе установки обновления.

DictionaryPermissionsOptions - применение прав на все элементы справочника.

DictionaryElementsPermissionsOptions - применение прав на конкретные элементы справочника.

DictionaryPermissionsOptions и DictionaryElementsPermissionsOptions имеют общую структуру:

AddNewPermissions - Признак добавления новых прав доступа ClearBeforeUpdate - Признак отчистки прав перед установкой обновления PermissionsOptions - Настройки применения прав к уже существующих правам. Допустимы следующие значения:

Значение Название Определение
0 None Не применять права
1 Merge Объединение прав доступа. Если права для субъекта были, то права объединятся с существующими.
2 ChangePermissions Изменение существующих прав.