• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/mailing.php
  • Класс: Bitrix\Sender\MailingTable
  • Вызов: MailingTable::onAfterUpdate
static function onAfterUpdate(Entity\Event $event)
{
	$result = new Entity\EventResult;
	$data = $event->getParameters();

	if(array_key_exists('ACTIVE', $data['fields']))
	{
		if ($data['fields']['ACTIVE'] === 'Y')
		{
			$chain = (new \Bitrix\Sender\Entity\Chain())->load($data['primary']['ID']);
			foreach ($chain->getList() as $letter)
			{
				if (!$letter->getState()->wasStartedSending())
				{
					$letter->wait();
				}
			}
		}

		Runtime\Job::actualizeByCampaignId($data['primary']['ID']);
	}

	if (array_key_exists('ACTIVE', $data['fields']) || array_key_exists('TRIGGER_FIELDS', $data['fields']))
	{
		static::updateChainTrigger($data['primary']['ID']);
	}

	return $result;
}