Данная операция состоит из 3 процедур:
- Загрузить
- ВыполнитьЗагрузку
- ЗагрузитьНаСервере
Процедура Загрузить является клиентской процедурой, которая вызывается при выполнении команды на клиентской стороне. Она вызывает метод НачатьПомещениеФайла, который запускает процесс загрузки файла на сервер.
&НаКлиенте Процедура Загрузить(Команда) НачатьПомещениеФайла(Новый ОписаниеОповещения("ВыполнитьЗагрузку",ЭтаФорма),,,Истина,УникальныйИдентификатор); КонецПроцедуры
При успешной загрузке файла на сервер, на стороне сервера вызывается процедура ЗагрузитьНаСервере. Она получает загруженный файл из временного хранилища, считывает его содержимое, выполняет необходимые обработки и сохраняет результаты.
КонецПроцедуры &НаСервереБезКонтекста Процедура ЗагрузитьНаСервере(Знач Адрес) ФайлВременногоХранилища=ПолучитьИзВременногоХранилища(Адрес); ИмяФайла=ПолучитьИмяВременногоФайла(); ФайлВременногоХранилища.Записать(ИмяФайла); УдалитьИзВременногоХранилища(Адрес); MXL=Новый ТабличныйДокумент; MXL.Прочитать(ИмяФайла); УдалитьФайлы(ИмяФайла); КонецПроцедуры
Процедура ВыполнитьЗагрузку вызывается из процедуры Загрузить на клиентской стороне. Она используется для обработки результатов загрузки файла, которые были получены в процессе выполнения процедуры ЗагрузитьНаСервере. Эта процедура может выполнять дополнительные действия на клиентской стороне, например, отображать полученные данные в интерфейсе пользователя.
&НаКлиенте Процедура ВыполнитьЗагрузку(Результат,Адрес,ВыбранноеИмяФайла,ДополнительныеПараметры) Экспорт Если Не Результат Тогда Возврат; КонецЕсли; ЗагрузитьНаСервере(Адрес); Сообщить("Завершили"); КонецПроцедуры
Нужен облачный сервер с доступом в конфигуратор 1С? Воспользуйтесь нашим решением: аренда сервера 1С. Возможно предоставление сервера для разработки 1С.