• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/lib/helper/mailbox.php
  • Класс: BitrixMailHelperMailbox
  • Вызов: Mailbox::findMessagesWithAnEmptyBody
private function findMessagesWithAnEmptyBody(int $count, $mailboxId)
{
	$reSyncTime = (new MainTypeDateTime())->add('- '.static::MESSAGE_RESYNCHRONIZATION_TIME.' seconds');

	$ids = MailInternalsMailEntityOptionsTable::getList(
		[
			'runtime' => array(
				new MainEntityReferenceField(
					'MESSAGE_UID',
					'BitrixMailMailMessageUidTable',
					array(
						'=this.ENTITY_ID' => 'ref.MESSAGE_ID',
					),
					array(
						'join_type' => 'INNER',
					)
				),
			),
			'select' => ['ENTITY_ID'],
			'filter' =>
				[
					'=MAILBOX_ID' => $mailboxId,
					'=ENTITY_TYPE' => 'MESSAGE',
					'=PROPERTY_NAME' => 'UNSYNC_BODY',
					'=VALUE' => 'Y',
					'<=DATE_INSERT' => $reSyncTime,
				]
			,
			'limit' => $count,
		]
	)->fetchAll();

	return array_map(
		function ($item)
		{
			return $item['ENTITY_ID'];
		},
		$ids
	);
}