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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
 
(не показано 13 промежуточных версий 4 участников)
Строка 1: Строка 1:
 
{{DISPLAYTITLE:Формирование обновлений}}
 
{{DISPLAYTITLE:Формирование обновлений}}
 +
Сформировать обновления можно двумя способами - с помощью встроенного менеджера обновлений и методом сваггера.
 +
==Менеджер обновлений==
 +
Сервис расположен внизу левой боковой панели инструментов, его пиктограмма - коробка со стрелочкой вниз.<br>
 +
[[Файл:Screenshot 2021-04-23 at 19.19.54.png|мини|слева|Расположение сервиса]]
 +
<br><br><br><br><br><br><br><br><br>
 +
При нажатии на нее откроется окно формирования обновления, в которое с помощью переноса объектов из навигатора будут добавляться объекты, которые необходимо включить в обновление.  Важно отметить, что если формируемые для обновления объекты имеют ссылки на другие объекты, последние также необходимо включить в пакет обновлений. Далее для справочников, при необходимости, можно выставить дополнительные настройки, они расположены в этой же области внизу: <br>
 +
- Включать все элементы, <br>
 +
- Включать права на объект, <br>
 +
- Включать права на элементы - настройка активна только для справочников, у которых включены права доступа на элементы.
 +
[[Файл:Screenshot 2021-04-23 at 19.23.31.png|мини|слева|Расположение настроек обновления]]<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
 +
После нажатия кнопки "Сформировать обновление" файл с подготовленным обновлением скачается на компьютер.
 +
Следующий шаг - [[Платформа_3V/Обновления/Установка обновлений|''' установка обновлений в приемнике''']].
 +
 +
==Метод сваггера==
 +
Используется метод swagger/index.html?urls.primaryName=Updates#/Updates/Updates_CreateUpdate<br>
 +
 
Для начала формирования обновления нужно подготовить описание, для объектов которые необходимо сложить в обновление.<br>
 
Для начала формирования обновления нужно подготовить описание, для объектов которые необходимо сложить в обновление.<br>
 
Для этого необходимо создать коллекцию описаний объектов<br>
 
Для этого необходимо создать коллекцию описаний объектов<br>
Строка 14: Строка 30:
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
Для справочников есть возможность указать опцию переноса данных, прав на элементы и общих прав на все элементы справочников.
 +
 +
Для них используется discriminator = '''DictionaryCreateUpdateSettingsDto'''.
 +
<syntaxhighlight lang="JSON" line>
 +
{
 +
  "id": 701,
 +
  "filter": {
 +
"$type": "ConditionalDictionaryFilter",
 +
"value": [
 +
  1, 2, 3
 +
],
 +
"attribute": {
 +
  "id": 1,
 +
  "discriminator": "OwnAttributeDefinitionDto"
 +
},
 +
"conditionType": "AttributeInCollection"
 +
  },
 +
  "IncludeDictionaryPermissions": true,
 +
  "IncludeDictionaryElementsPermissions": true,
 +
  "discriminator": "DictionaryCreateUpdateSettingsDto"
 +
}
 +
</syntaxhighlight>
 +
 +
'''filter''' - фильтр на элементы справочника. '''ВНИМАНИЕ!!''' синтаксис немного отличается от фильтров используемых в отчетах, при этом '''conditionType''' совпадает.<br>
 +
Если необходимо обновить (или перенести) все элементы справочника, то необходимо оставить в '''value''' пустые квадратные скобки, а в '''conditionType''' указать значение ''AllElements''.
 +
 +
'''IncludeDictionaryPermissions''' - признак необходимости включения в обновление прав на все элементы справочника (применяемые целиком ко всеми справочнику, а не к конкретным элементам).
 +
 +
'''IncludeDictionaryElementsPermissions''' - признак необходимости включения в обновление прав на элементы справочника.

Текущая версия на 13:37, 5 мая 2021

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

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

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

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










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

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





















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

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

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