retailcrm / opencart-module

OpenCart integration plugin
http://www.retailcrm.pro
MIT License
22 stars 43 forks source link

Ошибка обновления данных после изменения тарифа в способе доставки #219

Closed kappa08021982 closed 3 years ago

kappa08021982 commented 3 years ago

Добрый день. Имеется следующая проблема в версии модуля 4.1.3 (судя по changelog этот момент не исправлен и в версии 4.1.4): при переходе покупателя в оформление заказ создается первый заказ со статусом "пропавший" и со всеми данными если пользователь не нажал кнопку "Оформить" и ушел из оформления. Далее он может вернутся и продолжить оформление, изменить тариф в способе доставки или любую другую информацию. Если был изменен способ доставки (Именно способ, не тариф в способе), то новые данные передаются в retailCRM без ошибок, если был изменен только тариф в способе доставки, то модуль не передает данные вот с такими ошибками: 2021-01-14 21:00:41 - [ordersEdit] Order is not loaded 2021-01-14 21:00:41 - Cash payment sum must be equal to sum to pay in the order Причина ошибки - изменение стоимости тарифа доставки в оформлении и, как следствие, сумма в заказе в retailCRM и OpenCart в одном и том же заказе разные.

iyzoer commented 3 years ago

Ошибка связана с наложенным платежом в выбранной доставке. Наверное сделаем настройку, аналогичную другим модулям, которая выключает передачу суммы платежа в RetailCRM, ошибка не будет возникать, если не передавать сумму оплаты (будет считаться в RetailCRM).

kappa08021982 commented 3 years ago

Ошибка связана с наложенным платежом в выбранной доставке. Наверное сделаем настройку, аналогичную другим модулям, которая выключает передачу суммы платежа в RetailCRM, ошибка не будет возникать, если не передавать сумму оплаты (будет считаться в RetailCRM).

Добрый день. Если Вы отключите передачу стоимости доставки, то вычисление стоимости доставки на стороне retailCRM, после оплаты заказа онлайн на сайте, не будет иметь никакого смысла, а это сейчас 99% всех расчетов в сети, смысл модуля, как я понимаю, как раз в передаче данных из ИМ в retailCRM и улучшении их взаимодействия, зачем же ухудшать его функционал? Я уверен есть способы решения происходящего.

Ошибка не связана с наложенным платежом, по крайней в нашем случае - мы не используем наложенный платеж, но, насколько я знаю, при использовании наложенного платежа любого модуля не меняется общая сумма заказа или стоимость доставки, все проценты высчитываются при оплате покупателем заказа в ВПЗ, меняется только название способов оплаты, которые особо не имеют значения, т.к. информация о них не передаются в retailCRM. Ошибка связана ровно с тем, что описал. При смене тарифа начального, тот который стоит по умолчанию (у нас это доставка СДЭК курьером) и изменении заказа позже (часто выбирают доставку Почтой России или просто меняют на забор в ПВЗ), после того как покинули оформление на последнем шаге и, после некоторого времени пребывания на сайте, дооформляют заказ - такое бывает и это нормально. Стоимость доставки курьером и забор в ПВЗ всегда разный и это нормальная практика для всех магазинов и всех ТК. Могу, для наглядности, снять видео. Мое предложение передавать тариф (название тарифа доставки) или так же их синхронизировать как и статусы заказа и методы доставки, и при изменении его названия (кода или как будет сделано) передавать и новую стоимость доставки. Или передавать название способов доставки вместе с тарифами. Думаю, передается общая сумма заказа, которая меняется, но более ничего не меняется - видимо в этом дело. Даже если покупатель делает изменение состава заказа или изменение именно способа доставки, например, был СДЭК "Доставка курьером" и изменили на Почта России "Ценная посылка" - все передается нормально. Если нужна какая-то еще информация, скрины, информация по рабочим моментам - пишите, мы на связи, подскажем по всем рабочим моментам.

iyzoer commented 3 years ago

Речь идет не о стоимости доставки, а именно о конечной сумме к оплате. Стоимость доставки будет передаваться как и ранее.

kappa08021982 commented 3 years ago

Понял. Да, конечно! Я и не думал, что она передается, если честно. Сильно не вникал в сам модуль. Единственное, думаю кому-то будет лучше, если это будет опционально. В некоторых случаях это надо. Так же вопрос по настройке модуля, инструкции очень малоинформативны, опция "Фиксировать изменения в истории заказа Opencart" что делает? Из смысла, в историю заказ добавляются изменения статусов из retailCRM, добавляются ВСЕ статусы в истории заказа (те, что можно посмотреть в истории в заказе retailCRM) или текущее значение на момент синхронизации, и делает ли "Уведомить покупателя", т.е. смена статуса понятна, механизм уведомления из OC покупателя о смене статуса так же включается?

kappa08021982 commented 3 years ago

И подскажите, когда ожидать изменение?

gwinn commented 3 years ago

Мы предварительно проанализируем необходимость таких изменений.

Из смысла, в историю заказ добавляются изменения статусов из retailCRM, добавляются ВСЕ статусы в истории заказа (те, что можно посмотреть в истории в заказе retailCRM) или текущее значение на момент синхронизации

Только текущее, уведомления не затрагиваем напрямую, для фиксации используется стандартная механика OpenCart, так что в зависимости от настроек/кастомизации такие уведомления могут отправляться.

kappa08021982 commented 3 years ago

Мы предварительно проанализируем необходимость таких изменений.

Из смысла, в историю заказ добавляются изменения статусов из retailCRM, добавляются ВСЕ статусы в истории заказа (те, что можно посмотреть в истории в заказе retailCRM) или текущее значение на момент синхронизации

Только текущее, уведомления не затрагиваем напрямую, для фиксации используется стандартная механика OpenCart, так что в зависимости от настроек/кастомизации такие уведомления могут отправляться.

За текущее - понял, для меня это хорошо. А если сопоставлений статусов между OC & retailCRM нет статусы не обновляются? Я имел ввиду, вы же используете функцию addOrderHistory модели order OC, где одним из параметров передается уведомление покупателя, по умолчанию оно стоит в false, просто как предложение вынести это в настройку модуля - будет очень большим плюсом. Спасибо!