Администрирование · 11 мин
1С: как перенести конфигурацию между базами
Как перенести конфигурацию 1С между базами: выгрузка CF-файла, загрузка, объединение, перенос через хранилище. Пошаговые инструкции, риски и проверка результата.
Перенос конфигурации 1С — типовая задача при развёртывании новой базы, обновлении рабочей системы доработками из тестовой копии или объединении изменений от нескольких разработчиков. В зависимости от цели используются разные механизмы: выгрузка конфигурации в файл CF, загрузка конфигурации из файла, сравнение и объединение, а также работа через хранилище конфигурации.
Ключевой момент, который нужно понять до начала работы: перенос конфигурации и перенос данных — это разные операции. Файл конфигурации содержит только метаданные (структуру справочников, документов, отчётов, код модулей), но не содержит самих записей. Если нужно перенести ещё и данные, потребуется выгрузка информационной базы в файл DT или специальные обработки обмена.
Ниже разобраны основные сценарии переноса, их ограничения, порядок действий в конфигураторе и способы проверить, что перенос прошёл корректно.
Какие способы переноса конфигурации существуют
Платформа 1С:Предприятие предлагает несколько механизмов, и выбор зависит от задачи. Полная замена конфигурации подходит, когда целевая база должна стать точной копией исходной по структуре метаданных. Объединение нужно, когда в целевой базе есть собственные доработки, которые нельзя потерять. Хранилище конфигурации применяется при командной разработке, а поставка (файл CFU) — для распространения обновлений.
Сравнение способов переноса
Полная замена конфигурации целевой базы. Подходит для развёртывания копии, но затирает все доработки в целевой базе.
Перенос отдельных объектов и изменений с контролем различий. Подходит для переноса доработок из тестовой базы в рабочую.
Командная разработка с версионированием. Требует настройки хранилища и дисциплины захвата объектов.
Обновление конфигурации, находящейся на поддержке. Работает только при совместимости версий и сохранённой поддержке.
Важно различать также конфигурацию базы данных и конфигурацию, сохранённую в файле: изменения в конфигураторе сначала попадают в основную конфигурацию, и только после «Обновить конфигурацию базы данных» применяются к рабочей базе. При переносе файла CF вы работаете именно с основной конфигурацией.
Подготовка: что сделать до переноса
Любая операция загрузки конфигурации потенциально разрушительна: она может изменить структуру таблиц базы данных и потребовать реструктуризации. Поэтому первый шаг — резервная копия. Для файловой базы достаточно скопировать каталог с файлом 1Cv8.1CD при остановленной работе пользователей; для клиент-серверной — сделать выгрузку в DT через конфигуратор или средствами СУБД.
Второй шаг — проверить версии платформы. Конфигурация, сохранённая на более новой версии платформы, может не загрузиться или работать некорректно на старой. Убедитесь, что на целевой машине установлена платформа той же версии или новее, а режим совместимости конфигурации это допускает.
Третий шаг — завершить сеансы пользователей в целевой базе. Загрузка конфигурации и обновление конфигурации базы данных требуют монопольного доступа. В клиент-серверном варианте заблокируйте регламентные задания, чтобы они не запустились во время обновления.
Полный перенос: сохранение и загрузка файла CF
Это самый простой сценарий, когда нужно перенести конфигурацию целиком — например, развернуть доработанную конфигурацию на новом сервере или создать копию для филиала.
- 1Откройте исходную базу в конфигураторе и убедитесь, что конфигурация базы данных обновлена (меню «Конфигурация → Обновить конфигурацию базы данных»).
- 2Выполните «Конфигурация → Сохранить конфигурацию в файл» и укажите путь к файлу с расширением .cf.
- 3Перенесите файл на машину с целевой базой.
- 4Откройте целевую базу в конфигураторе при отсутствии активных сеансов пользователей.
- 5Выполните «Конфигурация → Загрузить конфигурацию из файла» и выберите сохранённый CF-файл.
- 6После загрузки выполните «Обновить конфигурацию базы данных» (клавиша F7) и согласитесь с реструктуризацией, проверив список изменений.
- 7Запустите базу в режиме предприятия и проверьте работу ключевых функций.
Обратите внимание на нюанс с поддержкой: если целевая конфигурация типовая и находится на поддержке поставщика, полная загрузка из файла снимет её с поддержки или изменит состояние объектов. Для типовых конфигураций, которые нужно обновлять штатно, используйте механизм обновления через CFU, а не полную загрузку.
Если конфигурация исходной базы закрыта паролем на модули или поставляется без исходных текстов, переносится она в том же виде — ограничения поставки сохраняются в файле CF.
Частичный перенос через сравнение и объединение
Когда в целевой базе есть собственные доработки, полную загрузку применять нельзя — она их уничтожит. В этом случае используется команда «Конфигурация → Сравнить, объединить с конфигурацией из файла». Платформа построит дерево различий между текущей конфигурацией и файлом, и вы отметите, какие объекты переносить.
В окне объединения у каждого объекта есть признак действия: взять из файла, оставить текущий, объединить. Для модулей доступно построчное сравнение текста — это позволяет перенести только нужные процедуры, не затирая остальной код. Для объектов метаданных (справочников, документов) объединение работает на уровне реквизитов и табличных частей.
Практический приём: перед объединением сделайте отчёт о сравнении (кнопка «Отчёт» в окне сравнения) и сохраните его. Это документирует, что именно переносилось, и упростит поиск причины, если после переноса что-то сломается.
Перенос через хранилище конфигурации
Если доработки ведутся постоянно и участвует несколько разработчиков, разовые переносы файлами быстро становятся источником конфликтов. Хранилище конфигурации решает эту задачу: все базы разработчиков подключаются к общему хранилищу, изменения помещаются туда версиями, а рабочая база обновляется из выбранной версии.
Для переноса конфигурации через хранилище исходную базу подключают к хранилищу (меню «Конфигурация → Хранилище конфигурации»), помещают изменённые объекты, затем в целевой базе выполняют «Обновить конфигурацию из хранилища». Платформа перенесёт только те объекты, которые изменились с момента последнего обновления целевой базы.
Минус подхода — необходимость администрировать хранилище и следить за дисциплиной: объект, захваченный одним разработчиком, недоступен остальным до возврата. Для одиночного разовых переносов хранилище избыточно.
Особые случаи: расширения и внешние объекты
Доработки, выполненные через механизм расширений конфигурации, переносятся отдельно от основной конфигурации. Расширение выгружается в файл CFE из списка расширений (раздел «Администрирование → Печатные формы, отчеты и обработки → Расширения» в типовых, либо через конфигуратор) и подключается в целевой базе. Это предпочтительный способ переноса небольших доработок типовых конфигураций, так как он не затрагивает поддержку.
Внешние отчёты и обработки (файлы ERF и EPFL) вообще не являются частью конфигурации и переносятся простым копированием файлов или подключением через механизм дополнительных отчётов и обработок БСП. Проверьте, что переносимая обработка совместима с версией конфигурации целевой базы — обработки, использующие переименованные объекты, перестанут работать.
Если переносите доработки между базами с разными релизами одной типовой конфигурации, сначала выровняйте релизы или переносите только код, а не объекты целиком. Объект, скопированный из нового релиза, может ссылаться на реквизиты, которых ещё нет в старом, и база не пройдёт проверку конфигурации. Перед загрузкой в рабочую базу всегда запускайте «Конфигурация → Проверка конфигурации» с проверкой логической целостности.
Проверка результата после переноса
Завершение загрузки без сообщений об ошибках ещё не означает успешный перенос. Минимальный контроль включает обновление конфигурации базы данных с просмотром окна реструктуризации, запуск проверки конфигурации и тестовый вход в режим предприятия.
Как проверить результат переноса
Выполняется без ошибок, список реструктуризации соответствует ожидаемым изменениям
Ошибки реструктуризации, неожиданное удаление таблиц или реквизитов в списке изменений
Нет ошибок компиляции модулей и битых ссылок на метаданные
Ошибки вида «Объект не обнаружен», неразрешимые ссылки в модулях
База открывается, перенесённые объекты доступны и работают
Ошибки при старте, отсутствие перенесённых объектов в интерфейсе
Новые объекты включены в роли и подсистемы, пользователи их видят
Объект существует, но недоступен пользователям из-за отсутствия прав
Для баз с большим объёмом данных реструктуризация может занять значительное время — планируйте перенос на нерабочие часы. Прерывание реструктуризации недопустимо: это приводит к повреждению базы.
Что важно запомнить
Полный перенос делается через сохранение и загрузку CF-файла, частичный — через сравнение и объединение, регулярный — через хранилище. Перед любой загрузкой делайте резервную копию, после — обновляйте конфигурацию базы данных и проверяйте результат проверкой конфигурации и тестовым запуском.
Частые вопросы о переносе конфигурации 1С
Переносится ли вместе с конфигурацией содержимое справочников и документов?
Нет. Файл CF содержит только метаданные и программный код. Для переноса данных используйте выгрузку информационной базы в файл DT (переносит всё вместе со структурой) или обработки обмена данными, например универсальный обмен через XML.
Можно ли загрузить конфигурацию из файла в базу другой версии платформы?
Загрузка в базу на более новой платформе обычно проходит, при необходимости платформа выполнит конвертацию. Обратная ситуация — загрузка конфигурации новой версии в старую платформу — невозможна. Обновите платформу на целевой машине до версии не ниже исходной.
Что делать, если при загрузке появляется сообщение о несовместимости с конфигурацией базы данных?
Такое сообщение означает, что загружаемая конфигурация существенно отличается от текущей. Если вы делаете полную замену осознанно — подтвердите загрузку. Если планировали частичный перенос, отмените операцию и используйте «Сравнить, объединить с конфигурацией из файла» вместо полной загрузки.
Снимется ли типовая конфигурация с поддержки при переносе?
Полная загрузка конфигурации из файла заменяет конфигурацию целиком и меняет состояние поддержки. Объединение позволяет переносить изменения точечно, но изменённые типовые объекты всё равно получают признак изменения. Чтобы сохранить полную поддержку, переносите доработки через расширения конфигурации.
Как перенести конфигурацию, если нет доступа к конфигуратору исходной базы?
Без доступа к конфигуратору сохранить CF-файл нельзя. Если база файловая, можно скопировать целиком файл 1Cv8.1CD — это перенесёт и конфигурацию, и данные. Если доступ ограничен правами, запросите у администратора базы пользователя с правом «Администрирование» и доступом к конфигуратору.
Можно ли автоматизировать перенос конфигурации пакетным скриптом?
Да, конфигуратор поддерживает пакетный режим запуска с параметрами командной строки: /DumpCfg для сохранения конфигурации в файл и /LoadCfg для загрузки. Это используется в скриптах обновления и CI/CD-процессах. Команды выполняются с указанием строки соединения с базой и требуют монопольного доступа.