Разместите процедуры в модуле управляемой формы и назначьте ЗагрузитьФайл обработчиком команды. Пользователь выбирает файл в диалоге. УникальныйИдентификатор связывает время хранения файла со временем жизни формы. Адрес хранится во временном хранилище и не является путём на диске.
Где и как запускать
Клиентский модуль управляемой формы. Код уже содержит директивы и готовые процедуры; не вставляйте их внутрь другого обработчика.
Подготовка
Создайте внешнюю обработку с управляемой формой в учебной базе.
Создайте команду формы ЗагрузитьФайл, назначьте её кнопке и свяжите обработчик ЗагрузитьФайл.
Обе процедуры размещайте отдельно на уровне модуля формы.
Подготовьте небольшой учебный файл без секретов; серверу доступен механизм временного хранилища.
&НаКлиенте
Процедура ЗагрузитьФайл(Команда)
Оповещение = Новый ОписаниеОповещения(
"ПослеПомещенияФайла", ЭтотОбъект);
НачатьПомещениеФайлаНаСервер(
Оповещение,
,
,
,
,
УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ПослеПомещенияФайла(ОписаниеФайла, ДополнительныеПараметры) Экспорт
Если ОписаниеФайла = Неопределено Тогда
Возврат;
КонецЕсли;
Если ОписаниеФайла.ПомещениеФайлаОтменено Тогда
Возврат;
КонецЕсли;
Сообщить(ОписаниеФайла.Адрес);
КонецПроцедурыРазбор по шагам
ОписаниеОповещения связывает завершение с экспортной процедурой ПослеПомещенияФайла.
НачатьПомещениеФайлаНаСервер возвращает управление, результат поступает в обработчик завершения.
В обработчике отдельно проверяем отсутствие результата и отмену пользователем.
Адрес обозначает запись во временном хранилище, а УникальныйИдентификатор формы связывает время хранения с жизнью формы.
Как проверить результат
Выберите небольшой файл: после успешного помещения выводится адрес временного хранилища.
Отмените диалог: исключения и сообщения о загрузке не должно быть.
Ожидаемый результат
После выбора и успешной загрузки файла выводится его адрес во временном хранилище. При отмене диалога обработчик завершает работу без сообщения.
На что обратить внимание
Это учебное помещение файла, не его запись в справочник или документ.
Имя callback-процедуры должно совпадать со строкой в ОписаниеОповещения; процедура должна иметь Экспорт.
Не воспринимайте адрес временного хранилища как обычный файловый путь.
В 8.5 доступны также асинхронные варианты; здесь разбирается именно callback-API.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.