Загрузка и объединение конфигурации из cf-файла в Конфигураторе

· 9 мин

Содержание

Файл .cf — это полный образ конфигурации. Чтобы применить его к базе, открывают Конфигуратор и выбирают один из двух путей: Конфигурация → Загрузить конфигурацию из файла… (полная замена) либо Конфигурация → Сравнить, объединить с конфигурацией из файла… (объединение со своими доработками). После загрузки конфигурация попадает в основную, но ещё не в базу — применяет её клавиша F7 («Обновить конфигурацию базы данных»).

Разница между способами критична. Загрузка полностью затирает текущую конфигурацию содержимым файла. Объединение переносит из cf только выбранные объекты, сохраняя ваши изменения. Если в базе есть собственные доработки, полная загрузка их уничтожит — поэтому выбор режима делают осознанно, а не «по привычке».

Сам по себе .cf не несёт данных: это только метаданные, формы, модули и макеты. Поэтому обновление из cf не меняет документы и справочники напрямую — оно меняет структуру, а данные под неё переносит реструктуризация. Это принципиально отличает cf от выгрузки базы .dt, которая содержит и конфигурацию, и все данные.

Порядок действий ниже рассчитан на платформу 8.3 с интерфейсом «Такси» и ведёт от резервной копии до проверки работоспособности.

Резервная копия и монопольный доступ перед обновлением

Перед любой заменой конфигурации сделайте выгрузку базы: Администрирование → Выгрузить информационную базу…, сохраните .dt на диск с запасом места. Если обновление пойдёт не так, откат возможен только из этой копии — восстановить структуру «назад» средствами платформы нельзя.

Обновление структуры базы данных требует монопольного доступа. Платформа не выполнит F7, пока в базе работают пользователи. В файловой базе достаточно закрыть все клиентские сеансы. В клиент-серверной соединения закрывают через Администрирование → Блокировка соединений в Конфигураторе или через консоль кластера.

Закрытие сеансов оборвёт работу пользователей и откатит их незавершённые документы. Планируйте обновление структуры на нерабочее время или на технологическое окно, предупредив людей заранее.

Монопольный доступ нужен именно для изменения структуры (F7), загрузки .dt и тестирования базы. Для открытия и редактирования конфигурации в Конфигураторе монополия не требуется — захватывать базу раньше времени не нужно.

Что проверить до загрузки cf
Выполнено: 0 / 5

Загрузить конфигурацию из файла или обновить через поддержку

Полная замена подходит, когда cf содержит ту же конфигурацию целиком и своих доработок в базе нет. Откройте Конфигуратор, затем Конфигурация → Загрузить конфигурацию из файла…, укажите путь к .cf. Платформа заменит основную конфигурацию содержимым файла и сообщит, что конфигурация отличается от конфигурации базы данных — об этом говорит звёздочка в заголовке окна.

Если база стоит на поддержке поставщика и вы ставите официальное обновление, используйте Конфигурация → Поддержка → Обновить конфигурацию…. В мастере выберите источник «Выбор файла обновления» и укажите .cf (или файл поставки .cfu). Этот путь корректно сопоставляет версии поставщика и не ломает признак поддержки.

Полная загрузка из файла снимает связь с правилами поддержки, если имя или версия поставщика в cf не совпадают с текущими. Когда важно сохранить автоматическое сравнение с типовой, обновляйтесь через Поддержка → Обновить конфигурацию, а не через прямую загрузку.

Выбор между путями короче сформулировать так:

СитуацияЧто выбрать
Своих доработок нет, cf — новая типовая целикомЗагрузить конфигурацию из файла
База на поддержке, ставим официальный апдейтПоддержка → Обновить конфигурацию
Есть свои изменения, cf — новая версия типовойСравнить, объединить с конфигурацией из файла

Сравнение и объединение с конфигурацией из файла

Когда в базе есть собственные доработки, единственный безопасный путь — объединение. Выберите Конфигурация → Сравнить, объединить с конфигурацией из файла… и укажите .cf. Откроется окно сравнения: слева объекты основной конфигурации, справа — из файла, с пометками о различиях.

В этом окне для каждого объекта задаётся режим: взять из файла, оставить свой или объединить. Галочки у объектов включают их в перенос; снятая галочка оставляет текущую версию нетронутой. Для типовых обновлений обычно принимают изменения поставщика, а свои модули помечают к ручному разбору.

Когда база на поддержке, платформа сравнивает три версии: вашу текущую, старую типовую (от которой вы отталкивались) и новую типовую из cf. Объекты, которые менял только поставщик, переносятся без вопросов. Объекты, которые меняли и вы, и поставщик, платформа помечает отдельно — их нужно разобрать вручную, иначе чужие правки перетрут ваши или наоборот. Именно на этих «дважды изменённых» объектах чаще всего теряются доработки.

Если доработок много, удобнее заранее выгрузить свою конфигурацию в отдельный cf (Конфигурация → Сохранить конфигурацию в файл…) — это и резервная копия именно конфигурации, и возможность сравнить версии позже в спокойном режиме.

Порядок работы с окном:

  1. Нажмите кнопку настройки правил объединения в командной панели окна сравнения.
  2. Для дважды изменённых объектов (и вами, и поставщиком) выберите приоритет или разберите вручную — именно здесь теряются доработки при невнимательности.
  3. Снимите галочки с объектов, которые переносить не нужно.
  4. Нажмите «Выполнить» — изменения попадут в основную конфигурацию.

Если база на полной поддержке без возможности изменения, объединение будет заблокировано. Снимите замок через Конфигурация → Поддержка → Настройка поддержки → «Включить возможность изменения», затем повторите объединение. Полностью снимать с поддержки без необходимости не стоит — потеряете автоматические сравнения с типовой.

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

Обновление конфигурации базы данных и реструктуризация

Загрузка или объединение меняют только основную конфигурацию в Конфигураторе. Чтобы изменения заработали, выполните Конфигурация → Обновить конфигурацию базы данных или нажмите 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 упираются в неподходящий файл, активные сеансы или заблокированную поддержку.

Диагностика: выберите симптом

Если имя или версия поставщика в cf не совпадают с текущими, платформа предупредит об этом при объединении. Проверьте, тот ли это файл и та ли конфигурация — обновлять «Бухгалтерию» файлом от «Управления торговлей» нельзя.

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

Проверка работоспособности после обновления

Сразу после F7 и первого запуска стоит убедиться, что база цела, а не ограничиваться тем, что программа открылась.

  • 🔍 Откройте Конфигурация → Проверка конфигурации в Конфигураторе — она покажет синтаксические и ссылочные ошибки в модулях.
  • 📂 Запустите базу в режиме «1С:Предприятие» и дождитесь завершения обработчиков обновления.
  • 🧾 Проведите контрольный документ (без сохранения лишних движений) и откройте пару ключевых отчётов — проверяете, что структура и расчёты не сломались.
  • 👥 Верните пользователям доступ только после успешной проверки, сняв блокировку соединений.

Отдельно проверьте участки, которые затрагивало обновление: если cf менял печатные формы или отчёты — откройте их и сформируйте, если менялись права — зайдите под обычным пользователем, а не под администратором, и убедитесь, что доступ не сломался. Администратор видит всё и не заметит урезанных прав.

Если что-то работает некорректно и причину быстро не видно, восстановите базу из .dt, сделанной перед обновлением, и разберитесь с файлом cf отдельно. Это быстрее и безопаснее, чем чинить полуобновлённую рабочую базу «на живую».

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

Чем файл .cf отличается от .cfu и .dt?
.cf — полный образ конфигурации. .cfu — файл поставки обновления, применяется через механизм поддержки и содержит разницу между версиями. .dt — выгрузка всей информационной базы вместе с данными, а не только конфигурации.
Можно ли загрузить cf, не снимая базу с поддержки?
Официальное обновление через Поддержка → Обновить конфигурацию сохраняет поддержку. Прямая загрузка из файла или объединение с чужой конфигурацией потребуют включить возможность изменения, то есть ослабить замок поддержки.
Обязателен ли монопольный доступ?
Для обновления структуры базы (F7 с реструктуризацией) — да, платформа без него не продолжит. Для открытия и редактирования конфигурации в Конфигураторе монополия не нужна.
Как откатить неудачное обновление?
Средствами платформы «назад» структуру не вернуть. Восстановите базу из .dt, снятой перед обновлением: Администрирование → Загрузить информационную базу…. Поэтому резервная копия — обязательный первый шаг.
Почему после загрузки cf изменения не видны пользователям?
Загрузка меняет только основную конфигурацию. Пока не выполнено «Обновить конфигурацию базы данных» (F7), пользователи работают на старой конфигурации базы. Нужно применить изменения и дождаться завершения обработчиков обновления.