Что делать, если при обновлении 1С предлагает старые релизы или не видит новые: исправляем баг с downgrade

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

В процессе сопровождения сильно кастомизированных баз 1С:Предприятие программисты часто сталкиваются с парадоксальной ситуацией: в заголовке конфигурации указан актуальный релиз (например, 10.3.28.1), но при попытке стандартного обновления система либо не видит файлы обновлений, либо предлагает откатиться на глубоко архивные версии (например, 10.3.14.15). Разберем, почему возникает этот эффект «понижения версии» (downgrade), как продиагностировать состояние поддержки и правильно выровнять версии без потери доработок.

Выясняем причину: расхождение версий конфигураций

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

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

Ситуация, описанная в теме, возникает, когда предыдущие специалисты обновляли код основной конфигурации (например, через Сравнить, объединить), но не обновляли саму конфигурацию поставщика. В итоге основная конфигурация имеет версию 10.3.28.1, а конфигурация поставщика осталась на уровне 10.3.13.2. Механизм обновления видит версию 10.3.13.2 и предлагает логичное для него следующее обновление — 10.3.14.15.

Шаг 1: Проверка реальной версии поставщика

Проанализируем текущее состояние поддержки. Для этого выполним следующие действия:

  1. Откроем базу в режиме Конфигуратор.
  2. Перейдем в меню Конфигурация — Поддержка — Настройка поддержки.
  3. В открывшемся окне найдем строку с названием конфигурации (например, «УправлениеТорговлей»).
  4. Посмотрим на колонку Версия.

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

Шаг 2: Выравнивание версии через полный дистрибутив (.cf)

Поскольку разрыв между 10.3.13 и 10.3.28 слишком велик, использовать цепочку файлов обновлений .cfu долго и неэффективно. Рассмотрим более быстрый метод — использование полного файла конфигурации .cf нужного релиза.

Разберем по шагам алгоритм безопасного обновления метаданных поставщика:

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

После этой операции в «Настройке поддержки» версия изменится на 10.3.28.1, при этом ваш код останется нетронутым. Теперь система увидит обновления для 10.3.29.1 и выше.

Шаг 3: Альтернативный метод через снятие с поддержки

Если по каким-то причинам стандартное обновление конфигурации поставщика не срабатывает, проанализируем ситуацию с перепостановкой на поддержку:

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

Риски потери уникальных идентификаторов (UUID)

Выясним причину, по которой нужно быть осторожным при работе с «чужими» .cf файлами. Если ваша база изначально была создана не из официального шаблона, а путем копирования объектов вручную в пустую базу, то UUID объектов (справочников, документов) в вашей базе и в типовом .cf будут разными.

Что это значит на практике:

Если UUID не совпадают, 1С при попытке обновления решит, что старый объект (например, справочник Контрагенты) нужно удалить, а новый — создать. Это приведет к полной потере данных в таблице. Поэтому перед любыми манипуляциями обязательно делайте выгрузку базы (.dt).

Нюансы обновления для работы с кассами (54-ФЗ)

Поскольку автор темы планирует подключать кассовое оборудование, рассмотрим технические требования для УТ 10.3. Одной лишь коррекции версии поставщика может быть недостаточно. Выясним, что еще потребуется:

Итоги

Ситуация с «даунгрейдом» — это не баг платформы, а следствие некорректного ведения разработки. Выровняв версию поставщика через «пустое» объединение с полным .cf, вы вернете базе возможность видеть актуальные обновления ИТС и сможете продолжить тюнинг системы для работы с торговым оборудованием.

← На главную