Формирование обновлений

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

</ref></ref> Сформировать обновления можно установить двумя способами - с помощью встроенного менеджера обновлений и методом сваггера.

Менеджер обновлений

Сервис расположен внизу левой боковой панели инструментов, его пиктограмма - коробка со стрелочкой вниз.

Расположение сервиса










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

Расположение настроек обновления





















После нажатия кнопки "Сформировать обновление" файл с подготовленным обновлением скачается на компьтер. Следующий шаг - установка обновлений в приемнике.

Метод сваггера

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

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

Для простого описания объектов попадаемых в обновление достаточно указать их идентификатор и discriminator = MetaObjectCreateUpdateSettingsDto.
При этом, стоит отметить что если необходимо перенести только описание справочника, без его данных или прав на элементы, то также можно использовать MetaObjectCreateUpdateSettingsDto.

Для примера:

1 {
2   "id": 701, 
3   "discriminator": "MetaObjectCreateUpdateSettingsDto"
4 }

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

Для них используется discriminator = DictionaryCreateUpdateSettingsDto.

 1 {
 2   "id": 701, 
 3   "filter": {
 4 	"$type": "ConditionalDictionaryFilter",
 5 	"value": [
 6 	  1, 2, 3
 7 	],
 8 	"attribute": {
 9 	  "id": 1,
10 	  "discriminator": "OwnAttributeDefinitionDto"
11 	},
12 	"conditionType": "AttributeInCollection"
13   },
14   "IncludeDictionaryPermissions": true,
15   "IncludeDictionaryElementsPermissions": true,
16   "discriminator": "DictionaryCreateUpdateSettingsDto"
17 }

filter - фильтр на элементы справочника. ВНИМАНИЕ!! синтаксис немного отличается от фильтров используемых в отчетах, при этом conditionType совпадает.
Если необходимо обновить (или перенести) все элементы справочника, то необходимо оставить в value пустые квадратные скобки, а в conditionType указать значение AllElements.

IncludeDictionaryPermissions - признак необходимости включения в обновление прав на все элементы справочника (применяемые целиком ко всеми справочнику, а не к конкретным элементам).

IncludeDictionaryElementsPermissions - признак необходимости включения в обновление прав на элементы справочника.