Обновление распределенной информационной базы (РИБ) в 1С:Розница 2 — задача всегда ответственная, а когда разрыв между текущим релизом и актуальным составляет несколько лет (например, с 2018 года по текущий момент), она становится критически сложной. В такой ситуации стандартный механизм обновления через обмен данными может давать сбои, приводить к «раздуванию» файлов обмена или потере данных. Рассмотрим подробнее, как минимизировать риски и выполнить процедуру максимально эффективно.
Разберем, почему нельзя просто нажать кнопку «Обновить» в центральной базе и ждать, пока всё «прилетит» на точки. Основная причина кроется в механизме работы РИБ. При обновлении конфигурации в центральном узле, система регистрирует изменения метаданных. Если обновлений много, объем этих изменений становится колоссальным. При первой же синхронизации периферийный узел попытается принять огромный файл (иногда измеряемый гигабайтами), что часто заканчивается ошибкой Недостаточно памяти или Ошибка десериализации.
Кроме того, 1С:Розница 2 за эти годы прошла путь трансформации из версии 2.2 в 2.3. Это не просто смена цифр, а изменение структуры регистров, логики работы с маркировкой и ЕГАИС. Проанализируем три основных стратегии решения этой задачи.
Этот метод считается самым «правильным» с точки зрения методологии 1С, но он и самый трудозатратный. Суть заключается в том, чтобы не прыгать через 20 релизов сразу, а двигаться короткими итерациями по 3–5 релизов. Выясним алгоритм действий:
Важный момент: Если вы пропустите выполнение обработчиков в узлах и накатите сверху следующее обновление конфигурации, данные в новых реквизитах могут не заполниться, что приведет к ошибкам в учете остатков и цен.
Проанализируем ситуацию: если каналы связи слабые, а базы на точках объемные, проще обновить конфигурацию локально в каждом магазине, минуя передачу тяжелых файлов через РИБ. Для этого используется временное снятие статуса периферийного узла. Рассмотрим, как это сделать программно.
В периферийной базе (внешней обработкой или через консоль кода) необходимо выполнить команду:
// Снимаем признак подчиненности узла
ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
После выполнения этого кода база становится автономной. Теперь мы можем:
.cf)..cf до того же релиза, что и в центре.
// УзелЦентр - это ссылка на узел, который является главным (офис)
УзелЦентр = ПланыОбмена.ПоМагазинам.НайтиПоКоду("000"); // Укажите код центрального узла
ПланыОбмена.УстановитьГлавныйУзел(УзелЦентр);
Преимущество метода: Вы не пересылаете изменения конфигурации по сети. Система при первом обмене сравнит конфигурации, поймет, что они идентичны (по хэш-сумме), и передаст только измененные данные (документы, справочники).
Если базы на точках небольшие, а настройки оборудования (ККТ, сканеры) не являются критически сложными, рассмотрим вариант пересоздания узлов. Это гарантирует отсутствие «мусора» в таблицах регистрации изменений.
.1cd).Внимание: При таком подходе важно сохранить настройки подключаемого оборудования. Посмотрим на нюанс: торговое оборудование привязано к Справочнику.РабочиеМеста по идентификатору компьютера. Если имя ПК и пользователя не изменится, Розница может «подхватить» старые настройки, но чаще их приходится перенастраивать вручную.
Выясним причину, по которой простое обновление может завершиться ошибкой. При переходе на версию 2.3 меняются требования к платформе. Перед началом процесса обязательно обновите платформу 1С:Предприятие на всех компьютерах до версии не ниже 8.3.21 (или актуальной на момент вашего обновления).
Также проанализируем работу с ЕГАИС и Маркировкой. В новых релизах используются другие форматы обмена с УТМ. После обновления обязательно проверьте настройки интеграции. Рассмотрим типичную проблему: после обновления РМК (рабочее место кассира) может не открываться из-за старого кэша. Обязательно очистите кэш программно или вручную в папке %AppData%\1C\1Cv8.
Посмотрим на техническую сторону передачи изменений. Как отметили эксперты, передача конфигурации через РИБ — это, по сути, полная замена объектов метаданных. Если вы решите обновлять базы вручную через файл .cf, убедитесь, что вы используете «Загрузку конфигурации из файла», а не «Сравнение/Объединение». Это обеспечит полную идентичность структуры конфигураций в центре и в узлах, что критически важно для функционирования РИБ.
Подведем итог: для надежного обновления Розницы 2 с 2018 года оптимальным является Способ 2 (отвязка узлов). Он позволяет избежать проблем с огромными XML-пакетами и дает возможность контролировать процесс обновления на каждом узле локально, сохраняя при этом все накопленные данные и настройки оборудования.