УСЛУГА · ОБМЕН ДАННЫМИ

Интеграция 1С:WMS и учётных систем

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

Обсудить интеграцию

Симптомы, указывающие на проблему обмена

  • документ в одной системе есть, а во второй он отсутствует или неполон;
  • остатки, статусы или коды расходятся между WMS и учётным контуром;
  • повторный запуск обмена создаёт дубли или не восстанавливает пропущенные данные;
  • ошибка видна только в журнале или становится заметна после следующей операции;
  • регламентная обработка отмечает данные отправленными до подтверждения получателя.

Похожий симптом может быть вызван фильтром выборки, несовпадением идентификаторов, форматом данных, очередностью документов или повторной обработкой. Сначала следует проследить один пример через обе системы.

Что нужно определить в контракте обмена

  1. Идентификатор объекта. Как получатель находит заказ, документ или строку и что происходит, если связь отсутствует.
  2. Состав и формат. Какие поля обязательны, как передаются специальные символы и пустые значения.
  3. Момент события. Передача запускается при создании, проведении, выполнении складского задания или другим событием.
  4. Ответ получателя. Как отправитель отличает принято, уже обработано и отклонено.
  5. Повторы и сверка. Как безопасно повторить запрос и обнаружить данные, которые не дошли.

HTTP API с JSON и SOAP с XML

Разбираю оба формата обмена: HTTP API, где данные обычно передаются в JSON, и SOAP-сервисы, использующие XML. Проверяю структуру запросов и ответов, обязательные поля, кодирование специальных символов и соответствие контракта фактическому обмену между системами.

Надёжная обработка повторов

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

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

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

Как разбирается интеграция

Работа начинается с карты источников и получателей, описания одного успешного и одного проблемного обмена и проверки журналов на этих примерах. Затем фиксируются правила повторов, обработки частичных ошибок и сверки. После согласования проектируется изменение и определяется контрольный набор для тестовой среды.

Посмотрите обезличенный разбор обмена кодами маркировки между WMS и 1С: в нём показано, как фильтр по дате создания задачи приводил к незаметной потере данных.

Опишите, какие данные не доходят и где вы впервые видите расхождение.

Обсудить обмен данными ↗