Как мы внедрили учет товара для ITKKIT с учетом нескольких оффлайн-магазинов
В современном мире интернет-торговли важно не только эффективно управлять онлайн-магазином, но и учитывать потребности оффлайн-точек продаж. Перед нами стояла интересная и сложная задача: разработать систему, которая бы позволила менеджерам двух оффлайн-магазинов ITKKIT видеть актуальные остатки товаров не только в их собственных магазинах, но и на других складах, включая интернет-магазин. Это решение помогло бы повысить продажи и улучшить логистику внутри компании.
Исходные данные
Заказчик — ITKKIT, у которого есть:
- Интернет-магазин с высокой посещаемостью и большим количеством товаров.
- Два оффлайн-магазина, каждый из которых имеет свой склад.
- Система учета в 1С, которая уже используется для управления товарными остатками.
Основные вызовы проекта
- Высокая нагрузка на сайт. База данных интернет-магазина уже работала на пределе возможностей, поэтому любые массовые операции могли привести к снижению производительности и сбоям.
- Кеширование данных. Сайт активно использовал кеширование, что делало невозможным получение остатков товаров в реальном времени.
Эти ограничения заставили нас искать эффективные решения, которые не перегружали бы базу данных и обеспечивали бы актуальность информации.
Реализация решения
1. Интеграция данных из 1С
Первым этапом мы проработали взаимодействие с учетной системой 1С, где уже велся учет остатков товаров на всех складах. Совместно со специалистом Заказчика мы настроили выгрузку двух новых свойств для каждого товара:
- Остатки в первом оффлайн-магазине.
- Остатки во втором оффлайн-магазине.
Таким образом, мы получили структурированные данные, которые могли быть загружены в базу интернет-магазина.
2. Оптимизированное обновление данных
Поскольку база данных сайта испытывала большую нагрузку, мы не могли просто взять и массово обновить остатки товаров за раз. Вместо этого мы разработали метод постепенного обновления:
- Каждые 5 минут отправлялись небольшие пачки запросов по 10 товаров.
- В течение недели система обновила данные по всем товарам и их размерам, не создавая излишней нагрузки на сервер.
Это позволило нам внедрить актуальные данные без вреда для производительности сайта.
3. Асинхронная система отображения данных
Следующим шагом стало создание удобного интерфейса для менеджеров магазинов. Поскольку получить актуальные данные в реальном времени из-за кеширования было невозможно, мы реализовали систему асинхронных запросов:
- Когда менеджер открывает карточку товара, система отправляет фоновый запрос на сервер.
- Сервер передает данные о количестве товара на всех складах.
- Данные подгружаются на странице без перезагрузки, что обеспечивает высокую скорость работы.
Таким образом, менеджеры могли мгновенно видеть актуальную информацию об остатках товаров, не создавая дополнительную нагрузку на сервер.
4. Автоматизация списания товаров и отчетности
Чтобы система работала полноценно, мы внедрили две ключевые функции:
- Автоматическое списание товаров. При оформлении покупки товар резервировался и списывался с соответствующего склада.
- Отчетность по остаткам. Мы настроили систему отчетов, позволяющую анализировать данные по продажам и остаткам в удобном формате.
Итоги проекта
В результате проделанной работы система товарного учета в ITKKIT вышла на новый уровень. Теперь менеджеры в каждом магазине:
- Видят не только остатки своего магазина, но и количество товара в другом оффлайн-магазине и интернет-магазине.
- Могут быстро ориентироваться в наличии товара и перенаправлять покупателей в нужную точку продаж.
- Работают в удобном интерфейсе без задержек и перегрузок системы.
Это решение не только повысило удобство работы сотрудников, но и позволило увеличить продажи за счет оптимального распределения товарных остатков.
Наша команда успешно справилась с задачей, несмотря на технические ограничения, и помогла ITKKIT вывести управление товарами на новый уровень!