Приветствую, Форумчане!
УПП, полный перепис, адаптация под УФ
Имеется справочник "НастройкиВыгрузки".
В справочнике есть реквизиты:
"ПутьКФайлу" (строка)
"ВнешнийОтчет" (тип: ХранилищеЗначения)
На форме справочника есть кнопка выбора внешнего отчета "Выбрать отчет": открывает диалог выбора файла, выбирает внешний отчет. Код нажатия кнопки:
&НаКлиенте
Процедура ВыбратьОтчет(Команда)
ЗначениеВозврата = ВыбратьФайл ();
ИмяФайлаЗнешнейОбработки = ЗначениеВозврата.ПолноеИмяФайлаОбработки;
Объект.ПутьКФайлу = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяФайлаВнешнейОбработки));
ВыбратьОтчетНаСервере();
КонецПроцедуры
Процедура ВыбратьОтчетНаСервере()
ОтчетДвоичныеДанные = ПолучитьИзВременногоХранилища(Объект.ПутьКФайлу);
ПутьКЗнешнемуФайлу = ПолучитьИмяЗременногоФайла (" . erf ");
Попытка
ОтчетДвоичныеДанные.Записать(ПутьКВнешнемуФайлу);
ВнешняяОбработка = ВнешниеОтчеты.Создать(ПутьКВнешнемуФайлу);
Исключение
СообщениеОшибки = "....."
КонецПопытки;
Объект.ПутьКФайлу = ПоместитьВоВременнсеХранилище(Новый ХранилищеЗначения(ОтчетДвоичныеДанные));
КонецПроцедуры
&НаСервере
Процедура ПередЗалисью (Отказ)
Если НЕ ПустаяСтрока(ПутьКФайлу) Тогда
ВнешнийОтчет = ПолучитьИзВременногоХранилища(ПутьКФайлу);
УдалитьИзВременногоХранилища(ПутьКФайлу);
ПутьКФайлу = "";
КонецЕсли;
КонецПроцедуры
Constantus @ Сегодня, 13:20
,
ПоместитьВоВременнсеХранилище - это опечатка?
Constantus, в ПоместитьВоВременноеХранилище кажется вторым параметром можно передать идентификатор формы. Если этого не делать, то после того, как закончится серверный вызов, нету гарантий, что во временном хранилище будет то, что вы туда ложили чуть ранее.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua