В процессе сопровождения информационных баз на платформе 1С:Предприятие 8.3 программисты часто сталкиваются с парадоксальной ситуацией: на сайте поддержки 1С вышли новые релизы, вы скачали их в каталог шаблонов, но при попытке выполнить обновление система сообщает, что доступных обновлений не обнаружено. Или, что еще более странно, предлагает обновиться на тот же самый релиз, который уже установлен, а при попытке сделать это выдает ошибку: «Файл не содержит обновлений».
В этой статье мы подробно разберем, почему так происходит, проанализируем внутренние механизмы работы конфигурации поставщика и выясним, как восстановить корректную цепочку обновлений, сохранив при этом все ваши доработки.
Прежде всего, давайте выясним причину. Когда мы открываем окно «Настройка поддержки», мы видим номер версии конфигурации. Однако для системы этот номер — всего лишь текстовая строка. Для корректного поиска обновлений 1С использует скрытые внутренние идентификаторы (GUID). Если база ранее обновлялась некорректно (например, через команду Загрузить конфигурацию из файла вместо Сравнить и объединить), или если база была создана путем переноса данных с частичным изменением метаданных, эти идентификаторы могут «разойтись».
Проанализируем основные сценарии, приводящие к проблеме:
.cfu) — это «разностные» файлы. Они содержат только изменения между конкретными версиями. Если система не может однозначно определить текущую версию поставщика, она не понимает, какую именно «разность» из файла .cfu нужно применить.8.3.11.2899), она может не поддерживать современные протоколы безопасности при обращении к серверам downloads.v8.1c.ru, из-за чего автоматический поиск через интернет просто не выдает результат.Если поиск через каталог шаблонов не видит обновлений .cfu, самым надежным способом будет использование полного дистрибутива конфигурации (файл .cf). Рассмотрим, как это сделать правильно, чтобы не потерять внесенные изменения.
Рассмотрим по шагам алгоритм «лечения» конфигурации:
1cv8.cf..cf файлу.Важный момент: Если даже при выборе полного .cf файла система говорит, что файл не содержит обновлений, это означает, что цепочка поддержки окончательно разорвана. В этом случае нам поможет «силовой» метод восстановления через объединение.
Когда визуально все кажется верным, но обновления не видны, нам нужно заставить систему обновить именно внутренний объект КонфигурацияПоставщика. Разберем, как это сделать с минимальным риском.
Выполним следующие действия:
.dt) или создадим копию..cf текущего релиза (того же самого, на котором мы сейчас находимся).После этой процедуры штатный поиск обновлений (через .cfu или интернет) должен заработать автоматически, так как внутренние идентификаторы базы теперь соответствуют типовым.
Если ваша конфигурация была сильно доработана и стандартные методы не помогают, применим метод переноса доработок в чистую среду. Это гарантирует избавление от «призраков» старых конфигураций в таблицах Config и ConfigCAS.
Рассмотрим последовательность действий:
.cf из этой новой базы и загружаем его в рабочую через Конфигурация — Загрузить конфигурацию из файла.Проанализируем ситуацию: почему это помогает? При загрузке через Загрузить конфигурацию из файла (не путать со сравнением!), 1С полностью перезаписывает структуру метаданных, включая таблицы поддержки, что устраняет любые логические ошибки в структуре базы.
Иногда проблема кроется не в самой базе, а в окружении. Не забудем про стандартные процедуры обслуживания:
1C:Enterprise Server и удалите содержимое папки snccntx в каталоге описания базы в srvinfo. Это удалит временные снимки конфигураций, которые могут мешать поиску обновлений.ТиИ с галочкой «Проверка логической целостности конфигурации». Система может найти ошибки в служебных таблицах, которые блокируют механизм обновления.1C вместо 1С кириллицей), автоматический поиск не сработает.Выясним причину ошибки «Файл не содержит обновлений» более детально. Она часто возникает, когда вы пытаетесь применить .cfu к базе, которая уже была обновлена «наполовину». В таблице Config версия уже изменилась, а в таблице конфигурации поставщика — еще нет. В этом случае использование полного .cf файла является единственным верным решением.
Подведем итог: если ваша конфигурация «не видит» релизы, не паникуйте. Сначала попробуйте обновиться через полный .cf. Если не помогает — переподключите конфигурацию поставщика через сравнение/объединение с типовым файлом того же релиза, на котором вы находитесь. Эти действия «выровняют» внутренние идентификаторы и позволят вам снова использовать удобный штатный механизм обновлений.