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