Имя: Пароль:
1C
1С v8
Хранилище значения
,
0 Ice555
 
18.03.13
17:08
Здравствуйте. Пытаюсь в управляемом приложнии открыть файл из хранилища. Файл храниться в регистре сведений, открываю форму записи регистра сведений, там есть поле, типа ХранилищеЗначения.  В поле есть кнопка выбора и кнопка открытия. На кнопке выбора пишу

&НаСервере
Процедура ЗаписатьФайлВХарнилище(ВыбранныйФайл)
   ЭтотОбъект = РеквизитФормыВЗначение("Запись");
   ЭтотОбъект.Document = Новый ХранилищеЗначения(ВыбранныйФайл);
   ЗначениеВРеквизитФормы(ЭтотОбъект,"Запись");
КонецПроцедуры    

&НаКлиенте
Процедура ИмяФайлаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   Режим = РежимДиалогаВыбораФайла.Открытие;
   ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
   ДиалогОткрытияФайла.ПолноеИмяФайла = "";
   Фильтр = "Файлы (*.*)|*.*";
   ДиалогОткрытияФайла.Фильтр = Фильтр;
   ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
   ДиалогОткрытияФайла.Заголовок = "Выбирете файл!";
   Если ДиалогОткрытияФайла.Выбрать() Тогда
       ВыбранныйФайл = Новый         ДвоичныеДанные(ДиалогОткрытияФайла.ПолноеИмяФайла);
       ЗаписатьФайлВХарнилище(ВыбранныйФайл);
       Запись.FileName = ДиалогОткрытияФайла.ПолноеИмяФайла;
   Иначе
       Предупреждение("Файл не выбран!");
   КонецЕсли;

Все вроде как срабатывает, а вот при нажатии на кнопку открытия есть код, и он не работет, что не так?

&НаКлиенте
Процедура ИмяФайлаОткрытие(Элемент, СтандартнаяОбработка)
   СтандартнаяОбработка = Ложь;
   ИмяВременногоФайла = КаталогВременныхФайлов() + Запись.ИмяФайла;
   
   Хранилище = ПолучитьИзХранилища();
   Хранилище.Записать(ИмяВременногоФайла);
   ЗапуститьПриложение(ИмяВременногоФайла);
   
КонецПроцедуры

&НаСервере
Функция ПолучитьИзХранилища()
   ЭтотОбъект = РеквизитФормыВЗначение("Запись");
   Хранилище = ЭтотОбъект.Документ.Получить();
   Возврат Хранилище;
КонецФункции
Закон Брукера: Даже маленькая практика стоит большой теории.