Помещение файла с клиента на сервер в ВЭБ клиенте

1. karamazoff 96 28.09.20 10:54 Сейчас в теме
собственно, хотел поделиться как передать файл с клиента на сервер в вэбе и спросить про одну особенность, вот код
&НаКлиенте
Процедура ДобавитьФайлВэб(Команда)
    ПриЗавершении = Новый ОписаниеОповещения("ПоместитьФайлКомандаЗавершение", ЭтотОбъект);
    ПередПомещением = Новый ОписаниеОповещения("ПоместитьФайлКомандаПередПомещением", ЭтотОбъект);
    ДиалогВыбораФайлов = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    ДиалогВыбораФайлов.Заголовок = "Выбор файла для помещения";
    ДиалогВыбораФайлов.МножественныйВыбор = Ложь;
   // ДиалогВыбораФайлов.Фильтр = "Внешние обработки|*.epf|Внешние отчеты|*.erf";
    НачатьПомещениеФайла(ПриЗавершении, , ДиалогВыбораФайлов, Истина, , ПередПомещением);
	
КонецПроцедуры

&НаКлиенте
Процедура ПоместитьФайлКомандаЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт
	Сообщить("Результат выбора: " + Результат);
	Сообщить("Адрес в хранилище: " + Адрес);
	Сообщить("Выбранное имя файла: " + ВыбранноеИмяФайла);
	//если сюда что-нибудь вставить, например имяф = ВыбранноеИмяФайла, то хранилище очищается
	ОтправитьФайлНаСерверВЭБ(Адрес,ВыбранноеИмяФайла);
		
КонецПроцедуры


&НаКлиенте
Процедура ПоместитьФайлКомандаПередПомещением(ПомещаемыйФайл, ОтказОтПомещенияФайла, ДополнительныеПараметры) Экспорт
    Если ПомещаемыйФайл.Размер() > 3*1024*1024 Тогда
        ПоказатьПредупреждение(, "Превышен максимальный размер файла 3мб");
        ОтказОтПомещенияФайла = Истина;
	КонецЕсли;	
	
КонецПроцедуры
Показать


прикол в том, что если в процедуре ПоместитьФайлКомандаЗавершение до отправки адреса хранилища в серверную процедуру вставить любой код (ну, кроме, сообщить) то на сервер адрес передается, но при попытке получить из него данные получаем неопределено. Кто знает, почему так? Было это на платформа 8.3.14
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. FatPanzer 28.09.20 11:11 Сейчас в теме
Так у вас в описании Оповещения никакие Доп Параметры не передаются. А именно их вы пытаетесь использовать в качестве адреса в ПоместитьФайлКомандаЗавершение()...
3. karamazoff 96 28.09.20 11:21 Сейчас в теме
где я передаю Доп. параметры???
ОтправитьФайлНаСерверВЭБ(Адрес,ВыбранноеИмяФайла);
Код в текущем виде полностью рабочий и все работает как надо и на сервере мы файл из хранилища получаем, вопрос только в том, почему, если в процедуре перед вызовом серверной функции ниписать что-то еще, то хранилище очищается?
4. FatPanzer 28.09.20 11:25 Сейчас в теме
(3) я вам даже написал имя процедуры, в которой Адрес превращается в Неопределено при инициализации входящего параметра из Описания Оповещения...
Что вам ещё ответить?
5. karamazoff 96 28.09.20 11:28 Сейчас в теме
вы что-то не поняли, Адрес не превращается в неопределено, он остается прежним, только по этому адресу нет данных.
Адрес и ВыбранноеИмяФайла не доп. параметры. Посмотрите СП по процедуре НачатьПомещениеФайла и про описание ее параметра ОписаниеОповещенияОЗавершении
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот