• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/integration/crm/connectors/client.php
  • Класс: Bitrix\Sender\Integration\Crm\Connectors\Client
  • Вызов: Client::getContactQuery
protected function getContactQuery()
{
	$query = CrmContactTable::query();
	$query->setFilter($this->getCrmEntityFilter(\CCrmOwnerType::ContactName));
	if ($query->getEntity()->hasField('CATEGORY_ID'))
	{
		$query->where('CATEGORY_ID', 0);
	}
	$this->addCrmEntityReferences($query);
	$query->registerRuntimeField(new Entity\ExpressionField('CRM_ENTITY_TYPE_ID', \CCrmOwnerType::Contact));
	$query->registerRuntimeField(new Entity\ExpressionField('CRM_ENTITY_TYPE', '\''.\CCrmOwnerType::ContactName.'\''));
	$query->registerRuntimeField(new Entity\ExpressionField('CRM_COMPANY_ID', 0));
	$query->registerRuntimeField(new Entity\ExpressionField('CONTACT_ID', '%s', ['ID']));
	$query->registerRuntimeField(Helper::createExpressionMultiField(\CCrmOwnerType::ContactName, 'EMAIL'));
	$query->registerRuntimeField(Helper::createExpressionMultiField(\CCrmOwnerType::ContactName, 'PHONE'));
	$query->setSelect(
			[
				'CRM_ENTITY_ID'  => 'ID',
				'NAME',
				'CRM_ENTITY_TYPE_ID',
				'CRM_ENTITY_TYPE',
				'CRM_CONTACT_ID' => 'CONTACT_ID',
				'CRM_COMPANY_ID',
				'HAS_EMAIL',
				'HAS_PHONE',
				'HAS_IMOL',
			]
	);

	return $query;
}