Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

sale.order.ajax подставляет старый email

00 голосов
8
Вобщем, при вызове sale.order.ajax в поле E-mail подставляется тот адрес с которым юзер зарегистрировался, даже если он сменил его на новый.
Кто-нибудь сталкивался?
спросил 28 Июнь, 13 от Aribor (560 баллов)

8 Ответы

00 голосов
Старый адрес возвращает CSaleOrderUserPropsValue::GetList в 639 строке components.php. Откуда она его берет?
ответил 28 Июнь, 13 от Aribor (560 баллов)
00 голосов
Из профиля покупателя, которых может быть несколько.
ответил 30 Июль, 13 от smileplz (8,020 баллов)
00 голосов
Пока сделал так:
Код
687         //if (strlen($curVal) <= 0)
688         //{
689            if ($arProperties["IS_EMAIL"] == "Y")
699               $arProperties["VALUE"] = $USER->GetEmail();
700            elseif ($arProperties["IS_PAYER"] == "Y")
701               $arProperties["VALUE"] = $USER->GetFullName();
702            elseif(strlen($arProperties["DEFAULT_VALUE"])>0)
703               $arProperties["VALUE"] = $arProperties["DEFAULT_VALUE"];
704         //}
705         //else
706         //   $arProperties["VALUE"] = $curVal;
 
Понятно, что это не грамотно и создает лишнюю нагрузку, но другого вывода пока не нашел.

Буду рад помощи.
И еще один вопрос: Такое решение не приведет к проблемам? (об обновлении sale.order.ajax речи не идет - он кастомизирован давно и не мной).
ответил 01 Ноя, 13 от Aribor (560 баллов)
00 голосов
Цитата
Max Pryazhevsky пишет:
Из профиля покупателя, которых может быть несколько.
И что с этим возможно сделать?
ответил 07 Фев, 14 от Aribor (560 баллов)
00 голосов
Цитата
Suntechnic пишет:
И что с этим возможно сделать?

Попробуйте настроить для покупателя работу с профилями - профили пользователя (комплексный компонент).

Либо удаляйте профили после оформления заказа - CSaleOrderUserProps::Delete().
ответил 27 Май, 14 от smileplz (8,020 баллов)
00 голосов
Не совсем понимаю...
Профиль создается при каждом оформлении заказа?
ответил 24 Сен, 14 от Aribor (560 баллов)
00 голосов
Вот тут http://dev.1c-bitrix.ru/user_help/store/sale/index.php?print=Y написано, что:
Цитата
Часть свойств заказа может сохраняться в виде профиля покупателя и использоваться для облегчения заполнения формы заказа при повторных заказах.

Это значит, что могут сохраняться, а могут не сохраняться. Как бы сделать так, чтобы email не сохранялся.
ответил 28 Янв, 15 от Aribor (560 баллов)
00 голосов
Убрать галочку "Входит в профиль" в настройке свойства заказа не помогает?
ответил 11 Май, 15 от Pomnep (13,960 баллов)

Похожие вопросы

+1 голос
1 ответ
0 голосов
3 ответов
спросил 29 Март, 14 от Snezhka (2,240 баллов)
0 голосов
4 ответов
спросил 03 Фев, 14 от Jaden (260 баллов)
0 голосов
2 ответов
0 голосов
5 ответов
спросил 27 Май, 13 от Biscuit (160 баллов)