Затраченное время 22:18


Мы развиваем сложную интеграцию в проекте с двумя магазинами на InSales, МоимСкладом и удалёнными складами. В этом кейсе рассмотрен максимально удобный способ обмена документами между учётной системой и реальным складом.

Весь проект подключения МоегоСклада к нашей информационной инфраструктуре занял больше полугода и состоял из множества подзадач одна из которых — работа со складскими документами, такими как поставки, возвраты, оприходования и т.п.

Общая логика интеграции

В качестве примера приведу работу с оприходованиями новых товаров. БетаПРО —  это удалённый склад (фулфилмент), который арендует наш клиент. Схема процессов:

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

После поступления реальных товаров на склад, система БетаПРО отправляет нам документ Оприходование, в котором указаны реально принятые товары. И, на практике, количество товаров может быть не таким, как задумывалось, или вместо одного товара может приехать другой.

На основе документа от склада мы автоматически меняем первоначально созданные в МоемСкладе документы и устанавливаем их статус в «Проведён».

Как работать с такими документами?

Наш сервис интеграции, который отвечает за всю интеграционную логику, имеет собственные пользовательские интерфейсы. Для нас, как разработчиков, было проще реализовать всё управление документами через него. Однако, сотрудники клиента работают в МоёмСкладе, и работать в двух интерфейсах было бы крайне неудобно.

МойСклад позволяет создать виджет с дополнительными элементами для управления, но мы решили пойти по более простому и эффективному пути, который мы уже опробовали на интеграции со CDEK —  управление интеграцией через статусы в МоемСкладе.

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

Если что-то пошло не так, мы не только меняем статус на «Ошибка передачи», но и пишем в комментарии к документу мини-лог с конкретикой по этой ошибке.

При фактическом получении товара на склад статус меняется на «Проведён» и состав товаров в документе может быть скорректирован. Причём, МойСклад позволяет очень наглядно показывать что именно изменилось в подробном логе по документу.

Эффект от проведенных работ

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

Решение позволяет видеть и оперативно исправлять возникающие с поставками проблемы и ошибки.



Есть вопросы?