Имя: Пароль:
1C
1С v8
Не получается вставить рисунок в поле форматированного документа
0 sergqwert
 
29.09.20
19:55
Не получается вставить рисунок в поле форматированного документа. Конфигурация БП 3.0. В чем проблема?

&НаКлиенте
Процедура ВставитьВТелоПисьма(Команда)

ДВФ = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Если ДВФ.Выбрать() Тогда
ДвДанныеФайла = Новый ДвоичныеДанные(ДВФ.ПолноеИмяФайла);
СкопироватьДвоичныеДанныеВБуФерВФорматеBase64(ДвДанныеФайла, ДВФ.ПолноеИмяФайла);
КонецЕсли;

КонецПроцедуры

&НаСервере
Процедура СкопироватьДвоичныеДанныевБуФерВФорматеBase64(ДвДанныеФайла, текИмяФайла)

текРасширениеФайла = ПолучитьРасширениеФайла(текИмяФайла);
Строка64 = "data:image/"+текРасширениеФайла+";base64,"+Base64Строка(ДвДанныеФайла);
ТекстHTMLКартинка = "<P><IMG alt="""" src="""+Строка64+""">";
ЗначениеВыбора = Элементы.ТелоПисьма.ПолучитьТекст();
ЗначениеВыбора = СтрЗаменить(ЗначениеВыбора, "</BODY>", ТекстHTMLКартинка + "</BODY>");
Картинки = Новый Структура();
ТелоПисьма.УстановитьHTML(ЗначениеВыбора,Картинки);

КонецПроцедуры

&НаСервере
Функция ПолучитьРасширениеФайла(ВхИмяФайла)

текРасширение = "jpg";
Если СокрЛП(ВхИмяФайла) <> "" И СтрЧислоВхождений(ВхИмяФайла, ".") > 0 Тогда
времРасширение = СокрЛП(СтрПолучитьСтроку(СтрЗаменить(ВхИмяФайла, ".", Символы.ПС), СтрЧислоСтрок(СтрЗаменить(ВхИмяФайла, ".", Символы.ПС))));
Если СокрЛП(времРасширение) <> "" Тогда
текРасширение = времРасширение;
КонецЕсли;
КонецЕсли;
Возврат текРасширение;

КонецФункции