- Модуль: 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;
}