При синхронизации заказов между 1С и Битриксом возникла проблема: в 1С меняли стоимость доставки, но из-за особенностей конфигурации 1С не возвращала обратно в Битрикс документы на отгрузку, которые стандартно ожидает система. В результате у всех заказов с изменённой доставкой она просто удалялась в Битриксе.
Вместо типового решения с сохранением документов на стороне сайта (не подошло клиенту) мы пошли другим путём. На стороне 1С при выгрузке заказа стали добавлять фиктивный товар «Доставка», который на стороне Битрикса обрабатывается как обычный товар.
Решение
Одно из решений, которое нашли на форуме Битрикса — сохранять эти документы на стороне сайта и, при необходимости, восстанавливать их в момент выгрузки из 1С. Клиенту этот способ не подошел из-за особенностей бизнес-процесса работы с заказом.
Поэтому пошли другим путем. На стороне 1С при выгрузке информации о заказе добавляем еще один товар — доставка, который обрабатываем на стороне магазина. В этом случае ожидаемые битриксом документы формируются на лету в момент синхронизации с 1С.
Особых проблем с реализацией не было, кроме маленькой особенности работы с доставкой в Битриксе. При обработке заказа в момент его синхронизации с 1С нельзя просто взять и изменить стоимость и тип доставки. Необходимо сначала удалить текущий способ доставки из заказа и сохранить его. После этого скрипт добавляет в заказ обновленный способ доставки, пришедший из 1С.
Эффект от проведенных работ
Синхронизация с 1С работает стабильно, доставка изменяется, клиент доволен.