CAllCrmLead::ProcessContactDeletion

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CAllCrmLead
  4. ProcessContactDeletion
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_lead.php
  • Класс: \CAllCrmLead
  • Вызов: CAllCrmLead::ProcessContactDeletion
static function ProcessContactDeletion($contactID)
{
	//We have to call update for each entity for synchronize customer type.
	$entity = new CCrmLead(false);

	$contactIdentifier = null;
	if ($contactID > 0)
	{
		$contactIdentifier = new Crm\ItemIdentifier(\CCrmOwnerType::Contact, (int)$contactID);
	}

	foreach(\Bitrix\Crm\Binding\LeadContactTable::getContactLeadIDs($contactID) as $ID)
	{
		$fields = array(
			'CONTACT_IDS' => array_filter(
				\Bitrix\Crm\Binding\LeadContactTable::getLeadContactIDs($ID),
				function($currentContactID) use($contactID)
				{
					return $currentContactID != $contactID;
				}
			)
		);

		$entity->Update(
			$ID,
			$fields,
			true,
			true,
			[
				'EXCLUDE_FROM_RELATION_REGISTRATION' => [
					$contactIdentifier,
				],
			],
		);
	}
}

Добавить комментарий