|
веб-клиент: сохранение текстового файла | ☑ | ||
---|---|---|---|---|
0
fimanich
26.03.13
✎
16:12
|
8.2.16 Веб-клиент.
Задача: сформировать и сохранить html-файл и тут же открыть его в новой вкладке браузера. Код примерно такой (на клиенте): ТД = Новый ТекстовыйДокумент; ТД.УстановитьТекст(ТекстHTML); ТД.Записать(ИмяФайла, "windows-1251"); ЗапуститьПриложение(ИмяФайла); При этом сначала в браузере (Mozilla) появляется вопрос: "Получить файл С:/Temp/Файл1.html с сервера? После того, как нажимаем "Да", появляется сообщение "Неизвестная ошибка: Web.Types.FileContext_prepareSaveParams is not a function" В тонком клиенте все работает. В СП прочитал, что при вызове метода Записать() текстового документа в веб-клиенте происходит обращение к серверу, но не совсем могу понять, что это значит. На сервере пытается сохранить, что ли? Может кто-подскажет, как победить? |
|||
1
fimanich
26.03.13
✎
16:14
|
(0) дополню, имя файла оканчивается на .html, т.к. там html код, который и надо браузером открыть.
|
|||
2
Юрий Лазаренко
26.03.13
✎
16:20
|
(0) А надо открывать в новой вкладке обязательно НЕ в окне 1С? А то можно просто открывать форму какой-нить обработки с HTML-полем и в нем все показывать.
|
|||
3
Юрий Лазаренко
26.03.13
✎
16:21
|
(0) Ну или веб-сервис можно замутить, но это надо наверно php ставить на сервер с 1С. Через ЗапуститьПриложение вызываешь страничку php с GET-параметрами, она дергает веб-сервис и выводит нужную инфу в отдельнов не 1Совском окне.
|
|||
4
fimanich
26.03.13
✎
16:25
|
(2) Да, именно НЕ в 1С. А неужели из веб-клиента нельзя провернуть такую операцию, как запись текстового файла на жесткий диск?
|
|||
5
Юрий Лазаренко
26.03.13
✎
16:30
|
(4) Наверняка можно, но могут быть траблы типа того, что в (0) описано: всякие доп. вопросы и т.д.
|
|||
6
Kreont
26.03.13
✎
16:31
|
(4) можно, см. ПолучитьФайл
|
|||
7
fimanich
26.03.13
✎
16:35
|
(5) доп. вопросы сейчас не главное, лишь бы взлетело как таковое.
(6) спасибо, тоже думал в этом направлении, сейчас буду пробовать через временное хранилище сделать. |
|||
8
Юрий Лазаренко
26.03.13
✎
16:39
|
(7) Посмотри как в БСП сделано в подсистеме "Файлы"
|
|||
9
fimanich
26.03.13
✎
16:40
|
(8) спасибо, гляну.
|
|||
10
fimanich
26.03.13
✎
17:20
|
по результатам, если кто интересуется.
на сервере выполняем следующий код: ТД.Записать(ИмяФайлаНаСервере, "windows-1251"); ДД = Новый ДвоичныеДанные(ИмяФайлаНаСервере); Адрес = ПоместитьВоВременноеХранилище(ДД, УникальныйИдентификатор); на клиенте: ПолучитьФайл(Адрес, ИмяФайлаПолучение); при этом ЗапуститьПриложение использовать не надо, потому что в веб-клиенте ПолучитьФайл можно только интерактивно, а при интерактивном получении там как раз предлагается Открыть. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |