|
В поле html не показывает рисунок | ☑ | ||
---|---|---|---|---|
0
мистер игрек
14.09.11
✎
08:00
|
В форму отчета вставил элемент управления типа ПолеHTMLДокумента.
Создал макет с типом HTML-документ. В макет вставил рисунок. В обработчике кнопки написал код: Макет = ПолучитьМакет("Макет2"); ИсходникHTML = Макет.ПолучитьТекст(); Document = Макет.Получить(); ЭлементыФормы.ПолеHTMLДокумента1.УстановитьТекст(Текст9); В режиме предприятия рисунок не показывает. Вместо риснука пустая рамка с красным "Х" |
|||
1
vudo
14.09.11
✎
08:01
|
Какой HTML тэг? Покажи!
|
|||
2
мистер игрек
14.09.11
✎
08:12
|
По HTML я ни-ни.
Все, что там есть <HTML xmlns:v = "urn:schemas-microsoft-com:vml"><HEAD> <META http-equiv=Content-Type content="text/html; charset=utf-8"><LINK href="__STYLE__" type=text/css rel=stylesheet> <META content="MSHTML 6.00.6000.17063" name=GENERATOR><BASE href=v8config://7f46118e-6ab3-4c87-aec3-409cea74ec07/mdobject/ide1c00f49-a454-44e9-954f-1ab9acd91375/8eb4fad1-1fa6-403e-970f-2c12dbb43e23></HEAD> <BODY> <P><IMG height=91 src="../../mdpicture/idb5f1f5ff-f7c7-47d3-a1b9-90be48373f59/00000000-0000-0000-0000-000000000000" width=217> <v:stroke joinstyle="miter"></v:stroke><v:path gradientshapeok="t" o:connecttype="rect"></v:path></P></BODY></HTML> |
|||
3
oleg_km
14.09.11
✎
08:28
|
src="../../mdpicture/idb5f1f5ff-f7c7-47d3-a1b9-90be48373f59/00000000-0000-0000-0000-000000000000"
Вот здесь и должен быть указан файл с картинкой |
|||
4
мистер игрек
14.09.11
✎
08:33
|
(3) у меня файл рисунка хранится в конфе, в общих картинках, называется "Картинка1".
Не поможешь, как это путь указать? |
|||
5
Asmody
14.09.11
✎
08:33
|
(3) это и есть "файл с картинкой", точнее это ссылка на картинку в конфе, только она какая-то странная
|
|||
6
vudo
14.09.11
✎
08:33
|
<IMG height=91 src="../../mdpicture/idb5f1f5ff-f7c7-47d3-a1b9-90be48373f59/00000000-0000-0000-0000-000000000000" width=217>
Я так понимаю что "../../mdpicture/idb5f1f5ff-f7c7-47d3-a1b9-90be48373f59/00000000-0000-0000-0000-000000000000" это локальный путь, а в браузере закрыт доступ к локальной файловой системе. По этому и не выводит. Можно так: Base64 при загрузки картинки сохранять картинку в сети как в (9) из v8: Можно ли загрузить локальную HTML страницу? Но кашернее всего так: В модуле формы пишешь &НаСервере Процедура ЗагрузкаКартинкиНаСервере() ПоместитьВоВременноеХранилище(БиблиотекаКартинок.АктивныеПользователи.ПолучитьДвоичныеДанные(),УникальныйИдентификатор); КонецПроцедуры Процедура ФормированиеHTML() ТекстПоляHTML = ТекстПоляHTML + <img height=91 width=217 src=""" + СсылкаНаКартинку + """/>; КонецПроцедуры Кстати надо в БЗ поместить, если там еще такого нету :) |
|||
7
Asmody
14.09.11
✎
08:35
|
(6) у автора обычное приложение
|
|||
8
vudo
14.09.11
✎
08:37
|
Аййя! в (6) надо так:
Процедура ЗагрузкаКартинкиНаСервере() СсылкаНаКартинку = ПоместитьВоВременноеХранилище(БиблиотекаКартинок.АктивныеПользователи.ПолучитьДвоичныеДанные(),УникальныйИдентификатор); КонецПроцедуры |
|||
9
vudo
14.09.11
✎
08:42
|
(7) + А кстати, автор, проверь может в обычном тоже взлетит?
|
|||
10
мистер игрек
14.09.11
✎
08:43
|
(9) "ПоместитьВоВременноеХранилище" - такого метода у меня нету
|
|||
11
vudo
14.09.11
✎
08:48
|
Тогда так попробуй:
Процедура ФормированиеHTML() ТекстПоляHTML = ТекстПоляHTML + <img height=91 width=217 src="data:image/jpg/png/gif;base64,"" + Base64Строка(БиблиотекаКартинок.АктивныеПользователи.ПолучитьДвоичныеДанные()) + """/>; КонецПроцедуры |
|||
12
vudo
14.09.11
✎
08:49
|
(11)+ На Win7 работало вроде (IE9)...
|
|||
13
vudo
14.09.11
✎
08:55
|
В (11) Base64Строка должна идти сразу после запятой в data:image/jpg/png/gif;base64,
(с ковычками запарился) |
|||
14
мистер игрек
14.09.11
✎
09:02
|
(12) У меня ХР.
Сможешь в 8.1 сделать внешний отчет и общую картинку "Важно" сделат? Если у тебя получится, скинешь мне этот отчет? Наверно у тебя 5 минут уйдет а это. |
|||
15
мистер игрек
14.09.11
✎
09:05
|
(13) Попробовал как ты написал, все равно пустая рамка
|
|||
16
oleg_km
14.09.11
✎
09:10
|
Заинтриговали, а где в букваре описано как делать ссылки на картинки в поле HTML, я делал как в типовой торговле: выкладывал во временный файл
|
|||
17
vudo
14.09.11
✎
09:14
|
(16) Я не находил. (6) Сам изобретал.
(14) 8.1 не держу, но для обычного приложения счас попробую... |
|||
18
мистер игрек
14.09.11
✎
09:16
|
(16) Где это в торговле?
|
|||
19
мистер игрек
14.09.11
✎
09:26
|
Я в коде прописал :
ЭлементыФормы.ПолеHTMLДокумента1.Перейти("C:\Documents and Settings\>Юзер\Desktop\ццц.htm"); Здесь тоже картинку показвает. Скорее всего метод "ЭлементыФормы.ПолеHTMLДокумента1.УстановитьТекст(Текст9); " криво генерирует текст |
|||
20
мистер игрек
14.09.11
✎
09:46
|
Получилось!
Показываю путь прямо к файлу: //ИсходникHTML = ИсходникHTML + "<P><IMG src=""file:///C:/Documents%20and%20Settings/Юзер/Desktop/untitled1.JPG""> <v:stroke joinstyle=""miter""></v:stroke><v:path gradientshapeok=""t"" o:connecttype=""rect""></v:path></P></BODY></HTML>"; Ну что же делать? Как говорится на безрыбье.... План то горить! |
|||
21
vudo
14.09.11
✎
11:21
|
Вот такой подход является универсальным для тонкого клиента, для толстого, для Web и для обычного приложения:
Тест для обычного приложения: Процедура ПриОткрытии() ТекстПоляHTML = "<HTML xmlns:v = ""urn:schemas-microsoft-com:vml""><HEAD> |<META http-equiv=Content-Type content=""text/html; charset=utf-8""><LINK href=""__STYLE__"" type=text/css rel=stylesheet> |<META name=GENERATOR><BASE href=v8config://7f46118e-6ab3-4c87-aec3-409cea74ec07/mdobject/ide1c00f49-a454-44e9-954f-1ab9acd91375/8eb4fad1-1fa6-403e-970f-2c12dbb43e23></HEAD> |<BODY> |<P>"; ТекстПоляHTML = ТекстПоляHTML + "<img height=91 width=217 src=""data:image/png;base64," + Base64Строка(БиблиотекаКартинок.АктивныеПользователи.ПолучитьДвоичныеДанные()) + """/>"; ТекстПоляHTML = ТекстПоляHTML + "</P></BODY></HTML>"; ТекстовыйДокумент.Записать("D:/error.html",КодировкаТекста.UTF8); ЭлементыФормы.ПолеHTMLДокумента1.УстановитьТекст(ТекстПоляHTML); КонецПроцедуры Единственное ограничение наличие IE8 (не ниже). Это обязательно! Проверьте на WinХP с IE8 кто нибудь. На Win7 работает! |
|||
22
vudo
14.09.11
✎
11:22
|
В(21)
ТекстовыйДокумент.Записать("D:/error.html",КодировкаТекста.UTF8); Надо убрать!!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |