Полный файл конфигурации вместо пакета обновления: когда он выручает и как не потерять доработки

· 10 мин

Содержание

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

Этот способ выручает, когда пакета .cfu под ваш релиз нет: вы пропустили несколько версий, база доработана или конфигурация досталась от другого подрядчика. Полный файл не требует «цепочки» промежуточных пакетов, но требует аккуратности: неверно выбранная команда сотрёт все доработки.

Чем CF отличается от CFU и когда нужен полный файл

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

ФайлЧто внутриКогда применять
1Cv8.cfПолная конфигурация нужного релизаНет пакета под текущий релиз; база доработана; перенос конфигурации целиком
1Cv8.cfuПакет обновления с перечнем релизов, от которых он ставитсяТиповая база, текущий релиз есть в списке пакета
.cfeРасширение конфигурацииДоработки, вынесенные из основной конфигурации
.dtВся информационная база с даннымиРезервная копия перед обновлением

Главное отличие: cfu ставится только поверх тех релизов, которые перечислены внутри пакета. cf подходит как источник обновления практически всегда, потому что содержит конфигурацию целиком.

📌 Типичные случаи, когда нужен именно CF:

  • 🔹 база отстала на несколько релизов, а промежуточные пакеты скачивать долго;
  • 🔹 конфигурация доработана, и изменения поставщика нужно объединить со своими;
  • 🔹 конфигурация снята с поддержки, и её надо вернуть на поддержку;
  • 🔹 вы переносите доработанную конфигурацию с тестовой базы на рабочую.

Команда Конфигурация → Загрузить конфигурацию из файла — не обновление, а полная замена. Все доработки исчезнут, настройки поддержки сбросятся. Для обновления типовой или доработанной базы её не используют.

Подготовка базы к обновлению из CF-файла

Подготовка занимает 15–30 минут, но именно она решает, будет ли у вас путь назад.

1. Выясните текущий релиз и требования нового

Текущий релиз виден в окне О программе (значок «i» или меню справки в 1С:Предприятии). В описании нового релиза поставщик указывает минимальную версию платформы и, если есть, обязательные промежуточные релизы.

Если новый релиз требует платформу с номером не ниже, чем установлена у вас, сначала обновите платформу на сервере и всех клиентах.

2. Сделайте резервную копию

Надёжная копия — выгрузка в .dt: Администрирование → Выгрузить информационную базу в Конфигураторе. Для клиент-серверной базы подойдёт и бэкап средствами СУБД.

Без резервной копии обновление не начинайте: откатить объединение конфигурации кнопкой «Отмена» нельзя.

3. Сохраните текущую конфигурацию в файл

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

4. Проверьте настройки поддержки

Откройте Конфигурация → Поддержка → Настройка поддержки. Там видно:

  • 🔹 стоит ли конфигурация на поддержке и у какого поставщика;
  • 🔹 включена ли возможность изменения;
  • 🔹 какие объекты сняты с поддержки или редактируются с сохранением поддержки.

Если в окне указано, что конфигурация не на поддержке, обычное обновление недоступно. Этот случай разобран ниже.

5. Освободите базу

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

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

Обновление 1С из CF-файла: пошаговый порядок

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

Шаг 1. Запустите Конфигуратор и откройте конфигурацию

Зайдите в базу в режиме Конфигуратора под пользователем с полными правами. Откройте дерево: Конфигурация → Открыть конфигурацию.

Шаг 2. Выберите CF-файл как источник обновления

  1. Конфигурация → Поддержка → Обновить конфигурацию.
  2. Отметьте «Выбор файла обновления» и нажмите «Готово».
  3. Укажите путь к 1Cv8.cf из каталога шаблонов нового релиза. В диалоге выбора файла поменяйте фильтр типа файла, если .cf по умолчанию не показывается.

Шаблоны после установки поставки обычно лежат в каталоге %APPDATA%\1C\1cv8\tmplts\1c\<конфигурация>\<релиз>\.

Шаг 3. Проверьте окно сравнения

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

Шаг 4. Обновите конфигурацию базы данных

После объединения платформа спросит, обновить ли конфигурацию базы данных. Согласитесь. Затем изучите список изменений структуры и нажмите «Принять». На больших базах этот этап идёт от нескольких минут до часа.

Шаг 5. Завершите обновление данных

Закройте Конфигуратор и откройте базу в 1С:Предприятии под администратором. Программа сама запустит обработку данных под новую версию. Дождитесь окончания и только потом пускайте пользователей.

💡 Отложенная обработка в типовых конфигурациях продолжается в фоне после входа. Её состояние видно в разделе Администрирование → Обслуживание по ссылке о результатах обновления.

Если база доработана: объединение и снятая поддержка

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

Как читать окно сравнения

В нём три колонки: основная конфигурация, старая конфигурация поставщика и новая. Объекты, которые меняли и вы, и поставщик, помечены как изменённые с двух сторон. По ним решаете, что брать.

Ситуация с объектомЧто выбрать
Меняли только у поставщикаВзять из новой конфигурации поставщика
Меняли только выОставить как есть
Меняли обе стороныОбъединить с приоритетом поставщика, затем вручную вернуть свои правки
Ваша правка больше не нужна, поставщик сделал то жеВзять из новой конфигурации поставщика

Модули удобнее объединять пообъектно: двойной клик по модулю открывает сравнение процедур, где каждую можно взять из нужной стороны.

Конфигурация снята с поддержки

Если объект или вся конфигурация сняты с поддержки, платформа не знает, от какой версии поставщика вы отошли. Порядок такой:

  1. Найдите CF текущего релиза, на котором стоит база (не нового).
  2. Выполните Конфигурация → Сравнить, объединить с конфигурацией из файла, укажите этот CF.
  3. Платформа предложит поставить конфигурацию на поддержку. Согласитесь и оставьте объединение с приоритетом основной конфигурации, чтобы не затереть доработки.
  4. После этого обновляйтесь новым CF обычным способом, через Обновить конфигурацию.

💡 Взять CF старого релиза можно из дистрибутива поставки, если вы храните их у себя. Привычка складывать все шаблоны в отдельный архив сильно упрощает такие ситуации.

Расширения вместо правок

После обновления проверьте расширения: Конфигурация → Расширения конфигурации. Если поставщик переименовал или удалил объект, который использует расширение, при запуске появится сообщение о неприменимом расширении. Новые доработки лучше сразу делать в расширениях: тогда следующее обновление из CF пройдёт как в типовой базе.

Обновление РИБ: главный и подчинённые узлы

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

Порядок:

  1. Перед обновлением выполните обмен со всеми узлами, чтобы в них не осталось неотправленных изменений.
  2. Обновите главный узел из CF-файла по шагам выше, включая запуск 1С:Предприятия.
  3. Выполните обмен: изменения конфигурации уйдут в подчинённые узлы.
  4. В подчинённом узле после получения данных конфигурацию базы данных надо обновить. В типовых конфигурациях программа сама предложит это при обмене или при входе. Иначе откройте Конфигуратор узла и выполните Конфигурация → Обновить конфигурацию базы данных.

Не обновляйте подчинённый узел отдельным CF-файлом. Конфигурация узла должна совпадать с главным, иначе обмен остановится с ошибкой.

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

Как подготовить свой CF-файл для переноса доработок

Свой CF нужен, когда доработки делают в копии базы, а потом переносят на рабочую.

Выгрузка

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

Загрузка на рабочую базу

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

СпособКогдаРиск
Сравнить, объединить с конфигурацией из файлаРабочую базу кто-то правил параллельноМинимальный: видите каждое расхождение
Загрузить конфигурацию из файлаРабочая база точно равна тестовой до доработкиПравки в рабочей базе пропадут без предупреждения

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

Какой командой ставить CF-файл в вашей ситуации?

Автоматизация: обновление из CF через командную строку

Когда баз много, обновление из CF удобно запускать пакетно через 1cv8.exe в режиме Конфигуратора. Ключ /UpdateCfg принимает и .cf, и .cfu и работает с конфигурацией на поддержке. Ключ /UpdateDBCfg сразу обновляет конфигурацию базы данных.

Файловая база:

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DisableStartupDialogs /DumpIB"D:\Backup\buh_before.dt" /Out"D:\Logs\backup.log"

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DisableStartupDialogs /UpdateCfg"D:\Upd\1Cv8.cf" /UpdateDBCfg /Out"D:\Logs\update.log"

Клиент-серверная база задаётся через /S"имя_сервера\имя_базы" вместо /F. Номер платформы в пути замените на свой.

📌 Что учесть в скрипте:

  • 🔹 первой командой делайте выгрузку .dt (/DumpIB), второй — обновление;
  • 🔹 смотрите лог из /Out: при ошибке пакетный запуск не покажет окно, сообщение будет только в файле;
  • 🔹 после Конфигуратора запустите базу в режиме ENTERPRISE под администратором, чтобы прошла обработка данных;
  • 🔹 доработанные базы так не обновляйте: объединение без глаз оставит конфликтующие объекты как попало.

💡 Пароль в bat-файле — уязвимость. Храните скрипт в каталоге с доступом только для администратора или передавайте пароль параметром при запуске.

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

Ошибки при обновлении из CF и что с ними делать

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

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

Можно ли перескочить через несколько релизов с помощью CF?
Да, это главное преимущество полного файла. Но проверьте в описании нового релиза, нет ли обязательного промежуточного. Если он есть, обновитесь сначала до него.
Нужен ли CF-файл для обновления платформы?
Нет. Платформа ставится отдельным дистрибутивом, а CF меняет только конфигурацию. Это две независимые операции.
Где взять CF-файл нового релиза?
Из дистрибутива поставки конфигурации: после установки шаблона он лежит в каталоге шаблонов. Скачивают дистрибутивы при действующей подписке на обновления.
Сколько места нужно для обновления?
Ориентировочно — свободный объём не меньше двух размеров базы: под резервную копию и под временные таблицы при реструктуризации.
Можно ли обновлять из CF, пока пользователи работают?
Объединение конфигурации — можно, если не трогать базу данных. А вот обновление конфигурации базы данных требует монопольного режима, поэтому его запускают, когда все вышли.