Как выровнять остатки в 1С:Розница 2.2 при обмене с УТ 11.4 и избежать их зацикливания?

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

При совместном использовании конфигураций «1С:Управление торговлей 11» (УТ) и «1С:Розница 2» пользователи часто сталкиваются с логическим конфликтом. В типовой архитектуре 1С предполагается, что Розница — это «фронт-офис», где происходит продажа, а УТ — «бэк-офис», где ведется общий учет. Проблема заключается в том, что типовой обмен по протоколу Enterprise Data настроен на одностороннее движение документов продажи: из Розницы в УТ. Если же часть продаж или списаний происходит в УТ, остатки в Рознице начинают бесконтрольно расти, а их ручная корректировка в Рознице приводит к «затовариванию» или неверным остаткам в УТ из-за обратной синхронизации.

Рассмотрим подробнее причины этой проблемы и разберем по шагам несколько эффективных способов её решения.

Почему остатки в «Рознице» не уменьшаются при продажах в УТ?

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

Способ 1. Использование механизмов совмещения налоговых режимов в УТ 11

Прежде чем приступать к сложным техническим доработкам обмена, выясним причину перехода на «Розницу». Часто пользователи переходят на неё ради возможности разделения чеков по разным системам налогообложения (например, УСН и Патент) на одном рабочем месте.

Важно понимать, что современная УТ 11.4/11.5 прекрасно справляется с этой задачей. Проанализируем настройки организации:

  1. Перейдем в раздел НСИ и администрирование — Организации.
  2. В карточке организации на закладке Учетная политика проверим возможность совмещения налоговых режимов.
  3. Настроим Распределение продаж (вкладка в настройках организации или учетной политике), где можно указать, какая номенклатура или группы номенклатуры относятся к определенной системе налогообложения.

Если остаться в УТ 11, проблема с остатками исчезнет, так как база будет единой, а чеки на ККМ будут пробиваться с корректным признаком СНО автоматически.

Способ 2. Корректировка остатков в «Рознице» с блокировкой регистрации

Если использование обеих баз неизбежно, нам нужно выровнять остатки в «Рознице», не испортив при этом учет в «Управлении торговлей». Если мы просто создадим документ Списание товаров в Рознице, он по обмену уйдет в УТ и спишет товар повторно.

Разберем, как выполнить «тихое» списание:

  1. В конфигурации «Розница» создаем документ Пересчет товаров (инвентаризация), чтобы зафиксировать реальные остатки.
  2. После проведения инвентаризации и создания документов списания/оприходования, необходимо предотвратить их попадание в план обмена.
  3. Для этого воспользуемся обработкой «Регистрация изменений для обмена данными» (её можно найти через «Все функции» или «Функции для технического специалиста»).
  4. Находим узел обмена с УТ, разворачиваем список зарегистрированных объектов и принудительно удаляем регистрацию для созданных документов списания.

Таким образом, остатки в Рознице станут актуальными, а в УТ ничего не изменится.

Способ 3. Настройка фильтрации на узле обмена

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

Рассмотрим пример кода, который можно использовать в процедуре ПередЗаписью или в специализированных модулях обмена для исключения определенных документов из миграции:


// Пример логики для исключения документа из обмена
Если ЭтотОбъект.ДополнительныеСвойства.Свойство("ОтказВыгрузкиВУТ") Тогда
    ПланыОбмена.УдалитьРегистрациюИзменений(УзелОбменаУТ, ЭтотОбъект.Ссылка);
КонецЕсли;

Также в настройках самой синхронизации (в Рознице) можно установить Дату запрета загрузки данных или Фильтр по складам, чтобы документы, созданные для внутренних нужд магазина, не покидали пределы базы.

Способ 4. Создание виртуального склада для списаний

Проанализируем ситуацию: нам нужно, чтобы в Рознице остатки уменьшались, а в УТ — нет. Мы можем создать в Рознице отдельный «Виртуальный склад для корректировок».

  1. Делаем перемещение товаров с основного склада на виртуальный в Рознице.
  2. На основном складе остаток уменьшается до актуального.
  3. В настройках синхронизации в Рознице (раздел Параметры синхронизации данных — Настройки состава отправляемых данных) исключаем этот виртуальный склад из обмена.

В результате все движения по этому складу будут «невидимы» для УТ 11.

Способ 5. Доработка правил Enterprise Data

Это самый сложный, но наиболее автоматизированный метод. Мы можем изменить логику формата Enterprise Data через расширение конфигурации. Цель — разрешить выгрузку документа Реализация товаров и услуг из УТ в Розницу. При этом в Рознице этот документ должен преобразовываться либо в аналогичную реализацию, либо в документ Списание товаров с соответствующей причиной.

Для реализации этого метода необходимо:

Важный момент: при такой схеме нужно быть крайне осторожными, чтобы не возникло «кольцевого» обмена, когда документ, созданный в УТ, улетает в Розницу, там модифицируется и пытается вернуться обратно в УТ. Всегда используйте проверку ОбменДанными.Загрузка = Ложь в обработчиках событий.

Резюме

Выбор метода зависит от ваших ресурсов. Самый стабильный вариант — максимально использовать функционал УТ 11 для печати чеков, минимизируя роль Розницы до простого кассового терминала без ведения там полноценного товарного учета. Если же Розница необходима как складская база, используйте фильтрацию регистрации объектов или виртуальные склады, чтобы рассинхрон остатков не превращался в снежный ком.

← На главную