При сопровождении систем на базе 1С часто возникает ситуация, когда конфигурация не обновлялась длительное время. В нашем случае мы рассматриваем переход в рамках 1С:Розницы с версии 2.2.8.24 на 2.2.9.22. Казалось бы, разница в цифрах невелика, но технически это означает пропуск 14 промежуточных релизов. Разберемся, почему простая кнопка "Обновить" в конфигураторе может стать фатальной ошибкой и как правильно организовать процесс на сервере.
Основная опасность при обновлении конфигурации «одним махом» заключается не в самой структуре метаданных, а в так называемых обработчиках обновления данных. Когда мы открываем обновленную базу в режиме 1С:Предприятие, система запускает программные скрипты, которые переносят данные из старых реквизитов в новые, пересчитывают остатки или изменяют логику хранения в регистрах.
Проанализируем ситуацию: между версиями 2.2.8 и 2.2.9 в 1С:Рознице произошли масштабные изменения, связанные с:
Если пропустить промежуточные релизы и не запускать базу в режиме 1С:Предприятие после каждого значимого этапа, цепочка этих скриптов может разорваться. В результате вы получите "битую" структуру данных, где информация в регистрах не соответствует новым требованиям программы.
Выясним, как минимизировать риски. Вместо того чтобы сразу ставить финальный целевой релиз, мы рекомендуем придерживаться следующей стратегии:
2.2.8.29).Проверить состояние обновления можно через программный интерфейс или в разделе Администрирование — Обслуживание — Результаты обновления. Рассмотрим пример кода, который часто используется в типовых решениях для отслеживания статуса обработки данных:
// Пример проверки завершения фоновых обработчиков (условно)
Результат = ОбновлениеИнформационнойБазы.ВсеОбновленияЗавершены();
Если Не Результат Тогда
Сообщить("Дождитесь окончания выполнения фоновых заданий обновления!");
КонецЕсли;
Ситуация осложняется выбором платформы. Рассмотрим плюсы и минусы популярных веток, исходя из опыта специалистов:
Ветка 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"
Важные моменты при настройке:
-regport 1641: Порт главного менеджера кластера.-port 1640: Порт агента сервера.-d: Путь к отдельному каталогу реестра кластера (не смешивайте его с данными старой платформы!).Подводя итог нашему анализу, можно сказать: обновление Розницы с 2.2.8 до 2.2.9 технически возможно в один шаг, но категорически не рекомендуется для "боевых" баз. Вы рискуете получить некорректные данные в регистрах ЕГАИС и ошибки при печати чеков по ФФД 1.05.
Правильная стратегия: Последовательное обновление (хотя бы по мажорным точкам) + Запуск Предприятия на каждой точке + Использование стабильных билдов платформы 8.3.20, если этого требуют другие конфигурации в вашей сети. Не забудьте обновить драйверы торгового оборудования после перехода, так как в Рознице 2.2.9 используется обновленная библиотека подключаемого оборудования (БПО).