Администрирование · 11 мин
Как выгрузить метаданные из 1С
Как выгрузить метаданные из 1С: через конфигуратор, внешние обработки, выгрузку в XML и EDT. Пошаговые инструкции, ограничения, ошибки и ответы на вопросы.
Выгрузка метаданных из 1С — задача, которая возникает при аудите конфигурации, миграции на новую версию платформы, подготовке к доработке, интеграции с внешними системами или документировании структуры базы. Под метаданными понимается описание структуры конфигурации: справочники, документы, регистры, отчёты, обработки, роли, подсистемы и связи между ними, но не сами данные пользователей.
Способ выгрузки зависит от цели. Если нужно перенести конфигурацию целиком — достаточно штатной выгрузки в файл .cf. Если требуется машиночитаемое описание структуры для анализа или интеграции — подойдут выгрузка в XML-файлы конфигурации, инструменты EDT или специализированные обработки, формирующие таблицы метаданных. Ниже разобраны основные варианты с пошаговыми действиями и ограничениями каждого.
Что именно можно выгрузить и зачем
Прежде чем выбирать инструмент, определите, какой результат нужен. Полная конфигурация в виде файла .cf подходит для переноса, резервного копирования и передачи разработчику. XML-выгрузка даёт декомпозированное описание: каждый объект метаданных — отдельный XML-файл, удобный для систем контроля версий и автоматического анализа. Таблица метаданных (список объектов с типами и свойствами) нужна для аудита, документирования и планирования доработок.
Важно различать метаданные и данные. Метаданные — это «скелет» конфигурации: какие есть документы, какие у них реквизиты, какие регистры они двигают. Данные — это сами записи: конкретные документы, элементы справочников, остатки регистров. Инструменты из этой статьи выгружают именно структуру; для выгрузки данных используются другие механизмы (выгрузка информационной базы в .dt, обмены, универсальный обмен XML).
Выгрузка конфигурации в файл .cf через конфигуратор
Это самый простой и штатный способ, доступный в любой файловой и клиент-серверной базе, если у пользователя есть права администратора и режим «Конфигуратор» не запрещён. Результат — один файл с расширением .cf, содержащий все метаданные и модули конфигурации.
Порядок действий: откройте базу в режиме «Конфигуратор», в меню выберите «Конфигурация» → «Сохранить конфигурацию в файл», укажите путь и имя файла. Если конфигурация находится на поддержке и закрыта от изменений, выгрузка всё равно выполняется — ограничение касается только редактирования. Для выгрузки конфигурации базы данных (то, что реально работает, а не редактируемая версия) используйте пункт «Сохранить конфигурацию базы данных в файл».
Ограничение способа: файл .cf — бинарный формат, его нельзя прочитать без платформы 1С и нельзя построчно сравнить с другой версией. Для анализа структуры он неудобен, но идеален для переноса и архивирования.
- 1Откройте базу в режиме «Конфигуратор» под пользователем с правами администратора
- 2Выполните: Конфигурация → Сохранить конфигурацию в файл
- 3Укажите каталог и имя файла .cf
- 4Дождитесь завершения и проверьте, что файл создан и имеет ненулевой размер
Выгрузка конфигурации в XML-файлы
Выгрузка в XML-файлы конфигурации декомпозирует все метаданные в иерархию текстовых файлов: каждый объект — отдельный XML, модули — отдельные файлы с кодом. Такой формат используется для хранения конфигурации в Git, автоматического анализа, сравнения версий и загрузки в сторонние инструменты.
В конфигураторе выполните: «Конфигурация» → «Выгрузить конфигурацию в файлы». В диалоге можно выбрать формат (иерархический или плоский) и выгружать ли только изменённые объекты. Иерархический формат раскладывает файлы по папкам вида Catalogs, Documents, InformationRegisters — его удобнее читать человеку. Выгрузка большой конфигурации может занять заметное время и создать десятки тысяч файлов, поэтому выбирайте диск с достаточным свободным местом.
Тот же результат можно получить пакетным запуском конфигуратора из командной строки — это удобно для регулярной автоматической выгрузки, например ночной синхронизации с репозиторием.
"C:\Program Files\1cv8\<версия>\bin\1cv8.exe" DESIGNER /F"D:\Bases\MyBase" /N"Администратор" /P"пароль" /DumpConfigToFiles "D:\Export\ConfigXml" /DumpMode HierarchicalЗагрузка обратно выполняется командой /LoadConfigFromFiles, поэтому XML-выгрузка — полноценный способ переноса конфигурации, а не только просмотра.
Выгрузка метаданных через 1C:EDT
1C:Enterprise Development Tools (EDT) — среда разработки на базе Eclipse. При импорте конфигурации из информационной базы EDT создаёт проект, в котором все метаданные представлены в виде файлов: структура объектов, модули, формы, роли. Фактически это ещё один способ получить метаданные в файловом виде, но с удобной навигацией и поиском.
Порядок: установите EDT, создайте новый проект, выберите «Импорт из информационной базы», укажите строку подключения к базе. После импорта проект можно экспортировать в файловую систему или подключить к Git. Учтите, что формат проекта EDT отличается от формата выгрузки конфигуратора — они не взаимозаменяемы напрямую, хотя платформа умеет конвертировать между ними.
EDT оправдан, если вы планируете дальнейшую разработку или анализ в этой среде. Для разовой выгрузки структуры проще использовать XML-выгрузку конфигуратора.
Получение списка метаданных в табличном виде
Для аудита и документирования часто нужен не исходный код конфигурации, а таблица: имя объекта, синоним, тип, реквизиты, движения. Такую таблицу получают программно через объект «Метаданные» во встроенном языке 1С. Обход коллекций Метаданные.Справочники, Метаданные.Документы и т.д. позволяет сформировать табличный документ и сохранить его в Excel или CSV.
Простейший фрагмент кода для внешней обработки:
Для Каждого Док Из Метаданные.Документы Цикл
Сообщить(Док.Имя + " | " + Док.Синоним + " | реквизитов: " + Док.Реквизиты.Количество());
КонецЦикла;
Готовые обработки для выгрузки структуры метаданных доступны на профильных ресурсах и в составе инструментов разработчика. Перед использованием сторонней обработки откройте её код и убедитесь, что она только читает метаданные и не обращается к внешним адресам.
Сравнение способов выгрузки
Сравнение вариантов
Быстро и просто, подходит для переноса и архива. Ограничение: бинарный формат, нельзя анализировать без платформы.
Машиночитаемый формат для Git, сравнения и анализа. Ограничение: тысячи файлов, требует места и времени на больших конфигурациях.
Полноценный проект с навигацией и поиском, удобен для разработки. Ограничение: требует установки EDT и конвертации, избыточен для разовой задачи.
Даёт таблицу объектов в Excel/CSV для аудита и документирования. Ограничение: выгружает список и свойства, но не модули и формы.
Проверка результата и типичные ошибки
После выгрузки убедитесь, что результат полный и пригодный. Для .cf проверьте размер файла и попробуйте загрузить его в пустую базу на тестовом стенде. Для XML-выгрузки откройте корневой файл Configuration.xml и убедитесь, что количество объектов соответствует конфигурации — сверить можно по отчёту «Список объектов конфигурации» в конфигураторе. Для таблицы метаданных проверьте, что в ней присутствуют все типы объектов: справочники, документы, регистры сведений и накопления, планы счетов при наличии.
Как проверить результат
Файл создан, загружается в пустую базу без ошибок
Размер нулевой или загрузка обрывается с ошибкой — повторите выгрузку
Есть Configuration.xml и папки по типам объектов, количество совпадает с конфигурацией
Часть папок отсутствует — выгрузка прервана, проверьте место на диске и права
Присутствуют все разделы: справочники, документы, регистры, отчёты
Пустые разделы, которые точно есть в конфигурации, — ошибка в коде обхода
Ограничения и безопасность
Для выгрузки через конфигуратор нужны права администратора и отсутствие блокировки режима «Конфигуратор» в свойствах пользователя. В клиент-серверных базах на время выгрузки не требуется монопольный доступ — выгрузка в файл и в XML выполняется без отключения пользователей, в отличие от загрузки.
Отдельный момент — защищённые модули. Если модуль поставляется без исходного текста (парольная защита, поставка без исходников), выгрузка сохранит его в скомпилированном виде: структура объекта будет видна, а текст модуля — нет. Это нормальное поведение, а не ошибка выгрузки.
Частые вопросы
Можно ли выгрузить метаданные без конфигуратора?
Да. Внешняя обработка, запущенная в режиме «Предприятие», может обойти коллекции объекта «Метаданные» и сохранить список объектов в Excel или CSV. Также пакетный запуск конфигуратора из командной строки позволяет выполнить выгрузку без интерактивной работы. Полная выгрузка в .cf без конфигуратора невозможна.
Чем отличается выгрузка конфигурации от выгрузки информационной базы?
Выгрузка конфигурации (.cf) сохраняет только метаданные и код. Выгрузка информационной базы (.dt) сохраняет конфигурацию вместе со всеми данными пользователей. Для анализа структуры достаточно .cf, для резервной копии нужен .dt или бэкап СУБД.
Можно ли выгрузить метаданные из базы, где конфигурация на поддержке?
Да. Режим поддержки ограничивает изменение объектов, но не их выгрузку. Сохранение конфигурации в файл .cf и выгрузка в XML-файлы доступны для типовых конфигураций на полной поддержке.
Как получить структуру метаданных в виде таблицы для документации?
Используйте внешнюю обработку, обходящую коллекции Метаданные.Справочники, Метаданные.Документы, Метаданные.РегистрыСведений и другие. Результат выводится в табличный документ и сохраняется в Excel. Готовые обработки такого типа есть в составе инструментов разработчика.
Почему в XML-выгрузке нет текста некоторых модулей?
Если модуль поставляется без исходного текста (защищён поставщиком), выгружается только его скомпилированная форма. Это штатное ограничение защиты, обойти его штатными средствами нельзя.
Нужно ли отключать пользователей для выгрузки метаданных?
Нет. Выгрузка конфигурации в файл .cf и в XML-файлы выполняется в фоне и не требует монопольного доступа. Монопольный режим нужен только для загрузки конфигурации и обновления структуры базы.
Что важно запомнить
Для переноса конфигурации используйте выгрузку в .cf, для анализа и контроля версий — выгрузку в XML-файлы, для аудита и документирования — таблицу метаданных через встроенный язык. Метаданные не содержат данных пользователей, поэтому выгрузка не заменяет резервную копию. Проверяйте полноту результата и не запускайте непроверенные внешние обработки на рабочей базе.