После обновления фреймворка был замечен глюк с появлением множественных одинаковых адресов у одного контакта. На тестовом стенде с нуля была воспроизведена следующая ситуация: 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-адреса. Т.е. не всякий адрес приведет к появлению дубликатов, а лишь с определенными географическими координатами.
На скриншотах двух ситуаций с одинаковым и разными адресами всё показано.
Сделал последовательность скриншотов (19 штук). Здесь выкладывать очень муторно, поэтому пронумеровал их по порядку, упаковал в архив (282 кб) и выложил на доступ по этой ссылке
Алгоритм теста был очень простой. Сделал заказ на витрине. Открывал заказ для редактирования. Менял в нём только регион и/или город и сохранял. Снова открывал, менял регион и/или город и сохранял. Можно опционально добавлять улицу и дом, но это не принципиально. Самое главное - это записать в базу строку в которой есть географические координаты. После неё следующий адрес будет добавлен вторым. На скриншотах всё последовательно показано.
Когда скачаете архив и проанализируете, то ответьте, чтобы я знал, что архив уже можно удалять.
Не исключаю, что проблема не критическая и может носить индивидуальный характер, но она есть и многократные тесты это подтверждают. В любом случае был бы благодарен за наводку хотя бы на файл и функцию, которые отвечают за запросы в БД при редактировании заказа и запись/обновление данных в wa_contact_data при этом. Мне хотелось бы в коде видеть почему географические координаты не дают перезаписывать адрес в базе.
У меня такая же проблема. Но можно даже ничего не менять в заказе. Просто открываю заказ для редактирования и сохраняю, как тут же появляется дубль адреса из редактируемого заказа в карточке этого покупателя.
Также появляются дубли адресов у покупателей, которые делают повторные заказы. С каждым новым заказом у них появляется в карточке дополнительно такой же адрес.
Я вижу, что вы писали о Shop-Script 7.5, но, возможно, вы с тех пор успели обновиться до Shop-Script 8.0+. Также интересует номер версии магазина у авторов других комментариев в этой теме.
У меня тоже так. Когда заказ (согласно натсройкам можно прикреплять автоматом заказ к существующему клиенту при совпадении контактов) автоматичеки прикрепляется к существующему клиенту, то в контакте создается новый блок с адресом. И так с каждым последующим заказом.
13 комментариев
аналогичная проблема
Не удалось повторить ошибку. Покажите полную последовательность действий на снимках экрана, пожалуйста.
Сделал последовательность скриншотов (19 штук). Здесь выкладывать очень муторно, поэтому пронумеровал их по порядку, упаковал в архив (282 кб) и выложил на доступ по этой ссылке
Алгоритм теста был очень простой. Сделал заказ на витрине. Открывал заказ для редактирования. Менял в нём только регион и/или город и сохранял. Снова открывал, менял регион и/или город и сохранял. Можно опционально добавлять улицу и дом, но это не принципиально. Самое главное - это записать в базу строку в которой есть географические координаты. После неё следующий адрес будет добавлен вторым. На скриншотах всё последовательно показано.
Когда скачаете архив и проанализируете, то ответьте, чтобы я знал, что архив уже можно удалять.
Не исключаю, что проблема не критическая и может носить индивидуальный характер, но она есть и многократные тесты это подтверждают. В любом случае был бы благодарен за наводку хотя бы на файл и функцию, которые отвечают за запросы в БД при редактировании заказа и запись/обновление данных в wa_contact_data при этом. Мне хотелось бы в коде видеть почему географические координаты не дают перезаписывать адрес в базе.
На скриншоте ниже это не оно?
У меня такая же проблема. Но можно даже ничего не менять в заказе. Просто открываю заказ для редактирования и сохраняю, как тут же появляется дубль адреса из редактируемого заказа в карточке этого покупателя.
У меня тоже самое
Также появляются дубли адресов у покупателей, которые делают повторные заказы. С каждым новым заказом у них появляется в карточке дополнительно такой же адрес.
Сообщите номер версии Shop-Script, пожалуйста.
Я вижу, что вы писали о Shop-Script 7.5, но, возможно, вы с тех пор успели обновиться до Shop-Script 8.0+. Также интересует номер версии магазина у авторов других комментариев в этой теме.
На 8-ке проблема сохраняется в том же виде на всех версиях. Ничего не изменилось.
8.3.0.7
Опять как всегда ,есть реальные жалобы клиентов и разработчикам глубоко побоку на это .!!
да есть такой косяк с адресом он дублируется в карточке клиента.
Насколько могу судить, не пофиг. Но вот я такой проблемы у клиентов не видел и, ради интереса, повторить у себя не смог. И с гео-координатами тоже.
У меня тоже так. Когда заказ (согласно натсройкам можно прикреплять автоматом заказ к существующему клиенту при совпадении контактов) автоматичеки прикрепляется к существующему клиенту, то в контакте создается новый блок с адресом. И так с каждым последующим заказом.