Как обновить нетиповую конфигурацию 1С:Управление торговлей 10.3, если файл обновления не подходит?

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

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

Проанализируем причину отказа системы от обновления

Когда мы пытаемся применить файл .cfu, платформа 1С выполняет строгую проверку не только номера версии, но и внутренних идентификаторов (GUID) конфигурации поставщика. Рассмотрим основные причины, по которым это может не сработать:

  1. Конфликт нескольких поставщиков: В некоторых отраслевых или кастомизированных решениях база может стоять на поддержке сразу у нескольких разработчиков. Если один из них (например, «Визард») внес изменения в структуру метаданных, стандартный файл обновления от 1С может посчитать конфигурацию «чужой».
  2. Повреждение таблицы Config: При некорректных операциях снятия с поддержки или прошлых неудачных обновлениях в системных таблицах базы данных могут остаться записи, указывающие на несуществующие объекты поставщика.
  3. Расхождение GUID: Если конфигурация поставщика была загружена через «Сравнение и объединение» без корректной постановки на поддержку, её идентификатор может отличаться от того, который ожидает файл обновления .cfu.

Выясним, как проверить состояние поддержки. Зайдем в меню Конфигурация — Поддержка — Настройка поддержки. Если в списке вы видите более одной записи (например, УправлениеТорговлей и ВизардСервисы), это прямой сигнал к тому, что стандартное обновление может столкнуться с трудностями.

Разберем по шагам методику «чистой» постановки на поддержку

Если снятие стороннего поставщика с поддержки не помогает, проанализируем радикальный, но эффективный метод — восстановление «эталонной» связи с поставщиком. Для этого нам понадобится полный файл конфигурации (.cf) именно вашего текущего релиза (в нашем примере это 10.3.71.1).

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

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

После этих действий идентификаторы в вашей базе будут приведены к типовому виду, и файл .cfu должен «увидеть» базу.

Рассмотрим стратегию обновления «через прыжок» с помощью CF

Если вам нужно обновить конфигурацию с релиза 10.3.71.1 сразу до 10.3.88.3, последовательное накатывание десятков .cfu файлов — это нерациональная трата времени. Рассмотрим более эффективный метод сравнения с финальным релизом.

Проанализируем алгоритм работы:

  1. Подготовьте финальный .cf файл целевого релиза (например, 10.3.88.3).
  2. Выполните Сравнение и объединение вашей рабочей базы с этим файлом.
  3. В окне сравнения вы увидите все изменения за длительный период. Основная задача здесь — аккуратно перенести ваши доработки в новые модули 1С.
  4. Посмотрите на модули, где есть пересечения (ваши изменения и изменения поставщика). Используйте режим Текстовое сравнение для объединения кода.

Особое внимание уделим объектам, которые критичны для работы модуля ДиаДок. В свежих релизах 10.3 существенно изменились механизмы работы с электронными подписями и форматы выгрузки УПД. Проверьте следующие объекты:

Выясним причину необходимости обновления для ЭДО (ДиаДок)

Часто бухгалтерия требует обновления не «ради номера», а ради конкретных технических возможностей. В случае с ДиаДок и 1С:УТ 10.3, работа на старых релизах (ниже 80-х) практически невозможна по следующим причинам:

Во-первых, это форматы первичных документов. ФНС регулярно обновляет требования к XML-структуре счетов-фактур и УПД. В старых релизах 10.3 отсутствуют необходимые поля и теги, которые требует актуальный модуль ЭДО.

Во-вторых, это механизмы криптографии. Переход на использование актуальных библиотек (например, для работы с ГОСТ 2012) требует обновленного программного интерфейса в самой 1С.

Пример кода для проверки корректности версии

Иногда полезно программно проверить версию конфигурации перед запуском критических процедур. Рассмотрим пример функции, которую можно внедрить в обработку обновления:


Функция ПроверитьВозможностьОбновления()
    ТекущаяВерсия = Метаданные.Версия;
    МинимальноНеобходимая = "10.3.80.1";
    
    Если ОбщегоНазначения.СравнитьВерсии(ТекущаяВерсия, МинимальноНеобходимая) < 0 Тогда
        Сообщить("Внимание! Текущий релиз " + ТекущаяВерсия + " слишком стар для работы с ЭДО.");
        Возврат Ложь;
    КонецЕсли;
    
    Возврат Истина;
КонецФункции

Данный код использует метод СравнитьВерсии (если он есть в вашей конфигурации) или может быть заменен простым строковым сравнением. Это поможет избежать ошибок при попытке запустить модуль ДиаДок на неподдерживаемом релизе.

Подведем итоги

Проанализировав ситуацию, мы пришли к выводу, что основная сложность обновления нетиповой УТ 10.3 заключается в «замусоривании» заголовка конфигурации поставщика. Использование метода полной перезаписи поддержки через эталонный .cf файл решает проблему в 90% случаев. Помните, что для успешной работы современных сервисов, таких как маркировка «Честный Знак» или ЭДО, прыжок на актуальный релиз является обязательным техническим условием, а не просто формальностью.

← На главную