О заказчике
«Магазин Выходной» — интернет-магазин, специализирующийся на продаже товаров для активного отдыха: снегоходы, лодки и моторы, экипировка. Компания работает с 5 поставщиками из разных регионов (ТопСпорт, Redan, Техномарин, Водомоторный и др.). Ключевая задача — автоматизировать импорт товаров и управлять сложной складской логистикой.
Задача клиента
Заказчик обратился с комплексной задачей по доработке интернет-магазина на Webasyst Shop-Script. Основные требования:
- • Синхронизация с 5 поставщиками — настройка индивидуальных профилей импорта через XML
- • Управление 9 складами — раздельное обновление остатков, уникальные префиксы артикулов
- • Исключение дублей товаров — доработка плагина XML PRO
- • Разбиение заказов по складам — автоматическое распределение товаров
- • Оптимизация поиска по OEM — поиск по оригинальному артикулу производителя
- • Ускорение сайта — диагностика и оптимизация производительности
Что было сделано
✅ Синхронизация с поставщиками
- 🔹 Настроены индивидуальные профили XML-синхронизации для 5 поставщиков
- 🔹 Для ТопСпорт настроены 3 независимых направления: снегоходы, лодки и моторы, экипировка
- 🔹 Система обрабатывает полные товарные данные: остатки, цены, фото, описания, характеристики
- 🔹 Реализован автоматический импорт новых товаров с полной загрузкой всех ключевых данных
✅ Управление складами и артикулами
- 🔹 Настроены 9 складов с отдельными профилями обновления остатков
- 🔹 Внедрена система уникальных префиксов для артикулов (В-В-, R-М3-, R-Х-, S-С-, T-)
- 🔹 Реализована интеграция наименования склада в артикулы для всех поставщиков
- 🔹 Настроено раздельное обновление остатков по каждому складу без пересечений
✅ Доработка плагина XML PRO
- 🔹 Реализована логика поиска товара по наименованию с проверкой артикула
- 🔹 При не уникальном артикуле добавляется дополнительный артикул вместо создания дубликата
- 🔹 Устранена проблема дублирования товаров с одинаковыми наименованиями
✅ Доработка скриптов генерации прайсов
- 🔹 Redan: удалено ограничение на количество товаров, добавлена фильтрация по цене (от 300 ₽)
- 🔹 Техномарин: исправлены ошибки формата выгрузки, прайс переработан в корректный XML
- 🔹 ТопСпорт: исправлена логика формирования parentID для категорий
- 🔹 Водомоторный, Redan, Техномарин, ТопСпорт: добавлены наименования складов к артикулам
✅ Оптимизация поиска и цен для маркетплейсов
- 🔹 Исправлена логика поиска с учётом префиксов, добавлена характеристика «Артикул»
- 🔹 Настроена синхронизация цен для OZON: автоматическое преобразование характеристик в ценовые поля
- 🔹 Добавлена отдельная характеристика «Артикул» для точного поиска по OEM
✅ Настройка CRON и автоматизация
- 🔹 Создана система автоматического обновления для всех поставщиков с индивидуальными расписаниями
- 🔹 Настроены CRON-задачи для обновления цен, остатков и товаров с разной периодичностью
- 🔹 Обеспечена актуализация данных в режиме 24/7 и отсутствие конфликтов между задачами
✅ Алгоритм разбиения заказа
- 🔹 Реализован алгоритм автоматического разбиения заказа на несколько частей в зависимости от количества складов
- 🔹 Сначала формируется один общий заказ (без отправки уведомлений)
- 🔹 В процессе оформления общий заказ разбивается на отдельные заказы по складам
- 🔹 Уведомления о каждом разбитом заказе поступают клиенту и администратору на электронную почту и в панель администрирования
✅ Доработка корзины
- 🔹 Реализовано уведомление в корзине о том, что заказ будет разбит на несколько частей (отображается только когда количество складов больше одного)
- 🔹 Добавлена возможность смены склада у товара прямо в корзине
✅ Разработка плагина доставки
- 🔹 Разработан плагин, позволяющий менеджеру уточнять стоимость доставки в зависимости от склада
- 🔹 Реализована логика: если заказ собирается с разных складов — выводится уведомление «Стоимость доставки рассчитывается индивидуально после согласования с менеджером»
- 🔹 Если заказ собирается с одного склада — работает автоматический расчёт через плагин транспортной компании (СДЭК и др.)
✅ Настройка уведомлений
- 🔹 Настроена автоматическая отправка уведомлений клиенту на электронную почту после оформления заказа
- 🔹 В письме указывается: номер заказа (или нескольких заказов при разбиении), состав заказа, количество товаров, итоговая стоимость
- 🔹 Одновременно уведомление о новом заказе поступает администратору сайта
- 🔹 Заказ автоматически формируется в панели администрирования сайта
✅ Учёт товара
- 🔹 Включен количественный учёт товаров на сайте
- 🔹 Остатки автоматически загружаются из файлов выгрузки поставщиков
✅ Доработка интеграции с 1С (Commerce ML)
- 🔹 Доработан плагин 1С (Commerce ML) для корректной идентификации каналов продаж
- 🔹 Добавлены новые поля для заказов с маркетплейсов: МП (Витрина), № заказа в Витрине, ЮЛ/ФЛ, наименование ЮЛ, ИНН, телефон, e-mail
- 🔹 Решена проблема с распознаванием контрагентов в 1С: теперь заказы с маркетплейсов корректно определяются по каналу продаж
✅ Настройка служб доставки
- 🔹 Настроены службы доставки для всех складов:
- • Москва-1, Москва-2 — самовывоз и СДЭК
- • Москва-3, Владивосток, Санкт-Петербург, Хабаровск — только СДЭК
✅ Настройка фильтров доставки
- 🔹 Включён и настроен плагин «Фильтр доставки» (delpayfilter)
- 🔹 Теперь клиенту отображается только один курьер и один вид СДЭК — из того города, в котором находится склад, с которого отгружается товар
- 🔹 Устранено дублирование способов доставки (ранее отображалось 4 вида СДЭК и 4 курьера)
✅ Правки по работе со складами
- 🔹 При изменении склада в корзине теперь отображаются только те склады, на которых есть остатки по данному товару
- 🔹 В корзину добавлен артикул товара — размещён между наименованием и выбранным складом
- 🔹 При выборе склада теперь отображается количество остатков напротив каждого склада
- 🔹 Исправлена проблема с отображением остатков на складах (ранее для склада Хабаровск показывалось «нет в наличии», хотя товар был в Москве-3)
- 🔹 Унифицировано отображение доставки: при заказе с нескольких складов выводится единое уведомление о расчёте доставки индивидуально (вместо дублирования)
- 🔹 Исправлена проблема с выбором ПВЗ: добавлена возможность ручного ввода адреса и выбора на карте (вместо бесконечного списка)
- 🔹 Разделены склады Москва-1 и Москва-2 (ранее объединялись в один склад «Москва»)
- 🔹 Для складов Москва-1 и Москва-2 добавлена опция «Самовывоз» (ранее отсутствовала)
✅ Правки после переноса
- 🔹 Проверена работа сайта после переноса, выявлены и исправлены ошибки
- 🔹 Исправлена передача цены после применения купона: в корзине скидка считалась корректно, но при разбиении заказа терялась — ошибка устранена
- 🔹 Настроено корректное отображение аналогов в карточке товара:
- • Исправлен вывод аналогов для артикула 69J-24501-10-TW
- • Исправлен вывод аналогов для артикула 688-11181-A1-TW (теперь отображаются все три варианта)
- 🔹 Убран блок с информацией о доставке в карточке товара (пока не настроен, чтобы не вводить покупателей в заблуждение)
✅ Проверка корректности выгрузки
- 🔹 Проведена диагностика выгрузки поставщика Техномарин (Санкт-Петербург)
- 🔹 Выявлена проблема с обновлением остатков: данные не актуализировались с 4 июня
- 🔹 Проверена работа плагина YML PRO, через который проходит выгрузка
- 🔹 Настроена корректная синхронизация остатков с поставщиком (актуальные данные теперь обновляются ежедневно)
✅ Диагностика и оптимизация скорости
- 🔹 Проведена диагностика производительности сайта
- 🔹 Выявлены и устранены узкие места, влияющие на скорость загрузки
- 🔹 Даны рекомендации по дальнейшей оптимизации
Результат
Проведена комплексная доработка интернет-магазина, автоматизированы ключевые бизнес-процессы:
- ✅ Настроена синхронизация с 5 поставщиками (9 складов) через XML-профили
- ✅ Исключено дублирование товаров, внедрены уникальные префиксы артикулов
- ✅ Реализовано автоматическое разбиение заказов по складам с уведомлениями
- ✅ Настроена синхронизация цен для OZON и поиск по OEM
- ✅ Создана система CRON-задач для автоматического обновления данных 24/7
- ✅ Проведена оптимизация производительности сайта
Используемые технологии и решения
Webasyst Shop-Script | XML-синхронизация | Плагин XML PRO (доработан) | Плагин «Фильтр доставки» (delpayfilter) | Commerce ML (1С) | CRON-задачи | Мой Склад | PHP | MySQL | Redis (кэширование)
Объем трудозатрат:
| Задача | Часы |
|---|---|
| Настройка XML-синхронизации с поставщиками | 12 |
| Управление складами и префиксы артикулов | 8 |
| Доработка плагина XML PRO | 10 |
| Доработка скриптов генерации прайсов | 8 |
| Оптимизация поиска и цен для маркетплейсов | 6 |
| Настройка CRON и автоматизация | 6 |
| Алгоритм разбиения заказов по складам | 10 |
| Доработка корзины, плагин доставки, уведомления | 6 |
| Доработка интеграции с 1С (Commerce ML) | 6 |
| Настройка служб и фильтров доставки | 4 |
| Правки по складам, корзине, выгрузке и после переноса | 10 |
| Диагностика и оптимизация скорости | 4 |
| Итого | 90 |


