• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/entity/letter.php
  • Класс: BitrixSenderEntityLetter
  • Вызов: Letter::getListWithMessageFields
static function getListWithMessageFields(array $parameters = array())
{
	$result = [];
	$messageIds = [];
	$list = static::getList($parameters);
	while ($item = $list->fetch())
	{
		$result[] = $item;
		if ($item['MESSAGE_ID'])
		{
			$messageIds[] = $item['MESSAGE_ID'];
		}
	}
	if ($messageIds)
	{
		$messageFields = [];
		$rows = MessageFieldTable::getList(['filter' => ['=MESSAGE_ID' => $messageIds]]);
		while ($messageField = $rows->fetch())
		{
			$messageFields[$messageField['MESSAGE_ID']][] = $messageField;
		}
		foreach ($result as $key => $item)
		{
			if ($messageFields[$item['MESSAGE_ID']])
			{
				$result[$key]['MESSAGE_FIELDS'] = $messageFields[$item['MESSAGE_ID']];
			}
		}
	}
	$dbResult = new BitrixMainDBArrayResult($result);
	$dbResult->setCount($list->getCount());
	return $dbResult;
}