• Модуль: documentgenerator
  • Путь к файлу: ~/bitrix/modules/documentgenerator/lib/model/file.php
  • Класс: BitrixDocumentGeneratorModelFileTable
  • Вызов: FileTable::onBeforeDelete
static function onBeforeDelete(Event $event)
{
	$result = new MainEntityEventResult();
	$id = $event->getParameter('primary')['ID'];
	if(DocumentTable::getRow(['filter' => [
		'FILE_ID' => $id,
	]]))
	{
		$result->addError(new MainEntityEntityError(Loc::getMessage('DOCUMENTGENERATOR_MODEL_FILE_DOCUMENT_EXISTS')));
	}
	if(TemplateTable::getRow(['filter' => [
		'FILE_ID' => $id,
	]]))
	{
		$result->addError(new MainEntityEntityError(Loc::getMessage('DOCUMENTGENERATOR_MODEL_FILE_TEMPLATE_EXISTS')));
	}

	if(!$result->getErrors())
	{
		$data = static::getById($id)->fetch();

		if($data['STORAGE_TYPE'])
		{
			/** @var Storage $storage */
			$storage = new $data['STORAGE_TYPE'];
			$storage->delete($data['STORAGE_WHERE']);
		}
	}

	return $result;
}