Имя: Пароль:
1C
 
Как сохранить файл на клиенте УФ
0 fantomask
 
05.09.15
10:44
Необходимо сохранить файл XML который формируется на сервере
Сделал так.
&НаСервере
    Путь = ПоместитьВоВременноеХранилище(Файлхмл,УникальныйИдентификатор);
    Возврат Путь

&НаКлиенте
ПутьФайла = СформироватьНаСервере();
    ДЛг = новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
    длг.Фильтр="Файл цен (*.xml)|*.xml";
    ДЛг.Выбрать();
    Файлик = длг.ПолноеИмяФайла;        
//    файл2 = ПолучитьИзВременногоХранилища(ПутьФайла); //С Этим тоже почему то не работает.
    ПолучитьФайл(ПутьФайла,файлик);
1 itlikbez
 
05.09.15
10:47
(0) Чтобы ПолучитьИзВременногоХранилища() надо сначала ПоместитьВоВременноеХранилище()
2 fantomask
 
05.09.15
10:53
(1) Так я его помещаю на сервере, Где формируется Необходимый файл
3 ДенисЧ
 
05.09.15
10:55
А что не работает?
Прочитать файл как текст можно и на клиенте, зачем для этого на сервер лезть?
4 fantomask
 
05.09.15
10:57
(3) На Сервере формируется файл XML, потом его сохраняю на клиенте. Вот только самом файле только путь к временному файлу C:\Users\1cman\AppData\Local\Temp\v8_1752_4a9.*.XML
5 Брегорьян
 
05.09.15
10:57
>ДиалогВыбораФайла
это хорошо сработает?
6 Брегорьян
 
05.09.15
10:58
+(5) я как-то изощрялся на крайней версии бухии
7 fantomask
 
05.09.15
11:12
Как можно сделать?
Помню в инфостарте статья была, вот только потерял я ее и не смог найти
8 Брегорьян
 
05.09.15
11:13
(7) возьми универсальный обмен
9 palsergeich
 
05.09.15
11:19
Файл - файл на сервере
НаКлиенте
ПолучитьФайл()
Хранилище = ВытащитьФайлССервера();
Двоичка = Хранилище.Получить();
Файл = Двоичка.Записать(Путь);
насервере
Функция ВытащитьФайлССервера()
Двоичка = Новый ДвоичныеДанные(ПутьКФайлунаСервере)
Возврат Новый ХранилищеЗначения (Двоичка)
КонецФункции
10 palsergeich
 
05.09.15
11:23
а в вашем примере в ФайлXML находится путь к файлу.
а нужно передавать сам файл.
11 itlikbez
 
05.09.15
11:25
Попробуй

ПоместитьФайл()
ПолучитьФайл()
12 palsergeich
 
05.09.15
11:36
Чуть поправлю свой же пример.
НаКлиенте
Процедура ПолучитьФайл()
Двоичка = ВытащитьФайлССервера();
Файл = Двоичка.Записать(ПутьНаКлиенте);

насервере
Функция ВытащитьФайлССервера()
Возврат Двоичка = Новый ДвоичныеДанные(ПутьКФайлунаСервере)
КонецФункции

Забыл что Хранилище.Получить() на клиенте не доступно, достаточно передавать двоичные данные)
13 ДенисЧ
 
05.09.15
11:38
(11) НачатьПомещениеФайла() же!
14 fantomask
 
05.09.15
11:50
(12). Почему то у меня ошибка выходит:
Ошибка при вызове конструктора (ДвоичныеДанные)
    Двоичка = новый ДвоичныеДанные(Файлхмл);
по причине:
Недопустимое значение параметра (параметр номер '1')
15 palsergeich
 
05.09.15
18:46
(14) там должен быть путь относительно сервера полный, а не имя файла.