Как в 1С:Розница отключить обмен чеками и скрыть остатки других магазинов в РИБ

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

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

Настройка отображения остатков других магазинов в РМК

Одной из наиболее частых жалоб является отображение остатков по всем складам сети при поиске товара в РМК. Разберем, как это отключить штатными средствами, не прибегая к сложному программированию.

Во-первых, проанализируем функциональные опции системы. В разделе Администрирование — Настройки номенклатуры — Дополнительная информация присутствует флаг Информативные остатки по магазинам. Если мы снимем эту галочку, система перестанет использовать механизм хранения и актуализации данных об остатках других узлов. Это самый быстрый и корректный способ отключения функции на уровне всей базы.

Во-вторых, если функционал нужен в одних магазинах, но мешает в других, мы можем настроить само рабочее место. Перейдем в раздел Продажи — Настройки РМК. В профиле настроек найдем флаг Отображать остатки по магазинам. Его отключение скроет информацию из интерфейса поиска, даже если данные физически присутствуют в базе.

Однако простого отключения настроек недостаточно, если база уже заполнена данными. Ранее накопленные записи в регистрах никуда не исчезнут сами собой. Выясним причину их сохранения: они хранятся в специальном регистре сведений. Чтобы полностью очистить базу от «чужих» остатков, нам необходимо очистить регистр ИнформативныеОстаткиТоваровПоМагазинам. Для этого можно использовать консоль кода или внешнюю обработку со следующим фрагментом:


НаборЗаписей = РегистрыСведений.ИнформативныеОстаткиТоваровПоМагазинам.СоздатьНаборЗаписей();
НаборЗаписей.Записать();

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

Отключение обмена чеками ККМ

Перейдем ко второму важному вопросу — остановке обмена документами Чек ККМ. Многие администраторы стремятся исключить их из обмена, чтобы облегчить трафик, так как основные данные о продажах все равно попадают в центральный узел через документ Отчет о розничных продажах (ОРП) после закрытия смены.

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

  1. Откроем настройки синхронизации данных и перейдем в Параметры обмена.
  2. Найдем пункт Правила регистрации объектов.
  3. Выгрузим текущие правила в XML-файл на диск.
  4. Для редактирования нам понадобится конфигурация Конвертация данных 2.1 (КД). Загрузим в нее наш файл правил.
  5. В дереве объектов найдем Документ.ЧекККМ и установим для него способ регистрации «Отключена» или настроим фильтрацию по определенным условиям.
  6. Сохраним изменения и загрузим правила обратно в «1С:Розница».

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

Альтернативный способ через Конфигуратор

Если вы не хотите использовать «Конвертацию данных», существует более простой, но радикальный способ. Мы можем изменить состав плана обмена непосредственно в конфигураторе. Найдем план обмена ПоМагазинам, перейдем на вкладку Состав, выберем Документ.ЧекККМ и установим значение Авторегистрация в положение Запретить. После этого новые чеки перестанут автоматически помечаться к отправке.

Однако стоит учитывать последствия: если вы отключите передачу чеков, в центральном офисе вы потеряете возможность оперативного контроля продаж в режиме «онлайн» до момента закрытия смены в магазине. Проанализируем ситуацию: возможно, вам будет достаточно включить типовую настройку Удалять чеки ККМ после закрытия смены. В этом случае чеки будут автоматически архивироваться и удаляться из базы узла, а в центр уйдет только итоговый отчет (ОРП), что также решит проблему объема данных без вмешательства в логику обмена.

Очистка очереди регистрации (обязательный шаг)

Многие специалисты совершают ошибку: меняют правила регистрации, но видят, что чеки все равно продолжают передаваться. Проанализируем, почему это происходит. Дело в том, что старые чеки уже были зарегистрированы в системе до изменения правил и «висят» в очереди на отправку в таблице регистрации изменений.

Чтобы окончательно остановить процесс, выполним следующие шаги:

  1. Воспользуемся типовой обработкой Регистрация изменений для обмена данными (она доступна через параметры синхронизации).
  2. Выберем узел, для которого мы настраиваем обмен.
  3. Найдем в списке объект Чек ККМ.
  4. Нажмем правой кнопкой мыши и выберем пункт Отменить регистрацию всех объектов данного типа.

Только после очистки очереди новые правила регистрации вступят в полную силу, и обмен станет «чистым».

Резюме и рекомендации

Мы рассмотрели комплексный подход к оптимизации РИБ в «1С:Розница». Подведем итог: для скрытия остатков используем Функциональные опции и очистку регистра ИнформативныеОстаткиТоваровПоМагазинам. Для остановки передачи чеков корректируем Правила регистрации объектов через КД2 или отключаем Авторегистрацию в плане обмена, не забывая про очистку накопленной очереди через стандартную обработку.

Важное предостережение: использование RLS (ограничение доступа на уровне записей) для этих целей крайне не рекомендуется. Это создаст избыточную нагрузку на сервер и существенно замедлит работу кассиров в РМК при поиске товаров. Лучшим решением всегда является фильтрация данных на этапе их попадания в базу (через правила обмена), а не ограничение прав на уже имеющиеся данные.

← На главную