При редактировании заказа дублируются адреса в приложение Контакты Исправлено

6

Фреймворк 1.10.7.356 Магазин 7.5.1.287

После обновления фреймворка был замечен глюк с появлением множественных одинаковых адресов у одного контакта. На тестовом стенде с нуля была воспроизведена следующая ситуация:
1. Клиент делает заказ.
2. Менеджер заказ открывает и сохраняет (изменения можно даже и не вносить).
3. С каждым сохранением заказа у клиента добавляется +1 адрес в контактах. Таким образом кол-во адресов клиента будет равно кол-ву сохранений заказа +1, несмотря на то, что адреса эти одинаковые.

Да пусть даже и разные адреса. Текущий адрес и без того уже пришивается к заказу в таблице shop_order_params. Зачем ещё при этом постоянно пополнять wa_contact_data этими адресами при редактировании заказа?

Причиной является наличие address:lat и address:lng в таблице wa_contact_data для адреса клиента с ключом sort = 0. При наличии этих значений адрес не меняется, а добавляется. При этом ключи sort уже имеющихся адресов увеличиваются на 1. Как только оказывается, что адрес с sort=0 не имеет полученных значений широты и долготы, то он (адрес) будет при редактировании заказа успешно перезаписываться. Как только широта и долгота будут определены, то перезапись становится невозможной и новый адрес из заказа просто добавляется в базу контактов в качестве второго, третьего, десятого shipping-адреса. Т.е. не всякий адрес приведет к появлению дубликатов, а лишь с определенными географическими координатами.

На скриншотах двух ситуаций с одинаковым и разными адресами всё показано.

13 комментариев

  • +2
    Distrupt Distrupt 8 января 2019 22:15 #

    аналогичная проблема

  • +2
    www.molokonadom.ru www.molokonadom.ru 19 марта 2019 13:43 #

    У меня такая же проблема. Но можно даже ничего не менять в заказе. Просто открываю заказ для редактирования и сохраняю, как тут же появляется дубль адреса из редактируемого заказа в карточке этого покупателя.

  • +1
    Михаил Ушенин Михаил Ушенин Webasyst 9 января 2019 11:34 #

    Не удалось повторить ошибку. Покажите полную последовательность действий на снимках экрана, пожалуйста.

    • +2
      replicant replicant 10 января 2019 11:43 #

      Сделал последовательность скриншотов (19 штук). Здесь выкладывать очень муторно, поэтому пронумеровал их по порядку, упаковал в архив (282 кб) и выложил на доступ по этой ссылке

      Алгоритм теста был очень простой. Сделал заказ на витрине. Открывал заказ для редактирования. Менял в нём только регион и/или город и сохранял. Снова открывал, менял регион и/или город и сохранял. Можно опционально добавлять улицу и дом, но это не принципиально. Самое главное - это записать в базу строку в которой есть географические координаты. После неё следующий адрес будет добавлен вторым. На скриншотах всё последовательно показано.

      Когда скачаете архив и проанализируете, то ответьте, чтобы я знал, что архив уже можно удалять.

      Не исключаю, что проблема не критическая и может носить индивидуальный характер, но она есть и многократные тесты это подтверждают. В любом случае был бы благодарен за наводку хотя бы на файл и функцию, которые отвечают за запросы в БД при редактировании заказа и запись/обновление данных в wa_contact_data при этом. Мне хотелось бы в коде видеть почему географические координаты не дают перезаписывать адрес в базе.

      На скриншоте ниже это не оно?

    • +1
      Antonio Antonio 19 марта 2019 15:03 #

      У меня тоже самое

    • +1
      www.molokonadom.ru www.molokonadom.ru 20 марта 2019 11:32 #

      Также появляются дубли адресов у покупателей, которые делают повторные заказы. С каждым новым заказом у них появляется в карточке дополнительно такой же адрес.

    • +1
      Михаил Ушенин Михаил Ушенин Webasyst 22 марта 2019 11:47 #

      Сообщите номер версии Shop-Script, пожалуйста.

      • +1
        Михаил Ушенин Михаил Ушенин Webasyst 22 марта 2019 11:49 #

        Я вижу, что вы писали о Shop-Script 7.5, но, возможно, вы с тех пор успели обновиться до Shop-Script 8.0+. Также интересует номер версии магазина у авторов других комментариев в этой теме.

        • +1
          replicant replicant 22 марта 2019 15:53 #

          На 8-ке проблема сохраняется в том же виде на всех версиях. Ничего не изменилось.

        • +1
          www.molokonadom.ru www.molokonadom.ru 22 марта 2019 12:31 #

          8.3.0.7

        • +1
          Tatiana Tatiana 23 марта 2019 14:25 #

          У меня тоже так. Когда заказ (согласно натсройкам можно прикреплять автоматом заказ к существующему клиенту при  совпадении контактов) автоматичеки прикрепляется к существующему клиенту, то  в контакте создается новый блок с адресом. И так с каждым последующим заказом. 

        • 0
          Андрей Андрей 23 марта 2019 09:18 #

          Опять как всегда ,есть реальные жалобы клиентов и разработчикам глубоко побоку на это .!!

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

          • +1

            Насколько могу судить, не пофиг. Но вот я такой проблемы у клиентов не видел и, ради интереса, повторить у себя не смог. И с гео-координатами тоже. 

            Добавить комментарий

            Чтобы добавить комментарий, зарегистрируйтесь или войдите