retailcrm / bitrix-module

Bitrix integration plugin
http://www.retailcrm.ru
MIT License
12 stars 43 forks source link

Импорт истории из CRM. Может быть имеет смысл игнорировать записи с apiKey.current=true? #104

Closed pozdeiev closed 3 years ago

pozdeiev commented 4 years ago

Кейс, когда это помешало передаче изменённого адреса доставки в заказе из CRM в Bitrix.

Новый заказ передаётся из Bitrix в CRM с таким адресом (orderHistory.log):

[address] => Array
    (
        [id] => 29720
        [text] => 123182,  г. Москва,  Науки проспект.  Дом 17 корпус 2 подезд 4
    )

Менеджер почти сразу правит адрес. Изменения возвращаются в Bitrix в таком виде (assemblyOrderHistory.log):

[address] => Array
    (
        [id] => 29720
        [text] => 123182,  г. Москва,  Науки проспект.  Дом 17 корпус 2 подезд 4
        [building] => 7
        [city] => Санкт-Петербург
        [region] => Санкт-Петербург город
        [street] => Науки
        [block] => 4
        [housing] => 2
    )

Как я понимаю, это результат объединения изменения с флагом created=true с последующими изменениями полей. В итоге адрес в Bitrix остаётся прежним - 123182, г. Москва, Науки проспект. Дом 17 корпус 2 подезд 4 - не то, чего ожидает менеджер.

iyzoer commented 4 years ago

В конкретном случае возможно ещё повлияла настройка соответствия свойств заказа и полей адреса. А вообще да, думаю есть смысл игнорировать данные, которые изменились текущим ключем, но скорей всего с настройкой, возможно у кого-то есть кейс, при котором этот ключ используется для каких-либо изменений в retailCRM, которые нужно в Битрикс.