Веб клиент. Как открыть окно выбора каталога

1. Gendelf 25.06.19 08:40 Сейчас в теме
КА 2.4
Клиент подключаются к базе через веб клиент, им нужны по нажатию строки в отчете скачать файлы. На тонком клиенте всё работает, на веб - не могу открыть диалоговое окно для выбора каталога. Пробовал устанавливать расширения на хром и фаерфокс, скачивал через программный код файлы расширения, через серию оповещений пытался вызвать это окно - никак.
Пожалуйста помогите с решением, уверен у кого то есть простейший пример.
По теме из базы знаний
Найденные решения
17. Gendelf 25.06.19 21:26 Сейчас в теме
Решение
&НаКлиенте
Процедура кнВыбратьКаталог(Команда)
	СтандартнаяОбработка = Ложь;
    ДополнительныеПараметры = Новый Структура;
    ДополнительныеПараметры.Вставить("ВыборЗавершение", Новый ОписаниеОповещения("ВложениеВыборЗавершение", ЭтотОбъект));
    Оповещение = Новый ОписаниеОповещения("НачатьПодключениеРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
    НачатьПодключениеРасширенияРаботыСФайлами(Оповещение);
КонецПроцедуры

&НаКлиенте
Процедура НачатьПодключениеРасширенияРаботыСФайламиЗавершение(Подключено, ДополнительныеПараметры) Экспорт
    Если Не Подключено Тогда
        Оповещение = Новый ОписаниеОповещения("НачатьУстановкуРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
        ТекстСообщения = НСтр("ru='Для продолжении работы необходимо установить расширение для веб-клиента ""1С:Предприятие"". Установить?'");
        ПоказатьВопрос(Оповещение, ТекстСообщения, РежимДиалогаВопрос.ДаНет); 
    Иначе
        ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ВыборЗавершение);
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура НачатьУстановкуРасширенияРаботыСФайламиЗавершение(Результат, ДополнительныеПараметры) Экспорт
    Если Результат = КодВозвратаДиалога.Да Тогда
        НачатьУстановкуРасширенияРаботыСФайлами(ДополнительныеПараметры.ВыборЗавершение);
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ВложениеВыборЗавершение(ДополнительныеПараметры, ДопПараметр) Экспорт
    НачатьПолучениеКаталогаДокументов(Новый ОписаниеОповещения("КаталогДокументовЗавершение", ЭтотОбъект));
КонецПроцедуры

&НаКлиенте
Процедура КаталогДокументовЗавершение(ИмяКаталогаДокументов, ДополнительныеПараметры) Экспорт 
	Диалог = новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
	ОписаниеОп=новый ОписаниеОповещения("КаталогВыбран", ЭтотОбъект);
	Диалог.Показать(ОписаниеОп);
КонецПроцедуры 

&НаКлиенте
Процедура КаталогВыбран(ВыбранныеФайлы, ДополнительныеПараметры)  Экспорт
	Если ВыбранныеФайлы<>Неопределено и ВыбранныеФайлы.Количество()>0 Тогда
		Сообщить(ВыбранныеФайлы[0]);
	КонецЕсли;
КонецПроцедуры
Показать
umni4ka; erutan; pivonder; Andreyyy; Dimon93dimon; asid; +6 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. spacecraft 25.06.19 10:10 Сейчас в теме
(1) расширение работы с файлами нужно еще и подключить.
https://forum.infostart.ru/forum9/topic152661/
5. Gendelf 25.06.19 10:27 Сейчас в теме
(4) да, пробовал по этой теме - не получилось. 5-7 вызывающих друг друга процедур, но диалогового окна так и нет.
9. spacecraft 25.06.19 12:23 Сейчас в теме
(5) посмотреть расширение в браузере, может оно выключено и его просто включить нужно.
11. Gendelf 25.06.19 12:27 Сейчас в теме
(9) проверил, включен со всеми правами(к диску и буферу обмена)
12. spacecraft 25.06.19 12:42 Сейчас в теме
(11) тогда показывайте код
13. Gendelf 25.06.19 12:58 Сейчас в теме
(12) его ещё нужно написат, сейчас пробую (10) но я не могу выбрать каталог, на тонком клиенте выбирает файл. Веб интерфейс смогу проверить вечером, но пока нужно добиться корректной работы хотя бы на тонком клиенте.
2. mar82 25.06.19 09:42 Сейчас в теме
а с какой ошибкой диалог выбора файла отваливается?
просто - ДиалогВыбораФайла.Выбрать()
3. Gendelf 25.06.19 09:43 Сейчас в теме
(2)
ДиалогВыбораФайла.Выбрать()


ошибки нет, просто ничего не происходит. Отладкой к сожалению пройтись нельзя.
6. coollerinc 195 25.06.19 11:16 Сейчас в теме
НачатьПомещениеФайла(<ОписаниеОповещенияОЗавершении>, <Адрес>, <НачальноеИмяФайла>, <Интерактивно>, <УникальныйИдентификаторФормы>)
7. Gendelf 25.06.19 12:20 Сейчас в теме
(6) почитал СП - мало что понял, есть пример со всеми подключениями модулей работы с файлами и т.п.?
8. Gendelf 25.06.19 12:21 Сейчас в теме
вопрос актуальный, если есть примеры и догадки - напишите сюда.
10. coollerinc 195 25.06.19 12:27 Сейчас в теме
Примерно так, работоспособность не проверял
&НаКлиенте
Процедура ЗагрузитьДанные(Команда)
	
	АдресФайлаВоВременномХранилище = "";
		
	ОписаниеОповещения = Новый ОписаниеОповещения("ЗагрузитьДанныеЗавершение", ЭтотОбъект);
	НачатьПомещениеФайла(ОписаниеОповещения, АдресФайлаВоВременномХранилище, Нстр("ru = 'Файл выгрузки'"),, УникальныйИдентификатор);
	
КонецПроцедуры

&НаКлиенте
Процедура ЗагрузитьДанныеЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт
	
	Если Результат Тогда
		
		ДвоичныеДанные = Новый ДвоичныеДанные();
              ДвоичныеДанные.Записать(ВыбранноеИмяФайла);
		
		
		
	
	КонецЕсли;
	
КонецПроцедуры
Показать
16. Gendelf 25.06.19 21:15 Сейчас в теме
(10) можете рассказать подробнее как выбрать каталог?
14. Gendelf 25.06.19 13:25 Сейчас в теме
Корректно отработало в тонком клиенте. Вечером протестирую на веб.
Если что-то сделал и не так и можно сделать правильнее/проще напишите пожалуйста.

&НаКлиенте
Процедура кнВыбратьКаталог(Команда)
	СтандартнаяОбработка = Ложь;
    ДополнительныеПараметры = Новый Структура;
    ДополнительныеПараметры.Вставить("ВыборЗавершение", Новый ОписаниеОповещения("ВложениеВыборЗавершение", ЭтотОбъект));
    Оповещение = Новый ОписаниеОповещения("НачатьПодключениеРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
    НачатьПодключениеРасширенияРаботыСФайлами(Оповещение);
КонецПроцедуры

&НаКлиенте
Процедура НачатьПодключениеРасширенияРаботыСФайламиЗавершение(Подключено, ДополнительныеПараметры) Экспорт
    Если Не Подключено Тогда
        Оповещение = Новый ОписаниеОповещения("НачатьУстановкуРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
        ТекстСообщения = НСтр("ru='Для продолжении работы необходимо установить расширение для веб-клиента ""1С:Предприятие"". Установить?'");
        ПоказатьВопрос(Оповещение, ТекстСообщения, РежимДиалогаВопрос.ДаНет); 
    Иначе
        ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ВыборЗавершение);
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура НачатьУстановкуРасширенияРаботыСФайламиЗавершение(Результат, ДополнительныеПараметры) Экспорт
    Если Результат = КодВозвратаДиалога.Да Тогда
        НачатьУстановкуРасширенияРаботыСФайлами(ДополнительныеПараметры.ВыборЗавершение);
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ВложениеВыборЗавершение(ДополнительныеПараметры, ДопПараметр) Экспорт
    НачатьПолучениеКаталогаДокументов(Новый ОписаниеОповещения("КаталогДокументовЗавершение", ЭтотОбъект));
КонецПроцедуры

&НаКлиенте
Процедура КаталогДокументовЗавершение(ИмяКаталогаДокументов, ДополнительныеПараметры) Экспорт 
	Режим = РежимДиалогаВыбораФайла.ВыборКаталога;
	Диалог = Новый ДиалогВыбораФайла(Режим);
	Если Диалог.Выбрать() Тогда		
		Сообщить(Диалог.Каталог+"\");
	КонецЕсли;
КонецПроцедуры 
Показать
15. Gendelf 25.06.19 20:36 Сейчас в теме
на веб клиенте не работает, именно последняя процедура "КаталогДокументовЗавершение", ошибка "использование синхронных методов на клиенте запрещено".
Кто сможет помочь?
17. Gendelf 25.06.19 21:26 Сейчас в теме
Решение
&НаКлиенте
Процедура кнВыбратьКаталог(Команда)
	СтандартнаяОбработка = Ложь;
    ДополнительныеПараметры = Новый Структура;
    ДополнительныеПараметры.Вставить("ВыборЗавершение", Новый ОписаниеОповещения("ВложениеВыборЗавершение", ЭтотОбъект));
    Оповещение = Новый ОписаниеОповещения("НачатьПодключениеРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
    НачатьПодключениеРасширенияРаботыСФайлами(Оповещение);
КонецПроцедуры

&НаКлиенте
Процедура НачатьПодключениеРасширенияРаботыСФайламиЗавершение(Подключено, ДополнительныеПараметры) Экспорт
    Если Не Подключено Тогда
        Оповещение = Новый ОписаниеОповещения("НачатьУстановкуРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
        ТекстСообщения = НСтр("ru='Для продолжении работы необходимо установить расширение для веб-клиента ""1С:Предприятие"". Установить?'");
        ПоказатьВопрос(Оповещение, ТекстСообщения, РежимДиалогаВопрос.ДаНет); 
    Иначе
        ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ВыборЗавершение);
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура НачатьУстановкуРасширенияРаботыСФайламиЗавершение(Результат, ДополнительныеПараметры) Экспорт
    Если Результат = КодВозвратаДиалога.Да Тогда
        НачатьУстановкуРасширенияРаботыСФайлами(ДополнительныеПараметры.ВыборЗавершение);
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ВложениеВыборЗавершение(ДополнительныеПараметры, ДопПараметр) Экспорт
    НачатьПолучениеКаталогаДокументов(Новый ОписаниеОповещения("КаталогДокументовЗавершение", ЭтотОбъект));
КонецПроцедуры

&НаКлиенте
Процедура КаталогДокументовЗавершение(ИмяКаталогаДокументов, ДополнительныеПараметры) Экспорт 
	Диалог = новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
	ОписаниеОп=новый ОписаниеОповещения("КаталогВыбран", ЭтотОбъект);
	Диалог.Показать(ОписаниеОп);
КонецПроцедуры 

&НаКлиенте
Процедура КаталогВыбран(ВыбранныеФайлы, ДополнительныеПараметры)  Экспорт
	Если ВыбранныеФайлы<>Неопределено и ВыбранныеФайлы.Количество()>0 Тогда
		Сообщить(ВыбранныеФайлы[0]);
	КонецЕсли;
КонецПроцедуры
Показать
umni4ka; erutan; pivonder; Andreyyy; Dimon93dimon; asid; +6 Ответить
18. Константин С. 673 02.03.20 08:18 Сейчас в теме
БСП для типовых конфигураций
	ОбменДаннымиКлиент.ОбработчикВыбораФайловогоКаталога(Объект, "ИмяФайлаВыгрузки", Ложь);
erutan; LimarenkoA; +2 Ответить
19. VikUp 22.07.22 12:12 Сейчас в теме
Если БСП, то ФайловаяСистемаКлиент.ВыбратьКаталог(Оповещение, "Заголовок")
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот