• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/integration/crm/connectors/client.php
  • Класс: Bitrix\Sender\Integration\Crm\Connectors\Client
  • Вызов: Client::prepareQueryCollection
protected function prepareQueryCollection(Entity\Query $query)
{
	$result = [$query];

	$filterFields = $query->getFilter();
	$productSource = $filterFields['PRODUCT_SOURCE'] ?? '';
	unset($filterFields['PRODUCT_SOURCE']);
	$query->setFilter($filterFields);

	$productFilterKey = '=PRODUCT_ID';
	if (array_key_exists($productFilterKey, $filterFields))
	{
		$productIds = $filterFields[$productFilterKey];

		unset($filterFields[$productFilterKey]);
		$query->setFilter($filterFields);

		$productIds = array_merge($productIds, $this->getProductSkuIds($productIds));
		if (empty($productIds))
		{
			return $result;
		}

		$result = $this->getQueryCollectionForProductsFilter($query, $productIds, $productSource);
	}

	return $result;
}