Скрипты
Общая часть
Используя ЭИС можно перенести структуру скриптов.
1 этап - подготовка экспорта
Валидация
Для экспорта скриптов отсутствует валидация
Зависимости
На данный момент существуют следующие виды скриптовых зависимостей
- Из блока типа "BlockSetField"
- Из выражения типа "ExprValue"
- Из выражения типа "ExprBoiFind"
- Из выражения типа "ExprNewBoi"
- Из выражения типа "ExprConst"
2 этап - экспорт
Основной класс
ScriptsStructureRegister
Основной метод
BoScriptVersionsStruct exportScriptStructure(String boId, ExportStructRefManager refManager, AuthUserInfo authInfo);
Основные модели
BoScriptVersionsStruct
BoScriptsStruct
Во время 2 этапа происходит формирование структур, в качестве идентификаторов используются коды. Важно, экспортируются лишь рабочая и последняя тестовая версии скриптов.
3 этап - подготовка импорта (анализ импорта)
Основные классы
StructureImportAnalyzer
Потенциальные ошибки анализа импорта
- Не найден БО-владелец для скрипта
- Если на 2 этапе были выгружены только скрипты без структуры, а в системе-рецепиенте не будет найден БО для которого они были выгружены (поиск идет по коду БО), то возникнет ошибка
- Не найден БО на который ссылается блок или выражение внутри скриптов
- К примеру, если внутри скриптов есть выражение тип "ExprNewBoi" ссылающийся на БО с кодом "city", но в системе-реципиенте и в импорте такого БО нет, то произойдет ошибка.
В ходе анализа помимо валидации собираются данные для отображения на клиенте. Для скриптов это
- Параметры запуска
- Рабочая версия или нет
- Информация о полях, на которых стоит триггер
Идентификаторы
Во время 3 этапа собираются идентификаторы для сохранения в 4 этапе.