Форматирование текста в ячейке (области) табличного документа.
Доброго дня.
Есть документ в УТ 11 "Коммерческое предложение клиенту". В документе есть реквизит "ДополнительнаяИнформацияКлиентуHTML". В реквизите хранится форматированная строка HTML.
Как информацию из этого реквизита вставить в печатную форму? Желательно с сохранением форматирования, но можно и без него, на крайний случай.
Может эта тема уже поднималась? Не могу найти ничего похожего.
Есть документ в УТ 11 "Коммерческое предложение клиенту". В документе есть реквизит "ДополнительнаяИнформацияКлиентуHTML". В реквизите хранится форматированная строка HTML.
Как информацию из этого реквизита вставить в печатную форму? Желательно с сохранением форматирования, но можно и без него, на крайний случай.
Может эта тема уже поднималась? Не могу найти ничего похожего.
По теме из базы знаний
- Рисунки табличного документа: вставить, куда надо
- Вывод части текста жирным в табличном документе
- Универсальная печатная форма Приказа/Договора с возможностью настройки макета в пользовательском режиме
- Быстрая выгрузка в Excel с оформлением (числа, даты, колонтитулы, гиперссылки) через OpenXML
- Как отредактировать документ перед печатью в 1С. Советы пользователям
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) С форматированием вытащить просто не получится.
Просто текст можно вытащить функцией БСП:
Код функции на всякий случай:
Ну или можно попробовать
более продвинутая
Просто текст можно вытащить функцией БСП:
РаботаС_HTML.ПолучитьПростойТекстИзHTML(Знач ТекстHTML, Знач Кодировка = Неопределено)
Код функции на всякий случай:
// Получает текстовое содержимое ДокументаHTML.
//
Функция ПолучитьПростойТекстИзHTML(Знач ТекстHTML, Знач Кодировка = Неопределено) Экспорт
ТекстHTML = СтрЗаменить(ТекстHTML, "</o:p>", "</o:p>" + Символы.ПС);
ТекстHTML = СтрЗаменить(ТекстHTML, "</o:p>" + Символы.ПС + Символы.ПС, "</o:p>" + Символы.ПС);
ТекстHTML = СтрЗаменить(ТекстHTML, "</p>", "</p>" + Символы.ПС);
ТекстHTML = СтрЗаменить(ТекстHTML, "</p>" + Символы.ПС + Символы.ПС, "</p>" + Символы.ПС);
ТекстHTML = СтрЗаменить(ТекстHTML, "</div>", "</div>" + Символы.ПС);
ТекстHTML = СтрЗаменить(ТекстHTML, "</div>" + Символы.ПС + Символы.ПС, "</div>" + Символы.ПС);
ТекстHTML = СтрЗаменить(ТекстHTML, "", Символы.ПС + Символы.ПС);
Построитель = Новый ПостроительDOM;
ЧтениеHTML = Новый ЧтениеHTML;
Если ЗначениеЗаполнено(Кодировка) Тогда
Попытка
ЧтениеHTML.УстановитьСтроку(ТекстHTML, Кодировка);
Исключение
ЧтениеHTML.УстановитьСтроку(ТекстHTML); // кодировка могла быть некорректная - ставим без кодировки
КонецПопытки;
Иначе
ЧтениеHTML.УстановитьСтроку(ТекстHTML);
КонецЕсли;
ДокументHTML = Построитель.Прочитать(ЧтениеHTML);
Если ДокументHTML.Тело = Неопределено Тогда
Возврат "";
КонецЕсли;
Возврат ДокументHTML.Тело.ТекстовоеСодержимое;
КонецФункции
ПоказатьНу или можно попробовать
Функция ПолучитьТекстИзHTML(Знач ТекстHTML, Знач Кодировка = Неопределено, Знач ВыделятьСсылки = Истина) Экспорт
более продвинутая
Пока добавил реализацию вывода обычного текста через функцию:
Если кто знает как вставить форматированный текст - пишите.
Функция ПолучитьПростойТекстИзHTML(ТекстHTML)
Построитель = Новый ПостроительDOM;
ЧтениеHTML = Новый ЧтениеHTML;
ЧтениеHTML.УстановитьСтроку(ТекстHTML);
ДокументHTML = Построитель.Прочитать(ЧтениеHTML);
Возврат ДокументHTML.Тело.ТекстовоеСодержимое;
КонецФункции
ПоказатьЕсли кто знает как вставить форматированный текст - пишите.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот