Веб клиент. Как открыть окно выбора каталога
КА 2.4
Клиент подключаются к базе через веб клиент, им нужны по нажатию строки в отчете скачать файлы. На тонком клиенте всё работает, на веб - не могу открыть диалоговое окно для выбора каталога. Пробовал устанавливать расширения на хром и фаерфокс, скачивал через программный код файлы расширения, через серию оповещений пытался вызвать это окно - никак.
Пожалуйста помогите с решением, уверен у кого то есть простейший пример.
Клиент подключаются к базе через веб клиент, им нужны по нажатию строки в отчете скачать файлы. На тонком клиенте всё работает, на веб - не могу открыть диалоговое окно для выбора каталога. Пробовал устанавливать расширения на хром и фаерфокс, скачивал через программный код файлы расширения, через серию оповещений пытался вызвать это окно - никак.
Пожалуйста помогите с решением, уверен у кого то есть простейший пример.
По теме из базы знаний
Найденные решения
Решение
&НаКлиенте
Процедура кнВыбратьКаталог(Команда)
СтандартнаяОбработка = Ложь;
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ВыборЗавершение", Новый ОписаниеОповещения("ВложениеВыборЗавершение", ЭтотОбъект));
Оповещение = Новый ОписаниеОповещения("НачатьПодключениеРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
НачатьПодключениеРасширенияРаботыСФайлами(Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура НачатьПодключениеРасширенияРаботыСФайламиЗавершение(Подключено, ДополнительныеПараметры) Экспорт
Если Не Подключено Тогда
Оповещение = Новый ОписаниеОповещения("НачатьУстановкуРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
ТекстСообщения = НСтр("ru='Для продолжении работы необходимо установить расширение для веб-клиента ""1С:Предприятие"". Установить?'");
ПоказатьВопрос(Оповещение, ТекстСообщения, РежимДиалогаВопрос.ДаНет);
Иначе
ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ВыборЗавершение);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НачатьУстановкуРасширенияРаботыСФайламиЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = КодВозвратаДиалога.Да Тогда
НачатьУстановкуРасширенияРаботыСФайлами(ДополнительныеПараметры.ВыборЗавершение);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВложениеВыборЗавершение(ДополнительныеПараметры, ДопПараметр) Экспорт
НачатьПолучениеКаталогаДокументов(Новый ОписаниеОповещения("КаталогДокументовЗавершение", ЭтотОбъект));
КонецПроцедуры
&НаКлиенте
Процедура КаталогДокументовЗавершение(ИмяКаталогаДокументов, ДополнительныеПараметры) Экспорт
Диалог = новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
ОписаниеОп=новый ОписаниеОповещения("КаталогВыбран", ЭтотОбъект);
Диалог.Показать(ОписаниеОп);
КонецПроцедуры
&НаКлиенте
Процедура КаталогВыбран(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт
Если ВыбранныеФайлы<>Неопределено и ВыбранныеФайлы.Количество()>0 Тогда
Сообщить(ВыбранныеФайлы[0]);
КонецЕсли;
КонецПроцедуры
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) расширение работы с файлами нужно еще и подключить.
https://forum.infostart.ru/forum9/topic152661/
Примерно так, работоспособность не проверял
&НаКлиенте
Процедура ЗагрузитьДанные(Команда)
АдресФайлаВоВременномХранилище = "";
ОписаниеОповещения = Новый ОписаниеОповещения("ЗагрузитьДанныеЗавершение", ЭтотОбъект);
НачатьПомещениеФайла(ОписаниеОповещения, АдресФайлаВоВременномХранилище, Нстр("ru = 'Файл выгрузки'"),, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьДанныеЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт
Если Результат Тогда
ДвоичныеДанные = Новый ДвоичныеДанные();
ДвоичныеДанные.Записать(ВыбранноеИмяФайла);
КонецЕсли;
КонецПроцедуры
Показать
Корректно отработало в тонком клиенте. Вечером протестирую на веб.
Если что-то сделал и не так и можно сделать правильнее/проще напишите пожалуйста.
Если что-то сделал и не так и можно сделать правильнее/проще напишите пожалуйста.
&НаКлиенте
Процедура кнВыбратьКаталог(Команда)
СтандартнаяОбработка = Ложь;
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ВыборЗавершение", Новый ОписаниеОповещения("ВложениеВыборЗавершение", ЭтотОбъект));
Оповещение = Новый ОписаниеОповещения("НачатьПодключениеРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
НачатьПодключениеРасширенияРаботыСФайлами(Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура НачатьПодключениеРасширенияРаботыСФайламиЗавершение(Подключено, ДополнительныеПараметры) Экспорт
Если Не Подключено Тогда
Оповещение = Новый ОписаниеОповещения("НачатьУстановкуРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
ТекстСообщения = НСтр("ru='Для продолжении работы необходимо установить расширение для веб-клиента ""1С:Предприятие"". Установить?'");
ПоказатьВопрос(Оповещение, ТекстСообщения, РежимДиалогаВопрос.ДаНет);
Иначе
ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ВыборЗавершение);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НачатьУстановкуРасширенияРаботыСФайламиЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = КодВозвратаДиалога.Да Тогда
НачатьУстановкуРасширенияРаботыСФайлами(ДополнительныеПараметры.ВыборЗавершение);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВложениеВыборЗавершение(ДополнительныеПараметры, ДопПараметр) Экспорт
НачатьПолучениеКаталогаДокументов(Новый ОписаниеОповещения("КаталогДокументовЗавершение", ЭтотОбъект));
КонецПроцедуры
&НаКлиенте
Процедура КаталогДокументовЗавершение(ИмяКаталогаДокументов, ДополнительныеПараметры) Экспорт
Режим = РежимДиалогаВыбораФайла.ВыборКаталога;
Диалог = Новый ДиалогВыбораФайла(Режим);
Если Диалог.Выбрать() Тогда
Сообщить(Диалог.Каталог+"\");
КонецЕсли;
КонецПроцедуры
Показать
Решение
&НаКлиенте
Процедура кнВыбратьКаталог(Команда)
СтандартнаяОбработка = Ложь;
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ВыборЗавершение", Новый ОписаниеОповещения("ВложениеВыборЗавершение", ЭтотОбъект));
Оповещение = Новый ОписаниеОповещения("НачатьПодключениеРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
НачатьПодключениеРасширенияРаботыСФайлами(Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура НачатьПодключениеРасширенияРаботыСФайламиЗавершение(Подключено, ДополнительныеПараметры) Экспорт
Если Не Подключено Тогда
Оповещение = Новый ОписаниеОповещения("НачатьУстановкуРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
ТекстСообщения = НСтр("ru='Для продолжении работы необходимо установить расширение для веб-клиента ""1С:Предприятие"". Установить?'");
ПоказатьВопрос(Оповещение, ТекстСообщения, РежимДиалогаВопрос.ДаНет);
Иначе
ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ВыборЗавершение);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НачатьУстановкуРасширенияРаботыСФайламиЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = КодВозвратаДиалога.Да Тогда
НачатьУстановкуРасширенияРаботыСФайлами(ДополнительныеПараметры.ВыборЗавершение);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВложениеВыборЗавершение(ДополнительныеПараметры, ДопПараметр) Экспорт
НачатьПолучениеКаталогаДокументов(Новый ОписаниеОповещения("КаталогДокументовЗавершение", ЭтотОбъект));
КонецПроцедуры
&НаКлиенте
Процедура КаталогДокументовЗавершение(ИмяКаталогаДокументов, ДополнительныеПараметры) Экспорт
Диалог = новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
ОписаниеОп=новый ОписаниеОповещения("КаталогВыбран", ЭтотОбъект);
Диалог.Показать(ОписаниеОп);
КонецПроцедуры
&НаКлиенте
Процедура КаталогВыбран(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт
Если ВыбранныеФайлы<>Неопределено и ВыбранныеФайлы.Количество()>0 Тогда
Сообщить(ВыбранныеФайлы[0]);
КонецЕсли;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот