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