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