Что делать, если при обновлении 1С появляется ошибка «Файл не содержит обновлений» и конфигурация не находится на поддержке?

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

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

Причины сбоя механизма поддержки и возникновения ошибки

Для понимания причин сбоя проанализируем внутреннюю архитектуру файлов поставки платформы «1С:Предприятие»:

  1. Принцип работы файлов обновления (формат .cfu): В отличие от полного файла конфигурации (.cf), файл обновления (.cfu) содержит исключительно дельту — разницу метаданных между фиксированным перечнем релизов. Для применения такой дельты платформе требуется не просто структура основной конфигурации, а сохраненная внутри информационной базы эталонная конфигурация поставщика. Если конфигурация была снята с поддержки или соответствующая внутренняя таблица повреждена, платформе не к чему применить дифференциальное обновление, что и приводит к ошибке.
  2. Ошибочное действие пользователя или программиста: Нередко при попытке доработать типовой функционал администратор в окне настройки поддержки нажимает кнопку Снять с поддержки вместо опции Включить возможность изменения. При полном снятии конфигурация поставщика безвозвратно удаляется из информационной базы.
  3. Несоответствие редакции дистрибутива: Ошибка также возникает при попытке обновить базу файлом от другой версии (например, при попытке накатить обновление от версии «Базовая» на версию «ПРОФ» или наоборот), поскольку их внутренние идентификаторы метаданных различаются.

Подготовительный этап: сохранение данных и оценка рисков

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

  1. Обязательно создаем полную резервную копию базы данных. Для файловых баз выполняем прямое копирование файла 1Cv8.1CD при закрытых сеансах пользователей, а также создаем дамп через меню Администрирование — Выгрузить информационную базу (файл .dt).
  2. Критически важный риск: Ни в коем случае не используем команду Конфигурация — Загрузить конфигурацию из файла, если база содержит нетиповые доработки (добавленные реквизиты, документы, регистры или справочники). Полная загрузка файла конфигурации приведет к удалению пользовательских объектов метаданных и безвозвратной потере накопленной в них информации при обновлении базы данных клавишей F7.

Способ 1. Восстановление поддержки через сравнение и объединение (универсальный метод)

Этот метод является наиболее надежным и безопасным как для полностью типовых, так и для доработанных конфигураций. Он позволяет заново внедрить в базу конфигурацию поставщика нужного релиза, не повредив добавленные объекты и существующий программный код. Разберем процедуру по шагам:

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

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

Способ 2. Загрузка конфигурации из файла (только для типовых баз)

Если информационная база гарантированно не содержит никаких пользовательских доработок и снятие с поддержки произошло по ошибке, можно применить более быстрый способ восстановления:

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

Устранение ошибок физической целостности базы данных

Если после выполнения описанных операций окно поддержки по-прежнему не открывается или возникают внутренние ошибки формата потока, проанализируем целостность таблиц информационной базы на низком уровне. Для файловых баз используем штатную утилиту chdbfl.exe:

  1. Полностью закрываем конфигуратор и сеансы пользователей.
  2. Переходим в каталог установки технологической платформы (по умолчанию: C:\Program Files\1cv8\[номер_версии]\bin\ или C:\Program Files (x86)\1cv8\[номер_версии]\bin\).
  3. Запускаем файл chdbfl.exe, указываем путь к файлу базы данных 1Cv8.1CD, устанавливаем флаг «Исправлять обнаруженные ошибки» и нажимаем «Выполнить».
  4. После исправления физических повреждений запускаем конфигуратор и повторяем процедуру постановки на поддержку через сравнение и объединение.

Решение проблемы аварийного закрытия конфигуратора на этапе сравнения

Нередко в процессе обновления крупных конфигураций возникает сопутствующая проблема: на этапе сравнения метаданных (например, на 70–80%) конфигуратор аварийно завершает работу без вывода понятной ошибки. Разберем методы обхода этого сбоя:

  1. Нехватка адресного пространства процесса: 32-разрядный исполняемый файл 1cv8.exe ограничен лимитом в 2 ГБ оперативной памяти. При сравнении объемных конфигураций память исчерпывается. Решением является запуск конфигуратора с использованием 64-разрядного клиента платформы 1С.
  2. Несоответствие версии платформы: Обратим внимание на требования релиза. Релизы конфигураций требуют строго определенной минимальной версии технологической платформы (например, переход на определенные подверсии требует платформы не ниже 8.3.8 или 8.3.9). Обновление платформы устраняет внутренние ошибки парсинга метаданных.
  3. Поочередное обновление: Не следует пытаться перескакивать через несколько релизов одним файлом. Рекомендуется последовательно накатывать промежуточные обновления (например, последовательно: 1.0.46.2, затем 1.0.46.3 и так далее до целевого релиза).
  4. Использование пакетного режима обновления: Обновление через командную строку исключает построение графического интерфейса и визуального дерева сравнения, что существенно экономит системные ресурсы. Пример запуска пакетного обновления:
    
    "C:\Program Files\1cv8\8.3.9.2170\bin\1cv8.exe" DESIGNER /F "D:\Bases\BGU" /N "Администратор" /P "Пароль" /UpdateCfg "D:\Updates\1.0.43.1\1cv8.cfu" /UpdateDBCfg
    

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

← На главную