При сопровождении крупных прикладных решений на платформе 1С, таких как 1С:ERP Управление предприятием, 1С:Комплексная автоматизация или 1С:Управление торговлей, специалисты часто сталкиваются с понятием LTS-версий. В данной статье мы разберем, что это такое, как безопасно обновлять систему и можно ли пренебрегать последовательной установкой обновлений .cfu, заменяя их на разовую накатку полного файла .cf.
Аббревиатура LTS (Long-Term Support) означает «длительную поддержку». Проанализируем, зачем это нужно фирме «1С» и конечным пользователям. Раньше новые функциональные версии выходили часто, и поддержка предыдущих прекращалась почти сразу. Это заставляло бизнес постоянно находиться в цикле непрерывного обновления, что дорого и рискованно.
LTS-версии решают эту проблему: они фиксируют определенный функциональный уровень системы и получают исправления ошибок и законодательные изменения в течение длительного времени (от года и более). Рассмотрим пример: ветка 2.5.17 является LTS. Это значит, что даже при выходе версии 2.5.19, релизы ветки 2.5.17 будут продолжать выходить, обеспечивая стабильность работы без необходимости внедрять новый функционал и менять настройки системы.
Разберем ситуацию, когда текущая версия 2.5.17.157, а целевая — 2.5.17.198. У программиста возникает соблазн не ставить несколько промежуточных обновлений .cfu, а просто загрузить 1cv8.cf последней версии. Выясним, почему это может быть опасно.
Техническая структура и обработчики:
Главная ценность обновления 1С — это не только изменение метаданных (новых справочников или реквизитов), но и запуск обработчиков обновления. Это программный код, который переносит данные из старых структур в новые (для отладки таких процессов пригодятся инструменты разработчика). Если мы обновляемся через .cf, мы меняем структуру таблиц в базе данных. Платформа при первом запуске в режиме «Предприятие» видит изменение версии и пытается запустить обработчики. Однако, если разрыв между версиями слишком велик (особенно между разными LTS-ветками), нужного кода для трансформации данных в новой конфигурации может просто не оказаться. Разработчики «1С» постепенно удаляют старые обработчики, чтобы не перегружать конфигурацию.
Проанализируем риски обновления через .cf:
КА 2.5 и ERP.Вывод: В пределах одной LTS-ветки (например, внутри 2.5.17.х) обновление через .cf обычно допустимо, так как состав метаданных в этих сборках идентичен или очень близок. Но при переходе между ветками (например, с 2.5.12 на 2.5.17) использование .cf категорически не рекомендуется без четкого понимания цепочки обработчиков.
Посмотрим на рекомендации вендора. Существуют обязательные «узлы» (рекомендованные сборки), через которые нельзя «перепрыгивать». Рассмотрим пример актуальной цепочки для Комплексной автоматизации:
2.4.* переход на 2.4.12.1092.4.14.1812.5.8.4432.5.12.270 (предыдущий LTS)2.5.17.* (текущий LTS)В каждой промежуточной точке рекомендуется брать именно последнюю доступную сборку этой ветки, так как в ней исправлено максимальное количество ошибок самих механизмов перехода.
Если количество релизов, которые нужно пройти, велико (например, 20-30 штук), ручное обновление превращается в рутину. Рассмотрим вариант использования стороннего ПО, такого как «Обновлятор 1С». Проанализируем преимущества этого подхода:
1cv8upd.htm..cfu, запускает базу в режиме «Предприятие», дожидается завершения отложенных обработчиков и переходит к следующему шагу.Рассмотрим ситуацию, когда в базе есть доработки. Проанализируем вопрос: нужно ли проверять применимость расширений на каждом промежуточном релизе?
Если вы используете расширения, которые подписываются на события записи регистров или меняют логику проведения документов, проверку лучше делать на каждом шаге. Выясним причину: если на промежуточном релизе 1С изменила структуру регистра, а ваше расширение «отвалилось», то штатный обработчик обновления может отработать некорректно или данные не попадут в ваши кастомные структуры, что вызовет рассинхрон.
Если же доработки выполнены непосредственно в основной конфигурации, использование .cfu становится еще более важным. Файл обновления .cfu содержит только изменения, что позволяет платформе более корректно объединить типичные объекты, сохраняя ваши правки. При накатке .cf вы фактически затираете свою конфигурацию поставщиком (если не использовать режим сравнения/объединения).
Разберем по шагам, как действовать системному администратору или программисту:
.cfu. Если релизов мало (как в случае автора темы — всего 4 сборки внутри ветки), ставим их по очереди. Это займет на 30-40 минут больше времени, но гарантирует чистоту данных.Таким образом, использование LTS-версий значительно упрощает жизнь, позволяя не бежать за каждым новым релизом, но требует строгого соблюдения технологической цепочки при переходе между крупными вехами развития программы.