Как правильно обновлять LTS-версии 1С и можно ли использовать cf-файл для перехода?

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

При сопровождении крупных прикладных решений на платформе 1С, таких как 1С:ERP Управление предприятием, 1С:Комплексная автоматизация или 1С:Управление торговлей, специалисты часто сталкиваются с понятием LTS-версий. В данной статье мы разберем, что это такое, как безопасно обновлять систему и можно ли пренебрегать последовательной установкой обновлений .cfu, заменяя их на разовую накатку полного файла .cf.

Что такое LTS-версии в экосистеме 1С

Аббревиатура LTS (Long-Term Support) означает «длительную поддержку». Проанализируем, зачем это нужно фирме «1С» и конечным пользователям. Раньше новые функциональные версии выходили часто, и поддержка предыдущих прекращалась почти сразу. Это заставляло бизнес постоянно находиться в цикле непрерывного обновления, что дорого и рискованно.

LTS-версии решают эту проблему: они фиксируют определенный функциональный уровень системы и получают исправления ошибок и законодательные изменения в течение длительного времени (от года и более). Рассмотрим пример: ветка 2.5.17 является LTS. Это значит, что даже при выходе версии 2.5.19, релизы ветки 2.5.17 будут продолжать выходить, обеспечивая стабильность работы без необходимости внедрять новый функционал и менять настройки системы.

Можно ли обновляться через полный файл конфигурации .cf?

Разберем ситуацию, когда текущая версия 2.5.17.157, а целевая — 2.5.17.198. У программиста возникает соблазн не ставить несколько промежуточных обновлений .cfu, а просто загрузить 1cv8.cf последней версии. Выясним, почему это может быть опасно.

Техническая структура и обработчики:
Главная ценность обновления 1С — это не только изменение метаданных (новых справочников или реквизитов), но и запуск обработчиков обновления. Это программный код, который переносит данные из старых структур в новые (для отладки таких процессов пригодятся инструменты разработчика). Если мы обновляемся через .cf, мы меняем структуру таблиц в базе данных. Платформа при первом запуске в режиме «Предприятие» видит изменение версии и пытается запустить обработчики. Однако, если разрыв между версиями слишком велик (особенно между разными LTS-ветками), нужного кода для трансформации данных в новой конфигурации может просто не оказаться. Разработчики «1С» постепенно удаляют старые обработчики, чтобы не перегружать конфигурацию.

Проанализируем риски обновления через .cf:

  1. Потеря данных в регистрах: Метаданные обновились, но данные в новые колонки или таблицы не переехали.
  2. Рассинхрон остатков: Особенно критично для партионного учета и взаиморасчетов в КА 2.5 и ERP.
  3. Ошибки при закрытии месяца: Которые всплывут не сразу, а спустя недели работы (часто это связано с битыми запросами в доработанном коде).

Вывод: В пределах одной LTS-ветки (например, внутри 2.5.17.х) обновление через .cf обычно допустимо, так как состав метаданных в этих сборках идентичен или очень близок. Но при переходе между ветками (например, с 2.5.12 на 2.5.17) использование .cf категорически не рекомендуется без четкого понимания цепочки обработчиков.

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

Посмотрим на рекомендации вендора. Существуют обязательные «узлы» (рекомендованные сборки), через которые нельзя «перепрыгивать». Рассмотрим пример актуальной цепочки для Комплексной автоматизации:

  1. С версии 2.4.* переход на 2.4.12.109
  2. Далее на 2.4.14.181
  3. Переход на новую ветку 2.5.8.443
  4. Далее на 2.5.12.270 (предыдущий LTS)
  5. И наконец на 2.5.17.* (текущий LTS)

В каждой промежуточной точке рекомендуется брать именно последнюю доступную сборку этой ветки, так как в ней исправлено максимальное количество ошибок самих механизмов перехода.

Автоматизация процесса: использование «Обновлятора»

Если количество релизов, которые нужно пройти, велико (например, 20-30 штук), ручное обновление превращается в рутину. Рассмотрим вариант использования стороннего ПО, такого как «Обновлятор 1С». Проанализируем преимущества этого подхода:

Работа с расширениями и доработками при обновлении

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

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

Если же доработки выполнены непосредственно в основной конфигурации, использование .cfu становится еще более важным. Файл обновления .cfu содержит только изменения, что позволяет платформе более корректно объединить типичные объекты, сохраняя ваши правки. При накатке .cf вы фактически затираете свою конфигурацию поставщиком (если не использовать режим сравнения/объединения).

Алгоритм действий для безопасного перехода

Разберем по шагам, как действовать системному администратору или программисту:

  1. Анализ текущей версии: Проверяем номер релиза. Если он сильно отстает от актуального, составляем список LTS-узлов.
  2. Создание бэкапа: Никогда не начинаем процесс без полной копии базы данных и файлов конфигурации.
  3. Последовательная установка: Используем файлы .cfu. Если релизов мало (как в случае автора темы — всего 4 сборки внутри ветки), ставим их по очереди. Это займет на 30-40 минут больше времени, но гарантирует чистоту данных.
  4. Запуск обработчиков: После каждого обновления заходим в «Предприятие», открываем «Обслуживание» — «Результаты обновления программы». Убеждаемся, что все обработчики (в том числе отложенные) завершены успешно.
  5. Контроль расширений: Проверяем работоспособность ключевого функционала, вынесенного в расширения.

Таким образом, использование LTS-версий значительно упрощает жизнь, позволяя не бежать за каждым новым релизом, но требует строгого соблюдения технологической цепочки при переходе между крупными вехами развития программы.

← На главную