28.07.2017 03:33:29 234

E-mail в заказе является свойством, не полем, получить его можно таким образом, например, после оформления заказа в шаблоне компонента bitrix:sale.order.ajax в файле confirm.php

if($orderId = $arResult['ORDER_ID']) {
$userEmail = "";
if($order = \Bitrix\Sale\Order::load($orderId)) {
/** @var \Bitrix\Sale\PropertyValueCollection $propertyCollection */
if($propertyCollection = $order->getPropertyCollection()) {
//Ищет свойство заказа, у которого есть флажок IS_EMAIL
if($propUserEmail = $propertyCollection->getUserEmail()) {
$userEmail = $propUserEmail->getValue();
}
else {
/** @var \Bitrix\Sale\PropertyValue $orderProperty */
foreach($propertyCollection as $orderProperty) {
//Ищет свойство заказа, у которого символьный код например EMAIL
if($orderProperty->getField('CODE') == 'EMAIL') {
$userEmail = $orderProperty->getValue();
break;
}
}
}
}
}

//Если мыло не нашли, но юзер авторизован
if(!$userEmail && $USER->IsAuthorized())
$userEmail = $USER->GetEmail();

$userEmail = trim($userEmail);

print_r($userEmail);
}