• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/taskreport.php
  • Класс: CTaskReport
  • Вызов: CTaskReport::GetCompanyStats
static function GetCompanyStats($arFilter=array())
{
	global $DB;

	$arSqlSearch = CTasks::GetFilter($arFilter);

	if ( ! array_key_exists('PERIOD', $arFilter) )
		$arFilter['PERIOD'] = null;

	$strSql = "
		SELECT
			COUNT(DISTINCT T.RESPONSIBLE_ID) AS RESPONSIBLES,
			SUM(".CTaskReport::GetPeriodCondition($arFilter["PERIOD"], "CLOSED_DATE", "T.CLOSED_DATE IS NOT NULL AND T.ADD_IN_REPORT = 'Y' AND (T.MARK = 'P' OR T.MARK = 'N')").") AS MARKED_IN_REPORT,
			SUM(".CTaskReport::GetPeriodCondition($arFilter["PERIOD"], "CLOSED_DATE", "T.CLOSED_DATE IS NOT NULL AND T.ADD_IN_REPORT = 'Y' AND T.MARK = 'P'").") AS POSITIVE
		FROM
			b_tasks T
		INNER JOIN
			b_user U ON U.ID = T.RESPONSIBLE_ID
		WHERE
			T.ADD_IN_REPORT = 'Y'
		AND
			U.ACTIVE = 'Y'
		";

	if (count($arSqlSearch) !== 0)
		$strSql .= ' AND ' . implode(' AND ', $arSqlSearch);

	$res = $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__); return $res; }