Права доступа
Этапы:
1) Пропускается, так как у прав нет превалидации
2) На данном этапе происходит процесс экспорта прав.
Основная логика в StructAccessRightsRegister.export()
Процесс конвертации основных моделек (AccessGroupDto, AccessSetDto) в вспомогательные модельки (AccessGroupStruct, AccessSetStruct) происходит в AccessRightsImportUtil
Экспортируются:
a) Права выбранного БО
б) Права всех полей (динамические, нативные и виджеты)
с) Права вкладок
Вышеописанные части БО экспортируются используя коды, эти коды потом (на следующем этапе) маппятся (mapping) с кодами другой системы
3) На данном этапе система анализирует импортируемые права
Анализом занимается AccessRightsImportAnalyzer, который создается и вызывается в StructAccessRightsRegister.analyze()
Анализатор попытается найти все БО и записать новые права в соответствующий ImportRecordDto. Если БО не было найдено, запишется ошибка в коллекцию ошибок
После успешного нахождения начинается процесс обратной конвертации: вспомогательные модельки конвертируются в основные и запишутся в ImportRecordDto
4) На данном этапе система применяет изменения по правам
Важно отметить, что права ПЕРЕЗАПИСЫВАЮТСЯ, даже если экспортируемые права - дефолтные (по умолчанию)