Заказ — не одна строка «передан / не передан». В нём есть позиции, количество, цена, скидка, покупатель, доставка, платёж, комментарий и история статусов. Если заранее не определить состав документа и владельца каждого статуса, часть данных может попадать в 1С иначе, чем ожидает оператор.
Карта заказа
Для начала составляют карту полей. Напротив каждого поля указывают источник, формат, обязательность и правило обновления. Отдельно отмечают, что происходит с заказом без оплаты, с частичной оплатой, с изменённым адресом и с отменой после передачи.
Минимальная запись в такой карте выглядит так: «поле: способ доставки; источник: сайт; формат: код службы; обновление после передачи: запрещено / по согласованному событию». Для цены, скидки и статуса заказа правила записывают отдельными строками. Такая запись позволяет проверить конкретное поле, а не обсуждать заказ целиком.
Идентификатор заказа нужен для защиты от повторного создания. При диагностике дубликата сравнивают идентификатор, время создания, историю попыток обмена и фильтр выгрузки. Удалять «лишний» документ без этой проверки рискованно: он может быть единственной записью с корректной оплатой или доставкой.
Кто меняет статусы
Статус оформления, оплаты, комплектации, отгрузки и отмены часто относятся к разным процессам. Для каждого статуса фиксируют владельца: сайт, 1С или ручная операция оператора. Двустороннее обновление без такой схемы может возвращать заказ в предыдущий статус при следующем обмене.
Проверка должна охватывать обычный заказ и исключения: отмену, частичную оплату, изменение доставки, возврат и повторный обмен. В журнале полезно хранить не только итоговый статус, но и дату события, идентификатор и сообщение об ошибке, если оно есть.
Перед включением двустороннего обмена
Сначала запускают ограниченный тестовый набор заказов без персональных данных. Затем сверяют состав в интерфейсе сайта и в 1С, а также результат повторной передачи. Сценарий признают пройденным, когда ожидаемые данные появились в обеих системах и повторный запуск не создал новый документ.
Если сайт, 1С и CRM работают одновременно, правила владения ценами, остатками и статусами описаны в статье «Интеграция сайта с 1С и CRM одновременно». Права на обмен и обработку ошибок стоит включить в отдельную проверку доступов.