Bitrix24. Обновляем штатные FM поля лида.

Не секрет что документации по api bitrix24 очень мало, и та что есть достаточно скудна.
Для тех кто не хочет тратить как я время на изучение ядра, написал небольшую заметку по классическому на вскидку кейсу.

У нас есть лид со штатными полями телефон и почта, периодически значения этих полей может меняться, нам необходимо программно иметь возможность их сменить.
Первое что приходит на ум это использовать стандартный Update для лида. К сожалению так CRM не будет менять поля PHONE и EMAIL, для того чтобы иметь возможность их сменить нужно использовать другой класс CCrmFieldMulti.
Ниже прикладываю листинг метода, который я написал для смены телефона или почты у лида. Его можно свободно использовать для смены значений телефона в CRM Bitrix24.

/**
    * Обновляем FM поля
    * @param TYPE_ID Тип FM поля
    * @param LEAD_ID ID лида
    * @param VALUE значение для поля
    */    
    function updateFieldMulti($TYPE_ID, $LEAD_ID, $VALUE){
		\Bitrix\Main\Loader::includeModule('crm');

		$dbResult = \CCrmFieldMulti::GetList(
		    array(),
		    array(
		        'ENTITY_ID' => 'LEAD',
		        'CHECK_PERMISSIONS' => 'N',
		        'TYPE_ID' => $TYPE_ID,
		        'ELEMENT_ID' => $LEAD_ID
		    )
		);
		 
		if($arLead = $dbResult->GetNext()){
		    $arLeadID = $arLead;
		}
		 
		$ds = new \CCrmFieldMulti;
		$ds->Update(
			$arLeadID['ID'], 
			array(
				'VALUE' 	=>	$VALUE, 
				'TYPE_ID'	=>	$arLeadID['TYPE_ID'], 
				'VALUE_TYPE'	=>	$arLeadID['VALUE_TYPE'], 
				'COMPLEX_ID'	=>	$arLeadID['COMPLEX_ID']
			)
		);
    }
Поделиться
Отправить
2018   bitrix   bitrix24   CRM   Лид
Ваш комментарий
адрес не будет опубликован

ХТМЛ не работает

Ctrl + Enter
Популярное