- Модуль: biconnector
- Путь к файлу: ~/bitrix/modules/biconnector/lib/service.php
- Класс: BitrixBIConnectorService
- Вызов: Service::applyDateFilter
protected function applyDateFilter(&$sqlWhere, $tableFields, $dateRange, $timeFilterColumn = '')
{
$startDate = array_key_exists('startDate', $dateRange) ? MakeTimeStamp($dateRange['startDate'], 'YYYY-MM-DD') : false;
$filterColumnName = false;
if (
$timeFilterColumn
&& array_key_exists($timeFilterColumn, $tableFields)
&& $tableFields[$timeFilterColumn]['FIELD_TYPE'] === 'datetime'
)
{
$filterColumnName = $timeFilterColumn;
}
else
{
foreach ($tableFields as $fieldName => $fieldInfo)
{
if ($fieldInfo['FIELD_TYPE'] === 'datetime')
{
$filterColumnName = $fieldName;
break;
}
}
}
if ($filterColumnName)
{
if ($startDate)
{
$sqlWhere['>=' . $filterColumnName] = ConvertTimeStamp($startDate, 'SHORT');
}
$endDate = array_key_exists('endDate', $dateRange) ? MakeTimeStamp($dateRange['endDate'], 'YYYY-MM-DD') : false;
if ($endDate)
{
$endDate += 23 * 3600 + 59 * 60 + 59;
$sqlWhere['<=' . $filterColumnName] = ConvertTimeStamp($endDate, 'FULL');
}
}
}