К статье
Практический материал

Разработка и Конфигурация · 10 мин

Как выгрузить структуру конфигурации в 1С

Как выгрузить структуру конфигурации 1С: через конфигуратор в файлы XML, сравнение конфигураций, выгрузка метаданных и документации. Пошаговые инструкции.

Структура конфигурации 1С — это состав объектов метаданных: справочников, документов, регистров, отчётов, ролей, подсистем. Выгрузить её требуется для аудита чужой базы, документирования доработок, сравнения версий, передачи проекта другому разработчику или загрузки в систему контроля версий. В зависимости от цели подходят разные инструменты: от простого отчёта по составу до полной выгрузки в XML-файлы.

Важно различать три задачи, которые часто путают: выгрузка дерева объектов для просмотра (список метаданных), выгрузка полного содержимого конфигурации в файлы (исходники) и выгрузка описания структуры для документации. Ниже разобраны все три сценария с конкретными действиями в конфигураторе.

Что именно нужно выгрузить: определяем задачу

Прежде чем запускать выгрузку, ответьте на вопрос: что вы будете делать с результатом? От этого зависит выбор инструмента и формата.

Если нужен список объектов метаданных (какие справочники, документы и регистры есть в базе) — достаточно текстового отчёта или таблицы. Если нужны исходники конфигурации для Git, сравнения или восстановления — требуется выгрузка в файлы конфигуратора. Если нужна документация для пользователей или аналитиков — подойдёт встроенный механизм описания конфигурации или сторонние генераторы документации.

Маршрут решения

Как выбрать способ выгрузки

Нужен перечень объектов для анализа или аудитаИспользуйте отчёт по структуре конфигурации или выгрузку списка метаданных в таблицу
Нужны исходники для Git или передачи проектаВыполните «Выгрузить конфигурацию в файлы» в конфигураторе
Нужно сравнить две версии конфигурацийИспользуйте «Сравнить и объединить конфигурации» или сравнение выгруженных файлов
Нужна документация по структуре для не-разработчиковСформируйте описание конфигурации штатным механизмом или обработкой

Выгрузка конфигурации в файлы через конфигуратор

Основной способ получить полную структуру конфигурации — выгрузка в файлы. Откройте базу в конфигураторе, убедитесь, что конфигурация открыта (меню «Конфигурация → Открыть конфигурацию»), затем выберите «Конфигурация → Выгрузить конфигурацию в файлы» и укажите пустой каталог на диске.

В результате в указанной папке появится иерархия XML-файлов: корневой файл Configuration.xml и подкаталоги по видам объектов — Catalogs, Documents, InformationRegisters и так далее. Каждый объект описывается отдельным XML-файлом, модули выгружаются в файлы с расширением .bsl.

Порядок выгрузки в файлы
  1. 1
    Откройте базу в конфигураторе под пользователем с правами администратора
  2. 2
    Выполните «Конфигурация → Открыть конфигурацию», дождитесь загрузки дерева объектов
  3. 3
    Выберите «Конфигурация → Выгрузить конфигурацию в файлы»
  4. 4
    Укажите пустой каталог и подтвердите операцию
  5. 5
    Проверьте наличие файла Configuration.xml и подкаталогов с объектами

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

Пакетная выгрузка через командную строку

Если выгрузку нужно выполнять регулярно — например, для ежедневной фиксации изменений в репозиторий — удобнее запускать конфигуратор в пакетном режиме без открытия интерфейса.

batch
"C:\Program Files\1cv8\<версия>\bin\1cv8.exe" DESIGNER /F"C:\Bases\MyBase" /N"Администратор" /P"пароль" /DumpConfigToFiles "D:\Export\Config" /Out"D:\Export\log.txt"

Ключ /DumpConfigToFiles запускает выгрузку в указанный каталог, /Out пишет журнал выполнения. Для файловой базы используется параметр /F с путём, для серверной — /S"Сервер\ИмяБазы". Проверьте результат по коду возврата и содержимому лога: при ошибках авторизации или монопольного доступа выгрузка не выполнится.

Такой скрипт легко встроить в планировщик задач Windows или CI-конвейер. Учтите, что при работе пользователей в базе выгрузка обычно проходит, но для гарантированной консистентности лучше выполнять её в период минимальной активности.

Выгрузка списка метаданных без исходников

Когда нужны не файлы, а просто перечень объектов — например, чтобы оценить объём доработок в чужой базе — полная выгрузка избыточна. Есть несколько более лёгких путей.

Первый вариант — окно конфигурации в конфигураторе: дерево объектов можно изучать напрямую, а поиск по подстроке (Ctrl+F) помогает быстро находить нужные элементы. Для передачи списка коллеге часто используют внешние обработки «выгрузка структуры метаданных», которые формируют таблицу: вид объекта, имя, синоним, количество реквизитов. Такие обработки распространены на профильных ресурсах, перед использованием проверьте их код — обработка выполняется с вашими правами.

Второй вариант — программное обращение к коллекции Метаданные через встроенный язык. Например, перебрать Метаданные.Справочники и вывести имена в табличный документ. Это удобно, когда нужен нестандартный отбор: только доработанные объекты, только объекты конкретной подсистемы.

Сравнение конфигураций как способ увидеть структуру изменений

Если задача — понять, чем рабочая конфигурация отличается от типовой или от предыдущей версии, используйте «Конфигурация → Сравнить и объединить с конфигурацией из файла». В диалоге сравнения вы увидите дерево объектов с отметками об отличиях: изменённые, добавленные, удалённые.

Этот же механизм доступен для сравнения конфигурации базы данных и конфигурации поставщика («Конфигурация → Поддержка → Настройка поддержки → Сравнить...»). Отчёт о различиях можно вывести в табличный документ и сохранить — это фактически готовая выгрузка структуры доработок.

При приёмке базы от предыдущего подрядчика полезно сделать три вещи: выгрузить конфигурацию в файлы, сформировать отчёт о сравнении с типовой и выгрузить .dt. Этого набора достаточно, чтобы понять масштаб доработок и иметь точку отката.
ПЗ
Практическое замечание

Формирование документации по структуре

Для передачи информации аналитикам и пользователям XML-файлы не подходят — нужна читаемая документация. В конфигураторе есть штатный механизм: «Конфигурация → Отчёт по конфигурации» (в ряде версий платформы — через меню справки или печать описания конфигурации). Он формирует документ с составом объектов, их реквизитами и связями.

Для более детальной документации существуют специализированные инструменты, которые парсят выгруженные XML-файлы и строят HTML-справку с диаграммами связей. Условие их применения — успешная полная выгрузка конфигурации в файлы, поэтому первый шаг всегда один и тот же.

Сравнение способов выгрузки

Выгрузка в файлы

Полные исходники для Git и восстановления; требует прав администратора и времени на больших конфигурациях

Пакетный режим

То же самое, но автоматизируется; нужно аккуратно хранить пароль в скрипте

Отчёт по конфигурации

Быстрый читаемый документ; не содержит кода модулей

Сравнение конфигураций

Показывает только отличия от эталона; бесполезно без второй конфигурации для сравнения

Проверка результата и типичные ошибки

После выгрузки убедитесь, что результат полный и пригодный для дальнейшей работы. Ориентируйтесь на контрольные признаки ниже.

Контрольные точки

Как проверить результат выгрузки

Наличие корневого файла
Норма

Configuration.xml присутствует в каталоге выгрузки

Тревожный признак

Файла нет — выгрузка прервана, смотрите лог

Подкаталоги объектов
Норма

Есть папки Catalogs, Documents и др. с XML-файлами

Тревожный признак

Каталоги пустые или отсутствуют при наличии объектов в базе

Модули
Норма

Файлы .bsl открываются и содержат код

Тревожный признак

Модули пустые — код закрыт поставщиком или нет прав

Журнал пакетной выгрузки
Норма

Лог завершается без ошибок, код возврата 0

Тревожный признак

Ошибки авторизации или монопольного доступа

Типичные ошибки
01
Выгрузка в непустой каталог — старые файлы смешиваются с новыми, итог непредсказуем; всегда используйте чистую папку
02
Попытка выгрузить конфигурацию без открытого окна конфигурации — пункт меню неактивен, сначала выполните «Открыть конфигурацию»
03
Хранение пароля администратора в открытом виде в bat-файле на общем диске — риск утечки доступа ко всем базам
04
Путать выгрузку конфигурации в файлы с выгрузкой базы в .dt — это разные операции: .dt содержит данные, файлы конфигурации — только структуру и код

Ограничения и безопасность

Выгрузка структуры конфигурации не затрагивает данные и не требует монопольного режима — это чтение метаданных. Однако сам результат может содержать чувствительную информацию: в модулях иногда встречаются зашитые пароли, ключи API, адреса серверов. Перед передачей выгрузки третьим лицам просмотрите код на предмет таких фрагментов.

Для баз под управлением SQL Server выгрузка больших конфигураций может занимать заметное время и нагружать сервер 1С:Предприятия. Планируйте операцию на нерабочие часы, если база активно используется.

Итог

Что важно запомнить

Для исходников — «Выгрузить конфигурацию в файлы» или пакетный режим с /DumpConfigToFiles; для списка объектов — отчёт по конфигурации; для анализа доработок — сравнение конфигураций. Всегда проверяйте полноту выгрузки и не передавайте файлы без проверки на секреты в коде.

Частые вопросы

Можно ли выгрузить структуру конфигурации без конфигуратора?

Штатными средствами — нет: доступ к метаданным для выгрузки предоставляет конфигуратор или пакетный режим его запуска. Программно состав метаданных можно читать через объект «Метаданные» в пользовательском режиме, но это даёт только список объектов, а не полные исходники.

Чем выгрузка в файлы отличается от выгрузки в .cf?

Файл .cf — это бинарный контейнер конфигурации целиком, удобный для передачи и загрузки одним действием. Выгрузка в файлы даёт иерархию XML и .bsl, пригодную для систем контроля версий, построчного сравнения и чтения в текстовом редакторе.

Почему после выгрузки нет текстов некоторых модулей?

Модули поставщика могут быть поставлены без исходных текстов — так защищают типовые и коммерческие решения. В выгрузке такие объекты присутствуют, но код модулей отсутствует. Обойти это ограничение штатными средствами нельзя.

Можно ли выгрузить структуру только части объектов?

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

Подходит ли выгрузка структуры для резервного копирования?

Нет. Выгрузка конфигурации сохраняет только метаданные и код, но не данные информационной базы. Для резервной копии используйте выгрузку в .dt или средства СУБД для клиент-серверных баз.

Как выгрузить структуру конфигурации базы, к которой нет пароля администратора?

Без права администрирования конфигуратор не откроет выгрузку. Обратитесь к владельцу базы за учётной записью с полными правами — это единственный корректный путь. Попытки обхода защиты нарушают лицензионные условия и могут повредить базу.