Загрузка и объединение конфигурации из cf-файла в Конфигураторе
Содержание
Файл .cf — это полный образ конфигурации. Чтобы применить его к базе, открывают Конфигуратор и выбирают один из двух путей: Конфигурация → Загрузить конфигурацию из файла… (полная замена) либо Конфигурация → Сравнить, объединить с конфигурацией из файла… (объединение со своими доработками). После загрузки конфигурация попадает в основную, но ещё не в базу — применяет её клавиша F7 («Обновить конфигурацию
базы данных»).
Разница между способами критична. Загрузка полностью затирает текущую конфигурацию содержимым файла. Объединение переносит из cf только выбранные объекты, сохраняя ваши изменения. Если в базе есть собственные доработки, полная загрузка их уничтожит — поэтому выбор режима делают осознанно, а не «по привычке».
Сам по себе .cf не несёт данных: это только метаданные, формы, модули и макеты. Поэтому обновление из cf не меняет документы и справочники напрямую — оно меняет структуру, а данные под неё переносит реструктуризация. Это принципиально отличает cf от выгрузки базы .dt, которая содержит и конфигурацию, и все данные.
Порядок действий ниже рассчитан на платформу 8.3 с интерфейсом «Такси» и ведёт от резервной копии до проверки работоспособности.
Резервная копия и монопольный доступ перед обновлением
Перед любой заменой конфигурации сделайте выгрузку базы: Администрирование → Выгрузить информационную базу…, сохраните .dt на диск с запасом места. Если обновление пойдёт не так, откат возможен только из этой копии — восстановить структуру «назад» средствами платформы нельзя.
Обновление структуры базы данных требует монопольного доступа. Платформа не выполнит F7, пока в базе работают пользователи. В файловой базе достаточно закрыть все клиентские сеансы. В клиент-серверной соединения закрывают через Администрирование → Блокировка соединений в Конфигураторе или через консоль кластера.
Закрытие сеансов оборвёт работу пользователей и откатит их незавершённые документы. Планируйте обновление структуры на нерабочее время или на технологическое окно, предупредив людей заранее.
Монопольный доступ нужен именно для изменения структуры (F7), загрузки .dt и тестирования базы. Для открытия и редактирования конфигурации в Конфигураторе монополия не требуется — захватывать базу раньше времени не нужно.
Загрузить конфигурацию из файла или обновить через поддержку
Полная замена подходит, когда cf содержит ту же конфигурацию целиком и своих доработок в базе нет. Откройте Конфигуратор, затем Конфигурация → Загрузить конфигурацию из файла…, укажите путь к .cf. Платформа заменит основную конфигурацию содержимым файла и сообщит, что конфигурация отличается от конфигурации базы данных — об этом говорит звёздочка в заголовке окна.
Если база стоит на поддержке поставщика и вы ставите официальное обновление, используйте Конфигурация → Поддержка → Обновить конфигурацию…. В мастере выберите источник «Выбор файла обновления» и укажите .cf (или файл поставки .cfu). Этот путь корректно сопоставляет версии поставщика и не ломает признак поддержки.
Полная загрузка из файла снимает связь с правилами поддержки, если имя или версия поставщика в cf не совпадают с текущими. Когда важно сохранить автоматическое сравнение с типовой, обновляйтесь через Поддержка → Обновить конфигурацию, а не через прямую загрузку.
Выбор между путями короче сформулировать так:
| Ситуация | Что выбрать |
|---|---|
| Своих доработок нет, cf — новая типовая целиком | Загрузить конфигурацию из файла |
| База на поддержке, ставим официальный апдейт | Поддержка → Обновить конфигурацию |
| Есть свои изменения, cf — новая версия типовой | Сравнить, объединить с конфигурацией из файла |
Сравнение и объединение с конфигурацией из файла
Когда в базе есть собственные доработки, единственный безопасный путь — объединение. Выберите Конфигурация → Сравнить, объединить с конфигурацией из файла… и укажите .cf. Откроется окно сравнения: слева объекты основной конфигурации, справа — из файла, с пометками о различиях.
В этом окне для каждого объекта задаётся режим: взять из файла, оставить свой или объединить. Галочки у объектов включают их в перенос; снятая галочка оставляет текущую версию нетронутой. Для типовых обновлений обычно принимают изменения поставщика, а свои модули помечают к ручному разбору.
Когда база на поддержке, платформа сравнивает три версии: вашу текущую, старую типовую (от которой вы отталкивались) и новую типовую из cf. Объекты, которые менял только поставщик, переносятся без вопросов. Объекты, которые меняли и вы, и поставщик, платформа помечает отдельно — их нужно разобрать вручную, иначе чужие правки перетрут ваши или наоборот. Именно на этих «дважды изменённых» объектах чаще всего теряются доработки.
Если доработок много, удобнее заранее выгрузить свою конфигурацию в отдельный cf (Конфигурация → Сохранить конфигурацию в файл…) — это и резервная копия именно конфигурации, и возможность сравнить версии позже в спокойном режиме.
Порядок работы с окном:
- Нажмите кнопку настройки правил объединения в командной панели окна сравнения.
- Для дважды изменённых объектов (и вами, и поставщиком) выберите приоритет или разберите вручную — именно здесь теряются доработки при невнимательности.
- Снимите галочки с объектов, которые переносить не нужно.
- Нажмите «Выполнить» — изменения попадут в основную конфигурацию.
Если база на полной поддержке без возможности изменения, объединение будет заблокировано. Снимите замок через Конфигурация → Поддержка → Настройка поддержки → «Включить возможность изменения», затем повторите объединение. Полностью снимать с поддержки без необходимости не стоит — потеряете автоматические сравнения с типовой.
После объединения конфигурация снова отличается от базы данных — переходим к применению.
Обновление конфигурации базы данных и реструктуризация
Загрузка или объединение меняют только основную конфигурацию в Конфигураторе. Чтобы изменения заработали, выполните Конфигурация → Обновить конфигурацию базы данных или нажмите F7.
Если cf менял структуру (добавлены реквизиты, новые объекты, изменены типы), платформа покажет список подлежащих изменению объектов и запросит реструктуризацию. На этом шаге она потребует монопольный доступ. Соглашайтесь на реструктуризацию — без неё новые поля в базе не появятся.
Реструктуризация перестраивает таблицы СУБД и переносит данные. На больших базах это занимает от минут до нескольких часов и временно удваивает занимаемое место на диске. Прерывать процесс нельзя: обрыв реструктуризации может оставить базу в несогласованном состоянии, и тогда поможет только восстановление из .dt.
Конвертация прикладных данных (пересчёт итогов, заполнение новых реквизитов) выполняется уже в режиме «1С:Предприятие» при первом запуске — обработчики обновления из модуля конфигурации срабатывают автоматически. Дайте этому запуску завершиться, не закрывая программу.
Если нужно изменить поведение базы, но типовую конфигурацию
трогать нежелательно, альтернатива полной загрузке cf — расширение конфигурации
. Расширения появились в платформе 8.3.6 и подключаются отдельным файлом .cfe; загрузка расширения и «Обновить конфигурацию базы данных» — это разные шаги. Для разовой же замены всей конфигурации расширение не подходит: тут нужен именно cf.
Пакетное обновление из командной строки
Когда Конфигуратор в интерфейсе не нужен — например, для планового обновления по расписанию или на сервере без оператора — ту же операцию выполняют пакетным запуском. Это и есть «тихое» обновление без ручных кликов.
Загрузка cf и обновление базы одной командой:
"C:\Program Files\1cv8\8.3.24.1234\bin\1cv8.exe" DESIGNER ^
/F"D:\bases\buh" /N"Администратор" /P"пароль" ^
/LoadCfg "D:\update\new.cf" ^
/UpdateDBCfg ^
/DisableStartupMessages /Out"D:\update\log.txt"
Где /F — путь к файловой базе (для серверной используют /S"сервер\база"), /LoadCfg — загрузка конфигурации из файла, /UpdateDBCfg — обновление структуры базы, /Out — файл журнала. Полный перечень ключей смотрите в документации по пакетному запуску — выдумывать параметры не стоит, неверный ключ прервёт запуск.
Пакетный режим удобен тем, что не держит открытое окно и сам закрывается после выполнения. Обязательно проверяйте файл из /Out: при ошибке код возврата будет ненулевым, а причина — в логе.
Монопольный доступ в клиент-серверной базе под пакетное обновление тоже обязателен, поэтому запуск по расписанию ставят на ночное окно, когда пользователей нет.
Перед /LoadCfg в сценарии по расписанию полезно отдельным шагом сделать выгрузку .dt — тем же пакетным запуском с ключом выгрузки базы. Тогда при неудачном обновлении восстановление не зависит от того, успел ли кто-то снять копию вручную. Код возврата платформы контролируют в самом скрипте: ненулевой означает, что обновление не прошло, и возвращать пользователей в базу нельзя до разбора.
Пакетный режим требует того же номера версии платформы, под которым работает база, — запускать обновление сборкой ниже той, что указана в требованиях конфигурации, нельзя.
Частые ошибки при загрузке cf и как их снять
Большинство сбоев при обновлении из cf упираются в неподходящий файл, активные сеансы или заблокированную поддержку.
.dt, .cfu или .epf вместо .cf. Загрузка из файла принимает только .cf. Для файла поставки .cfu используйте путь через Поддержка → Обновить конфигурацию.Конфигурация → Поддержка → Настройка поддержки → «Включить возможность изменения».Администрирование → Блокировка соединений или консоль кластера, затем повторите F7.Администрирование → Тестирование и исправление (или chdbfl.exe для файловой базы) на копии, устраните проблемы, повторите обновление.Если имя или версия поставщика в cf не совпадают с текущими, платформа предупредит об этом при объединении. Проверьте, тот ли это файл и та ли конфигурация — обновлять «Бухгалтерию» файлом от «Управления торговлей» нельзя.
Отдельный частый случай — попытка загрузить cf, собранный под более новую версию платформы, чем установлена у вас. Конфигурация хранит минимальную версию платформы: если ваша сборка её ниже, загрузка не пройдёт. Сначала обновите платформу до номера не ниже требуемого, затем повторяйте загрузку конфигурации.
Проверка работоспособности после обновления
Сразу после F7 и первого запуска стоит убедиться, что база цела, а не ограничиваться тем, что программа открылась.
- 🔍 Откройте
Конфигурация → Проверка конфигурациив Конфигураторе — она покажет синтаксические и ссылочные ошибки в модулях. - 📂 Запустите базу в режиме «1С:Предприятие» и дождитесь завершения обработчиков обновления.
- 🧾 Проведите контрольный документ (без сохранения лишних движений) и откройте пару ключевых отчётов — проверяете, что структура и расчёты не сломались.
- 👥 Верните пользователям доступ только после успешной проверки, сняв блокировку соединений.
Отдельно проверьте участки, которые затрагивало обновление: если cf менял печатные формы или отчёты — откройте их и сформируйте, если менялись права — зайдите под обычным пользователем, а не под администратором, и убедитесь, что доступ не сломался. Администратор видит всё и не заметит урезанных прав.
Если что-то работает некорректно и причину быстро не видно, восстановите базу из .dt, сделанной перед обновлением, и разберитесь с файлом cf отдельно. Это быстрее и безопаснее, чем чинить полуобновлённую рабочую базу «на живую».
Частые вопросы
Чем файл .cf отличается от .cfu и .dt?
.cf — полный образ конфигурации. .cfu — файл поставки обновления, применяется через механизм поддержки и содержит разницу между версиями. .dt — выгрузка всей информационной базы вместе с данными, а не только конфигурации.Можно ли загрузить cf, не снимая базу с поддержки?
Поддержка → Обновить конфигурацию сохраняет поддержку. Прямая загрузка из файла или объединение с чужой конфигурацией потребуют включить возможность изменения, то есть ослабить замок поддержки.Обязателен ли монопольный доступ?
F7 с реструктуризацией) — да, платформа без него не продолжит. Для открытия и редактирования конфигурации в Конфигураторе монополия не нужна.Как откатить неудачное обновление?
.dt, снятой перед обновлением: Администрирование → Загрузить информационную базу…. Поэтому резервная копия — обязательный первый шаг.Почему после загрузки cf изменения не видны пользователям?
F7), пользователи работают на старой конфигурации базы. Нужно применить изменения и дождаться завершения обработчиков обновления.