AddEventHandler("crm", "OnAfterCrmDealAdd", "AddSberMarketClient");
function AddSberMarketClient(&$arFields){
if(!empty($arFields["ORDER_ID"]) && \Bitrix\Main\Loader::includeModule("sale")){
$order = \Bitrix\Sale\Order::load($arFields["ORDER_ID"]);
$userId = $order->getUserId();
$user = \Bitrix\Main\UserTable::getByPrimary($userId, [
'select' => ['NAME', 'LAST_NAME'],
])->fetchObject();
if($user->getName()=="Маркет" && $user->getLastName()=="Сбер"){
$communications = $order->getContactCompanyCollection();
if($communications->count() == 0){
$propertyCollection = $order->getPropertyCollection();
if(
(($property = $propertyCollection->getItemByOrderPropertyId(181)) || ($property = $propertyCollection->getItemByOrderPropertyId(174))) &&
($propValue = $property->getValue())
){
//ИД заказа (СберМегаМаркет)
if(!empty($propValue)){
$arFields["COMMENTS"] = !empty($arFields["COMMENTS"]) ? $propValue. " ".$arFields["COMMENTS"] : $propValue;
}
}
$itemCom = $communications->createContact();//контакт
$itemCom ->setField('ENTITY_ID', 86675); //ID контакта или компании
$itemCom ->setField('IS_PRIMARY', 'Y');
$itemCom1 = $communications->createCompany(); //компания
$itemCom1 ->setField('ENTITY_ID', 736); //ID контакта или компании
$itemCom1 ->setField('IS_PRIMARY', 'Y');
$order->save();
$deal = new \CCrmDeal( false );
$arOptions = array("CURRENT_USER"=> 1); //из под кого обновляем
$arFieldsNew = [
"COMPANY_ID" => 736,
"CONTACT_ID" => 86675
];
$upRes = $deal->Update($arFields["ID"], $arFieldsNew, true, true, $arOptions);
}
}
}
} |