retailcrm / prestashop-module

PrestaShop integration plugin
https://simla.com
MIT License
7 stars 30 forks source link

Статусы заказов не должны повторяться в матрице соответствий статусов #72

Closed TemKaSD closed 4 years ago

TemKaSD commented 4 years ago

У меня есть несколько методов оплаты, почему для них я не могу становить один статус?

Neur0toxine commented 4 years ago

Добрый день!

Начиная с версии 3.0.0 при настройке матрицы соответствий статусов заказов, типов оплат и способов доставок требуется уникальность значений для всех групп соответствий. Это значит, что, к примеру, не получится выставить в соответствие нескольким типам оплаты в PrestaShop один и тот же тип оплаты в retailCRM.

Такое ограничение было введено вследствие того, что несоблюдение связи один-к-одному неизбежно приведёт к некорректному поведению двухсторонней синхронизации. Например, нескольким статусам заказа в PrestaShop выставлен один и тот же статус заказа в retailCRM. Если синхронизируется созданный в retailCRM заказ, при этом статус такого заказа указан в соответствии к нескольким статусам в PrestaShop, то какой статус будет у заказа в PrestaShop? Модулю неоткуда взять информацию о том, какой из статусов в соответствии должен быть выставлен - ведь подходят сразу несколько. В итоге будет выбран последний статус из подходящих, что вряд ли можно назвать логичной или очевидной механикой (таковая не была предусмотрена в принципе).

Если же синхронизируется заказ из PrestaShop в retailCRM, и соответствующий ему статус в retailCRM также установлен в соответствие любым другим статусам, то будет теряться информация о том, какой именно статус заказа был в PrestaShop. Такая ситуация менее критична, чем в предыдущем примере, но тоже не является корректной механикой работы.