• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/entity/letter.php
  • Класс: BitrixSenderEntityLetter
  • Вызов: Letter::wait
public function wait()
{
	if ($this->isTrigger())
	{
		try
		{
			return $this->getState()->wait();
		}
		catch (InvalidOperationException $exception)
		{
			$this->errors->setError(new Error($exception->getMessage()));
			return false;
		}
	}

	if (!$this->isReiterate())
	{
		$this->errors->setError(new Error('Entity is not reiterate.'));
		return false;
	}

	try
	{
		$scheduleTime = DispatchMethodSchedule::parseTimesOfDay($this->get('TIMES_OF_DAY'));
		$scheduleMonths = DispatchMethodSchedule::parseMonthsOfYear($this->get('MONTHS_OF_YEAR'));
		$scheduleWeekDays = DispatchMethodSchedule::parseDaysOfWeek($this->get('DAYS_OF_WEEK'));
		$scheduleMonthDays = DispatchMethodSchedule::parseDaysOfMonth($this->get('DAYS_OF_MONTH'));
		$method = (new DispatchMethodSchedule($this))
			->setMonthsOfYear($scheduleMonths)
			->setDaysOfMonth($scheduleMonthDays)
			->setDaysOfWeek($scheduleWeekDays)
			->setTime($scheduleTime[0], $scheduleTime[1]);
		$this->getState()->wait($method);
		return true;
	}
	catch (InvalidOperationException $exception)
	{
		$this->errors->setError(new Error($exception->getMessage()));
		return false;
	}
}