• Модуль: report
  • Путь к файлу: ~/bitrix/modules/report/lib/visualconstructor/fields/valuable/timeperiod.php
  • Класс: BitrixReportVisualConstructorFieldsValuableTimePeriod
  • Вызов: TimePeriod::getValueAsPeriod
public function getValueAsPeriod()
{
	$value = $this->getValue();
	$defaultStartDate = strtotime("-1 year", time());
	$defaultStartDate = date('Y-m-d', $defaultStartDate);
	$result = array(
		'start' => new DateTime($defaultStartDate, 'Y-m-d'),
		'end' => new DateTime(),
	);
	switch ($value['type'])
	{
		case self::FILTER_PERIOD_TIME:
			$forFilter = $this->prepareTimePeriodForFilter();
			if ($forFilter)
			{
				$result = $forFilter;
			}
			break;
		case self::QUARTER_PERIOD_TIME:
			$result = $this->prepareTimePeriodForQuarter($value);
			break;
		case self::YEAR_PERIOD_TIME:
			$result = $this->prepareTimePeriodForYear($value);
			break;
		case self::MONTH_PERIOD_TIME:
			$result = $this->prepareTimePeriodForMonth($value);
			break;
		case self::THIS_YEAR_PERIOD_TIME:
			$result = $this->prepareTimePeriodForThisYear();
			break;
		case self::THIS_QUARTER_PERIOD_TIME:
			$result = $this->prepareTimePeriodForThisQuarter();
			break;
		case self::THIS_MONTH_PERIOD_TIME:
			$result = $this->prepareTimePeriodForThisMonth();
			break;
		case self::THIS_DAY_PERIOD_TIME:
			$result = $this->prepareTimePeriodForLastDays();
			break;
		case self::LAST_90_DAYS_PERIOD_TIME:
			$result = $this->prepareTimePeriodForLastDays(90);
			break;
		case self::LAST_60_DAYS_PERIOD_TIME:
			$result = $this->prepareTimePeriodForLastDays(60);
			break;
		case self::LAST_30_DAYS_PERIOD_TIME:
			$result = $this->prepareTimePeriodForLastDays(30);
			break;
		case self::LAST_7_DAYS_PERIOD_TIME:
			$result = $this->prepareTimePeriodForLastDays(7);
			break;

	}
	$result['type'] = $value['type'];
	return $result;
}