Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 апр 2024, 21:52

Вставить картинку в ПолеHTMLДокумента

Автор Serjio77, 27 июн 2017, 13:23

0 Пользователей и 1 гость просматривают эту тему.

Serjio77

Доброго времени суток уважаемые гуру 1С программирования!
После долгих дней и безуспешных попыток решения проблемы решил обратится к вам за советом. Передо мной стоит задача вставить изображение с логотипом из справочника организации в ПолеHTMLДокумента.
Итак, у нас имеется точное название организации которое встречается в выводимых документах. Заносим его в переменную Стр.
Стр = ФильтрыОтчета.Организация.Значение;
Теперь, все наши изображения хранятся в регистре сведений. Соответственно мы обращаемся с нашим полученным в переменной названии к регистру сведений для того чтобы вытащить оттуда требуемую запись.

Запрос = Новый Запрос();
Запрос.Текст = "Выбрать *
|Из РегистрСведений.КартинкиИФайлы
|Где РегистрСведений.КартинкиИФайлы.Объект = &Стр";
Запрос.УстановитьПараметр("Стр", Стр);
Отборка = Запрос.Выполнить().Выбрать();

Отборка у нас стала хранилищем значений. А потому следующим шагом мы загоняем нашу картинку которая все таки сидит в полученной записи во временное хранилище значений при помощи вот такой нехитрой комбинации.
ЗагонВХранилище = ПоместитьВоВременноеХранилище(Отборка.Данные.Получить());
Ну вот теперь бы казалось можно успокоится и получить то что мы так хотим в ПолуHTMLДокумента. Дело то за маленьким. Всего лишь написать одну строчку кода.

КартинкаЛоготипа = "<img src = """ + ЗагонВХранилище + """ width = ""200"" height = ""200"" />";
Текст = Текст + КартинкаЛоготипа;

И Вуаля.. Мы получаем в поле HTML документа самое что ни на есть.. хрен..
Ладно.. Малый я не промах. Я сейчас пойду более глубоким путем.
Я проверю есть ли у меня вообще картинка в моей ссылке которая падает в переменную ЗагонВХранилище. Поехали....

ДвоичныеДанные = Отборка.Данные.Получить();
ДвоичныеДанные.Записать("C:\wmpub\Temp.jpg");

Все нормально. Картинка там. Она упала у меня в требуемом направлении C:\wmpub\Temp.jpg и я ее даже посмотрел. Ок.. говорю я себе. Еще не все потеряно. Я сейчас получу навигационную ссылку.
Поехали.

КлючЗаписиРег = РегистрыСведений.КартинкиИФайлы.СоздатьКлючЗаписи(Новый Структура("Объект", Стр));
Если НЕ КлючЗаписиРег.Пустой() Тогда
СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(КлючЗаписиРег, "Данные");
КонецЕсли;

Ссылку получил. Снова правим HTML

КартинкаЛоготипа = "<img src = """ + СсылкаНаКартинку + """ width = ""200"" height = ""200"" />";
Текст = Текст + КартинкаЛоготипа;

И что мы видим? Правльно... тот самый хрен, о котором я уже рассказывал выше.
Уважаемые мастера.. Я конечно понимаю, что у меня есть еще один выход признать себя оконченным имбицилом лишенным всяческих генетических наклоннестей к программированию и треснувшись пару раз башкой об стенку тупо навтыкать картинки в раздел конфигурации Общие -> ОбщиеКартинки и все.. А после этого используя строку:
АдресЛоготипа = ПолеHTMLДокумента.ПолучитьURL(Метаданные.ОбщиеКартинки._____Логотипы_____);
Вытащить то что нужно в полеHTMLДокумента. Можно так. Работает. Я проверил. Но если вдруг у нас имеется изображение сотрудника? То здесь у нас этот метод не будет приемлимым. Так как сотрудников в смене работает 3 человека. А смен у нас четыре. И сотрудники у нас имеют свойство меняться.
Так как же мне вставить эту злополучную картинку в полеHTMLДокумента?

P.S. Прошу не судить меня строго уважаемых граждан, которые не равнодушно относятся к острым приправам и специям, которые используются в кулинарии. А также граждан которые занимаются охраной природы, окружающих и близких нам сожителей. Я ничего не имею против растения с названием хрен. В своем обращении я использовал описательный образ который схож по своему действию с результатом когда ты долго и мучительно пытаешься добиться решения поставленной задачи. Как и от хрена у меня тоже слезяться глаза и волосы встают дыбом от бесполезных потуг и попыток наткнуться на желаемый эффект.

Serjio77

И тишина.. И мертвые с косами стоят.. Ау-у-у-у... Где вы гуру? Не ужели нет ответа на вопрос о вставке картинки в ПолеHTMLДокумента из справочника организации или справочника сотрудников? Конфигурация Альфа-Авто 8.3. релиз 5.10. Если где нибудь уже этот вопрос обсуждался и решение на него уже не один раз выдавалось, так подскажите, где это можно увидеть. Не молчите только? Не от делать нечего ведь сюда полез...

Дядя Кот

Та же фигня. Причем на каких-то компах работает норм, на каких-то не работает. Началось после перехода на платформу 8.3.9, на 8.3.8 всё было ок.
Пока нет времени на эксперименты, но если что-то получится напишу
можно попробывать настроить профиль безопасности

MuI_I_Ika

веб это путь боли и страдания. все дело не в программировании, а в огромном количестве различных движков, которые работают каждый по своему. Вот например в последние версии 1С вместо стандартного ie встраивается webkit.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск