|
как сохранить файл из диалога выбора файла в xml | ☑ | ||
---|---|---|---|---|
0
Svikator1
14.06.16
✎
16:43
|
8.3.8.1675 Всем доброго времени суток. Помоги пожалуйста со следующим вопросом, просьба сразу тапками не кидать, т.к. уже гуглил, пробовал различные методы и т.д. Суть вопроса: пытаюсь поместить файл в формате xml во временное хранилище для дальнейшей передачи адреса на сервер, ничего не получается. При вызове процедур Поместитьфайл(),Поместитьфайлы(),ПоместитьВоВременноеХранилище() выдаётся ошибка "Использование модальных окон в данном режиме запрещено!"(хм...вроде всё по книжке). Дальше погуглив нашёл примеры на сайте Чистова и других умных людей, что нужно использовать "ОписаниеОповещения",т.к. всё нужно делать без использования модальности, попробовав данный метод возникает та же самая ошибка на строке кода при создании Описания оповещения. Вопрос в следующем, есть ли вообще рабочий механизм для того чтобы поместить файл во временное хранилище?Если есть то можно ли привести пример для помещения файла. А то уже весь мозг сломал с этой модальностью))
|
|||
1
Волшебник
модератор
14.06.16
✎
16:44
|
запусти в толстом клиенте
|
|||
2
Svikator1
14.06.16
✎
17:29
|
Спасибо действительно помогло. Не сочтите за наглость, просто в продолжение темы:
1. А как передать параметры как это есть в "ДиалогВыбораФайла", допустим если я хочу открывать файл только определённого расширения или допустим использовать режим множественного выбора. В СП указано что для объекта "ОписаниеОповещения" есть дополнительные параметры, а какие параметры туда можно передавать не указано. 2. Как же быть на тонком клиенте или web? Или есть какие то ещё методы? |
|||
3
Nuobu
14.06.16
✎
17:46
|
(2) Такие методы есть: Свойство "Фильтр" у объекта "ДиалогВыбораФайлов".
|
|||
4
Fragster
гуру
14.06.16
✎
17:55
|
Глобальный контекст.НачатьПомещениеФайлов (Global context.BeginPuttingFiles)
Глобальный контекст (Global context) НачатьПомещениеФайлов (BeginPuttingFiles) Синтаксис: НачатьПомещениеФайлов(<ОписаниеОповещения>, <ПомещаемыеФайлы>, <НаборПомещаемыхФайлов>, <Интерактивно>, <УникальныйИдентификаторФормы>) Параметры: <ОписаниеОповещения> (обязательный) Тип: ОписаниеОповещения. Содержит описание процедуры, которая будет вызвана после завершения со следующими параметрами: <ПомещенныеФайлы> – массив объектов типа ОписаниеПереданногоФайла или Неопределено, если файлы не получены. <ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения. <ПомещаемыеФайлы> (необязательный) Тип: Строка. Массив объектов типа ОписаниеПередаваемогоФайла. Каждый объект описывает получаемый файл: Хранение - расположение данных во временном хранилище; Имя - это локальный путь, по которому должен быть получен файл. Массив может быть заполнен полностью, в этом случае известен набор помещаемых файлов и адреса, по которым они должны быть сохранены. Массив может быть заполнен частично, у элементов массива заполнены только имена. В этом случае, набор помещаемых файлов определен, а места хранения неизвестны. Файлы будут размещены в новых временных хранилищах. Массив может быть не заполнен. В этом случае набор помещаемых файлов определяется по значениям остальных параметров метода (поиском по маске либо интерактивным выбором). <НаборПомещаемыхФайлов> (необязательный) Тип: ДиалогВыбораФайла; Строка. Определяет набор помещаемых файлов. Может быть задан строкой поиска для метода НайтиФайлы либо заранее подготовленным диалогом выбора файлов в режиме открытия файлов. Если параметр определен, то параметр <ПомещаемыеФайлы> должен быть не определен либо быть пустым массивом. <Интерактивно> (необязательный) Тип: Булево. Указывает использование интерактивного режима, при котором пользователю показывается диалог, в котором он может выбрать набор помещаемых файлов. <УникальныйИдентификаторФормы> (необязательный) Тип: УникальныйИдентификатор. Уникальный идентификатор формы, который можно получить с помощью свойства УникальныйИдентификатор управляемой формы. Файл помещается во временное хранилище и автоматически удаляется после удаления объекта формы. Если параметр не указан, помещенное значение будет удалено, после очередного запроса сервера из общего модуля, при контекстном и неконтекстном серверном вызове из формы, при серверном вызове из модуля команды или при получении формы. Описание: Начинает помещение набора файлов из локальной файловой системы во временное хранилище. Доступность: Тонкий клиент, веб-клиент, толстый клиент. См. также: Глобальный контекст, метод ПоместитьФайлы -------------------------------------------------------------------------------- Методическая информация |
|||
5
Fragster
гуру
14.06.16
✎
17:55
|
диалог передавать в НаборПомещаемыхФайлов
|
|||
6
Fragster
гуру
14.06.16
✎
17:56
|
совет из (1) в топку
|
|||
7
Fragster
гуру
14.06.16
✎
17:56
|
все-таки 8.3.8 на дворе
|
|||
8
Svikator1
14.06.16
✎
18:42
|
Всё получилось, файл получен. Только в процессе возник ещё небольшой вопрос.
Оп = Новый ОписаниеОповещения("ОбработатьВыборФайла",ЭтаФорма); НачатьПомещениеФайлов(Оп,,Диалог,Истина,УникальныйИдентификатор); Почему если идти по шагам в отладчике то обе процедуры отрабатывать отрабатывают, а сам диалог выбора файла вызывается уже в самом конце процедуры нажатия кнопки и вызов "ОбработатьВыборФайла" тоже происходит в самом конце, не совсем понятно почему так происходит? |
|||
9
Svikator1
14.06.16
✎
19:01
|
Я конечно ничего против не имею, только вот приходится вызовы процедур и функций идущих после этих двух строчек кода, переносить в процедуру "ОбработатьВыборФайла", иначе они обрабатываются не своевременно и некорректно.
|
|||
10
Fragster
гуру
15.06.16
✎
11:06
|
(9) так и задумано. асинхронность. боль. ведь async/await - это же так сложно.
|
|||
11
Fragster
гуру
15.06.16
✎
11:20
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |