• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/bizprocdocument.php
  • Класс: BitrixDiskBizProcDocument
  • Вызов: BizProcDocument::createDocument
static function createDocument($parentDocumentId, $fields)
{
	/** @var File $file */
	$file = File::loadById($parentDocumentId, array('STORAGE'));
	if(!$file)
	{
		return false;
	}

	$targetObject = $file->getParent();
	if(!$targetObject)
	{
		return false;
	}

	$uploadFile = $targetObject->addBlankFile(array(
		'NAME' => $fields['NAME'],
		'CREATED_BY' => SystemUser::SYSTEM_USER_ID,
		'MIME_TYPE' => TypeFile::getMimeTypeByFilename($fields['NAME']),
	), array(), true);
	if($uploadFile)
	{
		$ufFields = array();
		foreach($fields as $codeField => $valueField)
		{
			$search = 'UF_';
			$res = mb_strpos($codeField, $search);
			if($res === 0)
			{
				$ufFields[$codeField] = $valueField;
			}
		}
		if(!empty($ufFields))
		{
			global $USER_FIELD_MANAGER;
			$storageId = $uploadFile->getStorageId();
			$USER_FIELD_MANAGER->update('DISK_FILE_' . $storageId, $uploadFile->getId(), $ufFields);
		}
		return $uploadFile->getId();
	}
	else
	{
		return false;
	}
}