В Битрикс при создании заказа пытаюсь изменить ему пользовательское свойство телефон (нужно изменить формат), но оно не меняется, хотя остальные поля изменяются.
Обработчик
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('sale', 'OnSaleOrderBeforeSaved', 'orderModify');
function orderModify($event)
{
/** @var \Bitrix\Sale\Order $order */
$order = $event->getParameter("ENTITY");
$propertyCollections = $order->getPropertyCollection();
/** @var Bitrix\Sale\PropertyValue $propertyCollection */
foreach ($propertyCollections as $propertyCollection) {
if ($propertyCollection->getField('CODE') == 'PHONE') {
$propertyCollection->setValue(preg_replace('/[^0-9]/', '', $propertyCollection->getValue()));
}
}
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей