Маркетплейсы
Заказы Wildberries в 1С: где ломается обмен и что заложить в задание
Разбор проекта, где компания переходила на сборку заказов маркетплейса на собственном складе. Техническое задание вышло на 111 пунктов, и большая их часть — не про обмен данными, а про то, что делать, когда что-то пошло не так.
Две схемы работы — две разные задачи
Когда говорят «интеграция 1С с Wildberries», за этим стоят 2 разных проекта. В схеме, где товар лежит на складе площадки, учёту нужно немного: отгрузили партию, получили отчёт о продажах, отразили реализацию. В схеме, где заказы собираются на вашем складе, внутрь учёта заезжает весь операционный путь заказа, и объём работы вырастает на порядок.
Разбор ниже — про вторую схему, на конфигурации «Управление торговлей 11.5». Именно она обычно и имеется в виду, когда проект оказывается втрое больше ожидаемого.
Путь заказа внутри учёта
Чтобы склад работал, а не сверялся с личным кабинетом площадки, весь путь должен проходить в программе:
- загрузка новых заказов с площадки;
- задание на отбор для кладовщика;
- рабочее место упаковщика: сканирование, проверка состава;
- печать этикетки на конкретный заказ;
- передача перевозчику и закрытие поставки;
- отражение реализации в учёте.
Каждый шаг — это документ или рабочее место, и на каждом есть сценарий, когда что-то идёт не по плану. Вот эти сценарии и составляют основную часть технического задания.
Шесть мест, где это ломается
1. 1С ходит в маркетплейс напрямую
Самая частая архитектурная ошибка. Площадка недоступна 30 секунд — и документ не проводится, пользователь видит ошибку, данные теряются. Правильно разводить их очередью: 1С кладёт задание в очередь, отдельный сервис обмена работает с площадкой, повторяет при ошибках и защищает от повторной обработки одного и того же заказа.
В нашем проекте 1С не ходила в маркетплейс вообще: между ними стоял отдельный веб-сервис обмена. Это не усложнение ради красоты — это единственный способ не ставить работу склада в зависимость от доступности чужого API.
2. Товар не найден и пересортица
Упаковщик сканирует товар, а он не тот или его нет. Если этот случай не продуман, рабочее место просто встаёт: человек зовёт старшего, заказ висит, время сборки идёт. Сценарий «что делать, когда не сходится» должен быть в задании отдельным пунктом, а не выясняться на складе в первый день.
3. Печать этикеток
Этикетка печатается на конкретный заказ, и на складе их несколько принтеров. Мы заранее развели печать по разным сессиям — и не зря: выяснилось, что принтер держит только одно подключение, и при параллельной печати задания просто теряются. Без этого на пиковой нагрузке половина этикеток исчезала бы бесследно, а найти причину по симптому «этикетка не напечаталась» крайне тяжело.
4. Остатки расходятся с площадкой
Самое дорогое расхождение: площадка думает, что товар есть, покупатель оформляет заказ, товара нет. Дальше отмена и штраф. Причина почти всегда в том, что остатки передаются по расписанию раз в несколько часов, а резервирование внутри учёта не учитывается.
5. Сопоставление номенклатуры
У площадки свои идентификаторы товара, у вас свои артикулы. Пока сопоставление ведётся в файле, любая новая позиция ломает обмен, а ошибка в сопоставлении означает отгрузку не того товара. Таблица соответствия должна жить в базе и заполняться при заведении номенклатуры, а не отдельным файлом у менеджера.
6. Площадка меняет правила
Маркетплейсы меняют форматы и требования без согласования с вами. Обмен, который работал год, в какой-то день начинает возвращать ошибки. Это не дефект разработки, а нормальное свойство среды — и поэтому обмену нужны журнал, уведомление об ошибках и человек, который на них реагирует. Подробнее про то, как обмены встают молча, — в статье про обмен с СБИС, Контуром и банком.
Почему проверка стенда важнее, чем кажется
Перед демонстрацией мы провели отдельную проверку собранного стенда и нашли 3 блокирующих дефекта и 19 замечаний. Один из блокеров запирал 11 заданий из 15: упаковать их через рабочее место было физически невозможно.
Что это значит на практике. Если бы эти дефекты нашёл склад в день запуска, встала бы отгрузка, а разбирались бы в них под давлением и при работающих людях. Отдельный прогон на стенде до показа — это не перестраховка, а разница между управляемым запуском и авралом.
К контрольной дате в том проекте было закрыто 83 % критичных пунктов задания. Остальное доделывали уже в рабочем режиме — и это нормальный результат для проекта такого объёма, где важно не «сдать всё», а не остановить склад.
Что заложить в задание заранее
- Сценарии отказа. Площадка недоступна, товар не найден, пересортица, отмена заказа покупателем после сборки, возврат.
- Защиту от повторной обработки. Один и тот же заказ не должен превратиться в 2 отгрузки при повторе запроса.
- Журнал обмена, доступный без программиста. Чтобы на вопрос «где заказ» отвечал старший смены, а не подрядчик.
- Печать: сколько принтеров и кто на них печатает. Это выясняется на складе, а не в переписке.
- Кто отвечает за сопоставление номенклатуры. Это операционная роль, и её надо назвать до запуска.
Остальные разборы с цифрами собраны в кейсах, а список того, что мы делаем по маркетплейсам и интеграциям, — в разделе «Что делаем».
Вопросы, которые задают
Сколько занимает интеграция 1С с Wildberries
Передача остатков и цен — несколько дней. Полный цикл заказа со сборкой, упаковкой и печатью этикеток — проект на недели: в разобранном примере техническое задание заняло 111 пунктов. Разброс здесь не от подрядчика, а от того, какую схему работы вы выбрали.
Нужно ли покупать готовый модуль или заказывать разработку
Если вы работаете по простой схеме и вам хватает стандартного набора операций, готовое решение закроет задачу дешевле. Как только появляется собственный склад, свои правила сборки и несколько принтеров, готовый модуль приходится дорабатывать — и тогда разумнее сразу считать это разработкой.
Почему остатки на площадке не совпадают с 1С
Чаще всего из-за периодичности передачи и из-за того, что резервы внутри учёта не учитываются при расчёте доступного количества. Лечится уменьшением интервала обмена и правильным расчётом свободного остатка, а не ручной сверкой по утрам.
Можно ли работать с несколькими маркетплейсами из одной базы
Да, и это обычная ситуация. Важно, чтобы обмен с каждой площадкой был отдельным и падение одной не останавливало другие, а номенклатура сопоставлялась через одну таблицу соответствий, а не через несколько файлов.
Что делать, если обмен уже сделан, но постоянно ломается
Начать с журнала: если его нет, первым делом появляется он, потому что без него причина каждый раз ищется заново. Дальше обычно выясняется, что дело в отсутствии очереди и повторов при ошибках площадки. Это переделывается без остановки текущей работы, порядок описан в разделе «Как работаем».
Если склад уже стоит
Разберём ваш обмен с площадкой и скажем, что переделывать
Посмотрим, как устроен обмен сейчас, где теряются заказы и что из этого чинится настройкой, а что требует переделки. Работаем на копии базы, боевую не трогаем.