Обновление конфигурации 1С из файла CF: подготовка, способы, ошибки

· 10 мин

Содержание

Обновить CF в 1С можно тремя путями: загрузить файл .cf целиком, применить файл обновления .cfu через режим поддержки или объединить свою конфигурацию с поставкой вендора. Для типовой конфигурации без доработок подходит второй способ. Если в базу вносили изменения, нужен третий: сравнение и объединение.

Главное правило одно: перед любым действием в Конфигураторе сделайте выгрузку информационной базы. Без неё откат превращается в восстановление из чужих архивов. Ниже порядок действий от подготовки до проверки результата.

Что такое CF и чем он отличается от CFU

CF — это файл конфигурации. В нём лежит вся прикладная логика базы: справочники, документы, отчёты, формы, модули. Это полный слепок, поэтому он весит десятки и сотни мегабайт.

CFU — файл обновления. Он содержит только разницу между двумя релизами. Весит меньше, но подходит строго для определённой версии: обновление с 3.0.150 на 3.0.151 не применить к базе версии 3.0.140.

Коротко о том, что где применяется:

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

Обновлять нужно по нескольким причинам:

  • ⚖️ вышли изменения в законодательстве: новые формы отчётности, ставки, форматы документов;
  • 🐞 разработчик исправил ошибки, которые у вас проявляются;
  • 🔌 платформа требует свежий релиз конфигурации, иначе не работают сервисы и обмены;
  • 🛡️ снимается риск, что поддержка старой версии закончится.

Подготовка: резервная копия и проверка базы перед обновлением

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

Что сделать до запуска

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

Не обновляйте рабочую базу первой. Разверните копию из .dt на тестовой площадке, пройдите обновление там и только потом повторите на боевой.

Если база клиент-серверная, выгрузка .dt на больших объёмах идёт долго. Резервную копию средствами СУБД (бэкап PostgreSQL или SQL Server) делайте в дополнение к ней, а не вместо.

Что проверить в самой конфигурации

  • Откройте Конфигурация — Поддержка — Настройка поддержки. Смотрите, включена ли возможность изменения и какие объекты изменены относительно поставщика.
  • Запишите текущую версию и релиз. Они видны в Справка — О программе.
  • Убедитесь, что версия платформы подходит новому релизу. Минимальная версия указана в описании релиза на сайте поставщика.
  • Если есть доработки, выгрузите их список: Конфигурация — Поддержка — Настройка поддержки, затем отчёт об изменённых объектах. Он покажет, что будет конфликтовать.

Как обновить конфигурацию 1С из файла: основные способы

Выбор зависит от того, что у вас на руках и есть ли доработки.

Способ 1. Обновление через режим поддержки (файл CFU или поставка)

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

  1. Откройте Конфигуратор в монопольном режиме.
  2. Выберите Конфигурация — Поддержка — Обновить конфигурацию.
  3. В окне выбора источника укажите «Поиск доступных обновлений» (если лежит в каталоге шаблонов) или «Выбор файла обновления».
  4. Укажите файл .cfu или .cf поставки. Для CF поставки нужен файл именно поставки, а не сохранённая конфигурация вашей базы.
  5. Программа покажет окно обновления: версии, объекты, режим объединения. Нажмите «Выполнить».
  6. Если объекты были изменены, откроется окно сравнения. Разбирайте конфликты по одному (см. раздел про доработки).
  7. По завершении согласитесь на реструктуризацию, либо нажмите F7 или Конфигурация — Обновить конфигурацию базы данных.

Файлы обновлений удобно хранить в каталоге шаблонов, который 1С находит сама. Тогда на шаге 3 достаточно «Поиск доступных обновлений», а путь вспоминать не надо.

Способ 2. Загрузка конфигурации из CF целиком

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

  1. Конфигурация — Загрузить конфигурацию из файла.
  2. Выберите .cf.
  3. Подтвердите замену. Текущая конфигурация будет перезаписана целиком.
  4. Обновите конфигурацию базы данных, F7.

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

После загрузки CF конфигурация может «слететь» с поддержки. Снова поставьте её на поддержку через Конфигурация — Поддержка — Настройка поддержки, если это нужно.

Способ 3. Объединение с конфигурацией из файла

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

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

Какой способ выбрать

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

Обновление доработанной конфигурации: объединение и ручная правка

Здесь большинство потерь. Типичный сценарий: интегратор правил отчёт три года назад, а теперь в нём конфликт с новым релизом.

Три состояния объекта

При сравнении 1С показывает три «колонки»: ваша конфигурация, предыдущий релиз поставщика, новый релиз. Из этого следует правило.

  • Менялся только вендор: берём новое без вопросов.
  • Менялись только вы: оставляем своё.
  • Менялись оба: смотрим вручную, строка за строкой.

Как разбирать конфликты

  1. Начните с модулей. Именно они ломаются чаще, чем формы или макеты.
  2. Для каждого конфликтного модуля откройте сравнение в режиме «три версии».
  3. Если ваша правка была заплаткой под старую ошибку, а вендор её уже исправил, откажитесь от вашей правки: это упрощает последующие обновления.
  4. Если правка нужна, перенесите её в новый код вручную, не копируя модуль целиком из старой версии.
  5. После каждого десятка объектов сохраняйте конфигурацию, чтобы не потерять работу при сбое.

Не выбирайте «взять всё своё» массово «чтобы не мучиться». Так вы пропустите исправления ошибок и изменения под законодательство.

Как сократить боль на будущее

  • Новые доработки делайте расширениями .cfe, а не правкой типового кода.
  • Ведите список изменённых объектов с причиной правки. Через два года вы сами не вспомните зачем.
  • Для каждого обновления фиксируйте версию, с которой начинали, и версию, на которой закончили.
Что у вас с доработками?

Скрипты и запуск по расписанию: автоматизация обновления CF

Если баз много, ручной режим перестаёт работать. Платформа умеет делать то же самое из командной строки.

Ключи пакетного режима Конфигуратора

Запуск идёт через исполняемый файл 1cv8.exe в режиме DESIGNER. Основные ключи:

  • /F "путь" — файловая база; для серверной используют /S "сервер\база";
  • /N и /P — имя и пароль пользователя с правами администратора;
  • /LoadCfg файл.cf — загрузить конфигурацию из файла ;
  • /UpdateCfg файл.cfu — применить обновление или поставку;
  • /UpdateDBCfg — обновить конфигурацию базы данных (реструктуризация);
  • /DumpIB файл.dt — выгрузить базу ;
  • /Out файл.log — записать результат в журнал;
  • /DisableStartupDialogs и /DisableStartupMessages — отключить окна, чтобы скрипт не зависал.

Пример скрипта

@echo off
set BASE=D:\Bases\Buh
set UPD=D:\Updates\buh_3_0_200.cfu
set LOG=D:\Logs\update.log

"C:\Program Files\1cv8\8.3.24.1667\bin\1cv8.exe" DESIGNER /F "%BASE%" /N Admin /P "" ^
  /DumpIB "D:\Backup\before_update.dt" /Out "%LOG%" /DisableStartupDialogs

"C:\Program Files\1cv8\8.3.24.1667\bin\1cv8.exe" DESIGNER /F "%BASE%" /N Admin /P "" ^
  /UpdateCfg "%UPD%" /UpdateDBCfg /Out "%LOG%" /DisableStartupDialogs

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

Что учесть при запуске по расписанию

  • ⏰ Запускайте ночью, когда никто не работает. Планировщик Windows или cron подходят одинаково.
  • 🔒 Перед запуском завершите сеансы, иначе обновление упрётся в блокировку.
  • 📝 Проверяйте код возврата и журнал /Out. Просто «скрипт отработал» ничего не значит.
  • 💾 Сначала выгрузка, потом обновление, в одном скрипте. Если выгрузка упала, дальше не идём.
Перед запуском автоматического обновления
Выполнено: 0 / 5

Типичные ошибки при обновлении CF и как их исправить

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

Частые ошибки самих администраторов

  • Обновление без выгрузки базы: «ну там же только типовая».
  • Выбор «взять всё своё» при объединении: теряются исправления вендора.
  • Применение CFU не к той версии: программа предупредит, но предупреждение часто закрывают не читая.
  • Запуск обновления в рабочее время при открытых сеансах.
  • Отсутствие проверки после обновления: пользователи находят сбои раньше администратора.

Что проверить после обновления CF

После успешной реструктуризации не торопитесь открывать базу для всех.

Быстрая проверка за 15 минут

  1. Запустите базу в режиме 1С:Предприятие под обычным пользователем и посмотрите версию в «О программе».
  2. Откройте основной список: контрагенты, номенклатура. Убедитесь, что данные на месте.
  3. Создайте и проведите тестовый документ основного вида. Затем удалите его.
  4. Сформируйте один из регулярных отчётов и сравните итоги с прошлыми.
  5. Проверьте обмены и интеграции: отправьте тестовое сообщение или запустите регламентное задание вручную.
  6. В Конфигураторе запустите Конфигурация — Проверка конфигурации. На доработанной базе это покажет битые ссылки и ошибки в модулях.

Оптимизация после обновления

  • Выполните тестирование и исправление базы для файлового варианта, если база давно не обслуживалась.
  • В клиент-серверной версии обновите статистику СУБД и перестройте индексы по регламенту.
  • Очистите кэш клиента: перезапуск 1cv8 с ключом /ClearCache убирает остатки старых форм.
  • Проверьте регламентные задания: после реструктуризации они иногда остаются отключёнными.

Храните резервную копию, сделанную перед обновлением, минимум неделю. Некоторые ошибки в учётных данных проявляются только при закрытии месяца.

Когда всё проверено, запишите в журнал: дата, версия до, версия после, кто делал, что менялось при объединении. Через год это сэкономит часы.

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

Можно ли обновить CF, не выгружая базу?
Технически да, но так делать нельзя. Откат после неудачной реструктуризации без выгрузки или копии каталога возможен только из резервной копии СУБД, если она есть.
Что будет с данными при загрузке CF?
Данные остаются. Меняется только описание структуры. Если структура несовместима с данными (например, удалён реквизит), при реструктуризации информация по нему будет потеряна.
Можно ли перепрыгнуть через несколько релизов?
Для типовой конфигурации обычно можно, но надо следовать указаниям в описании релиза: иногда требуется промежуточный релиз для переноса данных. Для доработанной конфигурации объём конфликтов вырастет.
Чем отличается обновление через поддержку от загрузки CF?
Поддержка сравнивает три версии и сохраняет ваши правки там, где это возможно. Загрузка CF заменяет конфигурацию целиком и затирает доработки.
Нужно ли обновлять платформу вместе с конфигурацией?
Не всегда, но у каждого релиза конфигурации есть минимальная версия платформы. Если ваша платформа ниже, сначала обновите её, потом конфигурацию.
Как откатиться, если после обновления всё сломалось?
Разверните выгрузку .dt в новую базу или верните каталог файловой базы из копии. Если сохранили старую конфигурацию в .cf, её можно загрузить, но данные в новой структуре могут не подойти.