Почему 1С не видит новые релизы и как восстановить поддержку конфигурации?

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом Сфера услуг, туризм и социальный сектор
← На главную

В практике администрирования 1С:Предприятие часто встречается ситуация, когда вы точно знаете о выходе нового обновления, скачали дистрибутив, установили его в папку шаблонов, но при попытке обновить конфигурацию программа сообщает, что «Доступных обновлений не обнаружено». Особенно остро эта проблема проявляется в линейках Зарплата и кадры государственного учреждения (ЗиКГУ) и Зарплата и управление персоналом (ЗУП) 3.1. Разберем детально, почему это происходит и как правильно восстановить механизм поддержки, чтобы база снова «видела» обновления.

Разберем теорию: три конфигурации в одной базе

Для начала проанализируем внутреннее устройство базы 1С, находящейся на поддержке. Внутри одного файла базы данных (или одной схемы в SQL) фактически сосуществуют три конфигурации:

  1. Основная конфигурация: это то, с чем работает пользователь. Именно её мы редактируем в режиме Конфигуратора.
  2. Конфигурация базы данных: это «скомпилированная» версия основной конфигурации. Она обновляется только после нажатия клавиши F7.
  3. Конфигурация поставщика: это эталонный, неизменяемый образ системы от фирмы 1С. Именно на версию этой конфигурации ориентируется программа, когда ищет файлы обновлений .cfu.

Выясним причину ошибки: если вы обновили основную конфигурацию через механизм «Сравнить и объединить с конфигурацией из файла», вы изменили программный код, но конфигурация поставщика осталась старой. Для системы база все еще имеет старый номер релиза, и она пытается найти обновление именно для него. Если в списке доступных переходов нового дистрибутива нет вашей старой версии, 1С просто проигнорирует обновление.

Проанализируем ситуацию: проверка версии поставщика

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

  1. Откроем Конфигуратор.
  2. Перейдем в меню Конфигурация — Поддержка — Настройка поддержки.
  3. В открывшемся окне в верхней части найдем строку с названием конфигурации и её версию.

Если версия в этом окне (например, 3.1.7.61) отличается от той, что вы видите в окне «О программе» (например, 3.1.7.87), значит, поддержка «сломана». Система будет искать обновления для версии 3.1.7.61, которых в новых дистрибутивах может уже не быть.

Решение проблемы: восстановление конфигурации поставщика

Рассмотрим основной способ исправления. Нам необходимо принудительно обновить конфигурацию поставщика до актуального состояния. Для этого потребуется полный файл конфигурации (.cf), а не файл обновления (.cfu).

Важно: Перед выполнением любых действий обязательно создайте резервную копию базы данных!

Разберем по шагам алгоритм восстановления через полную конфигурацию:

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

Дополнительные факторы: почему еще обновления могут быть не видны

Посмотрим на ситуацию шире. Если версии совпадают, но обновления все равно не видны, проверим следующие моменты:

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


// Пример получения версии платформы в коде
ВерсияПлатформы = ИнформацияСистемы.ВерсияПриложения;
Сообщить("Текущая версия платформы: " + ВерсияПлатформы);

2. Очистка локального кэша. Иногда 1С «зависает» на старых путях к шаблонам. Попробуем очистить список путей. Для этого в окне выбора информационных баз нажмем «Настройка» и удалим/заново добавим каталог шаблонов (обычно AppData\Roaming\1C\1Cv8\tmplts).

3. Файл update.xml. Внутри каждой папки с обновлением есть файл update.xml. Откроем его блокнотом и найдем тег <v8u:from>. Там перечислены версии, с которых возможен переход. Если вашей текущей версии поставщика нет в этом списке, 1С не предложит это обновление.

Рассмотрим правильный метод обновления в будущем

Чтобы не попадать в подобную ситуацию, разберем, как правильно проводить обновление, если база находится на поддержке, но была изменена. Никогда не используйте простое объединение через Сравнить и объединить для накатывания релизов. Правильный путь всегда лежит через Конфигурация — Поддержка — Обновить конфигурацию.

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

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

← На главную