При работе с распределенными информационными базами (РИБ) в конфигурации «1С:Розница 2.2» (особенно в версиях ветки 2.2.7) администраторы часто сталкиваются с критической ошибкой. При попытке создать начальный образ для нового магазина система генерирует базу, которая при первом запуске подставляет префикс и настройки совершенно другого, уже существующего узла. Это делает невозможным штатную синхронизацию данных и ломает логику учета по магазинам.
В данной статье мы подробно разберем, почему стандартный «Мастер настройки обмена» может давать сбои, как очистить скрытые настройки в центральной базе и рассмотрим альтернативные методы восстановления работы периферийного узла, если жесткий диск на кассе вышел из строя.
Проанализируем ситуацию: почему «1С:Розница» упорно подставляет старые данные в новый узел? Основная причина кроется в механизмах Библиотеки стандартных подсистем (БСП). Когда мы инициируем создание начального образа, система сохраняет часть параметров во внутренней константе. Если предыдущие попытки создания образа завершились с ошибкой или база обновлялась в процессе настройки обмена, данные в этой константе могут «зависнуть».
Выясним, какой объект отвечает за это поведение. Это константа НастройкаПодчиненногоУзлаРИБ. В ней хранится XML-пакет с настройками по умолчанию. При первом запуске периферийной базы (после разворачивания из образа) система считывает данные из этой константы и применяет их. Если там прописан префикс «Магазина №1», то даже если вы создавали образ для «Магазина №2», система принудительно переименует узел и заменит префикс на неверный.
Это самый быстрый и эффективный способ исправить работу штатного механизма. Рассмотрим алгоритм действий:
НастройкаПодчиненногоУзлаРИБ).Важный момент: выгруженный образ после этого станет корректным. При первом входе в периферийную базу система увидит, что настройки «по умолчанию» отсутствуют, и корректно инициализирует узел на основании тех данных, которые были заложены непосредственно в плане обмена при создании образа.
Если штатный механизм создания образа (через пункт «Создать начальный образ») продолжает выдавать ошибки или база слишком велика, разберем более надежный технический метод. Его часто называют «созданием узла из копии центральной базы».
Рассмотрим шаги реализации этого метода:
1Cv8.1CD или бэкап SQL).
ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
Планы обмена (например, «РИБ по магазинам»).
СсылкаНаЦентр = ПланыОбмена.ПоМагазинам.НайтиПоКоду("ЦБ"); // укажите ваш код центра
ПланыОбмена.УстановитьГлавныйУзел(СсылкаНаЦентр);
Этот метод позволяет избежать ошибок «Мастера настройки обмена», так как мы не создаем базу с нуля, а модифицируем существующую структуру.
Посмотрим на ситуацию, описанную в сообщениях форума: после создания образа при входе в базу постоянно открывается интерфейс РМК или Мастер настройки обмена, который выдает ошибку. Это происходит потому, что в базе не завершена процедура «Первого запуска».
Проанализируем, как это исправить:
СтатусыСценариевОбменаДанными. Возможно, там зависла запись о незавершенном процессе.Если вы уже создали базу, зашли в нее и обнаружили неверный префикс, просто поменять его в карточке узла недостаточно. Разберем, какие места нужно проверить дополнительно, чтобы файлы обмена начали именоваться правильно:
Message_ЦБ_М01.xml).Стоит отметить, что версия 2.2.7.40 имела ряд внутренних недоработок в механизме инициализации РИБ. Как отмечают участники обсуждения, обновление до версии 2.2.7.42 или выше часто решало проблему на уровне программного кода конфигурации. Если у вас есть возможность, рекомендуется сначала обновить конфигурацию центральной базы до актуального релиза ветки 2.2, а уже затем приступать к генерации начальных образов для касс и магазинов.
Используя предложенные методы — особенно очистку константы НастройкаПодчиненногоУзлаРИБ — вы сможете корректно восстановить работу магазина после сбоя оборудования без необходимости полной перенастройки обмена с нуля.