Каждый специалист по сопровождению программных продуктов «1С:Предприятие 8» рано или поздно сталкивается с ситуацией, когда при попытке обновить базу данных конфигуратор выдает обескураживающее сообщение: «Нет доступных обновлений». При этом вы можете быть абсолютно уверены, что используете корректный файл обновления (формата .cfu) или папка с шаблонами обновлений заполнена нужными релизами.
В этой статье мы подробно разберем, почему возникает эта ошибка, проанализируем внутренние механизмы платформы 1С, изучим риски популярных экспресс-решений и рассмотрим детальный, безопасный алгоритм восстановления поддержки, который позволит вам успешно обновить конфигурацию без потери доработок.
Для того чтобы понять природу этой проблемы, давайте разберем, как устроена структура метаданных в любой базе данных на платформе «1С:Предприятие 8». В одной информационной базе параллельно существуют три конфигурации:
.cfu).Основная причина появления ошибки «Нет доступных обновлений» — это рассинхронизация версий основной конфигурации и конфигурации поставщика. Рассмотрим подробнее, как это происходит на практике.
Представим сценарий: предыдущий специалист обновлял базу нештатным способом. Вместо использования стандартного меню Конфигурация — Поддержка — Обновить конфигурацию он применил функцию Сравнить, объединить с конфигурацией из файла, выбрав файл полной конфигурации (.cf) более нового релиза. При таком объединении обновляется только основная конфигурация базы данных, в то время как конфигурация поставщика остается на старой версии.
В результате получается критический сбой логики платформы: фактически ваша база доведена, например, до релиза 1.0.51.9, но конфигурация поставщика все еще числится на релизе 1.0.42.7. Когда вы пытаетесь применить стандартный файл обновления (.cfu), предназначенный для перехода с версии 1.0.51.9 на следующий релиз, платформа сверяет его с конфигурацией поставщика (1.0.42.7), не находит совпадений и сообщает, что обновлений нет.
Существуют и другие, менее критичные, но распространенные причины:
.cfu содержат только дельту изменений между конкретными версиями, и обновиться «одним махом» через несколько десятков релизов напрямую невозможно).tmplts.В практике решения этой проблемы часто прибегают к быстрому методу, который использовал автор обсуждаемой темы на форуме. Суть метода заключается в следующем:
Конфигурация — Сохранить конфигурацию в файл... (получается файл с расширением .cf).Конфигурация — Загрузить конфигурацию из файла..., где выбирается полученный ранее файл .cf.Почему это сработало? Операция полного замещения конфигурации стирает старую структуру метаданных и записывает новую, включая актуальную конфигурацию поставщика. База автоматически встает на правильную поддержку нужного релиза, и последующие обновления начинают работать корректно.
⚠️ ВНИМАНИЕ: Огромные риски данного метода! Мы обязаны предупредить вас о критической опасности этого способа. Функция Загрузить конфигурацию из файла полностью перезаписывает структуру метаданных. Если в вашей рабочей базе были хоть какие-то уникальные изменения, внесенные прошлыми программистами (новые реквизиты, измененные формы, добавленные регистры или документы), они будут безвозвратно удалены.
Более того, удаление реквизитов из структуры метаданных приведет к физическому удалению данных из таблиц СУБД. Вы потеряете информацию в уже существующих документах и справочниках. Использовать этот метод можно исключительно в том случае, если вы на 100% уверены, что база является абсолютно типовой (находится на полной поддержке без возможности изменения).
Что же делать, если база содержит доработки, но поддержка конфигурации поставщика нарушена? Рассмотрим по шагам безопасный алгоритм, который позволит восстановить связь с конфигурацией поставщика и сохранить все изменения вашей базы.
Для выполнения этой процедуры нам понадобятся полные дистрибутивы конфигурации (файлы формата .cf, а не файлы обновлений .cfu).
Администрирование — Выгрузить информационную базу...) или сделайте копию файла 1Cv8.1CD для файловой версии.Конфигурация — Поддержка — Настройка поддержки.... В открывшемся окне нажмите кнопку «Снять с поддержки». Подтвердите действие. Теперь конфигурация полностью открыта для редактирования, а связь со старым некорректным поставщиком разорвана..cf) ровно того релиза, который фактически установлен у вас сейчас в качестве основного (в нашем примере это релиз 1.0.51.9).Конфигурация — Сравнить, объединить с конфигурацией из файла... и выберите подготовленный файл .cf.F7 (или выбрав Конфигурация — Обновить конфигурацию базы данных).Проанализируем результат: мы успешно привязали актуальную конфигурацию поставщика нужной версии к нашей основной конфигурации, при этом не изменив ни одного объекта метаданных самой базы. Теперь вы можете штатно запускать процедуру обновления через файлы .cfu.
Иногда проблема кроется не в метаданных, а во внешних факторах. В процессе обсуждения на форуме специалисты рекомендовали использовать старые версии платформы (например, 8.3.5.1383). Действительно, в некоторых старых релизах платформы ветки 8.3.8 – 8.3.10 существовали внутренние ошибки конфигуратора, из-за которых сравнение тяжелых конфигураций (таких как БГУ или ERP) завершалось аварийно или приводило к потере путей к шаблонам.
Однако в современных реалиях откат на старые версии платформ несет угрозу безопасности и стабильности работы СУБД. Вместо этого мы рекомендуем выполнить следующие действия:
%userprofile%\AppData\Local\1C\1Cv8 и %userprofile%\AppData\Roaming\1C\1Cv8 (перед этим обязательно закройте все сеансы 1С).Применяя данные подходы и соблюдая меры предосторожности при работе с поддержкой конфигурации, мы всегда сможем гарантировать стабильное и безопасное обновление любых информационных баз «1С:Предприятие 8».