&НаСервере
Функция ПолучитьТабличныйДокумент()
Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
ТабличныйДокумент = Новый ТабличныйДокумент;
Область = Макет.ПолучитьОбласть("Шапка");
ТабличныйДокумент.Вывести(Область);
возврат ТабличныйДокумент;
КонецФункции
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ТабличныйДокумент = ПолучитьТабличныйДокумент();
ФайлВФорматеHTML = ПолучитьИмяВременногоФайла();
ТабличныйДокумент.Записать(ФайлВФорматеHTML, ТипФайлаТабличногоДокумента.HTML);
ТекстПисьма = Новый ТекстовыйДокумент;
ТекстПисьма.Прочитать(ФайлВФорматеHTML);
ХТМЛПоле = ТекстПисьма.ПолучитьТекст();
КонецПроцедуры
Показать
В переменной ХТМЛПоле на месте рисунка образуется следующий кусок текста:
<TD ROWSPAN=3 ALIGN=LEFT VALIGN=TOP STYLE="padding-left: 0"><IMG SRC = "v8_41CF_a_files\image000.png" ALT = "" width = 33 height = 33 style = "margin-left:31pt;margin-top:7pt;"></TD>
То есть, подставляется адрес в хранилище.
На экране при этом отображается перечеркнутый квадратик - рисунка по такому адресу программа не видит. Причем неважно, где происходит сохранение табличного документа во временный файл, на клиенте или на сервере.
При отправке такого HTML по почте в теле письма, 1С УПП выдает ошибку "Ошибка при вызове метода контекста (ИнтернетПочта.Послать): Каталог не обнаружен \v8_41CF_a_files\image000.png"
Путь относительный, а нужно его дополнить путем к каталогу временных файлов, например, в котором картинки лежат. Второй вариант - прочитать картинку в двоичные данные и заюючить его (base64встроку) и прописать в SRC.
Путь относительный, а нужно его дополнить путем к каталогу временных файлов, например, в котором картинки лежат. Второй вариант - прочитать картинку в двоичные данные и заюючить его (base64встроку) и прописать в SRC.
(2) Через base64встроку работает, но письма кривые получаются, так как почтовый клиент встроенные картинки в виде бинарных данных блокирует. Настроить права, наверное, возможно, но у клиентов никто этим заниматься не будет.
Поэтому интересует вариант с "дополнить путем к каталогу временных файлов". Как получить этот путь? Вручную выгрузить картинку из табличного документа во временный файл и запихнуть его вместо IMG SRC = "v8_41CF_a_files\image000.png"?
По всей видимости это путь к каталогу временных файлов, в который сохраняются картинки. Но если речь идет о письмах, то, полагаю, нужно данные картинки размещать на каком-нибудь HTTP-сервере, который должен быть доступен всем, кто получает письмо.