ext2int
Перенос обработок и отчетов из справочника ВнешниеОбработки в конфигурацию
Код использовался на реальном проекте для импорта в хранилище ~500 внешних обработок, 98% которых созданы копи-пастом друг из друга
Features
Для всех выгружаемых обработок и отчетов:
- создается новое уникальное имя с человеческим названием (из наименование элемента справочника)
- создаются новые идентификаторы типов, форм, макетов
- в управляемых формах старые имена типов заменяются на новые
- в обычных формах старые идентификаторы типов заменяются на новые
Полностью решена проблема того, что отчеты и обработки создавались копи-пастом и имеют идентичные имена и идентификаторы типов. После загрузки они будут реально различными.
Подготовка
Возможно, Вам это не нужно. На проекте, для которого это писалось, в регистре сведений "Сохраненные настройки" хранились в том числе настроки по внешним отчетам. Если у Вас не так, то нужно будет в коде комментнуть участок по этой части.
- В справочник ВнешниеОбработки добавить реквизит ИмяВнутреннейОбработки (Строка, ~80) (см. Особенности)
- В справочник ВнешниеОбработки в ТЧ Принадлежность добавить реквизит ИмяВнутреннейОбработки (Строка, ~80) (см. Особенности)
Инструкция
- Выгрузить конфигурацию в файлы в иерархическом формате в
$SRC_DIR$ - Выполнить код export.bsl, отчет сохранить в
$patch.xml$ - Выполнить код convert.bat
- Выполнить код rebuild.bsl
- Содержимое полученных каталогов DataProcessors и Reports скопировать в соответствующие каталоги
$SRC_DIR$ - Содержимое
$patch.xml$ поместить в$SRC_DIR$ \Configuration.xml - Загрузить конфигурацию из
$SRC_DIR$
Инструкция не содержит ничего про:
- изменению путей в коде файлов
- изменение форм элемента/списка справочника ВнешниеОбработки
- модификацию кода загрузки обработки не из внешнего файла, а из конфигурации
- очистку сохраненных обработок в справочнике
Особенности
- если файл печатной формы не подключен, то внешняя обработка по такому файлу не выгружается
Код писался на 8.3.9.1818 в обычном приложении в режиме совместимости 8.2.16