• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/sharing.php
  • Класс: BitrixDiskSharing
  • Вызов: Sharing::generateLinkToViewDocument
static function generateLinkToViewDocument(Sharing $sharingModel, BaseObject $objectToSharing): ?string
{
	$documentHandler = Driver::getInstance()->getDocumentHandlersManager()->getDefaultHandlerForView();
	if (!($documentHandler instanceof OnlyOfficeHandler))
	{
		return null;
	}

	if (!($objectToSharing instanceof File))
	{
		return null;
	}

	if (!DocumentHandler::isEditable($objectToSharing->getExtension()))
	{
		return null;
	}

	$uri = (new DocumentService())->getActionUri('goToEditOrPreview', [
		'serviceCode' => 'onlyoffice',
		'objectId' => $sharingModel->getLinkObjectId(),
	]);

	return (string)$uri;
}