• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/entity/letter.php
  • Класс: BitrixSenderEntityLetter
  • Вызов: Letter::getMessage
public function getMessage()
{
	$messageCode = $this->get('MESSAGE_CODE') ?: MainMessageAdapter::CODE_MAIL;
	$messageId = $this->get('MESSAGE_ID') ?: null;

	$messageFields = [];
	if (isset($this->data['MESSAGE_FIELDS']) && $this->data['MESSAGE_FIELDS'])
	{
		foreach ($this->data['MESSAGE_FIELDS'] as $field)
		{
			$messageFields[$field['CODE']] = $field['VALUE'];
		}
	}
	if ($this->messagesCache && isset($this->messagesCache[$messageCode]))
	{
		$this->message = $this->messagesCache[$messageCode];
		if ($messageFields)
		{
			$this->message->setConfigurationData($messageFields);
		}
		return $this->message;
	}

	$this->message = MainMessageAdapter::create($messageCode);
	$createdById = $this->get('CREATED_BY') ?: SecurityUser::current()->getId();
	$this->message->getConfiguration()->set('LETTER_CREATED_BY_ID', $createdById);
	$this->message->setSiteId($this->get('SITE_ID'));
	if ($messageFields)
	{
		$this->message->setConfigurationData($messageFields);
	}
	$this->message->loadConfiguration($messageId);

	$this->messagesCache[$messageCode] = $this->message;

	return $this->message;
}