• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/taskreport.php
  • Класс: CTaskReport
  • Вызов: CTaskReport::GetPeriodCondition
static function GetPeriodCondition($arPeriod, $field, $extraCond = "1=1")
{
	global $DB;
	if ($arPeriod["START"])
	{
		$arPeriod["START"] = CDatabase::FormatDate($arPeriod["START"], FORMAT_DATETIME);
	}
	if ($arPeriod["END"])
	{
		$arPeriod["END"] =  CDatabase::FormatDate($arPeriod["END"], FORMAT_DATETIME);
	}
	$condition = "CASE WHEN ".
		($arPeriod["START"] || $arPeriod["END"] ?
			($arPeriod["START"] ? "T.".$field." >= ".BitrixTasksUtilDb::charToDateFunction($arPeriod["START"]) : "").
			($arPeriod["START"] && $arPeriod["END"] ? " AND " : "").
			($arPeriod["END"] ? "T.".$field." <= ".BitrixTasksUtilDb::charToDateFunction($arPeriod["END"]) : "").
		" AND " :
		"").
		$extraCond." THEN 1 ELSE 0 END";

	return $condition;
}