Как настроить оперативное списание остатков в 1С:Розница 2.2 для синхронизации с сайтом?

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

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

Анализ механизма движений документа Чек ККМ

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

Когда кассир пробивает чек, товар фактически резервируется или списывается в оперативном учете. Но при выполнении операции Закрытие кассовой смены система удаляет движения всех чеков за день и формирует один сводный документ ОтчетОРозничныхПродажах. Если ваша система обмена настроена только на передачу этого отчета, то в течение дня УТ 11 или сайт не увидят изменений остатка, так как документ ЧекККМ обычно исключен из стандартного обмена EnterpriseData.

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

Решение 1: Прямая интеграция Розницы с сайтом (модуль Битрикс)

Проанализируем ситуацию, когда обмен идет по цепочке Розница -> УТ -> Сайт. Это "двойное плечо" значительно увеличивает задержку данных. Одним из наиболее эффективных решений является исключение промежуточного звена в виде УТ для части оперативных данных.

Многие пользователи ошибочно полагают, что в Рознице 2.2 нет модуля обмена с сайтом. На самом деле, для 1С:Розница существует отдельный официальный модуль от компании 1С-Битрикс. Рассмотрим шаги по его внедрению:

  1. Скачайте актуальный модуль интеграции с сайта разработчика CMS.
  2. Установите его как расширение или через объединение конфигураций (в зависимости от версии модуля).
  3. Настройте обмен в режиме Real-time. Модуль позволяет передавать данные о продажах и остатках напрямую на сайт, минуя механизмы Отчета о розничных продажах.

Такой подход позволяет сайту получать информацию о доступном остатке (Остаток на складе минус Резервы по заказам) практически мгновенно.

Решение 2: Использование РМК на стороне Управление торговлей 11

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

Однако этот метод требует постоянного и стабильного интернет-канала между магазином и сервером с УТ, так как работа будет вестись в единой базе.

Решение 3: Доработка обмена EnterpriseData

Если архитектура Розница — УТ — Сайт принципиальна, разберем, как изменить правила обмена. Стандартный обмен через формат EnterpriseData можно модифицировать, чтобы включить в него передачу документов ЧекККМ.

Посмотрим на пример логики, которую нужно реализовать в правилах выгрузки:


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

Внимание: При реализации этого метода необходимо крайне осторожно подойти к моменту закрытия смены в УТ. Чтобы остатки не списались дважды (один раз чеками, второй раз отчетом), в УТ должен быть настроен механизм автоматического сторнирования или удаления загруженных ранее чеков при получении Отчета о розничных продажах за этот же период.

Решение 4: Резервирование через Заказы покупателей

Проанализируем еще одну стратегию. В Рознице 2.2 существует функционал ЗаказПокупателя. Если ваша цель — актуальность остатков на сайте для предотвращения "перепродаж" (оверселлинга), мы можем использовать механизм резервирования:

  1. Сайт при получении заказа создает в Рознице документ ЗаказПокупателя.
  2. Этот документ сразу ставит товар в резерв (регистр ТоварыЗарезервированные).
  3. При расчете остатка для выгрузки на сайт используется формула: Доступно = СвободныйОстаток - Резерв.

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

Решение 5: Частое закрытие смены по расписанию

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

В 1С:Розница это можно автоматизировать через РегламентныеЗадания. Создадим задание, которое будет проверять наличие пробитых чеков и инициировать закрытие смены. Однако помните, что это потребует частой печати Z-отчетов на фискальном регистраторе и может быть неудобно для кассиров при сверке наличности.

Выводы и рекомендации

Мы проанализировали несколько путей решения проблемы оперативных остатков. Выбор зависит от ваших ресурсов и сложности ИТ-инфраструктуры:

Выясним причину выбора конкретного метода вместе с вашим системным администратором, учитывая стабильность связи и требования к актуальности данных (нужна ли задержка в 1 минуту или достаточно 15 минут).

← На главную