Почему при обновлении 1С появляется ошибка «Файл не содержит доступных обновлений» и как ее исправить?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

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

Причины возникновения ошибки

Проанализируем механику работы файлов обновлений 1С:

  1. Принцип работы файла .cfu. Файл .cfu представляет собой разностный архив (патч/дельту) между конкретными версиями. При его применении платформа сверяет не просто текстовую строку с номером релиза в свойствах конфигурации, а внутреннее состояние конфигурации поставщика, включая системные идентификаторы (GUID) объектов и метаданные.
  2. Рассинхронизация конфигурации поставщика. Если база данных была некорректно снята с поддержки, повреждена в процессе прошлых аварийных завершений работы или развернута из неполной выгрузки, конфигурация поставщика теряет целостность. В результате манифест .cfu не может найти точную исходную структуру метаданных.
  3. Несоответствие версий поставки. Ошибка может возникнуть, если на базовую версию программы пытаются применить обновление от версии ПРОФ/КОРП или наоборот.
  4. Кэширование метаданных. Поврежденный локальный кэш конфигуратора может отдавать платформе устаревшие сведения о состоянии структуры конфигурации.

Способ 1. Обновление через эталонный файл конфигурации текущего релиза (cf)

Если конфигурация является типовой (находится на полной поддержке без возможности изменения), самым быстрым и надежным способом исправить структуру является прокат полного файла 1Cv8.cf того же самого релиза, который сейчас установлен в базе.

Разберем пошаговый порядок действий:

  1. Обязательно создадим резервную копию информационной базы перед выполнением любых административных действий (через меню Администрирование → Выгрузить информационную базу...).
  2. Откроем информационную базу в режиме Конфигуратор.
  3. Перейдем в главное меню: Конфигурация → Поддержка → Обновить конфигурацию....
  4. В окне выбора источника обновления установим переключатель в положение «Выбор файла обновления» и нажмем «Далее».
  5. В диалоговом окне укажем полный файл 1Cv8.cf именно текущей версии конфигурации (из дистрибутива, из которого изначально создавалась база).
  6. Согласимся с обновлением и применим изменения структуры конфигурации базы данных, нажав клавишу F7 (или выбрав пункт меню Конфигурация → Обновить конфигурацию базы данных).

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

Способ 2. Обновление через полный файл следующего релиза (cf)

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

Рассмотрим порядок выполнения:

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

Способ 3. Восстановление конфигурации поставщика для доработанных баз

Если в конфигурацию вносились доработки (включена возможность изменения), простая загрузка файла .cf через пункт Загрузить конфигурацию из файла сотрет весь пользовательский код. В такой ситуации восстановим поддержку с сохранением изменений.

Разберем процесс по шагам:

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

Дополнительные рекомендации

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

  1. Очистим кэш платформы: закроем все сеансы 1С и удалим временные файлы из каталогов %AppData%\1C\1Cv8 и %LocalAppData%\1C\1Cv8 либо удалим базу из списка запуска 1С и добавим ее заново.
  2. Проверим целостность базы данных: запустим утилиту chdbfl.exe (находится в каталоге bin установленной платформы) или выполним Администрирование → Тестирование и исправление... с проверкой логической и ссылочной целостности.
← На главную