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