Передача конфигурации 1С между базами: разбор способов
Содержание
Способ зависит от задачи. Нужно перенести доработки целиком — выгружайте конфигурацию в файл .cf через меню Конфигурация → Сохранить конфигурацию в файл… и загружайте её в приёмнике. Нужно отдать базу вместе с данными — выгружайте .dt. Работаете командой — заводите хранилище конфигурации. Переносите только часть изменений — используйте сравнение и объединение.
Ниже — каждый из этих способов по шагам, с точными пунктами меню Конфигуратора, нужными правами и ошибками, на которые чаще всего натыкаются. Всё описано для платформы 1С 8.3; в Конфигураторе меню одинаковые для любой конфигурации — БП 3.0, ЗУП 3.1, УТ 11.
Какой способ передачи выбрать
Файл .cf хранит только конфигурацию — метаданные, модули, формы, отчёты. Данных в нём нет. Файл .dt — это полная выгрузка информационной базы: и конфигурация, и все справочники с документами. Хранилище — инструмент совместной разработки, где несколько человек правят одну конфигурацию по очереди.
| Способ | Что переносит | Когда применять |
|---|---|---|
Выгрузка .cf + загрузка | Только конфигурацию | Перенести доработки в чистую базу или на рабочий сервер |
Выгрузка .dt | Конфигурацию и данные | Отдать базу целиком, развернуть копию |
| Хранилище конфигурации | Конфигурацию, с историей версий | Разработка в несколько рук |
| Сравнение и объединение | Выбранные объекты | Перенести часть изменений, не затирая остальное |
Механизм поддержки (.cfu) | Обновление от поставщика | Выпуск тиражного решения, обновление дочерних баз |
.cf и загрузите в приёмник. Самый частый сценарий переноса с тестовой базы на рабочую..dt. На приёмнике загрузка .dt полностью заменит и конфигурацию, и данные..cf и объедините, сняв галочки с лишних объектов..cf и обновления .cfu.Что проверить до начала: права и монопольный доступ
Все операции с конфигурацией выполняются в Конфигураторе, а не в режиме «1С:Предприятие». Запустите базу именно в этом режиме через окно запуска.
Для входа в Конфигуратор у пользователя должна быть роль с правами администрирования, либо право «Административные функции». Если база запускается без запроса логина, а в Конфигуратор не пускает — значит, список пользователей пуст только в пользовательском режиме, а для разработки нужен пользователь с нужными правами. Проверьте список в Администрирование → Пользователи.
Отдельный вопрос — монопольный доступ. Он нужен не для всех операций, а только там, где платформа перестраивает базу:
- 📦 загрузка информационной базы из
.dt; - 🔧 обновление конфигурации базы данных, если менялась структура (реквизиты, таблицы);
- 🧪 тестирование и исправление информационной базы.
Монопольный режим разрывает все активные сеансы пользователей. Планируйте такие операции на то время, когда в базе никто не работает, и предупредите коллег. Просто сохранение конфигурации в файл монополии не требует — его можно делать при работающих пользователях.
Перед загрузкой .dt или крупным обновлением сделайте резервную копию базы
-приёмника. Откатить загрузку .dt штатными средствами нельзя — она затирает содержимое целиком.
Проверьте и совместимость самих решений. Если вы переносите конфигурацию типового решения, в приёмнике она заменится полностью — вместе с версией. Переносить доработанную БП 3.0 поверх ЗУП 3.1 бессмысленно: это разные конфигурации, и объединять их построчно платформа не даст. Файл .cf разумно называть так, чтобы по имени было видно конфигурацию и версию, — это избавит от путаницы, когда таких файлов накопится несколько.
Выгрузка конфигурации в файл .cf и загрузка в другую базу
Это основной способ перенести доработки из одной базы в другую, когда данные приёмника трогать не нужно.
На базе-источнике:
- Откройте базу в Конфигураторе.
- Меню
Конфигурация → Сохранить конфигурацию в файл…. - Укажите имя и папку, сохраните файл с расширением
.cf.
Выгрузка идёт из основной конфигурации, а не из конфигурации базы данных. Если вы вносили правки и ещё не нажимали «Обновить конфигурацию базы данных», в файл попадут именно эти, незафиксированные изменения.
На базе-приёмнике:
- Откройте приёмник в Конфигураторе.
- Меню
Конфигурация → Загрузить конфигурацию из файла…. - Выберите
.cf, подтвердите загрузку. - Платформа предложит обновить конфигурацию базы данных — согласитесь. Если структура изменилась, обновление запросит монопольный доступ.
Загрузка конфигурации из файла полностью заменяет конфигурацию приёмника. Все локальные доработки приёмника при этом теряются. Если нужно сохранить часть изменений с обеих сторон — это не загрузка, а объединение (см. ниже).
Выгрузка всей базы в .dt. Когда нужно передать и конфигурацию, и данные, используйте Администрирование → Выгрузить информационную базу…. Получится один файл .dt. На приёмнике — Администрирование → Загрузить информационную базу…. Эта операция требует монопольного доступа и полностью замещает базу.
Передача через хранилище конфигурации
Хранилище — это способ отдать конфигурацию не разово, а вести её совместно: несколько разработчиков подключаются к одному хранилищу, по очереди захватывают объекты и помещают изменения обратно.
Создание хранилища на источнике:
Конфигурация → Хранилище конфигурации → Создать хранилище….- Укажите путь: локальная или сетевая папка, либо адрес сервера хранилища.
- Задайте имя и пароль администратора хранилища.
Подключение на другом рабочем месте:
Конфигурация → Хранилище конфигурации → Подключиться к хранилищу….- Укажите тот же путь и учётные данные.
- После подключения конфигурация базы синхронизируется с хранилищем.
Дальше работа идёт через две команды:
- Захватить объекты — берёте объект в работу, для остальных он блокируется на изменение.
- Поместить объекты в хранилище — фиксируете правки, снимаете блокировку.
Хранилище удобно, когда одну конфигурацию правят несколько человек. Для разового переноса доработок в соседнюю базу оно избыточно — проще выгрузить .cf.
При первом подключении конфигурация базы приводится к состоянию хранилища — то есть становится копией того, что там лежит. Дальше синхронизация идёт в обе стороны: правки помещаете вы, а изменения коллег получаете командой обновления из хранилища. Если захваченный объект нужно вернуть без изменений, его можно отменить — тогда блокировка снимается, а правки откатываются.
Файловое хранилище живёт в сетевой папке и годится для небольшой команды. Для нагруженной разработки поднимают сервер хранилища, доступный по протоколу через отдельный адрес, — так снимаются ограничения файлового доступа и ускоряется работа при большом числе объектов.
Сравнение и объединение конфигураций
Объединение нужно, когда правки есть и в источнике, и в приёмнике, а затирать приёмник целиком нельзя. Платформа покажет, чем отличаются две конфигурации, и даст выбрать, что именно переносить.
- На приёмнике откройте
Конфигурация → Сравнить, объединить с конфигурацией из файла…. - Укажите
.cfисточника. - Платформа построит дерево объектов с пометками: что добавлено, что изменено, что удалено.
- Снимите галочки с объектов, которые переносить не нужно.
- Для спорных объектов задайте порядок приоритета — чьи свойства считать главными.
- Выполните объединение, затем обновите конфигурацию базы данных.
Объединение — тонкая операция. Если в обеих базах правили один и тот же модуль, платформа предложит режим сопоставления построчно. Проверяйте результат по каждому изменённому модулю, иначе легко потерять чужой код.
Для сравнения двух произвольных файлов без загрузки есть отдельный режим — он показывает отчёт об отличиях, но изменений в базу не вносит. Его удобно использовать, чтобы заранее понять объём переноса.
Механизм поддержки: файлы поставки и обновления
Если вы выпускаете тиражное решение и хотите обновлять десяток однотипных баз, разовая выгрузка .cf не подойдёт — она затрёт доработки получателей. Для этого есть механизм поддержки.
Поставщик создаёт два файла через Конфигурация → Поставка конфигурации → Создать файлы поставки и обновления…:
.cf— файл поставки, полная конфигурация нужного релиза;.cfu— файл обновления, разница между версиями.
На стороне получателя конфигурация должна стоять на поддержке поставщика. Проверить это можно в Конфигурация → Поддержка → Настройка поддержки… — там видно, включена ли поддержка и разрешены ли изменения.
Обновление из файла .cfu выполняется так:
Конфигурация → Поддержка → Обновить конфигурацию → Обновление из файла….- Укажите
.cfu(или.cfпоставки). - Платформа сверит версии и покажет, что изменится.
- Там, где правки поставщика пересекаются с вашими доработками, разрешите конфликты вручную.
- Примите обновление и обновите конфигурацию базы данных.
Отдельная история — расширения конфигурации (.cfe). Они появились в платформе 8.3.6 и позволяют дорабатывать типовое решение, не снимая его с поддержки. Загрузка расширения (Конфигурация → Расширения конфигурации) и обновление конфигурации базы данных — два разных шага.
Режим поддержки задаётся для объектов конфигурации и бывает трёх видов:
- 🔒 объект поставщика не редактируется — менять нельзя, зато обновления накатываются без конфликтов;
- 🛠 редактируется с сохранением поддержки — дорабатывать можно, связь с поставщиком сохраняется, при обновлении возможны конфликты;
- ✂️ снят с поддержки — объект больше не обновляется поставщиком, полная свобода правок и полная ответственность за них.
От выбранного режима прямо зависит, насколько болезненно пройдут будущие обновления. Чем больше объектов снято с поддержки, тем больше ручной работы при каждом новом релизе поставщика.
Частые ошибки при передаче конфигурации
Большинство сбоев при переносе — это либо несовместимость версий, либо попытка выполнить операцию без монопольного доступа.
.cf сохранён в более новой версии платформы, чем та, где вы его открываете. Обновите платформу приёмника до версии с номером не ниже, чем у источника, и повторите загрузку.Конфигурация → Обновить конфигурацию базы данных) и примите изменения структуры.Конфигурация → Поддержка → Настройка поддержки… и разрешите изменения — с сохранением поддержки, если хотите и дальше получать обновления поставщика.Отдельно про .dt: если загрузка обрывается с ошибкой, причиной часто бывает повреждённый файл выгрузки или нехватка места на диске приёмника. Проверьте размер .dt и свободное место; при сомнениях перевыгрузите источник заново.
Частые вопросы
Чем отличается файл .cf от .dt?
.cf содержит только конфигурацию без данных. .dt — это выгрузка всей информационной базы: и конфигурация, и справочники с документами. Для переноса одних доработок берут .cf, для передачи базы целиком — .dt.Можно ли передать конфигурацию, не останавливая работу пользователей?
.cf — можно в любой момент, монополия не нужна. А вот загрузка в приёмник и обновление структуры базы потребуют монопольного доступа, то есть все сеансы придётся завершить.Загрузится ли конфигурация из более новой версии платформы в старую?
Как перенести только один отчёт или обработку, а не всю конфигурацию?
.erf, .epf) переносятся простым копированием файла — их не нужно загружать в конфигурацию. Если же объект встроен в конфигурацию, используйте сравнение и объединение и оставьте галочку только на нужном объекте.Что выбрать для совместной разработки — хранилище или обмен файлами .cf?
.cf для командной работы не подходит — легко затереть чужие правки.