Формирование обновлений
Сформировать обновления можно двумя способами - с помощью встроенного менеджера обновлений и методом сваггера.
Менеджер обновлений
Сервис расположен внизу левой боковой панели инструментов, его пиктограмма - коробка со стрелочкой вниз.
При нажатии на нее откроется окно формирования обновления, в которое с помощью переноса объектов из навигатора будут добавляться объекты, которые необходимо включить в обновление. Важно отметить, что если формируемые для обновления объекты имеют ссылки на другие объекты, последние также необходимо включить в пакет обновлений. Далее для справочников, при необходимости, можно выставить дополнительные настройки, они расположены в этой же области внизу:
- Включать все элементы,
- Включать права на объект,
- Включать права на элементы - настройка активна только для справочников, у которых включены права доступа на элементы.
После нажатия кнопки "Сформировать обновление" файл с подготовленным обновлением скачается на компьютер. Следующий шаг - установка обновлений в приемнике.
Метод сваггера
Используется метод 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 - признак необходимости включения в обновление прав на элементы справочника.