Здравствуйте! Возникла проблема с оформлением, причем не особо кастомизированным компонентом (буквально правки только по стилям). Если пользователь не зарегистрирован, то при выборе доставки или оплаты блок с информацией не изменяется. В консоли пишет битриксовский дебаг, id доставки верный (который я совсем не понимаю как читать( ) http://prntscr.com/eukqvs На editActiveDeliveryBlock, например, вызывается editDeliveryInfo. console.log() в этих функциях не срабатывает (может я его не вижу из-за аякса)
Может кто-то сталкивался с проблемой или есть догадки о ее природе? (и если не сложно, расскажите, как понимать BX.debug?)
PHP7, штатный компонент. При нажатии кнопки "оформить заказ" выводит сообщение что заказ успешно создан, вроде всё нормально, НО: Открываем админку, идём в заказы и видим что заказа 2, причём часть товаров в первом, часть во втором. Срабатывает это не всегда, выявить закономерность по такой ошибки, а также по какому принципу делятся товары на 2 заказа не получилось. Техподдержка заявила что ошибок нет.
Никто с таким не сталкивался? Нет ли у кого рецепта как это победить?
Олег Максименко написал: Осмелюсь предположить — срабатывает «двойное» нажатие на кнопку «Оформить заказ». Либо случайно нажимаете несколько раз, либо ошибка в коде.
Лечится это «задизейблиеванием» или установкой флага нажатия на кнопку и последующей проверкой на установленный флаг.
Это не все прелести: выяснилось что если заказ от незарегистрированного пользователя - то могут быть созданы 2 пользователя вместо одного. Ну и двойное нажатие не может порвать заказ на 2 части.
Думаю стоит посмотреть в сторону служб доставки или оплаты. Что то из них разбивает заказ на несколько частей. Например разные способы фасовки товара, но в целом такого не должно происходить.
Перед оформлением заказа используется регистрация. Поля формы регистрации задаются в order_ajax.js. Добавил обязательное поле Отчество по аналогии с именем и фамилией. В результате поле не проверяется на обязательность, текст валидации полей задан в классе компонента, после регистрации значение поля не попадает в профиль. Можно ли кастомизировать форму регистрации при оформлении заказа не изменяя компонент? Цель всех телодвижений проста: при оформлении доставки почтой России требуется указание отчества. Для этого планируется перед оформлением заказа регистрировать пользователя с полным именем фамилией и отчеством, чтобы после регистрации на странице оформления заказа в блоке пользователя подхватывалась полное ФИО пользователя.
Денис Иванов, не надо добавлять в регистрацию обязательным "Отчество". Добавьте свойство заказа. Которое будет зависимо от службы доставки "Почтой" и обязательное для заполнения. Естественно, укажите, что оно входит в профиль. Это позволит не заполнять каждый раз при оформлении заказа.
Не очень изящно, конечно, для имени и фамилии давать на заполнение одно поле, а для отчества отдельное. Но если задавать отдельно поля для имени, фамилии и отчества через свойства заказа, возникают проблемы с подтягиванием этих данных из профиля при первичном оформлении заказа (пробовал через событие OnSaleComponentOrderResultPrepared изменить данные в $arUserResult - не подхватились).
В любом случае спасибо за совет, ваш вариант является рабочим и решает основную проблему.
Денис Иванов, вставьте компонент обычной регистрации и проверяйте если не авторизованный - выводим регистрацию. Если авторизированные пользователя - sale.order.ajax.