Обновление конфигураций 1С:Предприятие через CF-файлы — стандартная процедура для администраторов и разработчиков, но даже опытные пользователи иногда сталкиваются с неожиданными ошибками. Этот метод актуален, когда нужно перенести изменения между базами, обновить типовые конфигурации без доступа к интернету или восстановить повреждённые объекты. В отличие от автоматического обновления через «1С:Обновление программ», работа с CF требует ручного контроля на каждом этапе.
В этой статье разберём не только базовую последовательность действий, но и критические нюансы, которые редко упоминают в официальной документации — например, как избежать конфликтов версий при обновлении распределённых баз или что делать, если CF-файл «не видит» изменения. Материал подходит для всех актуальных версий платформы 1С:Предприятие 8.3 (включая 8.3.23 и новее), а также для большинства типовых конфигураций (Бухгалтерия 3.0, УТ 11, ЗУП 3.1 и др.).
Что такое CF-файл и когда его использовать
Файл с расширением .cf (от англ. Configuration File) — это архив изменений конфигурации 1С, созданный с помощью встроенного механизма сравнения и объединения. Он содержит не полную копию базы, а только различия между двумя версиями: текущей и целевой. Это делает CF удобным инструментом для:
- 🔄 Обновления типовых конфигураций без подключения к серверам 1С (например, в закрытых сетях или при медленном интернете).
- 🛠️ Восстановления повреждённых объектов — если после неудачного обновления «слетела» часть конфигурации.
- 📦 Переноса доработок между базами (например, с тестового стенда на рабочий сервер).
- 🔒 Контроля изменений — CF позволяет просмотреть, какие именно объекты будут модифицированы, прежде чем применять обновление.
Однако у метода есть ограничения. CF-файл не подходит для:
- ❌ Полного перехода на новую версию платформы (например, с 8.2 на 8.3) — для этого нужен полный дистрибутив.
- ❌ Обновления данных (справочников, документов) — только структура конфигурации.
- ❌ Работы с нетиповыми конфигурациями, если они сильно модифицированы (может потребоваться ручная доработка после обновления).
⚠️ Внимание: Если ваша база работает в режимеУправляемое приложениес включённым механизмомРасширений, обновление через CF может привести к конфликтам. Перед процедурой проверьте совместимость расширений с новой версией конфигурации в базе знаний ИТС.
Подготовка к обновлению: 5 обязательных шагов
Неподготовленное обновление через CF чревато потерями данных или неработоспособностью базы. Перед началом процедуры выполните следующие действия:
- Создайте резервную копию базы. Используйте штатные средства 1С (
Администрирование → Выгрузить информационную базу) или внешние инструменты (например, SQL-бекап для клиент-серверного варианта). Без бэкапа начинать обновление нельзя — даже если вы делали это сотни раз. - Проверьте версию платформы. Откройте
Справка → О программеи сравните с требованиями новой конфигурации. Например, Бухгалтерия 3.0.140.х требует платформу не ниже8.3.21.1289. - Закройте все сеансы. Убедитесь, что в базе нет активных пользователей (включая фоновые задачи). В клиент-серверном варианте проверьте через
Администрирование → Активные пользователи. - Отключите регламентные задания. Особенно критично для баз с автоматическими обменами или отчётами — они могут заблокировать объекты во время обновления.
- Проверьте целостность CF-файла. Откройте его через
Конфигуратор → Файл → Открытьи убедитесь, что нет ошибок чтения.
Сделать бэкап базы|Проверить версию платформы|Закрыть все сеансы|Отключить регламентные задания|Проверить CF на ошибки-->
Если обновляете распределённую базу (например, с несколькими филиалами), дополнительно:
- Синхронизируйте все узлы до начала процедуры.
- Обновите сначала центральный узел, затем — подчинённые.
- Используйте одинаковую версию CF-файла для всех узлов.
⚠️ Внимание: В версиях платформы8.3.22и выше при обновлении через CF может срабатывать механизмКонтроля целостности, который блокирует применение изменений, если обнаружены несоответствия в метаданных. В этом случае потребуется ручная правка конфигурации или использование утилиты chdbfl.exe.
Пошаговая инструкция: как применить CF-файл
Процесс обновления состоит из трёх этапов: загрузка CF в конфигуратор, сравнение версий и непосредственное применение изменений. Рассмотрим каждый шаг подробно.
1. Загрузка CF-файла в конфигуратор
Откройте базу в режиме Конфигуратор (не путать с 1С:Предприятие!). Для этого:
- Запустите 1С:Предприятие с удержанием клавиши
Shift(или выберите базу в списке и нажмитеКонфигуратор). - Перейдите в меню
Файл → Открытьи выберите ваш CF-файл. - В открывшемся окне нажмите
Да, чтобы подтвердить загрузку.
Если CF-файл создан для другой версии конфигурации, система выдаст предупреждение. В большинстве случаев это не критично, но обязательно сверьтесь с документацией к обновлению — некоторые изменения требуют предварительной подготовки (например, миграция данных).
2. Сравнение и объединение конфигураций
После загрузки CF откроется окно Сравнение и объединение конфигураций. Здесь вы увидите три колонки:
- Левая — текущая конфигурация базы.
- Центральная — действия (добавление, изменение, удаление).
- Правая — конфигурация из CF-файла.
Внимательно просмотрите все изменения. Особое внимание уделите:
- 🔴 Удаляемым объектам (помечены красным) — их восстановление после обновления может быть затруднительно.
- 🔄 Изменённым реквизитам — если они используются в коде или отчётах, потребуется доработка.
- 🔒 Правам доступа — обновление может сбросить настройки ролей.
Чтобы применить изменения, нажмите Выполнить объединение. Система предложит сохранить отчёт о конфликтах — всегда соглашайтесь, даже если конфликтов нет. Этот файл пригодится для отката или анализа ошибок.
3. Завершение обновления
После объединения:
- Закройте конфигуратор и перезапустите базу в режиме
1С:Предприятие. - Выполните тестовое открытие ключевых разделов (например,
Справочники → НоменклатураилиДокументы → Поступление). - Проверьте работу отчётов и обработок — некоторые из них могут требовать пересоздания после обновления.
Если после обновления база открывается медленно или выдаёт ошибки при первом запуске, выполните команду Тестирование и исправление в конфигураторе (Администрирование → Тестирование и исправление). Отметьте галочки Проверять логическую целостность и Проверять ссылочную целостность.
Распространённые ошибки и их решения
Даже при строгом следовании инструкции обновление через CF может завершиться ошибкой. Рассмотрим типичные проблемы и способы их устранения.
| Ошибка | Причина | Решение |
|---|---|---|
Не найден объект метаданных |
В CF-файле есть ссылка на удалённый объект (например, справочник или документ). | Восстановите объект из бэкапа или исключите его из CF через Правка → Исключить объект. |
Конфигурация заблокирована |
В базе остались активные сеансы или фоновые задачи. | Перезапустите сервер 1С или принудительно закройте сеансы через Администрирование → Активные пользователи. |
Несовпадение версий платформы |
CF-файл создан на более новой версии платформы, чем текущая. | Обновите платформу 1С до требуемой версии или запросите CF, совместимый с вашей платформой. |
Ошибка контроля целостности |
В метаданных обнаружены несоответствия (typo в версиях платформы 8.3.22+). |
Используйте утилиту chdbfl.exe из дистрибутива 1С или обратитесь в поддержку. |
Если ошибка не указана в таблице, изучите лог обновления (файл *.log в каталоге временных файлов 1С). Часто там содержится подробное описание проблемы с указанием конкретного объекта или модуля.
Что делать, если после обновления база не открывается?
Если после применения CF-файла база перестала запускаться, выполните следующие действия:
1. Восстановите базу из бэкапа (если он есть).
2. Попробуйте открыть базу в режиме Конфигуратор с ключом /ResetCache (для этого добавьте параметр в ярлык запуска).
3. Если ошибка связана с повреждением метаданных, используйте утилиту 1CV8.EXE DESIGNER /IBName <имя_базы> /DumpIB <путь_к_файлу> для выгрузки данных в DT-файл, затем создайте новую базу и загрузите в неё выгруженные данные.
4. Обратитесь в службу поддержки 1С с логом ошибки и CF-файлом (если он не содержит конфиденциальных данных).
Обновление распределённых баз: особенности и подводные камни
Распределённые информационные базы (РИБ) требуют особого подхода при обновлении через CF. Главная сложность — обеспечить синхронность изменений во всех узлах. Если обновить только центральный узел, а подчинённые оставить на старой версии, это приведёт к ошибкам репликации.
Алгоритм обновления РИБ:
- Остановите обмен данными между узлами (
Администрирование → Распределённые информационные базы → Остановить обмен). - Обновите центральный узел по стандартной процедуре (см. раздел выше).
- Экспортируйте CF-файл из центрального узла (
Файл → Сохранить конфигурацию в файл) и распределите его по подчинённым базам. - Обновите подчинённые узлы тем же CF-файлом. Важно использовать один и тот же файл для всех узлов!
- Возобновите обмен данными и выполните полную синхронизацию.
Если в РИБ используются правила обмена, после обновления может потребоваться их корректировка. Например, в новых версиях УТ 11 или ERP 2 часто меняются структуры справочников, что приводит к ошибкам при репликации. Проверьте правила обмена в разделе Администрирование → Синхронизация данных → Правила обмена.
⚠️ Внимание: В распределённых базах на платформе8.3.23+при обновлении через CF может срабатывать механизмВерсионирования объектов. Если после обновления вы видите ошибки видаНе найдена версия объекта, выполните полную перезагрузку метаданных на всех узлах черезАдминистрирование → Загрузка метаданных из файла.
Как создать свой CF-файл для переноса доработок
CF-файлы полезны не только для обновлений, но и для переноса пользовательских доработок между базами. Например, если вы добавили новый отчёт в тестовой базе и хотите перенести его в рабочую. Для этого:
- Откройте исходную базу (откуда копируем изменения) в режиме
Конфигуратор. - Выделите нужные объекты в дереве конфигурации (например, отчёт
ПродажиПоРегионам). - Нажмите
Файл → Сохранить выделенные объекты в файли выберите форматCF (*.cf). - В целевой базе откройте созданный CF-файл через
Файл → Открытьи выполните объединение.
При переносе доработок учитывайте:
- 🔹 Зависимости объектов. Если ваш отчёт использует новый реквизит в справочнике, этот реквизит тоже должен быть перенесён.
- 🔹 Конфликты имён. Если в целевой базе уже есть объект с таким же именем, система предложит варианты разрешения конфликта (заменить, объединить или пропустить).
- 🔹 Права доступа. Перенесённый объект может быть недоступен пользователям, если не скорректировать роли.
При переносе доработок через CF всегда проверяйте их работу в тестовом режиме перед применением на рабочей базе. Особенно это касается изменений в модулях (например, обработчиков событий) — ошибки в коде могут привести к падению базы.
Автоматизация обновлений: как упростить рутину
Если вам регулярно приходится обновлять несколько баз через CF, имеет смысл автоматизировать процесс. Вот несколько способов:
- 🤖 Скрипты на PowerShell/Bat. Можно написать скрипт, который последовательно применяет CF ко всем базам на сервере. Пример команды для консольного обновления:
C:\Program Files\1cv8\8.3.23.1234\bin\1cv8.exe DESIGNER /IBName "C:\Bases\Main" /UpdateCf "C:\Updates\update.cf" /Out "C:\Logs\update_log.txt" - 📁 Централизованное хранилище CF. Разместите все CF-файлы на сетевом диске и настройте доступ для администраторов. Это упростит контроль версий.
- 📅 Планировщик задач Windows. Настройте автоматическое применение CF в нерабочее время (например, ночью).
Для крупных инфраструктур (10+ баз) рассмотрите использование специализированных инструментов:
- 1С:Сервер администрирования — позволяет управлять обновлениями централизованно.
- Vanessa-Add — фреймворк для автоматизированного тестирования и обновления 1С.
- Скрипты на языке
1С:Предприятие— можно написать обработку, которая будет применять CF и фиксировать результаты в журнале.
⚠️ Внимание: Автоматизированное обновление требует предварительного тестирования! Настройте скрипты так, чтобы они сначала создавали бэкап, а только потом применяли CF. В противном случае одна ошибка в скрипте может вывести из строя все базы.
FAQ: Ответы на частые вопросы
Можно ли откатить обновление через CF?
Да, но только если у вас есть бэкап базы до применения CF. Сам CF-файл не содержит информации для отката — он только накатывает изменения. Альтернативный вариант: если вы сохранили отчёт о конфликтах при объединении, можно вручную вернуть старые версии объектов через Конфигуратор → Администрирование → История конфигурации (доступно в платформе 8.3.20+).
Почему после обновления через CF некоторые отчёты перестали работать?
Это типичная ситуация, если в новой версии конфигурации изменились:
- Структура данных (например, удалён реквизит, который использовался в отчёте).
- Модули объектов (изменились обработчики событий).
- Права доступа (роли пользователей не обновлены).
Решение: откройте проблемный отчёт в Конфигураторе, проверьте ошибки в модуле (Отладка → Начать отладку) и исправьте их вручную или восстановите старую версию отчёта из бэкапа.
Как проверить, какие именно изменения содержит CF-файл?
Откройте CF-файл в Конфигураторе через Файл → Открыть. Система покажет окно Сравнение и объединение конфигураций, где в центральной колонке будут отмечены все изменения:
- 🟢 Зелёные строки — добавленные объекты.
- 🔵 Синие строки — изменённые объекты.
- 🔴 Красные строки — удалённые объекты.
Чтобы сохранить отчёт о изменениях, нажмите Файл → Сохранить отчёт и выберите формат TXT или MXL.
Можно ли применить CF-файл к базе с включённым механизмом расширений?
Да, но с оговорками. Если CF содержит изменения основной конфигурации, они применятся без проблем. Однако если CF затрагивает объекты, которые модифицированы через расширения, могут возникнуть конфликты. В этом случае:
- Примените CF к основной конфигурации.
- Обновите расширения вручную через
Конфигуратор → Расширения. - Проверьте совместимость расширений с новой версией конфигурации (информация есть в документации к обновлению).
Где скачать актуальные CF-файлы для типовых конфигураций?
Официальные CF-файлы для типовых конфигураций (Бухгалтерия 3.0, УТ 11, ЗУП 3.1 и др.) доступны:
- На портале ИТС (раздел
Обновления программ). - В личном кабинете пользователя 1С (если у вас действующая подписка).
- Через
1С:Обновление программ(менюСправка → Обновление конфигурациив режиме1С:Предприятие).
Для нетиповых конфигураций CF-файлы предоставляет разработчик или партнёр 1С.