Как обновить конфигурацию 1С файлом .cf и не потерять доработки
Содержание
Чтобы обновить 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: копия, версии, сеансы
Обновление меняет структуру таблиц базы. Если что-то пойдёт не так посередине, откатиться можно только из копии. Без резервной копии обновление не начинайте.
Резервная копия
- В конфигураторе:
Администрирование → Выгрузить информационную базу. Получите файл.dt. - Отдельно сохраните текущую конфигурацию:
Конфигурация → Сохранить конфигурацию в файл. Этот.cfпонадобится, если придётся разбирать, что изменилось в доработках. - Для файловой базы дополнительно скопируйте папку базы с файлом
1Cv8.1CD, когда в базе никого нет. - Для клиент-серверной базы на большой СУБД надёжнее сделать копию средствами самой СУБД: выгрузка в
.dtна базах в десятки гигабайт идёт долго.
Проверка версий
- 📌 Посмотрите текущий релиз: в пользовательском режиме
Справка → О программе, в конфигураторе —Справка → О программеи свойства корня конфигурации. - 📌 Откройте описание нового релиза и найдите требование к версии платформы. Номер установленной платформы должен быть не ниже указанного.
- 📌 Проверьте, нет ли в описании обязательного промежуточного релиза. Иногда поставщик прямо пишет, что обновляться можно только с версии не ниже такой-то.
Отключение пользователей
Обновить структуру базы данных можно только в монопольном режиме. Значит, все сеансы придётся завершить.
Завершение сеансов обрывает работу пользователей: несохранённые документы пропадут. Предупредите людей заранее и делайте обновление вне рабочего времени.
- В типовых конфигурациях на БСП:
Администрирование → Обслуживание, ссылка «Блокировка работы пользователей». Можно задать время начала, текст сообщения и код разрешения. - На сервере 1С блокировку начала сеансов ставят в свойствах информационной базы через консоль кластера. Там же видно активные сеансы.
💡 Если задан код разрешения, сами вы заходите с параметром /UC"код" — блокировка вас пропустит.
Как обновить 1С через CF вручную в конфигураторе
Порядок ниже подходит для типовой конфигурации, которая стоит на поддержке. Проверить это можно в Конфигурация → Поддержка → Настройка поддержки.
Шаг 1. Откройте конфигурацию
Запустите базу в режиме «Конфигуратор» и выберите Конфигурация → Открыть конфигурацию. Если пункт «Поддержка» неактивен, значит, конфигурация ещё не открыта.
Шаг 2. Запустите обновление
- Выберите
Конфигурация → Поддержка → Обновить конфигурацию. - В окне выберите «Выбор файла обновления» и нажмите «Готово».
- Укажите путь к
1Cv8.cfнового релиза. - Конфигуратор прочитает файл и покажет версию, на которую будет обновлена база. Сверьте номер.
Шаг 3. Примите изменения
Для конфигурации «на замке» (без возможности изменения) платформа применит обновление сама и спросит, обновить ли конфигурацию базы данных. Соглашайтесь.
Если включена возможность изменения, откроется окно сравнения. Его разбор — в следующем разделе.
Шаг 4. Обновите конфигурацию базы данных
Если окно не появилось, выберите Конфигурация → Обновить конфигурацию базы данных или нажмите F7. Платформа покажет список изменений структуры — нажмите «Принять».
На этом этапе меняются таблицы. Не прерывайте процесс и не закрывайте конфигуратор, даже если кажется, что он «завис»: на большой базе реструктуризация идёт десятки минут.
Обновление или загрузка — что выбрать
| Способ | Когда | Риски |
|---|---|---|
Поддержка → Обновить конфигурацию + CF | Типовая и доработанная база | Нужно разобрать конфликты в доработанной |
Сравнить, объединить с конфигурацией из файла | Конфигурация снята с поддержки | Долгое ручное сравнение |
Загрузить конфигурацию из файла | Типовая база без единой доработки | Все изменения в конфигурации теряются без предупреждений |
Обновление доработанной конфигурации через CF без конфликтов
Доработанная база — та, где у конфигурации включена возможность изменения и кто-то правил модули, формы или макеты. Здесь CF нужен почти всегда: он даёт платформе полную картину нового релиза.
Как читать окно сравнения
После выбора файла откроется дерево объектов с двумя колонками: основная конфигурация (ваша) и новая конфигурация поставщика.
- ✅ Изменён только поставщиком — объект можно спокойно брать из новой версии.
- ✏️ Изменён только вами — оставляете свою версию, поставщик его не трогал.
- ⚠️ Изменён и вами, и поставщиком — дважды изменённый объект. Здесь и сидят конфликты.
Включите отбор «Показывать только дважды изменённые свойства». Список сократится в разы, и можно разбирать только спорное.
Режимы объединения
Для каждого дважды изменённого объекта задайте режим:
- Взять из новой конфигурации поставщика — ваша правка пропадёт. Подходит, если поставщик сам исправил то, что вы когда-то чинили.
- Объединить с приоритетом основной конфигурации — платформа сольёт изменения, при совпадении строк оставит ваше.
- Объединить с приоритетом поставщика — то же, но при совпадении победит код поставщика.
- Не объединять — объект остаётся как есть. Опасно: новый код поставщика может ссылаться на то, чего в старом объекте нет.
Для модулей откройте поблочное сравнение и пройдите конфликтные процедуры глазами. После объединения запустите синтаксический контроль: Конфигурация → Проверка конфигурации, флажок синтаксического контроля модулей.
Чтобы следующие обновления шли быстрее, переносите доработки в расширения конфигурации (они появились в платформе 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С:Предприятие» под пользователем с полными правами.
- Для типовых конфигураций появится окно о легальности получения обновлений — подтвердите.
- Начнётся «Обновление версии программы». Дождитесь окончания, не закрывайте окно. На крупных базах это занимает от минут до часа.
- Часть обработчиков выполняется отложенно, в фоне, уже после входа пользователей. Их состояние видно в разделе
Администрирование → Обслуживание— найдите там результаты обновления программы.
Контрольный список
- 📋
Справка → О программепоказывает новый номер релиза. - 📋 Открываются ключевые документы и отчёты, которыми бухгалтерия пользуется каждый день.
- 📋 Работают обмены: проведите тестовую синхронизацию с другими базами.
- 📋 Внешние обработки и печатные формы открываются без ошибок. Их часто ломают изменения в типовых объектах.
- 📋 Расширения конфигурации применились: если расширение «не подходит» к новой версии, платформа покажет это при запуске.
- 📋 Снимите блокировку работы пользователей.
💡 Сохраните .dt «до обновления» хотя бы неделю. Ошибку в учёте после обновления иногда замечают не сразу.