• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/recurring/entity/item/invoiceexist.php
  • Класс: Bitrix\Crm\Recurring\Entity\Item\InvoiceExist
  • Вызов: InvoiceExist::getDatePayBefore
protected function getDatePayBefore()
{
	if (
		empty($this->getCalculateParameter('DATE_PAY_BEFORE_TYPE'))
		|| $this->getCalculateParameter('DATE_PAY_BEFORE_TYPE') === Entity\Invoice::UNSET_DATE_PAY_BEFORE
	)
	{
			return null;
	}

	$period = (int)$this->getCalculateParameter('DATE_PAY_BEFORE_PERIOD');
	$count = (int)$this->getCalculateParameter('DATE_PAY_BEFORE_COUNT');
	$result['PERIOD'] = (int)$period;

	if (empty($period))
	{
		return null;
	}

	switch($period)
	{
		case Calculator::SALE_TYPE_DAY_OFFSET:
			{
				$result['DAILY_TYPE'] = DateType\Day::TYPE_A_FEW_DAYS_AFTER;
				$result['INTERVAL'] = $count;
				break;
			}
		case Calculator::SALE_TYPE_WEEK_OFFSET:
			{
				$result['WEEKLY_TYPE'] = DateType\Week::TYPE_A_FEW_WEEKS_AFTER;
				$result['INTERVAL'] = $count;
				break;
			}
		case Calculator::SALE_TYPE_MONTH_OFFSET:
			{
				$result['MONTHLY_TYPE'] = DateType\Month::TYPE_A_FEW_MONTHS_AFTER;
				$result['INTERVAL'] = $count;
				break;
			}
		default:
			return null;
	}

	return Entity\Invoice::getNextDate($result);
}