|
УФ. ActiveX | ☑ | ||
---|---|---|---|---|
0
pessok
02.03.12
✎
11:54
|
Всем доброго времени суток. Возникла задачка - динамически создавать на УФ различные элементы ActiveX. Это вывод прикрепленных к объекту файлов.
На девтрейнинге http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=557642 усмотрел как можно вообще осуществить вывод ActiveX на УФ, но дальше начались проблемы... Код: &НаКлиенте Процедура СписокПриАктивизацииСтроки(Элемент) //Формируем табличный документ Массив = Новый Массив; Массив.Добавить(Элементы.Список.ТекущиеДанные.Ссылка); ТабличныйДокумент = Документы.ЗаявкаНаРасходованиеСредств.ПечатьЗаявки(Массив, Неопределено); //формируем скан документа основания ИмяФайла = ПолучитьИмяВременногоФайла(".pdf"); ОбъектыХранилища = ПолучитьСканДокумента(Массив[0]); Если ОбъектыХранилища.Количество() = 0 Тогда Сообщить("К заявке не приложено файлов!", СтатусСообщения.Важное); Возврат; ИначеЕсли ОбъектыХранилища.Количество() > 1 Тогда Сообщить("К заявке приложено более одного файла, вывод просмотра невозможен!", СтатусСообщения.Информация); Возврат; Иначе ОбъектХранилища = ОбъектыХранилища[0]; Если ОбъектХранилища.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Файл Тогда ОбъектХранилища.Хранилище.Получить().Записать(ИмяФайла); Если Прав(ОбъектХранилища.ИмяФайла, 3) = "pdf" Тогда Скан = "<HTML><OBJECT id=PDFReader classid=CLSID:CA8A9780-280D-11CF-A24D-444553540000 width=""100%"" height=""100%"">"; ЭлементВК = Элементы.Скан.Документ.getElementById("PDFReader"); ЭлементВК.Src = ИмяФайла; ИначеЕсли Прав(ОбъектХранилища.ИмяФайла, 3) = "xls" Или Прав(ОбъектХранилища.ИмяФайла, 4) = "xlsx" Тогда Скан = "<HTML><OBJECT id = ExcelLook classid=CLSID:00024500-0000-0000-C000-000000000046 width=""100%"" height=""100%"">"; ЭлементВК = Элементы.Скан.Документ.getElementById("ExcelLook"); ЭлементВК.WorkBooks.Open(ИмяФайла); ИначеЕсли Прав(ОбъектХранилища.ИмяФайла, 3) = "jpg" Или Прав(ОбъектХранилища.ИмяФайла, 4) = "jpeg" Или Прав(ОбъектХранилища.ИмяФайла, 3) = "gif" Или Прав(ОбъектХранилища.ИмяФайла, 3) = "bmp" Или Прав(ОбъектХранилища.ИмяФайла, 3) = "png" Тогда Скан = "<HTML><OBJECT id=ImgLook classid=CLSID:D3E34B21-9D75-101A-8C3D-00AA001A1652 width=""100%"" height=""100%"">"; ЭлементВК = Элементы.Скан.Документ.getElementById("ImgLook"); ЭлементВК.Src = ИмяФайла; Иначе Сообщить("Невозможно определить тип прикрепленного файла!", СтатусСообщения.Информация); КонецЕсли; УдалитьФайлы(ИмяФайла); Иначе Скан = "<HTML><OBJECT id=ImgLook classid=CLSID:D3E34B21-9D75-101A-8C3D-00AA001A1652 width=""100%"" height=""100%"">"; ЭлементВК = Элементы.Скан.Документ.getElementById("ImgLook"); ЭлементВК.Src = ИмяФайла; КонецЕсли; КонецЕсли; КонецПроцедуры Собственно затыков несколько: 1) Скан = "бла" отрабатывает как надо, но ЭлементВК = Элементы.Скан.Документ.getElementById("бла"); отрабатывает только если он уже был создан в предыдущем вызове обработчика.... 2) непонятно, как это добро отлаживать... к примеру, ЭлементВК.WorkBooks.Open(ИмяФайла); которое для экселя, не находит поле WorkBooks, хотя CLSID указан верно. В общем, может у кого есть опыт с подобного рода извратами? Заранее спасибо. И да, обычную форму запользовать нельзя, к сожалению... |
|||
1
pessok
02.03.12
✎
12:21
|
ап
|
|||
2
pessok
02.03.12
✎
12:34
|
ау... я понимаю, что пятница, но все же :)
|
|||
3
pessok
02.03.12
✎
12:56
|
ну еще разочек ап...
|
|||
4
pessok
02.03.12
✎
13:34
|
человеки, ау...
|
|||
5
pessok
02.03.12
✎
15:00
|
ап
|
|||
6
wald
02.03.12
✎
15:15
|
Тема актуальная, помочь не могу, могу только апнуть еще раз!
|
|||
7
pessok
02.03.12
✎
15:22
|
Эх, жуть то какая. Ну я пока изгаляюсь, напишу, если что надумаю
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |