| Режим работы с заказами больше не поддерживается в Битрикс24. https://helpdesk.bitrix24.ru/open/13632830/ Одни сделки. Но в сделке нет данных из свойств заказа. Обработчик, который подтягивает некоторые данные в сделку из заказа |
use Bitrix\Main;
use \Bitrix\Main\Loader;
use Bitrix\Sale,
Bitrix\Sale\Order;
define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/bitrix/php_interface/log.txt");
AddEventHandler("crm", "OnAfterCrmDealAdd", "MyOnAfterCrmDealAdd1");
function MyOnAfterCrmDealAdd1(&$arFields){
if(!empty($arFields["ORDER_ID"]) && Bitrix\Main\Loader::includeModule("sale")){
$order = \Bitrix\Sale\Order::load($arFields["ORDER_ID"]);
if(!empty($order)){
$arFieldsNew = [];
if(!empty($order->getField('USER_DESCRIPTION'))){
$arFieldsNew["UF_CRM_1670177757319"] = $order->getField('USER_DESCRIPTION'); //комментарии пользователя
}
$propertyCollection = $order->getPropertyCollection();
$property = $propertyCollection->getItemByOrderPropertyId(1);//ФИО
if(!empty($property)){
$arFieldsNew["UF_CRM_1670177559737"] = $property->getValue();
}
$property = $propertyCollection->getItemByOrderPropertyId(3);//телефон
if(!empty($property)){
$arFieldsNew["UF_CRM_1670177697535"] = $property->getValue();
}
$property = $propertyCollection->getItemByOrderPropertyId(28);//адрес
if(!empty($property)){
$arFieldsNew["UF_CRM_1670177713040"] = $property->getValue();
}
$property = $propertyCollection->getItemByOrderPropertyId(67);//дом кв
if(!empty($property)){
$arFieldsNew["UF_CRM_1670177729839"] = $property->getValue();
}
if(!empty($arFieldsNew)){
$deal = new \CCrmDeal( false );
$arOptions = array("CURRENT_USER"=> 1); //из под кого обновляем
//сначала заполняем поля
$upRes = $deal->Update($arFields["ID"], $arFieldsNew, true, true, $arOptions);
}
}
}
} |