Имя: Пароль:
1C
1С v8
Параметры в HTML макете
0 kanalex
 
23.04.14
08:43
Доброго дня!

Есть потребность сделать макет не в табличном документе, а в HTML документе.
Конфигурация на УФ.
Набросал небольшой макетик, сделал в нем места, которые хочется заменить в стиле ~~~ИмяПараметра~~~ и далее
делаем форму с полем форматированного документа
в процедуре при открытии вызываем серверную процедуру
<CODE>
ПолучитьТекстМакетаHTML(ИмяМакета)
  ВнешОбр = РеквизитФормыВЗначение("Объект");    
    Макет = ВнешОбр.ПолучитьМакет(ИмяМакета);
    ТекстHTML = Макет.ПолучитьТекст();
    ТекстHTML = СтрЗаменить(ТекстHTML, "~~~ИмяПараметра~~~", "Значение параметра, которое надо вставить...");
        ВнешОбр.ПечатныйДокумент.УстановитьHTML(ТекстHTML, Новый Структура);
КонецПроцедуры
</CODE>

В результате имеем следующее.
Параметры находятся и заменяются нужными значениями. Но вот, все форматирование слетает почему-то:(
Если параметр был в ячейке таблицы, то на форме все отображается с замененным параметром, но без таблицы:(
Форматирование шрифтов так же слетает, если оно было описано в макете:(
Причем, если смотрю в отладчике, то HTML нормальный. В нем все, что нужно на своих местах, а вот на клиенте все выводится без форматирования:(

Что забыл сделать? Подскажите.
1 Wobland
 
23.04.14
08:47
>РеквизитФормыВЗначение("Объект")
а обратно тут не надо?
2 kanalex
 
23.04.14
08:49
(1)
Обратно здесь, вроде

ВнешОбр.ПечатныйДокумент.УстановитьHTML(ТекстHTML, Новый Структура);
3 Wobland
 
23.04.14
08:54
>Причем, если смотрю в отладчике, то HTML нормальный.
ну вставь этот текст в новый документ
4 kanalex
 
23.04.14
08:58
(3)
Так вставляю:)

ВнешОбр.ПечатныйДокумент.УстановитьHTML(ТекстHTML, Новый Структура);
5 kanalex
 
23.04.14
08:59
(3)
Иначе бы и параметры не заменились.
6 Wobland
 
23.04.14
08:59
имел в виду файл - новый. кроме недомыслей о ФД у меня больше ничего нет
7 kanalex
 
23.04.14
16:46
1. заменил тип реквизита Объекта на Строка с неогр. длинной.
2. Вставил на форму поле HTML документа.

Тогда все заработало!
8 Wobland
 
23.04.14
16:59
по умолчанию длина 0. чем думал, когда ограничивал?
9 kanalex
 
23.04.14
22:30
(8) изначально была не строка, а форматированный документ