|
Как в Вэб клиенте сохранить в файл без расширения работы с файлами? | ☑ | ||
---|---|---|---|---|
0
Patriot1C
16.12.15
✎
15:37
|
Пишу код:
Адрес = ЗаписатьJSONвХранилище(); ОписаниеОповещения = Новый ОписаниеОповещения("ОбработкаСохраненияФайлов", ЭтаФорма); Файл = Новый ОписаниеПередаваемогоФайла("Настройки.json", Адрес); ПолучаемыеФайлы = Новый Массив; ПолучаемыеФайлы.Добавить(Файл); ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); ДиалогОткрытияФайла.МножественныйВыбор = Ложь; НачатьПолучениеФайлов(ОписаниеОповещения, ПолучаемыеФайлы, ДиалогОткрытияФайла, Истина); Но в вэб-клиенте все равно требует установить РасширениеРаботыСФайлами. |
|||
1
Phace
16.12.15
✎
15:41
|
Какбэ "РасширениеРаботыСФайлами" и нужно для работы с файлами в веб-клиенте, изврат конечно возможен, но зачем нужна машина без руля?
|
|||
2
Patriot1C
16.12.15
✎
15:45
|
(1) Загрузка проходит на ура без него:
&НаКлиенте Процедура ЗагрузитьНастройку(Команда) ОписаниеОповещения = Новый ОписаниеОповещения("ОбработкаЗагрузкиФайлов", ЭтаФорма); НачатьПомещениеФайла(ОписаниеОповещения,,,Истина); КонецПроцедуры &НаКлиенте Процедура ОбработкаЗагрузкиФайлов( Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт |
|||
3
butterbean
16.12.15
✎
15:49
|
не используй ДиалогВыбораФайла
|
|||
4
Phace
16.12.15
✎
15:49
|
(2) Возможно это упущение 1С :)
В БСП (читай в типовых) все делается через это расширение: #Если ВебКлиент Тогда Оповещение = Новый ОписаниеОповещения("ПрисоединитьФайлыВВводНового", ЭтотОбъект); ТекстСообщения = НСтр("ru = 'Для работы с файлами необходимо установить расширение работы с файлами.'"); ОбщегоНазначенияКлиент.ПроверитьРасширениеРаботыСФайламиПодключено(Оповещение, ТекстСообщения); #Иначе ПрисоединитьФайлыВыполнить(); #КонецЕсли |
|||
5
Patriot1C
16.12.15
✎
16:26
|
(4) То есть без Расширения 1С не сможет сохранить в локальный файл?
|
|||
6
butterbean
16.12.15
✎
16:30
|
(5) ты через ПолучитьФайл() не пробовал??
|
|||
7
ukolabrother
16.12.15
✎
16:34
|
в режиме использования синхронных вызовов и внеш. компонент работает в вебклиенте без подключения расширения вот так
&НаКлиенте Процедура ЗагрузитьФайлКлиентФрагмент(Знач ТипФайла) НачатьПомещениеФайла(Новый ОписаниеОповещения("ЗагрузитьФайлКлиентФрагментЗавершение", ЭтотОбъект, Новый Структура("ТипФайла", ТипФайла))); КонецПроцедуры &НаКлиенте Процедура ЗагрузитьФайлКлиентФрагментЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт Если Результат Тогда ВыбранФайл(Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ВыбранФайл(Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Файл = Новый Файл(ВыбранноеИмяФайла); ИмяФайла = Файл.Имя; ЭтаФорма[ДополнительныеПараметры.ТипФайла] = ИмяФайла; Результат = ЗаписатьФайлВБДНаСервере(Адрес, ИмяФайла, ДополнительныеПараметры.ТипФайла); КонецПроцедуры |
|||
8
ukolabrother
16.12.15
✎
16:36
|
и выгрузка в локальную папку:
&НаКлиенте Процедура ВыгрузитьФайлКлиент(ИмяФайла, ТипФайла) Адрес = ПолучитьФайлНаСервере(ИмяФайла, ТипФайла); Если НЕ Адрес = Неопределено Тогда Данные = Новый ОписаниеПередаваемогоФайла(ИмяФайла, Адрес); ПолучаемыеФайлы = Новый Массив; ПолучаемыеФайлы.Добавить(Данные); ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); ДиалогОткрытияФайла.МножественныйВыбор = Ложь; Расширение = Прав(ИмяФайла,СтрДлина(ИмяФайла)-СтрНайти(ИмяФайла, ".")); ДиалогОткрытияФайла.Фильтр = "(*."+Расширение+")|*."+Расширение+""; ДиалогОткрытияФайла.Расширение = Расширение; НачатьПолучениеФайлов(Новый ОписаниеОповещения("СохранитьФайлКлиентЗавершение",ЭтаФорма), ПолучаемыеФайлы, ДиалогОткрытияФайла ,Истина); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура СохранитьФайлКлиентЗавершение(ПолученныеФайлы, ДополнительныеПараметры) Экспорт КонецПроцедуры |
|||
9
Patriot1C
16.12.15
✎
18:19
|
(6) Пробовал - работает.
А в новомодном режиме асинхронности не работает и не работает если убрать ДиалогВыбораФайла... |
|||
10
Patriot1C
16.12.15
✎
18:40
|
При ПолучитьФайл() в IE диалог сохранения только непонятный.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |