профиля обязательные ,соответственно сейчас при создании заказа неавторизованным пользователем выдается ошибка "такое-то поле не заполнено". Например ,для юр. лица "Контактное лицо".
Если назвать поле заказа как UF_FIELD_CODE - как пользовательское поле, это не решит проблему?
Разные типы полей и между собой ника не связаны. Даже если обзывать одинаково.
как тогда в регистрацию при оформлении заказа передать поля из заказа? на какое-то событие повесить "заполнение" данных по UF_ полям профиля?
Поле от обязательств ника не избавить? Зачем оно было в профиле помечено как обязательное? Это поле есть в заказе выходит? Если снять обязательность то можно прокинуть из заказа через события
но у моего вариант есть проблема в том, что оно будет перезаписываться из каждого нового заказа
нет. есть специфические 3 пользовательских поля с данными по организации, которые указываются при регистрации и при оформлении заказа, если пользователь не авторизован.
то есть эти поля не светятся если человек уже зарегестрирован?
Но их не должно быть при повторном поидее? Но суть в том, что можно пробросить поля из заказа в профиль через событие OnSaleOrderSaved
должны быть. теоретически при оформлении заказа человек может их изменить. как и все остальные - по адресу ,контактным данным
заказ создается после регистрации и там уже есть ID пользователя по которому можно его обновить. Но придется снять обязательность
и допиливать стандартную регистрацию ,чтобы снятые с обязательности поля всё равно считались обязательными?
\Bitrix\Main\EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleOrderBeforeSaved', '\Partner\MyClass::onSaleOrderBeforeSaved' ); class MyClass { function onSaleOrderBeforeSaved(\Bitrix\Main\Event $event) { $order = $event->getParameter("ENTITY"); if($order->getId()) return; Тут что то делать с полями //https://mrcappuccino.ru/blog/post/work-with-order-bitrix-d7 Здесь методы для работы с заказом, // Получить значение свойства по ID: // $somePropValue = $propertyCollection->getItemByOrderPropertyId($orderPropertyId); //После получения присвоить пользователю // $order->getUserId(); Id пользователя } }
так там вроде через REQUIRED_FIELDS можно передать любое поле как обязательное даже если оно не обязательное по своей сути
https://dev.1c-bitrix.ru/user_help/components/sluzhebnie/user/main_register.php Поля, обязательные для заполнения REQUIRED_FIELDS Указываются обязательные для заполнения поля. Список допустимых значений такой же, что и в предыдущем пункте.
ок, спасибо! буду пробовать)
Обсуждают сегодня