Как мы организовали работу со складом для партнерской программы Buderus.pro

Как мы организовали работу со складом для партнерской программы Buderus.pro

В статье про организацию работы с остатками товаров на сайте мы упомянули кейс с партнерской программой Buderus.pro. В данном кейсе сайт является ведущей системой, т.е., управление резервами происходит на стороне сайта.

Система устроена следующим образом. Существует склад ответственного хранения, на котором хранятся товары, предназначенные для выгрузки на один единственный сайт. Задача состоит в том, чтобы заказать можно было только обеспеченные реальными остатками товары и в количестве, не превышающем эти остатки. При этом имеем следующую конфигурацию:
  1. Склад работает только с одним сайтом.
  2. Склад управляется не через 1С.
  3. Склад не получает данных о заказах с сайта, а только лишь сообщает о доступных остатках по определенному расписанию.
  4. Сайт с каталогом разработан на базе 1С-Битрикс: Управление сайтом.

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

Как работает резервирование

Заказ возможно оформить только в том случае, если на момент создания заказа остатки, хранящиеся на сайте, покрывают заказ. Процесс резервирования выглядит следующим образом:
  1. При создании заказа доступный остаток уменьшается, а в резерв добавляется соответствующее количество товара.
  2. Если заказ отменяется, то происходит обратная операция: резерв уменьшается, остаток увеличивается.
  3. Как только заказ отгружается (статус отгрузки меняется на «Отгружен»), резерв в этот момент обнуляется.

Это коробочная логика работы с резервами в 1С-Битрикс: Управление сайтом.

Как работает получение остатков со склада

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

S = N + (X - (N+M)), где

S — остаток, который нужно записать в базу сайта.
N — текущий остаток на сайте.
X — остаток, пришедший со склада.
M — зарезервированное количество товара на складе.

В переводе на простой язык данная формула означает:
  1. Определяется разница между пришедшим со склада остатком и суммой текущего остатка и резерва.
  2. Полученная разница прибавляется к текущему остатку на сайте (или вычитается из него, если она отрицательная).

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

Есть проект? Свяжитесь с нами.
Дальше: Как организовать работу с остатками на сайте
Напишите нам
Загрузка...
Спасибо
Загрузка...