Как обновить конфигурацию 1С файлом .cf и не потерять доработки

· 10 мин

Содержание

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

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

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

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

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

Список версий, с которых подходит .cfu, указан в файле UpdInfo.txt того же каталога. Если вашего релиза там нет, конфигуратор скажет, что подходящих обновлений нет. Тогда есть два пути: ставить промежуточные релизы по цепочке или взять полный CF.

💡 Где найти файлы. Пакет обновления распаковывается программой установки в каталог шаблонов. По умолчанию это %APPDATA%\1C\1cv8\tmplts\1c\<конфигурация>\<номер_релиза>\. Каталог можно поменять при установке, поэтому, если файлов там нет, посмотрите путь в окне установщика.

Три приёма, на которых держится обновление через CF:

  • 🔹 Обновление через поддержку, а не загрузка. Пункт Поддержка → Обновить конфигурацию сохраняет связь с поставщиком и ваши доработки. Пункт Конфигурация → Загрузить конфигурацию из файла просто заменяет всё содержимое.
  • 🔹 Трёхстороннее сравнение. У доработанной базы платформа сравнивает вашу конфигурацию, старую версию поставщика и новую. Это позволяет увидеть «дважды изменённые» объекты.
  • 🔹 Обработчики обновления. После F7 работа не закончена: данные переводятся на новый релиз при первом запуске в режиме «1С:Предприятие».

Подготовка к обновлению 1С через CF: копия, версии, сеансы

Обновление меняет структуру таблиц базы. Если что-то пойдёт не так посередине, откатиться можно только из копии. Без резервной копии обновление не начинайте.

Резервная копия

  1. В конфигураторе: Администрирование → Выгрузить информационную базу. Получите файл .dt.
  2. Отдельно сохраните текущую конфигурацию: Конфигурация → Сохранить конфигурацию в файл. Этот .cf понадобится, если придётся разбирать, что изменилось в доработках.
  3. Для файловой базы дополнительно скопируйте папку базы с файлом 1Cv8.1CD, когда в базе никого нет.
  4. Для клиент-серверной базы на большой СУБД надёжнее сделать копию средствами самой СУБД: выгрузка в .dt на базах в десятки гигабайт идёт долго.

Проверка версий

  • 📌 Посмотрите текущий релиз: в пользовательском режиме Справка → О программе, в конфигураторе — Справка → О программе и свойства корня конфигурации.
  • 📌 Откройте описание нового релиза и найдите требование к версии платформы. Номер установленной платформы должен быть не ниже указанного.
  • 📌 Проверьте, нет ли в описании обязательного промежуточного релиза. Иногда поставщик прямо пишет, что обновляться можно только с версии не ниже такой-то.

Отключение пользователей

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

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

  • В типовых конфигурациях на БСП: Администрирование → Обслуживание, ссылка «Блокировка работы пользователей». Можно задать время начала, текст сообщения и код разрешения.
  • На сервере 1С блокировку начала сеансов ставят в свойствах информационной базы через консоль кластера. Там же видно активные сеансы.

💡 Если задан код разрешения, сами вы заходите с параметром /UC"код" — блокировка вас пропустит.

Как обновить 1С через CF вручную в конфигураторе

Порядок ниже подходит для типовой конфигурации, которая стоит на поддержке. Проверить это можно в Конфигурация → Поддержка → Настройка поддержки.

Шаг 1. Откройте конфигурацию

Запустите базу в режиме «Конфигуратор» и выберите Конфигурация → Открыть конфигурацию. Если пункт «Поддержка» неактивен, значит, конфигурация ещё не открыта.

Шаг 2. Запустите обновление

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

Шаг 3. Примите изменения

Для конфигурации «на замке» (без возможности изменения) платформа применит обновление сама и спросит, обновить ли конфигурацию базы данных. Соглашайтесь.

Если включена возможность изменения, откроется окно сравнения. Его разбор — в следующем разделе.

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

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

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

Обновление или загрузка — что выбрать

СпособКогдаРиски
Поддержка → Обновить конфигурацию + CFТиповая и доработанная базаНужно разобрать конфликты в доработанной
Сравнить, объединить с конфигурацией из файлаКонфигурация снята с поддержкиДолгое ручное сравнение
Загрузить конфигурацию из файлаТиповая база без единой доработкиВсе изменения в конфигурации теряются без предупреждений

Обновление доработанной конфигурации через CF без конфликтов

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

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

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

  • ✅ Изменён только поставщиком — объект можно спокойно брать из новой версии.
  • ✏️ Изменён только вами — оставляете свою версию, поставщик его не трогал.
  • ⚠️ Изменён и вами, и поставщиком — дважды изменённый объект. Здесь и сидят конфликты.

Включите отбор «Показывать только дважды изменённые свойства». Список сократится в разы, и можно разбирать только спорное.

Режимы объединения

Для каждого дважды изменённого объекта задайте режим:

  1. Взять из новой конфигурации поставщика — ваша правка пропадёт. Подходит, если поставщик сам исправил то, что вы когда-то чинили.
  2. Объединить с приоритетом основной конфигурации — платформа сольёт изменения, при совпадении строк оставит ваше.
  3. Объединить с приоритетом поставщика — то же, но при совпадении победит код поставщика.
  4. Не объединять — объект остаётся как есть. Опасно: новый код поставщика может ссылаться на то, чего в старом объекте нет.

Для модулей откройте поблочное сравнение и пройдите конфликтные процедуры глазами. После объединения запустите синтаксический контроль: Конфигурация → Проверка конфигурации, флажок синтаксического контроля модулей.

Чтобы следующие обновления шли быстрее, переносите доработки в расширения конфигурации (они появились в платформе 8.3.6). Основная конфигурация тогда остаётся «на замке», а обновление сводится к нескольким кликам.

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

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

Первое объединение с базой без поддержки самое трудоёмкое: все объекты, которые отличаются, попадут в список. Выделите на него время и делайте его на копии базы.

Автоматизация обновления 1С из командной строки

Когда баз много, обновлять каждую мышкой утомительно. Конфигуратор умеет работать в пакетном режиме: 1cv8.exe DESIGNER с ключами.

Основные ключи

КлючЧто делает
/F"путь"Файловая база
/S"сервер\база"Клиент-серверная база
/N"пользователь" /P"пароль"Учётные данные администратора
/DumpIB "файл.dt"Выгрузка базы в .dt
/UpdateCfg "файл"Обновление конфигурации на поддержке файлом .cf или .cfu
/UpdateDBCfgОбновление конфигурации базы данных
/Out"лог.txt"Запись сообщений в файл
/DisableStartupMessagesБез стартовых вопросов и предупреждений
/UC"код"Вход при установленной блокировке с кодом

Пример пакетного файла

@echo off
set V8="C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe"
set BASE=srv1c\buh
set USR=Администратор
set PWD=пароль
set CF=D:\Updates\Accounting\1Cv8.cf
set LOG=D:\Updates\logs

rem 1. Резервная копия
start "" /wait %V8% DESIGNER /S"%BASE%" /N"%USR%" /P"%PWD%" /UC"upd" /DisableStartupMessages /DumpIB "D:\Backup\buh_before.dt" /Out"%LOG%\dump.txt"
if errorlevel 1 goto fail

rem 2. Обновление конфигурации и базы данных
start "" /wait %V8% DESIGNER /S"%BASE%" /N"%USR%" /P"%PWD%" /UC"upd" /DisableStartupMessages /UpdateCfg "%CF%" /UpdateDBCfg /Out"%LOG%\update.txt"
if errorlevel 1 goto fail

echo Обновление завершено
exit /b 0

:fail
echo Ошибка, смотрите логи в %LOG%
exit /b 1

Что важно в этом сценарии:

  • 🔸 start "" /wait нужен, чтобы командный файл дождался завершения конфигуратора, а не побежал дальше.
  • 🔸 Ключ /Out — единственный способ узнать, что пошло не так. Читайте лог после каждого запуска.
  • 🔸 Пароль в открытом виде в .bat — плохая практика. Храните файл в каталоге с доступом только для администраторов.
  • 🔸 Для клиент-серверной базы к /UpdateDBCfg можно добавить -Server, чтобы реструктуризация шла на стороне сервера 1С.

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

После пакетного обновления базу всё равно нужно один раз открыть в режиме «1С:Предприятие», чтобы отработали обработчики обновления (об этом ниже).

Что проверить после обновления конфигурации через CF

Конфигуратор отчитался «Обновление конфигурации завершено» — но данные ещё на старой версии.

Первый запуск

  1. Запустите базу в режиме «1С:Предприятие» под пользователем с полными правами.
  2. Для типовых конфигураций появится окно о легальности получения обновлений — подтвердите.
  3. Начнётся «Обновление версии программы». Дождитесь окончания, не закрывайте окно. На крупных базах это занимает от минут до часа.
  4. Часть обработчиков выполняется отложенно, в фоне, уже после входа пользователей. Их состояние видно в разделе Администрирование → Обслуживание — найдите там результаты обновления программы.

Контрольный список

  • 📋 Справка → О программе показывает новый номер релиза.
  • 📋 Открываются ключевые документы и отчёты, которыми бухгалтерия пользуется каждый день.
  • 📋 Работают обмены: проведите тестовую синхронизацию с другими базами.
  • 📋 Внешние обработки и печатные формы открываются без ошибок. Их часто ломают изменения в типовых объектах.
  • 📋 Расширения конфигурации применились: если расширение «не подходит» к новой версии, платформа покажет это при запуске.
  • 📋 Снимите блокировку работы пользователей.

💡 Сохраните .dt «до обновления» хотя бы неделю. Ошибку в учёте после обновления иногда замечают не сразу.

Ошибки при обновлении 1С через CF и как их исправить

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

Частые вопросы об обновлении через CF

Можно ли сразу перескочить через несколько релизов с помощью CF?
Технически да: полный CF содержит всю конфигурацию. Но проверьте описание нового релиза: если поставщик требует обновляться не ниже определённой версии, сначала поставьте её.
Чем обновление через CF отличается по скорости от CFU?
Само применение файла занимает сопоставимое время. Разница в том, что через CF можно пройти несколько релизов за один подход, вместо цепочки из пяти-шести CFU.
Потеряются ли внешние обработки и настройки пользователей?
Нет. Внешние обработки, настройки отчётов и пользовательские данные хранятся в базе и при обновлении конфигурации сохраняются. Риск только в совместимости: старая обработка может не работать с новым релизом.
Нужен ли CF, если доработки сделаны только в расширениях?
Нет. Если основная конфигурация «на замке», а изменения вынесены в расширения, подойдёт и CFU. После обновления проверьте, что расширения применились без ошибок.
Можно ли обновлять рабочую базу без тестовой копии?
Для типовой базы на поддержке без изменений — обычно да, при наличии свежего .dt. Доработанную конфигурацию сначала обновляйте на копии: объединение и проверку модулей удобнее делать без давления сроков.