• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/integrations/report/handlers/base.php
  • Класс: BitrixImOpenLinesIntegrationsReportHandlersBase
  • Вызов: Base::prepareQueryForFiltering
private function  prepareQueryForFiltering(Query $query)
{
	/** @var TimePeriod $period */
	$period = $this->getWidgetHandler()->getFormElement('time_period');
	$periodStartEnd = $period->getValueAsPeriod();
	$query->where('DATE', '>=', $periodStartEnd['start']);
	$query->where('DATE', '<=', $periodStartEnd['end']);

	$openLineField = $this->getFormElement('filterOpenLine');
	$openLineFieldValue = $openLineField->getValue();
	if ($openLineFieldValue !== '__')
	{
		$query->where('OPEN_LINE_ID', $openLineFieldValue);
	}

	$channelField = $this->getFormElement('filterByChanel');
	$channelFieldValue = $channelField->getValue();
	if ($channelFieldValue !== '__')
	{
		$query->where('SOURCE_ID', $channelFieldValue);
	}


	$responsibleField = $this->getFormElement('filterByResponsible');
	$responsibleFieldValue = $responsibleField->getValue();

	if ($responsibleFieldValue !== '__')
	{
		$query->where('OPERATOR_ID', $responsibleFieldValue);
	}

	$query->where('OPERATOR_ID', '!=', 0);
	return $query;
}