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