• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/controller/action/entity/searchaction.php
  • Класс: Bitrix\Crm\Controller\Action\Entity\SearchAction
  • Вызов: SearchAction::getAdditionalFilter
protected function getAdditionalFilter(int $entityTypeId, array $options): array
{
	$categoryFilter = [];
	$categoriesFromOptions = $this->getAffectedCategoriesFromOptions($options);
	if (!empty($categoriesFromOptions) && is_array($categoriesFromOptions) && in_array($entityTypeId, [\CCrmOwnerType::Contact, \CCrmOwnerType::Company], true))
	{
		if (count($categoriesFromOptions) === 1)
		{
			$categoryFilter['=CATEGORY_ID'] = reset($categoriesFromOptions);
		}
		else
		{
			$categoryFilter['@CATEGORY_ID'] = $categoriesFromOptions;
		}
	}

	if ($entityTypeId === \CCrmOwnerType::Company)
	{
		return array_merge($categoryFilter, [
			'=IS_MY_COMPANY' => $this->isMyCompanyFromOptions($options) ? 'Y' : 'N',
		]);
	}
	if ($entityTypeId === \CCrmOwnerType::Contact)
	{
		return $categoryFilter;
	}

	return [];
}