• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/filter/entitydataprovider.php
  • Класс: Bitrix\Crm\Filter\EntityDataProvider
  • Вызов: EntityDataProvider::prepareFilterValue
public function prepareFilterValue(array $rawFilterValue): array
{
	$filterValue = parent::prepareFilterValue($rawFilterValue);

	$factory = Container::getInstance()->getFactory($this->getSettings()->getEntityTypeID());
	if (!$factory)
	{
		return $filterValue;
	}

	$this->applySearchString($factory->getEntityTypeId(), $filterValue);
	$this->applyParentFieldFilter($filterValue);

	if ($factory->isMultiFieldsEnabled())
	{
		$this->applyMultifieldFilter($filterValue);
	}

	$currentUser = CurrentUser::get()->getId();
	/** @var UserBasedField $userFieldPrepare */
	$userFieldPrepare = ServiceLocator::getInstance()->get('crm.filter.fieldsTransform.userBasedField');
	$userFieldPrepare->transformAll($filterValue, ['ASSIGNED_BY_ID', 'ACTIVITY_RESPONSIBLE_IDS'], $currentUser);

	if ($factory->isCountersEnabled())
	{
		$this->applyCounterFilter($factory->getEntityTypeId(), $filterValue);
	}

	$this->applySettingsDependantFilter($filterValue);

	return $filterValue;
}