• Как проверять на существование лидов с таким же Email. Битрикс24. Коробочная версия?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Сделать нужно немножечко подругому:

    Изучите нижеследующий код и rest-метод crm.duplicate.findbycomm. Смотрите в /home/bitrix/www/bitrix/modules/crm/classes/general/restservice.php

    use \Bitrix\Main;
    use \Bitrix\Crm;
    
    /* @var string Email, который будем искать */
    $sEmail = 'swap@google.com';
    
    /* @var array ID лидов, которые попадаются под условия */
    $arLeadIds = [];
    
    if ( Main\Loader::IncludeModule('crm') )
    {
    	// Формируем критерий, подсовываем Email
    	$criterion = new Crm\Integrity\DuplicateCommunicationCriterion( Crm\CommunicationType::EMAIL_NAME, $sEmail);
    
    	// Выполняем поиск первых 20 клиентов
    	$duplicate = $criterion->find( \CCrmOwnerType::Lead, 20);
    
    	// Если найдены entity проитерируем их
    	$entities = $duplicate->getEntities();
    	if ( !empty($entities) )
    	{
    		foreach($entities as $entity)
    		{
    			$arLeadIds[] = $entity->getEntityID();
    		}
    	}
    }
    
    // А тут будут ID сделок
    var_dump($arLeadIds);
    Ответ написан
    3 комментария