Как выбрать между РИБ по магазину и РИБ по рабочему месту в 1С:Розница и исправить ошибки при настройке

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

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

Различия в логике миграции данных между РИБ по магазину и РИБ по РМ

Проанализируем сначала, почему выбор типа РИБ критически важен для бизнес-процессов. Главное различие заключается в объеме передаваемой информации. РИБ по магазину предназначен для обеспечения полной автономности торговой точки. В такой узел выгружаются практически все данные, относящиеся к конкретному магазину: складские остатки, документы поступления, перемещения, заказы поставщикам и, что особенно важно, документы РеализацияТоваровУслуг для работы с юридическими лицами.

В противовес этому, РИБ по рабочему месту — это максимально «легковесный» вариант, спроектированный исключительно для фронт-офиса (кассира). Основная цель РИБ по РМ — обеспечить пробитие чеков в условиях нестабильной связи. В данный тип узла не мигрируют:

  1. Документы оптовой торговли (Реализации).
  2. Данные о себестоимости и полные взаиморасчеты с контрагентами.
  3. Документы складского учета, не относящиеся напрямую к продажам на кассе.

Если в вашей торговой точке планируется не только розничная продажа, но и отгрузка товаров юрлицам со склада, использование РИБ по рабочему месту сделает такую работу невозможной, так как документы просто не будут передаваться в центральную базу или обратно. Выясним причину проблем с ценами: в РИБ по РМ цены часто привязаны к конкретной кассе и магазину в настройках. Если регистрация документа УстановкаЦенНоменклатуры не сработала для конкретного узла, кассир увидит пустые ценники.

Рекомендованная архитектура: Многоуровневый РИБ

Для крупных объектов с несколькими кассами и складом рассмотрим наиболее устойчивую схему, которую рекомендует вендор. Вместо того чтобы подключать каждую кассу напрямую к Центральной базе (ЦБ), целесообразно выстроить иерархию:

  1. Уровень 1: Центральная база (Офис).
  2. Уровень 2: РИБ по магазину (Сервер магазина). Здесь хранятся все данные по складу, принимаются поставки и оформляются оптовые продажи.
  3. Уровень 3: РИБ по рабочему месту (Кассовые узлы). Кассы обмениваются данными не с офисом, а с сервером магазина.

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

Решение ошибки «Транслитерация» при создании образа РИБ

Иногда при попытке создать второй узел РИБ для одного и того же магазина (например, когда требуется два полноценных рабочих места с типом «РИБ по магазину»), система выдает ошибку, связанную с транслитерацией. Проанализируем ситуацию: вы создаете образ, выгружаете его, но при первом запуске база выдает критическую ошибку в транзакции. Это часто связано с механизмами Библиотеки стандартных подсистем (БСП), которая пытается сформировать технические наименования или пути к файлам обмена.

Если автоматическая настройка через помощник создания РИБ завершается неудачей, выполним следующие шаги для «ручного» запуска узла:

  1. Запустим подчиненный узел и при возникновении ошибки настройки отменим выполнение помощника.
  2. Перейдем в раздел Администрирование — Синхронизация данных и проверим префикс информационной базы. Он должен быть уникальным и состоять только из латинских символов.
  3. Вручную установим признак завершения настройки. Для этого нам потребуется программно изменить значение константы НастройкаРИБЗавершена (название может незначительно отличаться в зависимости от версии БСП).
  4. Проверим регистрацию данных в узле. Посмотрим на состав отправляемых данных в мониторе синхронизации. Если там скопилось огромное количество объектов, которые вызывают сбой, стоит очистить состав отправки для первого «прогона».

Пример кода для ручного сброса состояния настройки в подчиненном узле через внешнюю обработку:


// Сброс признака незавершенной настройки для возможности ручной правки параметров
Константы.ПараметрыРаботыПрограммы.СоздатьМенеджерЗначения().УстановитьПо умолчанию();
Константы.НастройкаРИБЗавершена.Установить(Истина);
ПрефиксИБ = "М6"; // Укажите ваш уникальный префикс
Константы.ПрефиксИнформационнойБазы.Установить(ПрефиксИБ);

Технические нюансы синхронизации и ЕГАИС

Разберем ситуацию с УТМ (Универсальным транспортным модулем). Если УТМ установлен непосредственно на рабочем месте, где стоит РИБ по РМ, возникнет сложность с подтверждением ТТН. Документы поступления алкогольной продукции требуют полноценного складского учета, который в РИБ по РМ ограничен. В этом случае правильнее использовать РИБ по магазину, чтобы иметь доступ ко всей цепочке документов ЕГАИС: от приемки до списания или реализации.

Проанализируем также важность префиксов. При создании нескольких узлов для одного магазина (например, Р5 и Р6 для Магазина №5), убедитесь, что их префиксы не пересекаются и не являются вложенными друг в друга. 1С использует эти префиксы для именования файлов Message_XX_YY.xml. Если префиксы подобраны неудачно, система транслитерации БСП может давать сбои при генерации заголовков сообщений.

Подведем итог: если вам нужна только касса — выбирайте РИБ по РМ, но помните об ограничениях. Если на точке нужен полноценный учет и оптовые отгрузки — используйте РИБ по магазину. При возникновении ошибок инициализации не бойтесь использовать ручную корректировку констант и очистку очередей регистрации — это стандартная практика при работе со сложными распределенными системами на платформе 1С:Предприятие 8.3.

← На главную