• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/automaticaction/messages.php
  • Класс: BitrixImOpenLinesAutomaticActionMessages
  • Вызов: Messages::addTaskThisSession
static function addTaskThisSession($sessionId, $configId): Result
{
	$result = new Result();

	$configManager = new Config();
	$automaticMessagesThisConfig = $configManager->getAutomaticMessage($configId);

	foreach ($automaticMessagesThisConfig as $automaticMessage)
	{
		$resultAdd = SessionAutomaticTasksTable::add(
			[
				'CONFIG_AUTOMATIC_MESSAGE_ID' => $automaticMessage['ID'],
				'SESSION_ID' => $sessionId,
				'DATE_TASK' => (new DateTime())->add($automaticMessage['TIME_TASK'] . ' SECONDS')
			]
		);

		if(!$resultAdd->isSuccess())
		{
			$errors = $resultAdd->getErrors();
			foreach ($errors as $error)
			{
				$result->addError(new Error($error->getMessage(), $error->getCode(), __METHOD__, ['field' => $error->getField()]));
			}
		}
	}

	return $result;
}