Разработка и Конфигурация · 10 мин
Как выгрузить структуру конфигурации в 1С
Как выгрузить структуру конфигурации 1С: через конфигуратор в файлы XML, сравнение конфигураций, выгрузка метаданных и документации. Пошаговые инструкции.
Структура конфигурации 1С — это состав объектов метаданных: справочников, документов, регистров, отчётов, ролей, подсистем. Выгрузить её требуется для аудита чужой базы, документирования доработок, сравнения версий, передачи проекта другому разработчику или загрузки в систему контроля версий. В зависимости от цели подходят разные инструменты: от простого отчёта по составу до полной выгрузки в XML-файлы.
Важно различать три задачи, которые часто путают: выгрузка дерева объектов для просмотра (список метаданных), выгрузка полного содержимого конфигурации в файлы (исходники) и выгрузка описания структуры для документации. Ниже разобраны все три сценария с конкретными действиями в конфигураторе.
Что именно нужно выгрузить: определяем задачу
Прежде чем запускать выгрузку, ответьте на вопрос: что вы будете делать с результатом? От этого зависит выбор инструмента и формата.
Если нужен список объектов метаданных (какие справочники, документы и регистры есть в базе) — достаточно текстового отчёта или таблицы. Если нужны исходники конфигурации для Git, сравнения или восстановления — требуется выгрузка в файлы конфигуратора. Если нужна документация для пользователей или аналитиков — подойдёт встроенный механизм описания конфигурации или сторонние генераторы документации.
Как выбрать способ выгрузки
Выгрузка конфигурации в файлы через конфигуратор
Основной способ получить полную структуру конфигурации — выгрузка в файлы. Откройте базу в конфигураторе, убедитесь, что конфигурация открыта (меню «Конфигурация → Открыть конфигурацию»), затем выберите «Конфигурация → Выгрузить конфигурацию в файлы» и укажите пустой каталог на диске.
В результате в указанной папке появится иерархия XML-файлов: корневой файл Configuration.xml и подкаталоги по видам объектов — Catalogs, Documents, InformationRegisters и так далее. Каждый объект описывается отдельным XML-файлом, модули выгружаются в файлы с расширением .bsl.
- 1Откройте базу в конфигураторе под пользователем с правами администратора
- 2Выполните «Конфигурация → Открыть конфигурацию», дождитесь загрузки дерева объектов
- 3Выберите «Конфигурация → Выгрузить конфигурацию в файлы»
- 4Укажите пустой каталог и подтвердите операцию
- 5Проверьте наличие файла Configuration.xml и подкаталогов с объектами
Для типовых конфигураций на поддержке выгрузка может быть недоступна или ограничена, если поставщик закрыл модули. В таком случае объекты с закрытым кодом выгрузятся без текстов модулей — это нормальное поведение, а не ошибка.
Пакетная выгрузка через командную строку
Если выгрузку нужно выполнять регулярно — например, для ежедневной фиксации изменений в репозиторий — удобнее запускать конфигуратор в пакетном режиме без открытия интерфейса.
"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
Ошибки авторизации или монопольного доступа
Ограничения и безопасность
Выгрузка структуры конфигурации не затрагивает данные и не требует монопольного режима — это чтение метаданных. Однако сам результат может содержать чувствительную информацию: в модулях иногда встречаются зашитые пароли, ключи API, адреса серверов. Перед передачей выгрузки третьим лицам просмотрите код на предмет таких фрагментов.
Для баз под управлением SQL Server выгрузка больших конфигураций может занимать заметное время и нагружать сервер 1С:Предприятия. Планируйте операцию на нерабочие часы, если база активно используется.
Что важно запомнить
Для исходников — «Выгрузить конфигурацию в файлы» или пакетный режим с /DumpConfigToFiles; для списка объектов — отчёт по конфигурации; для анализа доработок — сравнение конфигураций. Всегда проверяйте полноту выгрузки и не передавайте файлы без проверки на секреты в коде.
Частые вопросы
Можно ли выгрузить структуру конфигурации без конфигуратора?
Штатными средствами — нет: доступ к метаданным для выгрузки предоставляет конфигуратор или пакетный режим его запуска. Программно состав метаданных можно читать через объект «Метаданные» в пользовательском режиме, но это даёт только список объектов, а не полные исходники.
Чем выгрузка в файлы отличается от выгрузки в .cf?
Файл .cf — это бинарный контейнер конфигурации целиком, удобный для передачи и загрузки одним действием. Выгрузка в файлы даёт иерархию XML и .bsl, пригодную для систем контроля версий, построчного сравнения и чтения в текстовом редакторе.
Почему после выгрузки нет текстов некоторых модулей?
Модули поставщика могут быть поставлены без исходных текстов — так защищают типовые и коммерческие решения. В выгрузке такие объекты присутствуют, но код модулей отсутствует. Обойти это ограничение штатными средствами нельзя.
Можно ли выгрузить структуру только части объектов?
Да: в диалоге выгрузки в файлы можно указать отбор по объектам метаданных, выгрузив, например, только документы или конкретную подсистему. Для частичной загрузки обратно отбор работает аналогично.
Подходит ли выгрузка структуры для резервного копирования?
Нет. Выгрузка конфигурации сохраняет только метаданные и код, но не данные информационной базы. Для резервной копии используйте выгрузку в .dt или средства СУБД для клиент-серверных баз.
Как выгрузить структуру конфигурации базы, к которой нет пароля администратора?
Без права администрирования конфигуратор не откроет выгрузку. Обратитесь к владельцу базы за учётной записью с полными правами — это единственный корректный путь. Попытки обхода защиты нарушают лицензионные условия и могут повредить базу.