В практике администрирования 1С:Предприятие часто встречается ситуация, когда вы точно знаете о выходе нового обновления, скачали дистрибутив, установили его в папку шаблонов, но при попытке обновить конфигурацию программа сообщает, что «Доступных обновлений не обнаружено». Особенно остро эта проблема проявляется в линейках Зарплата и кадры государственного учреждения (ЗиКГУ) и Зарплата и управление персоналом (ЗУП) 3.1. Разберем детально, почему это происходит и как правильно восстановить механизм поддержки, чтобы база снова «видела» обновления.
Для начала проанализируем внутреннее устройство базы 1С, находящейся на поддержке. Внутри одного файла базы данных (или одной схемы в SQL) фактически сосуществуют три конфигурации:
.cfu.Выясним причину ошибки: если вы обновили основную конфигурацию через механизм «Сравнить и объединить с конфигурацией из файла», вы изменили программный код, но конфигурация поставщика осталась старой. Для системы база все еще имеет старый номер релиза, и она пытается найти обновление именно для него. Если в списке доступных переходов нового дистрибутива нет вашей старой версии, 1С просто проигнорирует обновление.
Рассмотрим, как убедиться в наличии проблемы. Многие ошибочно смотрят версию через меню «Справка — О программе». Однако там отображается версия основной конфигурации. Нам же нужно проверить конфигурацию поставщика. Выполним следующие шаги:
Если версия в этом окне (например, 3.1.7.61) отличается от той, что вы видите в окне «О программе» (например, 3.1.7.87), значит, поддержка «сломана». Система будет искать обновления для версии 3.1.7.61, которых в новых дистрибутивах может уже не быть.
Рассмотрим основной способ исправления. Нам необходимо принудительно обновить конфигурацию поставщика до актуального состояния. Для этого потребуется полный файл конфигурации (.cf), а не файл обновления (.cfu).
Важно: Перед выполнением любых действий обязательно создайте резервную копию базы данных!
Разберем по шагам алгоритм восстановления через полную конфигурацию:
.cf той версии, которая у вас сейчас фактически установлена (в нашем примере это 3.1.7.87).Посмотрим на ситуацию шире. Если версии совпадают, но обновления все равно не видны, проверим следующие моменты:
1. Соответствие платформы. Проанализируем требования релиза. В файле Readme.txt, который идет с каждым обновлением, указана минимальная версия платформы 1С:Предприятие. Если ваш движок ниже требуемого, конфигуратор проигнорирует дистрибутив. Проверить версию платформы можно программно или через меню «О программе»:
// Пример получения версии платформы в коде
ВерсияПлатформы = ИнформацияСистемы.ВерсияПриложения;
Сообщить("Текущая версия платформы: " + ВерсияПлатформы);
2. Очистка локального кэша. Иногда 1С «зависает» на старых путях к шаблонам. Попробуем очистить список путей. Для этого в окне выбора информационных баз нажмем «Настройка» и удалим/заново добавим каталог шаблонов (обычно AppData\Roaming\1C\1Cv8\tmplts).
3. Файл update.xml. Внутри каждой папки с обновлением есть файл update.xml. Откроем его блокнотом и найдем тег <v8u:from>. Там перечислены версии, с которых возможен переход. Если вашей текущей версии поставщика нет в этом списке, 1С не предложит это обновление.
Чтобы не попадать в подобную ситуацию, разберем, как правильно проводить обновление, если база находится на поддержке, но была изменена. Никогда не используйте простое объединение через Сравнить и объединить для накатывания релизов. Правильный путь всегда лежит через Конфигурация — Поддержка — Обновить конфигурацию.
В этом случае 1С не только обновляет ваш программный код, но и корректно инкрементирует версию конфигурации поставщика, сохраняя целостность структуры поддержки. Даже если база сильно доработана, этот механизм позволит вам видеть следующие «шаги» обновления в автоматическом режиме.
Таким образом, мы выяснили, что ключевая причина «невидимости» обновлений заключается в использовании неверных инструментов обновления. Используя правильный метод работы с конфигурацией поставщика и контролируя соответствие версий, вы обеспечите стабильную и прогнозируемую работу системы 1С:Предприятие.