|
Веб-Клиент: немодальная выбор и загрузка файла | ☑ | ||
---|---|---|---|---|
0
MaxisUssr
25.05.15
✎
18:25
|
Читал, что у 1С новые веяния - отказ от модальности. Сейчас как раз нужно сделать веб-клиент - решил, что лучше помучится сейчас, и делать различные диалоги выбора именно не модальными. Но проблема в том, что через веб-клиент нужно еще и грузить файлы. Файлы грузятся на данный момент так:
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Заголовок = "Выберите файл с фотографией"; Диалог.ПолноеИмяФайла = ""; Диалог.ПредварительныйПросмотр = Истина; Диалог.Фильтр = "Все картинки (*.bmp;*.dib;*.rle;*.jpg;*.jpeg;*.tif;*.gif;*.png;*.ico;*.wmf;*.emf)|*.bmp;*.dib;*.rle;*.jpg;*.jpeg;*.tif;*.gif;*.png;*.ico;*.wmf;*.emf|" + "Формат bmp (*.bmp;*.dib;*.rle)|*.bmp;*.dib;*.rle|" + "Формат JPEG (*.jpg;*.jpeg)|*.jpg;*.jpeg|" + "Формат TIFF (*.tif)|*.tif|" + "Формат GIF (*.gif)|*.gif|" + "Формат PNG (*.png)|*.png|" + "Формат icon (*.ico)|*.ico|" + "Формат метафайл (*.wmf;*.emf)|*.wmf;*.emf|"; // картинки Если Диалог.Выбрать() Тогда ПутьКФайлу = Диалог.ПолноеИмяФайла; ПомещаемыеФайлы = новый Массив; ПомещаемыеФайлы.Добавить(новый ОписаниеПередаваемогоФайла(ПутьКФайлу, "")); ПомещенныеФайлы = новый Массив; РезПомещения = ПоместитьФайлы(ПомещаемыеФайлы, ПомещенныеФайлы, ,Ложь, УникальныйИдентификатор); Если РезПомещения <> Истина тогда Сообщить(ОписаниеОшибки()); Иначе Если ПрикрепитьФайлСервер(ПомещенныеФайлы, ИмяКартинки, Истина) тогда Элемент.ЦветФона = WebЦвета.ЗеленаяЛужайка; КонецЕсли; КонецЕсли; КонецЕсли; Вопрос - каким образом уйти от модальности в данном коде? P.S. Вышеописанное работает в IE, в Chrome выдает: "br:showmodaldialog is not function". Это плохо как-то - не пересаживать же всех на IE. |
|||
1
Fragster
гуру
25.05.15
✎
18:31
|
НачатьПомещениеФайла
|
|||
2
Fragster
гуру
25.05.15
✎
18:33
|
жизнь - боль
|
|||
3
Fragster
гуру
25.05.15
✎
18:33
|
Примечание:
На мобильной платформе параметр <Интерактивно> игнорируется и диалоговое окно выбора файла не отображается никогда. В тонком и толстом клиентах, в отличие от веб-клиента, метод блокирует исполнение кода языка. Тем не менее, по завершению помещения файла указанный обработчик оповещения также будет вызван, но до исполнения кода, размещенного после вызова метода. |
|||
4
MaxisUssr
25.05.15
✎
18:35
|
(1) Понятно - спасибо. У нас пока что 8.2 (если будут вопросы, почему хром не работает - скажу, что платформа 1С старая), но скоро перейдем-наконец на 8.3 и придется переделать все на немодальность по-хорошему.
|
|||
5
Fragster
гуру
25.05.15
✎
18:37
|
(4) судя по справке - это теперь работает по одному файлу, так что в описание оповещения придется запихивать массив из оставшихся файлов (кроме того, который в текущий момент передается).
|
|||
6
Fragster
гуру
25.05.15
✎
18:37
|
а вообще - по хорошему - раз уж все это асинхронно - то может быть есть умельцы, которые реально асинхронно-параллельно много файлов на сервер загружают?
|
|||
7
MaxisUssr
25.05.15
✎
18:44
|
(6)
Не представляю, как. Может только через ВК какую-то (но она тоже может быть отключена браузером). |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |