Допустим файл прикрепляется в задании бизнес-процесса. Значит он будет сохраняться в переменную
$rootActivity = $this->GetRootActivity();
$tempFileId=$rootActivity->GetVariable('FILE1');/*ид временного файла*/
$arTempFile=\CFile::MakeFileArray($tempFileId);/* создаем массив для сохранения*/
$path=$rootActivity->GetVariable('path'); /*папка куда надо сохранять относительно /upload */
$rootActivity->SetVariable('NAMEFILE',$arTempFile['name']);
/*если имя файла с русскими буквами или с пробелами - то используем транслитерацию*/
$name=explode('.',$arTempFile['name']);
$arTempFile['name']=CUtil::translit($name[0],'ru').'.'.$name[1];
$idFile=\CFile::SaveFile($arTempFile,$path); /*сохраняем файл*/
$arFile=\CFile::GetFileArray($idFile); /*получаем путь до файла*/
$rootActivity->SetVariable("LINKFILE1",$arFile['SRC']); /*записываем путь в переменную*/
И ссылка на файл будет такой :
[url={=Variable:LINKFILE1 > printable}]файл[/url]