|
Передать пачку файлов на клиент | ☑ | ||
---|---|---|---|---|
0
John83
29.10.19
✎
09:55
|
На сервере создаю несколько csv-файлов, нужно их сохранить на клиенте.
Попробовал вернуть массив файлов, но ругается Ошибка отображения типов: Отсутствует отображение для типа 'Файл' Вроде как файл доступен и на клиенте. Делаю так МассивФайлов = Новый Массив; ТекстовыйФайлЗапись = Новый ЗаписьТекста("c:\Temp\обмен\ОстаткиИЦены" + (Цел(сч/300)+1) + ".csv", КодировкаТекста.UTF8); ТекстовыйФайлЗапись.ЗаписатьСтроку(ТекстЦСВ); ТекстовыйФайлЗапись.Закрыть(); МассивФайлов.Добавить(НайтиФайлы("c:\Temp\обмен\ОстаткиИЦены" + (Цел(сч/300)+1) + ".csv")[0]); Возврат МассивФайлов; |
|||
1
John83
29.10.19
✎
09:55
|
Ошибка отображения типов:
Отсутствует отображение для типа 'Файл' {ВнешняяОбработка.ВыгрузитьОстаткиИЦены.Форма.Форма.Форма(147)}: МассивФайлов = ВыгрузитьНаСервере(); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'ret': форма: Элемент имя: {http://v8.1c.ru/8.2/managed-application/modules}ret по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'Value': форма: Элемент имя: {http://v8.1c.ru/8.1/data/core}Value по причине: Ошибка отображения типов: Отсутствует отображение для типа 'Файл' |
|||
2
ДенисЧ
29.10.19
✎
09:56
|
Странно, да? )))
В ХЗ их помещай и отдавай это Хз |
|||
3
John83
29.10.19
✎
09:58
|
(2) очень странно :)
массив ведь тоже доступен и там и там спасибо, попробую PS опыта работы с тонким клиентом очень мало |
|||
4
ДенисЧ
29.10.19
✎
10:00
|
(3) Массив-то доступен. Но оно ругается на "Отсутствует отображение для типа 'Файл'". Про массив ни слова...
"опыта работы с тонким клиентом очень мало" А меня тут гнобят за то, что я не переношу УФ ))) |
|||
5
John83
29.10.19
✎
10:06
|
(4) а что в ХЗ помещать?
массив не дает, типа не сериализуется |
|||
6
unregistered
29.10.19
✎
10:08
|
(0)(5) см. в синтакс-помощнике НачатьПомещениеФайлов и НачатьПолучениеФайлов.
|
|||
7
ДенисЧ
29.10.19
✎
10:17
|
(5) У тебя там же текст. Вот его и помещай.
|
|||
8
ДенисЧ
29.10.19
✎
10:17
|
Или (6)
|
|||
9
Cyberhawk
29.10.19
✎
10:28
|
(5) Массив из ОписаниеПередаваемогоФайла
|
|||
10
Юрий Лазаренко
29.10.19
✎
10:29
|
(0) Правильно ругается, у файлов на сервере есть путь, который на клиенте чаще всего недоступен.
(6) Оно же только на клиенте работает ЕМНИП, а ТС надо с сервера передать. (0) А зачем именно файл передавать? Ты же судя по коду в (0) просто пишешь массив текстов в файлы и потом сразу передаешь на клиент. Сделай из этих нескольких текстов JSON или XML, передай на клиента как строку. Ну или читай каждый файл как двоичные данные и передавай на клиента массив двоичных данных. |
|||
11
Cyberhawk
29.10.19
✎
10:31
|
(10) "зачем именно файл передавать?" // Чтобы не упереться в максимальный размер порции, настроенный на веб-сервере.
"Оно же только на клиенте работает ЕМНИП" // НачатьПолучениеФайлов, Карл |
|||
12
Юрий Лазаренко
29.10.19
✎
10:34
|
(11) "Чтобы не упереться в максимальный размер порции," Какая ему разница, будет это массив файлов, помещенных в ХЗ (которое суть строка) или массив ДД, или JSON?
"НачатьПолучениеФайлов, Карл" - ему сначала на сервере надо сделать НачатьПомещениеФайлов, а оно Доступность: Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, мобильное приложение(клиент). |
|||
13
Cyberhawk
29.10.19
✎
10:46
|
(12) Тупишь
|
|||
14
Юрий Лазаренко
29.10.19
✎
10:47
|
(13) Аргументируй
|
|||
15
palsergeich
29.10.19
✎
10:51
|
Самый простой вариант - упаковать на сервере средствами платформы в ЗИП и вернуть как результат функции на клиент и там средствами платформы распаковать.
Вариант 2 делаешь на сервере структуру ключ - как тебе удобно, значение - двоичные данные. Помешаешь ее во временное хранилище по адресу формы и на клиенте получаешь из вре енного хранилища |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |