ФиксИнтернет-магазин на 1С-Битрикс под ключ за 30 дней по фиксированной цене

Особенности разработки интернет-магазина продуктов питания (e-grocery)

Разработка интернет-магазина продуктов питания (e-grocery) на 1С-Битрикс

Клиент заказал 300 грамм сыра и полкило помидоров к ужину на сегодня, к 19:00. Пока курьер едет, сыр на складе закончился, помидоры оказались по 480 грамм в упаковке, а слот на вечер уже переполнен. Обычный интернет-магазин на таких вводных ломается — а для продуктового это будни. E-grocery живёт в мире веса, сроков годности, слотов и замен, которых нет у магазина электроники или одежды.

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

Коротко

  • E-grocery — это весовой товар, сроки годности, слоты доставки и замены, которых нет у обычного магазина.
  • Наличие и цены должны обновляться почти в реальном времени, иначе продаётся отсутствующее и списанное.
  • Слоты доставки имеют конечную вместимость — это отдельная логика планирования сборки и курьеров.
  • 1С-Битрикс подходит: дробное количество, единицы измерения и обмен с 1С расширяются под специфику продуктов.

Чем e-grocery сложнее обычного магазина

На первый взгляд продуктовый магазин — тот же каталог и корзина. Но под капотом почти каждый привычный механизм работает иначе. Товар скоропортящийся, поэтому наличие и сроки годности критичны. Часть позиций весовая — количество дробное, а итоговая сумма известна только после сборки. Доставка привязана ко времени: свежее нельзя оставить у двери.

Добавьте огромный, быстро меняющийся ассортимент, частые повторные покупки и пиковые нагрузки в вечерние часы — и получится, что e-grocery сложнее классического e-commerce почти по всем осям. Именно поэтому продуктовый магазин нельзя собрать «как обычный» и надеяться, что специфика решится сама. Каждую особенность закладывают в архитектуру заранее.

Весовой товар и кратность

Ключевая особенность продуктов — весовой товар. Сыр, овощи, мясо продаются на развес, и обычная модель «штука = единица» тут не работает. В 1С-Битрикс это решают через дробное количество и единицы измерения торгового каталога: цена задаётся за килограмм, а покупатель выбирает вес.

Именно поддержка дробного количества и последующей коррекции суммы отличает продуктовую корзину от обычной. Без неё клиент увидит одну сумму при заказе и другую при оплате — источник недовольства.

Специфика ниши формирует магазин Ниша магазинасвоя спецификаКаталогсвойства, единицыЛогистикагабариты, срокиЮр. нюансымаркировка, 18+Магазинпод нишу
Схема: у каждой ниши своя специфика — свойства и единицы товара, габариты и сроки доставки, требования к маркировке. Магазин проектируется под эти особенности, а не по шаблону.

Сроки годности и партионный учёт

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

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

Наличие в реальном времени

Обычный магазин переживёт обмен остатками раз в сутки. Для e-grocery это катастрофа: скоропортящиеся позиции расходятся за часы, и вчерашние остатки означают продажу того, чего уже нет. Поэтому наличие обновляется часто или запрашивается онлайн, а к моменту сборки заказанное должно реально лежать на полке.

Хорошая практика — показывать наличие в разрезе конкретного магазина или даркстора, откуда собирают заказ клиента, и учитывать резервы под уже оформленные заказы на выбранный слот. Тогда система не «продаёт» одну и ту же последнюю пачку двум покупателям. Чем актуальнее остатки, тем меньше замен и разочарований — это прямой фактор удержания клиента.

Слоты доставки и их вместимость

Продукты нельзя оставить у двери — клиент должен быть дома, поэтому доставка привязана к временным интервалам (слотам). Клиент выбирает «сегодня 18:00–20:00», и это принципиально отличает e-grocery от магазина, где доставка «в течение 3 дней».

Главная сложность — вместимость слота. На каждый интервал доступно конечное число заказов, зависящее от количества сборщиков и курьеров. Когда слот заполнен, его нужно закрывать, а клиенту предлагать другой. Это отдельная логика планирования:

  1. Расчёт вместимости. Сколько заказов реально собрать и развезти в интервал с учётом ресурсов.
  2. Резервирование при оформлении. Клиент, выбравший слот, занимает место — оно уменьшает доступность для других.
  3. Закрытие заполненных слотов. Переполненные интервалы скрываются, чтобы не набрать невыполнимых заказов.
  4. Зоны доставки. Разные районы обслуживаются разными слотами и складами.

Эту логику добавляют поверх стандартного оформления заказа Битрикс. Она тесно связана с наличием и остатками, поэтому её проектируют вместе с обменом — как единый механизм, а не отдельные модули.

Замены товаров на сборке

Даже при хорошем учёте часть заказанного может закончиться к моменту сборки. В e-grocery это норма, и на этот случай нужна логика замен. Клиент заранее решает, согласен ли он на замену и какую именно:

Стратегия заменыЧто делает сборщикЧто видит клиент
Согласен на аналогПодбирает похожий товарУведомление о замене и новой сумме
Только тот же брендИщет замену того же производителяПодтверждение при отличии цены
Без заменИсключает позицию из заказаВозврат стоимости позиции
По согласованиюСвязывается с клиентомРешение в чате/звонке при сборке

Замены требуют возможности редактировать состав заказа после оформления и пересчитывать сумму: вес и цена заменителя отличаются. Клиента обязательно уведомляют об изменениях. Это сложная механика, но без неё продуктовый магазин упирается в постоянные отмены. Логика редактирования заказа и обмена с 1С здесь пересекается с темой REST и вебхуков в Битрикс.

Каталог продуктов и умный фильтр

Продуктовый каталог большой, быстро меняется и требует богатых свойств. Покупатель ищет не «товар», а «безлактозное молоко до 200 ккал без сахара», поэтому умный фильтр (компонент catalog.smart.filter) по нутриентам и признакам критичен.

Богатые свойства и большой ассортимент нагружают каталог, поэтому фильтр и выдачу оптимизируют кэшированием и аккуратной индексацией свойств инфоблоков. Иначе на пике каталог начинает тормозить именно тогда, когда идёт основной трафик.

Повторные заказы и списки покупок

Продукты покупают регулярно и во многом одно и то же — это отличает e-grocery от разовых покупок. Значит, ценность повторного заказа огромна: механизмы, которые ускоряют рутинную закупку, прямо влияют на удержание и частоту покупок.

Что стоит заложить: быстрый повтор прошлого заказа одним действием, сохранённые списки покупок («на неделю», «завтрак»), избранное и историю. Клиент, у которого корзина собирается за минуту из привычного списка, возвращается чаще. Эти сценарии живут в личном кабинете и связаны с историей заказов из 1С — их удобно проектировать вместе с общей автоматизацией на 1С.

Обмен с 1С для скоропорта

Всё описанное — остатки, сроки, цены, заказы — упирается в обмен с учётной системой. Для e-grocery стандартного обмена CommerceML раз в день мало: остатки скоропорта нужно обновлять часто, а заказы отправлять в 1С сразу, чтобы их успели собрать к слоту.

Типовое решение — комбинация: базовый обмен каталогом и заказами по CommerceML плюс более частое (или онлайн) обновление остатков и цен по ключевым категориям через дополнительные механизмы. Заказы уходят в 1С немедленно после оформления, а статусы сборки и замен возвращаются на сайт. Надёжность и мониторинг этого обмена критичны — сбой означает продажу того, чего нет. Архитектуру такого обмена и работу с данными мы разбираем в статье про D7 ORM в Битрикс.

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

E-grocery живёт по расписанию: основной трафик приходит в предвечерние часы, когда люди заказывают ужин. Большой каталог, частые обновления остатков и всплеск заказов в узкое окно создают серьёзную нагрузку, к которой готовятся заранее.

Вопросы инфраструктуры под такую нагрузку мы подробно разбираем в материале про хостинг и инфраструктуру на BitrixVM.

Частые ошибки

Чек-лист запуска

  1. Весовой товар настроен. Дробное количество, единицы измерения, шаг фасовки и коррекция суммы после сборки.
  2. Учтены сроки годности. Просрочка скрывается, для свежих категорий показан срок, партии ведёт 1С.
  3. Наличие актуально. Остатки обновляются часто, учитываются резервы под слоты.
  4. Слоты работают. Рассчитана вместимость, заполненные интервалы закрываются, есть зоны доставки.
  5. Замены реализованы. Клиент задаёт стратегию, состав заказа редактируется, сумма пересчитывается.
  6. Умный фильтр по нутриентам. Диета, состав, аллергены, БЖУ доступны для отбора.
  7. Обмен с 1С настроен. Частое обновление остатков, мгновенная отправка заказов, возврат статусов сборки.
  8. Готовность к пику. Кэширование, композит и инфраструктура рассчитаны на вечерний всплеск.

Вывод

Продуктовый интернет-магазин — это не «обычный магазин с едой», а система, где почти каждый механизм работает иначе. Весовой товар с дробным количеством, сроки годности, актуальные остатки, слоты доставки с вместимостью и логика замен — всё это нужно заложить в архитектуру с самого начала, а не докручивать потом.

1С-Битрикс справляется с e-grocery: инфоблоки и торговый каталог поддерживают дробное количество и богатые свойства, а недостающую специфику — слоты, замены, частый обмен — добавляют разработкой поверх стандартных механизмов. Ключ к рабочему продуктовому магазину — обмен с 1С почти в реальном времени и честное наличие: тогда к моменту сборки заказанное действительно лежит на полке.

Частые вопросы

Как в 1С-Битрикс продавать весовой товар (на развес)?

Весовой товар реализуют через дробное количество и единицы измерения торгового каталога: цена задаётся за килограмм, а покупатель выбирает вес или количество штук с известным средним весом. В корзине сумма считается по фактическому весу. Часто добавляют шаг и минимальную фасовку, чтобы нельзя было заказать «5 грамм». Итоговый вес и сумма уточняются на сборке, поэтому важна поддержка коррекции заказа после комплектации.

Почему сроки годности критичны для e-grocery и как их учитывать?

Продукты скоропортящиеся, поэтому на сайте нельзя продавать то, что не доедет свежим или уже списано. Остатки и сроки годности должны приходить обменом из учётной системы в реальном (или близком к реальному) времени, а товары с истёкшим сроком автоматически скрываться. Для свежих категорий показывают дату производства или срок, а логику списания и партионного учёта ведёт 1С, а не сайт.

Что такое слоты доставки и зачем они нужны продуктовому магазину?

Слот доставки — это временной интервал (например, 18:00–20:00), который клиент выбирает при оформлении. Для продуктов это обязательно: свежие товары нельзя оставить у двери, нужно, чтобы клиент был дома. Слоты имеют ограниченную вместимость: на каждый интервал доступно конечное число заказов, зависящее от числа курьеров и сборщиков. Это отдельная логика планирования, которой нет у обычного магазина.

Как реализовать замены товаров, если чего-то нет на сборке?

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

Нужен ли продуктовому магазину обмен с 1С в реальном времени?

Для e-grocery — практически да. Остатки скоропортящихся товаров меняются быстро, и обмен раз в сутки приведёт к продаже того, чего уже нет. Поэтому наличие и цены синхронизируют часто или через онлайн-запросы к учётной системе, а заказы уходят в 1С сразу для сборки. Стандартный обмен CommerceML дополняют более частым обновлением остатков по ключевым категориям.

Как показывать наличие, чтобы клиент не заказал отсутствующее?

Наличие выводят максимально актуально: скрывают или помечают товары, которых нет, и учитывают резервы под уже оформленные заказы на выбранный слот. Хорошо показывать наличие в разрезе конкретного магазина или дарксторной зоны, откуда собирают заказ клиента. Задача — чтобы к моменту сборки заказанное реально было на полке, иначе растёт доля замен и недовольство.

Чем каталог продуктов отличается от обычного каталога товаров?

Он большой, быстро меняется и требует богатых свойств: состав, вес/объём, срок годности, БЖУ, аллергены, температурный режим, страна, бренд. Умный фильтр по таким свойствам критичен — покупатель ищет «без сахара», «безлактозное», «до 200 ккал». Плюс частые повторные покупки: важны быстрый повтор заказа, списки и избранное. Всё это нагружает каталог, поэтому производительность и кэширование выходят на первый план.

Можно ли сделать e-grocery на 1С-Битрикс или нужна отдельная платформа?

1С-Битрикс подходит: инфоблоки и торговый каталог поддерживают дробное количество, единицы измерения, свойства и обмен с 1С, а недостающую логику (слоты, замены, зоны доставки) добавляют разработкой поверх стандартных механизмов. Ключевые доработки — планирование слотов, актуальные остатки и коррекция заказа. Отдельная платформа нужна редко; чаще выгоднее расширить Битрикс под специфику продуктового ритейла.

Поделиться:

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

Спроектируем e-grocery на 1С-Битрикс: весовой товар, слоты доставки, замены, актуальные остатки и обмен с 1С почти в реальном времени. Рассчитаем работу под ваш ассортимент.

Игорь Воскресенский

Команда B2Bsite. С 2014 года разрабатываем интернет-магазины на 1С-Битрикс: весовой товар, слоты доставки, замены и обмен с 1С для продуктового и другого ритейла со сложной логистикой.

← Все статьи блога