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

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

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

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

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

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










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

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





















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

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

Используется метод 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 - признак необходимости включения в обновление прав на элементы справочника.