Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 14:54

Как получить значение из файла с двоичными данными (управляемая форма, внешняя обработка)?

Автор РусланВалиев, 06 апр 2015, 22:38

0 Пользователей и 1 гость просматривают эту тему.

РусланВалиев

Доброго дня! Имеется файл, сохраненный методом ЗначениеВФайл. Требуется выполнить код ЗначениеВРеквизитФормы(ЗначениеИзФайла(ИмяВременногоФайла),"Объект").
Но при помещении во временное хранилище вышеуказанного файла, его преобразуем в двоичные данные ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ФайлНаДиске),УникальныйИдентификатор). Но при получении из временного хранилища ФайлИмпорта = ПолучитьИзВременногоХранилища(АдресФайла) мы конечно же получаем получаем файл с двоичными данными. Как следствие ЗначениеИзФайла(ИмяВременногоФайла) не работает. Подскажите, пожалуйста, как быть-то?


&НаКлиенте
Процедура ВосстановитьНастройки(Команда)

ИмяФайла = СформироватьИмяФайла(РежимДиалогаВыбораФайла.Открытие,"Восстановить из файла");

Если ПустаяСтрока(ИмяФайла) тогда
Возврат
КонецЕсли;

ФайлНаДиске = Новый Файл(ИмяФайла);

Если НЕ ПроверитьСуществованиеФайла(ФайлНаДиске) Тогда

Возврат

КонецЕсли;

АдресФайла = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ФайлНаДиске),УникальныйИдентификатор);

ВосстановитьНастройкиНаСервере();

КонецПроцедуры

&НаСервере
Процедура ВосстановитьНастройкиНаСервере()

ФайлИмпорта = ПолучитьИзВременногоХранилища(АдресФайла);

ИмяВременногоФайла = ПолучитьИмяВременногоФайла("dat");

ФайлИмпорта.Записать(ИмяВременногоФайла);

        //Наверно где-то здесь я что-то не дописал

ЗначениеВРеквизитФормы(ЗначениеИзФайла(ИмяВременногоФайла),"Объект")

КонецПроцедуры

Dethmontt

Чтение = Новый ЧтениеТекста(ИмяВременногоФайла);
ЗначениеВРеквизитФормы(ЗначениеИзФайла(Чтение.Прочитать()),"Объект");
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

РусланВалиев

Цитата: Dethmontt от 07 апр 2015, 04:18
Чтение = Новый ЧтениеТекста(ИмяВременногоФайла);
ЗначениеВРеквизитФормы(ЗначениеИзФайла(Чтение.Прочитать()),"Объект");


Спасибо за быстрый ответ. Только я пробовал делать так, не работает... и в параметры ЗначениеИзФайла я подставлял путь к файлу, как написано в синт. помощнике.

ps: в предыдущем моем посте следует читать
АдресФайла = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяФайла),УникальныйИдентификатор);
вместо
АдресФайла = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ФайлНаДиске),УникальныйИдентификатор);

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск