Как исправить ошибку «Файл не содержит доступных обновлений» при обновлении 1С:Управление торговлей 10.3

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

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

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

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

  1. Нарушение цепочки релизов (ограничение формата CFU). Файл обновления .cfu (Configuration File Update) содержит только разницу (дельту) между определенными версиями. Он не может обновить конфигурацию с произвольного номера релиза. В дистрибутиве каждого обновления находится сервисный файл UpdInfo.txt, где в строке FromVersions строго зафиксирован перечень релизов, к которым применим данный патч. Если текущая версия базы (например, 10.3.3.3) отсутствует в этом списке, конфигуратор выдает ошибку.
  2. Снятие конфигурации с поддержки. Если конфигурация была полностью снята с поддержки поставщика (в окне Настройка поддержки указан статус «Конфигурация снята с поддержки»), платформа блокирует применение файлов .cfu, поскольку для них требуется эталонная конфигурация поставщика.
  3. Изменение реквизитов корня конфигурации. Если разработчик изменил имя конфигурации в дереве метаданных (свойства корневого элемента) или вручную скорректировал номер версии, конфигуратор перестает сопоставлять базу с входящим файлом обновления.
  4. Рассинхронизация версий. Если ранее обновление выполнялось путем простого объединения без обновления конфигурации поставщика, номер версии в свойствах метаданных и версия на поддержке начинают различаться, что также ломает штатный поиск обновлений.

Разница между файлами CF и CFU

Для успешного решения задачи важно понимать разницу между двумя типами файлов поставки 1С:

CFU (Configuration File Update) — файл дифференциального обновления. Имеет небольшой объем, содержит только изменившиеся объекты и жестко привязан к списку исходных релизов.

CF (Configuration File) — полный файл конфигурации. Он содержит полную структуру метаданных прикладного решения без привязки к предыдущим версиям. Именно полный файл .cf позволяет обойти ограничение длинных последовательностей обновлений и обновить конфигурацию с любого, даже самого древнего релиза.

Способ 1: Обновление через полный файл конфигурации (CF)

Когда требуется перешагнуть через десятки промежуточных релизов, оптимальным решением является использование полного дистрибутива нужной версии (например, рабочего релиза 10.3.42.1), а не промежуточных файлов обновлений. Однако для нетиповой конфигурации категорически нельзя использовать команду «Загрузить конфигурацию из файла», так как это полностью сотрет все нетиповые объекты и реквизиты.

Разберем по шагам правильный алгоритм обновления нетиповой конфигурации через полный .cf:

  1. Обязательно создаем полную резервную копию базы данных (выгрузка в .dt или копия средствами СУБД).
  2. Открываем базу в режиме «Конфигуратор».
  3. В главном меню переходим в Конфигурация → Сравнить, объединить с конфигурацией из файла...
  4. Выбираем полный файл 10.3.ХХ.Х.cf целевого релиза.
  5. В открывшемся окне сравнения и объединения снимаем флажки с тех объектов, которые содержат ваши уникальные нетиповые доработки, чтобы не затереть их типовым кодом. Для типовых объектов оставляем флажки включенными.
  6. Нажимаем кнопку Выполнить.
  7. В появившемся диалоге настройки правил поддержки устанавливаем правила для обновляемых объектов («Редактируется с сохранением поддержки» или «Не редактируется» в зависимости от требований).
  8. Сохраняем конфигурацию базы данных по клавише F7.

Риски перескакивания через релизы и обработчики обновления

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

При «скачке» через большое количество версий обработка ОбновлениеИнформационнойБазы пытается за один сеанс выполнить все накопленные алгоритмы миграции данных. В конфигурации «Управление торговлей 10.3» критическими узловыми точками являются:

  1. Переход на новые форматы адресного классификатора (изменение структуры хранения адресов). При пропуске узловых релизов система может завершать работу с ошибкой при обращении к адресным сведениям.
  2. Подсистема торгового оборудования и драйверов ККТ (особенно актуально для онлайн-касс по 54-ФЗ).
  3. Механизмы партионного учета и взаиморасчетов, если между версиями менялись структуры служебных регистров сведений и накопления.

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

Способ 2: Восстановление поддержки для штатного использования CFU

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

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

Подготовка базы к переходу на «Управление торговлей 11»

Часто старую базу УТ 10.3 пытаются сделать полностью типовой только ради того, чтобы перевести данные на редакцию 11. Проанализируем, нужно ли тратить на это время.

Штатный переход с УТ 10.3 на УТ 11 реализуется через внешнюю обработку выгрузки (по правилам конвертации данных). Алгоритмы выгрузки считывают данные только из предопределенных типовых реквизитов и объектов. Наличие в конфигурации дополнительных нетиповых документов, справочников или добавленных реквизитов никак не мешает работе типовой выгрузки — правила их просто игнорируют.

Поэтому «очищать» конфигурацию 10.3 до абсолютно типового состояния нет никакой необходимости. Достаточно лишь довести конфигурацию до минимального номера релиза УТ 10.3, который поддерживается правилами переноса выбранной версии УТ 11 (эти требования всегда указаны в файле описания переноса в поставке дистрибутива целевой конфигурации).

← На главную