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

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

Выгрузка конфигурации 1С в файлы: что это и как сделать

Что означает выгрузка конфигурации 1С в файлы, зачем она нужна, как выполнить её через конфигуратор и EDT, какие есть ограничения и типичные ошибки.

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

Функция доступна в конфигураторе через меню «Конфигурация → Выгрузить конфигурацию в файлы», а также через командную строку платформы и в среде 1C:Enterprise Development Tools (EDT). Результат — дерево каталогов с XML-файлами (в формате конфигуратора) или файлами проекта EDT, где каждый объект конфигурации представлен отдельным файлом или группой файлов.

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

Что именно попадает в файлы при выгрузке

При выгрузке в файлы платформа сохраняет описание всех объектов метаданных: справочников, документов, регистров, отчетов, обработок, общих модулей, ролей, подсистем, планов обмена и прочего. Каждый объект превращается в XML-файл с описанием его свойств, реквизитов, табличных частей и связей с другими объектами.

Код модулей выгружается в отдельные файлы с расширением *.bsl (в формате EDT) либо встраивается в XML-структуру (в классическом формате конфигуратора, где модуль хранится в подкаталоге Ext объекта). Формы, макеты, картинки и шаблоны также сохраняются как отдельные файлы внутри структуры каталогов.

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

Зачем выгружать конфигурацию в файлы

Основной сценарий — работа с системой контроля версий. XML-файлы можно поместить в Git-репозиторий, отслеживать изменения построчно, делать ветки, ревью кода и откатывать правки. С бинарным файлом *.cf это невозможно: системы контроля версий не умеют показывать осмысленные различия внутри него.

Вторая причина — сравнение и анализ. Текстовые файлы позволяют искать по коду конфигурации обычными средствами (grep, поиск в редакторе), строить автоматические проверки качества кода, подключать SonarQube и другие анализаторы.

Третий сценарий — командная разработка и сборка. Конфигурацию можно собирать из файлов автоматически на сервере сборки, разворачивать тестовые стенды и поставлять обновления. Это основа практик CI/CD в мире 1С.

Способы сохранения конфигурации

Файл <em>.cf

Бинарный файл конфигурации целиком. Подходит для передачи и быстрой загрузки, но не для контроля версий и сравнения изменений.

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

Текстовое дерево файлов. Подходит для Git, анализа кода и автоматической сборки. Требует больше места и времени на выгрузку.

Файл </em>.dt

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

Проект EDT

Файловое представление в формате среды разработки EDT. Удобно для разработки вне конфигуратора, совместимо с Git из коробки.

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

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

Далее выполните последовательность действий, описанную ниже. Перед первой выгрузкой создайте пустой каталог назначения — платформа запишет в него дерево файлов, начиная с корневого файла Configuration.xml.

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

При выгрузке платформа предложит выбрать формат: «иерархический» или «линейный». Иерархический раскладывает объекты по подкаталогам по типам метаданных и удобнее для навигации; линейный сохраняет более плоскую структуру. Для работы с Git обычно выбирают иерархический формат.

Выгрузка через командную строку и в EDT

Для автоматизации выгрузку удобно запускать пакетно, без открытия конфигуратора. Платформа поддерживает режим DESIGNER с командой DumpConfigToFiles, которую можно вызывать из скриптов сборки.

bash
"C:\Program Files\1cv8\<версия>\bin\1cv8.exe" DESIGNER /F"C:\Bases\MyBase" /N"Администратор" /P"пароль" /DumpConfigToFiles "C:\Repo\src" -format Hierarchical

Для файловой базы используется параметр /F с путем к каталогу базы, для серверной — /S с адресом сервера и именем базы. Параметр -format задает формат выгрузки. Результат выполнения команды стоит фиксировать в лог-файл через параметр /Out, чтобы видеть ошибки.

В 1C:EDT конфигурация изначально хранится как проект в файловой системе, поэтому отдельная «выгрузка в файлы» не нужна: проект импортируется из информационной базы и дальше синхронизируется. При переходе с конфигуратора на EDT импорт выполняется через мастер «Импорт конфигурации из информационной базы».

Как проверить результат и загрузить конфигурацию обратно

Контрольная точка успешной выгрузки — наличие в корне каталога файла Configuration.xml и каталогов по типам метаданных (Catalogs, Documents, CommonModules и т.д.). Откройте несколько XML-файлов: они должны быть читаемыми, без обрывов и сообщений об ошибках в конце выгрузки.

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

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

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

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

Корневой каталог
Норма

Есть Configuration.xml и папки типов метаданных

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

Каталог пуст или содержит только часть объектов

Модули
Норма

Код модулей читается в файлах, кириллица без искажений

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

Кракозябры, обрезанные файлы, отсутствуют Ext-подкаталоги

Процесс выгрузки
Норма

Завершился без сообщений об ошибках

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

Ошибки доступа, обрыв по таймауту, нехватка места на диске

Обратная загрузка
Норма

Тестовая загрузка в копию базы проходит без ошибок

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

Загрузка падает или требует неожиданной реструктуризации

Ограничения и риски

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

На больших конфигурациях (типовые ERP, УТ, КА) выгрузка может занимать значительное время и создавать десятки тысяч файлов. Убедитесь, что на диске достаточно места, а файловая система и антивирус не замедляют запись множества мелких файлов — иногда каталог выгрузки стоит добавить в исключения антивируса.

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

Типичные ошибки при выгрузке

Типичные ошибки
01
Выгрузка в непустой каталог: старые файлы смешиваются с новыми, и в репозиторий попадают «фантомные» объекты, удаленные из конфигурации. Всегда выгружайте в чистый каталог.
02
Путаница между <em>.cf и выгрузкой в файлы: файл </em>.cf нельзя положить в Git с осмысленными diff, а файлы нельзя напрямую открыть как конфигурацию — это разные форматы под разные задачи.
03
Игнорирование формата выгрузки: смена формата (иерархический/линейный) между выгрузками создает в Git массовые ложные изменения. Формат фиксируют один раз для проекта.
04
Отсутствие настроек кодировки и окончаний строк в Git: без .gitattributes текстовые файлы получают разные переводы строк, и сравнение версий становится шумным.
05
Попытка восстановить данные из файлов конфигурации: в выгрузке нет данных, для восстановления нужна копия базы.

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

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

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

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

Выгружаются ли данные базы вместе с конфигурацией?

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

Можно ли выгрузить в файлы типовую конфигурацию на поддержке?

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

Какую кодировку и формат выбрать для работы с Git?

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

Как автоматизировать регулярную выгрузку в репозиторий?

Настройте скрипт, который запускает платформу в режиме DESIGNER с командой DumpConfigToFiles в чистый каталог, затем выполняет git add, commit и push. Скрипт ставится в планировщик задач или на сервер сборки. Обязательно логируйте выполнение и проверяйте код возврата, чтобы не пропустить сбой.

Можно ли загрузить файлы конфигуратора в проект EDT?

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

Итог

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

Выгрузка конфигурации в файлы сохраняет структуру и код прикладного решения в виде XML-дерева и нужна для контроля версий, анализа и автоматической сборки. Выполняется через конфигуратор или пакетную команду DumpConfigToFiles в чистый каталог. Данные базы не выгружаются — для резервных копий используйте *.dt. Обратную загрузку всегда проверяйте на тестовой копии базы.