Имя: Пароль:
1C
 
Вывод в печатную форму данных из реквизита ФорматированныйДокумент
0 Alexs_set
 
15.10.21
21:11
Добрый вечер, уважаемые форумчане! Прошу Вас о помощи, бьюсь уже вторые сутки над задачей, а нужного результата пока нет:(
Может кто надоумит - буду премного благодарен!
Конфигурация УТ 11.4.8.82.
Суть задачи такова: Необходимо добавить реквизит в справочник Номенклатура -для ввода форматированного описания, с различными шрифтами, стилями редактирования, картинками.
Затем все это должно выводиться в печатную форму,сохраняя форматирование текста.
Что сделал:
1. Добавил в справочник Номенклатура на форму элемента, реквизит с типом Форматированный документ.
2. Добавил реквизит Хранилище значения, для того чтобы при закрытии данные сохранялись.
Все ОК, все работает, а дальше начинается пляска с бубном.

При выводе в макет печатной формы не сохраняется форматирование, выводит обычный текст. Так еще и разбивает его построчно,не так как нужно.
Пример кода:

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

    ТабДок.Вывести(ОбластьСтрокаТаблицы);    
КонецЦикла;

В гугле информации мало, рабочих примеров - вообще нет! Может кто сталкивался? Или есть какой другой вариант? Заранее спасибо
1 Droning1C
 
15.10.21
22:13
как вариант сделать реквизит другого типа... хоть в хмл сохраняй описание твоего форматированного описания, а потом программно восстанавливай там где надо, если так не получается
2 Alexs_set
 
15.10.21
23:43
А можно более подробно, как сохранить в html данные из форматированного документа?
3 Droning1C
 
15.10.21
23:55
Ни разу не работал с этим типом данных, но, полагаю что так - ФорматированныйДокумент.ПолучитьHTML(<ТекстHTML>, <Вложения>) и затем ФорматированныйДокумент.УстановитьHTML(<ТекстHTML>, <Вложения>)
4 Droning1C
 
15.10.21
23:56
(2) получаешь, мб как-то парсишь, сохраняешь, восстанавливаешь.
5 Droning1C
 
15.10.21
23:58
Для Каждого Элемент ИЗ ЭлементыФорматированногоДокумента Цикл
                Если ТипЗнч(Элемент) = Тип("ТекстФорматированногоДокумента") Тогда
        
                ОбластьСтрокаТаблицы.Параметры.ОписаниеФ = Элемент.Текст;
               КонецЕсли
        КонецЦикла;

+ ты же тут только текст в качестве параметра устанавливаешь. А кто же будет шрифты восстанавливать, цвета и тд.
6 Droning1C
 
16.10.21
00:00
в макете то у тебя полуюбому оформление по умолчанию
7 Droning1C
 
16.10.21
00:08
https://helpf.pro/faq/view/1233.html

Может в эту степь надо парсить...
8 Droning1C
 
16.10.21
00:09
(7) хотя в шапке статьи ничего про табдок не сказано