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