• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/controller/mail/message.php
  • Класс: Bitrix\Crm\Controller\Mail\Message
  • Вызов: Message::getFileIdsFromEntityDocuments
protected function getFileIdsFromEntityDocuments(ItemIdentifier $itemIdentifier): array
{
	$documentGeneratorManager = \Bitrix\Crm\Integration\DocumentGeneratorManager::getInstance();
	if (!$documentGeneratorManager->isEnabled() || !Loader::includeModule('disk'))
	{
		return [];
	}

	$documents = $documentGeneratorManager->getDocumentsByIdentifier($itemIdentifier);
	$allowedFileIds = [];
	$diskFileIds = [];
	foreach ($documents as $documentDto)
	{
		$document = \Bitrix\DocumentGenerator\Document::loadById($documentDto->getId());
		if (!$document)
		{
			continue;
		}
		if (!$document->hasAccess())
		{
			continue;
		}
		$diskFileIds[] = $document->getEmailDiskFile(true);
	}
	if (empty($diskFileIds))
	{
		return [];
	}

	$diskFiles = \Bitrix\Disk\File::getModelList([
		'filter' => ['@ID' => $diskFileIds],
	]);
	foreach ($diskFiles as $diskFile)
	{
		$allowedFileIds[] = (int)$diskFile->getFileId();
	}
	return $allowedFileIds;
}