Как настроить самовывоз из розничных магазинов через интернет-магазин на Битриксе с помощью 1С:Розница?

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

Организация схемы Click & Collect (заказ на сайте с последующим самовывозом из розничной точки) — одна из самых востребованных задач в современной розничной торговле. Покупателю удобно выбрать товар онлайн, зарезервировать его и забрать в удобном магазине, а бизнесу это позволяет объединить онлайн- и офлайн-каналы продаж.

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

Анализ классической проблемы: нужна ли 1С:УТ в качестве посредника?

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

  1. Таймлаг (задержка) синхронизации. При цепочке «Сайт — УТ — Центральная Розница — Магазин» информация о резерве может идти до кассира до получаса. За это время розничный покупатель в торговом зале может физически забрать и оплатить на кассе последнюю единицу товара.
  2. Сложность поддержки. Настройка двустороннего обмена заказами между УТ и Розницей, не предусмотренного в некоторых типовых правилах в полном объеме, требует постоянного контроля и доработки правил конвертации данных.
  3. Проблема РМК. Пытаться заменить 1С:Розница на 1С:УТ непосредственно на рабочих местах кассиров (РМК) нецелесообразно: интерфейс продаж в УТ уступает Рознице по эргономике, возможностям работы с дисконтными картами и быстроте оформления возвратов без основания.

Поэтому наиболее эффективным решением является прямая интеграция 1С:Розница с 1С-Битрикс.

Революция в 1С:Розница 3.0: единая база с УНФ

Если ранее (в редакции 2.3 и ниже) встроенный модуль обмена с сайтом в 1С:Розница действительно имел ограниченный функционал, то с выходом 1С:Розница 3.0 ситуация кардинально изменилась. Современная Розница построена на единой кодовой базе с 1С:Управление нашей фирмой (УНФ).

Благодаря этому Розница 3.0 «из коробки» получила:

Решение проблемы с иерархией каталога товаров

Еще одно частое опасение — необходимость ломать структуру справочника Номенклатура в 1С под логику отображения товаров на сайте. Разберем по шагам, как решить эту проблему без изменения структуры папок в учетной системе:

  1. Использование свойств и дополнительных реквизитов. Вместо жесткой привязки к папкам мы можем присвоить товарам свойства, например, «Категория на сайте» или «Бренд». Модуль обмена Битрикса умеет группировать товары на сайте на основе этих значений.
  2. Настройка маппинга (сопоставления) в модуле обмена. В современных версиях интеграционных модулей можно настроить независимое дерево групп для выгрузки. Товары из разных папок 1С будут попадать в строго определенные разделы инфоблока Битрикс по заданным правилам.
  3. Виртуальный каталог на стороне CMS. Мы можем выгружать товары в «плоском» виде или в техническую структуру, а на стороне Битрикса распределять их по меню с помощью привязки к нескольким разделам.

Механика работы схемы «Самовывоз» (Склады и резервы)

Для корректной работы Click & Collect схема взаимодействия настраивается следующим образом:

Шаг 1. Настройка многоскладовости на сайте. В редакции «Битрикс: Бизнес» создаются склады, соответствующие розничным магазинам (складам в 1С). Из 1С выгружаются остатки в разрезе каждого магазина.

Шаг 2. Оформление заказа покупателем. Покупатель на сайте выбирает товар, видит его реальное наличие в конкретной точке и выбирает доставку «Самовывоз» из Магазина №1.

Шаг 3. Резервирование в 1С. Заказ моментально (в режиме реального времени) поступает в 1С:Розница. На стороне 1С создается документ Заказ покупателя, который автоматически резервирует товар на складе Магазина №1. Розничный кассир на кассе сразу видит, что свободный остаток уменьшился, и откладывает товар на специальную полку хранения интернет-заказов.

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


// Пример фиксации резерва под заказ с сайта в 1С:Розница 3.0 / УНФ
Процедура ЗарезервироватьТоварПодЗаказ(ДанныеСайта)
    
    НовыйЗаказ = Документы.ЗаказПокупателя.СоздатьДокумент();
    НовыйЗаказ.Дата = ТекущаяДата();
    НовыйЗаказ.Организация = Справочники.Организации.НайтиПоРеквизиту("ИНН", ДанныеСайта.ИНН);
    НовыйЗаказ.Покупатель = Справочники.Контрагенты.НайтиПоНаименованию("Розничный покупатель (Сайт)");
    
    // Определяем конкретный магазин-склад для самовывоза
    НовыйЗаказ.Склад = Справочники.СтруктурныеЕдиницы.НайтиПоНаименованию(ДанныеСайта.МагазинПолучения);
    
    Для Каждого ТоварИзЗаказа Из ДанныеСайта.Товары Цикл
        НоваяСтрока = НовыйЗаказ.Запасы.Добавить();
        НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(ТоварИзЗаказа.КодТовара);
        НоваяСтрока.Количество = ТоварИзЗаказа.Количество;
        НоваяСтрока.Цена = ТоварИзЗаказа.Цена;
        НоваяСтрока.Сумма = ТоварИзЗаказа.Количество * ТоварИзЗаказа.Цена;
        
        // Устанавливаем резерв на выбранном складе
        НоваяСтрока.Резерв = ТоварИзЗаказа.Количество; 
    КонецЦикла;
    
    Попытка
        НовыйЗаказ.Записать(РежимЗаписиДокумента.Проведение);
        Сообщить("Заказ успешно зарезервирован: " + НовыйЗаказ.Ссылка);
    Исключение
        Сообщить("Ошибка проведения резерва: " + ОписаниеОшибки());
    КонецПопытки;
    
КонецПроцедуры

Фискализация и требования 54-ФЗ

Особое внимание необходимо уделить моменту пробития кассовых чеков, так как закон строго регламентирует торговлю через интернет.

Вариант А: Оплата при получении в магазине.
Это наиболее простой сценарий. Покупатель оформляет заказ на сайте без онлайн-оплаты. Товар резервируется. При визите клиента кассир находит заказ в РМК 1С:Розница, принимает оплату наличными или картой через эквайринг и пробивает обычный чек с признаком расчета «Передача без оплаты» или «Полный расчет».

Вариант Б: Онлайн-оплата на сайте.
Если покупатель оплачивает заказ картой прямо на сайте, возникает необходимость пробития двух чеков:

  1. Первый чек (Предоплата 100%). Должен быть сформирован в течение 5 минут после совершения платежа. Для этого сайт подключается к облачному сервису фискализации (например, Атол.Онлайн), который автоматически отправляет чек покупателю на email/SMS.
  2. Второй чек (Полный расчет / Передача товара). Пробивается в момент выдачи покупки в розничной точке. Когда клиент приходит забирать оплаченный заказ, кассир открывает его в РМК. Система должна распознать, что заказ оплачен (информация поступает при синхронизации статусов оплаты с Битрикса). Кассир нажимает кнопку выдачи, и ККМ в магазине печатает чек с признаком «Полный расчет» и зачетом ранее полученной предоплаты, при этом повторного списания денег с покупателя не происходит.

Резюме

Для успешной реализации самовывоза не нужно перегружать ИТ-ландшафт дополнительными базами вроде 1С:УТ. Переход на современную версию 1С:Розница 3.0 и правильная настройка интеграции с 1С-Битрикс позволяют организовать бесшовный процесс резервирования остатков в режиме реального времени, исключить пересортицу и обеспечить полное соответствие требованиям законодательства по фискализации.

← На главную