Как правильно обновить 1С:Розница при пропуске большого количества релизов и какую платформу выбрать?

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

При сопровождении систем на базе 1С часто возникает ситуация, когда конфигурация не обновлялась длительное время. В нашем случае мы рассматриваем переход в рамках 1С:Розницы с версии 2.2.8.24 на 2.2.9.22. Казалось бы, разница в цифрах невелика, но технически это означает пропуск 14 промежуточных релизов. Разберемся, почему простая кнопка "Обновить" в конфигураторе может стать фатальной ошибкой и как правильно организовать процесс на сервере.

Анализируем риски «прыжка» через релизы

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

Проанализируем ситуацию: между версиями 2.2.8 и 2.2.9 в 1С:Рознице произошли масштабные изменения, связанные с:

  1. ЕГАИС 3.0: Переход на помарочный учет и изменение форматов обмена.
  2. ФФД 1.05: Поддержка новых форматов фискальных данных, что критично для торгового оборудования.
  3. БПО (Библиотека подключаемого оборудования): Обновление драйверов и механизмов взаимодействия с кассами.

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

Пошаговый алгоритм безопасного обновления

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

  1. Создание полной копии: Перед любыми манипуляциями на сервере обязательно создаем бэкап базы и тестируем процесс на копии.
  2. Определение ключевых точек: Найдите последний стабильный релиз в текущей ветке (например, 2.2.8.29).
  3. Промежуточное обновление: Обновите конфигурацию до этой промежуточной точки.
  4. Запуск «Предприятия»: Это критический шаг. Нужно зайти в базу под пользователем с правами администратора и дождаться завершения всех фоновых процедур обновления.

Проверить состояние обновления можно через программный интерфейс или в разделе Администрирование — Обслуживание — Результаты обновления. Рассмотрим пример кода, который часто используется в типовых решениях для отслеживания статуса обработки данных:


// Пример проверки завершения фоновых обработчиков (условно)
Результат = ОбновлениеИнформационнойБазы.ВсеОбновленияЗавершены();
Если Не Результат Тогда
    Сообщить("Дождитесь окончания выполнения фоновых заданий обновления!");
КонецЕсли;

Выбор версии платформы: 8.3.18 против 8.3.20

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

Ветка 8.3.18: Долгое время считалась наиболее стабильной (LTS-версия). Она идеально подходит для Розницы 2.2, так как не требует избыточных ресурсов. Однако современные конфигурации (например, последние релизы УТ или БП) уже начинают выдавать предупреждения о необходимости более высокой версии платформы для корректной работы с расширениями.

Ветка 8.3.20: Более современная платформа. В ней оптимизирована работа с памятью и улучшена стабильность кластера серверов. Но стоит помнить, что ранние релизы этой ветки имели проблемы с утечками памяти при работе с фоновыми заданиями. Если вы решили переходить на 20-ку, выбирайте наиболее поздние исправления (например, 8.3.20.2108 и выше).

Рекомендация: Если ваша Розница 2.2 работает в связке с другими базами (УТ 11, Бухгалтерия), которые требуют 20-ю платформу, ставьте её. Но перед этим обязательно проверьте работу торгового оборудования (сканеры, ККТ), так как драйверы могут вести себя иначе на новой платформе.

Решение проблемы параллельной установки платформ

Часто системные администраторы боятся ставить несколько платформ на один сервер, предпочитая создавать новые виртуальные машины. Рассмотрим, как сделать это "по-человечески" на одном сервере, используя разные порты. Это позволит вам держать рабочую базу на проверенной платформе, а тестовую — на новой.

Для запуска второй службы агента 1С на другом порту (например, 1640 вместо 1540) можно воспользоваться командой sc create. Проанализируем пример команды для создания службы:


sc create "1C:Enterprise 8.3.20 Server" binPath= "\"C:\Program Files\1cv8\8.3.20.2108\bin\ragent.exe\" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d \"C:\1C_Data\Cluster_20\"" start= auto displayname= "1C:Enterprise 8.3.20 Server"

Важные моменты при настройке:

Выводы и краткий итог

Подводя итог нашему анализу, можно сказать: обновление Розницы с 2.2.8 до 2.2.9 технически возможно в один шаг, но категорически не рекомендуется для "боевых" баз. Вы рискуете получить некорректные данные в регистрах ЕГАИС и ошибки при печати чеков по ФФД 1.05.

Правильная стратегия: Последовательное обновление (хотя бы по мажорным точкам) + Запуск Предприятия на каждой точке + Использование стабильных билдов платформы 8.3.20, если этого требуют другие конфигурации в вашей сети. Не забудьте обновить драйверы торгового оборудования после перехода, так как в Рознице 2.2.9 используется обновленная библиотека подключаемого оборудования (БПО).

← На главную