![]() |
![]() |
![]() |
|
Подключить расширение для файлов в браузере ПодключитьРасширениеДляФайлов не работает? | ☑ | ||
---|---|---|---|---|
0
Гений 1С
гуру
26.05.21
✎
18:34
|
Выдает "Подключить не удалось". Почему? В Chrome
&НаКлиенте Процедура ПодключитьРасширениеДляФайлов(Команда) НачатьПодключениеРасширенияРаботыСФайлами(Новый ОписаниеОповещения("ПодключитьРасширениеДляФайловЗавершение", ЭтаФорма)); КонецПроцедуры &НаКлиенте Процедура ПодключитьРасширениеДляФайловЗавершение(Подключено, ДополнительныеПараметры) Экспорт Если Подключено Тогда ПоказатьПредупреждение(,"Подключено успешно!"); Иначе ПоказатьПредупреждение(,"Подключить не удалось!"); КонецЕсли; КонецПроцедуры |
|||
1
Asmody
26.05.21
✎
21:46
|
||||
2
sikuda
27.05.21
✎
09:00
|
Конкурс угадай автора по вопросу продолжается!
Хотя бы версию браузера написал бы... |
|||
3
ДенисЧ
27.05.21
✎
09:02
|
(2) Автора угадал, а версию бровзера не угадал? Слабо ещё прокачен, иди тренируйся...
|
|||
4
Гений 1С
гуру
31.05.21
✎
12:35
|
(2) а какая разница?
(1) это несколько другое. Итак вопросов два: 1. Как проверить, что веб-расширение для работы подключено? (Годится через попытку-исключение) 2. Не работает НачатьПомещениеФайлаНаСервер, НачатьПомещениеФайла в браузере. ПараметрыДиалогаПомещенияФайлов = Новый ПараметрыДиалогаПолученияФайлов(); ПараметрыДиалогаПомещенияФайлов.Заголовок = "Собственный заголовок диалога загрузки файла"; ОписаниеОповещения = Новый ОписаниеОповещения("ЗагрузитьПравилаПолученияДанныхЗавершение", ЭтаФорма); НачатьПомещениеФайлаНаСервер(ОписаниеОповещения, , , , ПараметрыДиалогаПомещенияФайлов, ЭтаФорма.УникальныйИдентификатор); ОписаниеОповещения = Новый ОписаниеОповещения("ОбработатьВыборФайла", ЭтаФорма); ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогОткрытияФайла.МножественныйВыбор = Ложь; НачатьПомещениеФайла(ОписаниеОповещения, , ДиалогОткрытияФайла, Истина, УникальныйИдентификатор); НачатьПомещениеФайлаНаСервер - ругается на 5-й параметр. НачатьПомещениеФайла - передает имя файла, а не временное хранилище файла. &НаКлиенте Процедура ЗагрузитьПравилаПолученияДанныхЗавершение(Результат, Интерактивно, Адрес, ПомещаемыйФайл) Экспорт Сообщить(Адрес); Сообщить(ПомещаемыйФайл); ДД = ПолучитьИзВременногоХранилища(ПомещаемыйФайл); Сообщить(ТипЗнч(ДД)); КонецПроцедуры Как это побороть? |
|||
5
acht
31.05.21
✎
12:50
|
(4) Вот здесь посмотри: https://uc1.1c.ru/course/programmirovanie-upravlyaemyh-form/
|
|||
6
Гений 1С
гуру
31.05.21
✎
14:44
|
(5) реклама на форуме запрещена, а-я-я-й
|
|||
7
acht
31.05.21
✎
14:46
|
(6) Ты больше не будешь постить ссылочки на свою днявку? Печалька.
|
|||
8
Гений 1С
гуру
31.05.21
✎
16:04
|
Загрузка файлов получилась, а вот как проверить, что расширение для работы с файлами подключено, хз.
&НаКлиенте Процедура ЗагрузитьПравилаПолученияДанных(Команда) //https://wonderland.v8.1c.ru/blog/uluchshenie-raboty-s-faylami-v-veb-kliente/ ОписаниеОповещения = Новый ОписаниеОповещения("ЗагрузитьПравилаПолученияДанныхЗавершение", ЭтаФорма); ПараметрыДиалога = Новый ПараметрыДиалогаПомещенияФайлов; ПараметрыДиалога.МножественныйВыбор = Ложь; //ПараметрыДиалога.Заголовок = НСтр("ru = 'Выберите файл'; en = 'Select file'"); ПараметрыДиалога.Фильтр ="Файлы MXL (*.mxl)|*.mxl"; НачатьПомещениеФайлаНаСервер(ОписаниеОповещения, , , , ПараметрыДиалога, ЭтаФОрма.УникальныйИдентификатор); КонецПроцедуры &НаКлиенте Процедура ЗагрузитьПравилаПолученияДанныхЗавершение(ОписаниеПомещенногоФайла, ДополнительныеПараметры) Экспорт Если ОписаниеПомещенногоФайла = Неопределено Тогда Возврат; КонецЕсли; ДвоичныеДанныеФайлаПравилПолученияДанных = ПолучитьИзВременногоХранилища(ОписаниеПомещенногоФайла.Адрес); КонецПроцедуры |
|||
9
Гений 1С
гуру
31.05.21
✎
16:05
|
Ошибка была не в том типе, использовал ПараметрыДиалогаПолученияФайлов а надо ПараметрыДиалогаПомещенияФайлов
|
|||
10
sikuda
31.05.21
✎
16:52
|
(9) Ошибка была - включать 1С расширение для файлов, если необходимо только передача выбранных файлов на сервер?
|
|||
11
Гений 1С
гуру
31.05.21
✎
17:21
|
(10) расширение нужно, чтобы в браузере можно было сохранять имя файла, куда сохранять/откуда загружать. Чтобы было как в тонком клиенте.
|
|||
12
Гений 1С
гуру
31.05.21
✎
18:13
|
Нашел в БСП в модуле РаботаСФайламиСлужебныйКлиент, но там как-то странно:
Функция РасширениеРаботыСФайламиПодключено() Экспорт Если КлиентПоддерживаетСинхронныеВызовы() Тогда Возврат ПодключитьРасширениеРаботыСФайлами(); Иначе Возврат Ложь; КонецЕсли; КонецФункции Функция КлиентПоддерживаетСинхронныеВызовы() #Если ВебКлиент Тогда // В Chrome и Firefox синхронные методы не поддерживаются. СистемнаяИнформация = Новый СистемнаяИнформация; ИнформацияПрограммыМассив = СтрРазделить(СистемнаяИнформация.ИнформацияПрограммыПросмотра, " ", Ложь); Для Каждого ИнформацияПрограммы Из ИнформацияПрограммыМассив Цикл Если СтрНайти(ИнформацияПрограммы, "Chrome") > 0 ИЛИ СтрНайти(ИнформацияПрограммы, "Firefox") > 0 Тогда Возврат Ложь; КонецЕсли; КонецЦикла; #КонецЕсли Возврат Истина; КонецФункции Не очень понятно, как расширение и синхронные вызовы связаны между собой? |
|||
13
acht
31.05.21
✎
22:51
|
(12) Через архитектуру браузера, Геня.
|
|||
14
sikuda
31.05.21
✎
23:37
|
(13) Нет через архитектуру 1С. ПодключитьРасширениеРаботыСФайлами() пытается подключить расширение работы с файлами синхронно(для старых движков браузеров). Для Chrome и Firefox применяется НачатьПодключениеРасширенияРаботыСФайлами
И да расширение нужно что бы наш "Гений" так и разобрался в разности архитектуры web и настольного приложения и мог писать одинаковый код для них. Да в браузере нельзя напрямую из клиента обращаться к локальному диску и буферу обмена. Но 1С дает инструмент таким как Сергей и кладет на безопасность таких приложений. Это ее выбор. |
|||
15
Гений 1С
гуру
01.06.21
✎
07:46
|
(14) попробую НачатьПодключениеРасширенияРаботыСФайлами, а как проверить, что раширение подключено?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |