import html

NickProstoNick

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 834
21
Всем привет!
Задача: нарисовать динамическую табличку в ричтексте.
Приняли решение рисовать при помощи html и импортировать его в RT-поле.
Все бы хорошо, но нарисовалась проблема: при пересохранении документа - таблица постоянно смещается вправо. Изменяется внешний отступ.
И никак не можем вычислить почему так происходит :(

Вот код html
HTML:
<head>
<meta charset="Windows-1251">
<style>*{font-family:arial,sans-serif;font-size:10pt}table{margin: 0; width:19cm;border-collapse:collapse;}td,th{border:1px solid black;padding:8px;word-wrap:break-word;}th{text-align:center;}</style>
</head>
<BODY><span>&nbsp;&nbsp;&nbsp;&nbsp;#id1. Text1:<br><br>
<TABLE>
<TR>
<TH ALIGN="CENTER" Width="30px" rowspan="2">Firld1</TH>
<TH ALIGN="CENTER" Width="18px" rowspan="2">Firld2</TH>
<TH ALIGN="CENTER" Width="100px" rowspan="2" >Firld3</TH>
<TH ALIGN="CENTER" Width="170px" rowspan="2">Firld4</TH>
<TH ALIGN="CENTER" Width="90px" rowspan="2">Firld5</TH>
<TH ALIGN="CENTER"colspan="2">Firld6</TH>
<TH ALIGN="CENTER" rowspan="2">Firld7</TH>
</TR>
<TR><TH ALIGN="CENTER" Width="30px"></TH><TH ALIGN="CENTER" Width="30px"></TH></TR>#tbody1</TABLE>
</span>>
</BODY>
[automerge]1523611756[/automerge]
Добавлю вводных - выяснили, что смещение происходит, если RT-поле находится в таблице.
За пределами таблицы - проблем нет
 
Последнее редактирование:
garrick

garrick

Lotus team
26.10.2009
1 028
84
Надеюсь вы в курсе про 256 строк в таблице?
 
NickProstoNick

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 834
21
Импорт через метода UIDocument
 
garrick

garrick

Lotus team
26.10.2009
1 028
84
Какая взаимосвязь между ограничением в 256 строк таблицы и смещение самой таблицы?
Я не про смещение, я в общем про таблицу. При её построении следует "считать" кол-во строк и во время начинать новую таблицу, иначе всё разезжается ещё как.
 
NickProstoNick

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 834
21
Я не про смещение, я в общем про таблицу. При её построении следует "считать" кол-во строк и во время начинать новую таблицу, иначе всё разезжается ещё как.
Я даже не знаю что сказать.....
 
NickProstoNick

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 834
21
сложно отслеживать когда ответ без цитирования...
почему бы не делать через mime?
Ну тут много ограничений.
Основное - это действующая система и "это" поле используется в других процессах, где mime не нужен. Заводить новое поле не желательно.
Второе - конвертор Lotus-формы в PDF. Не уверен в правильном рендеринге lotus-документа с mime в RT-поле. Скорее всего ничего не получится.
Оно собственно особо-то и не мешает это смещение. Разве что эстетический аспект...
 
ToxaRat

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 256
31
слишком много разметки - я бы часть вынес в виде стиля
 
ToxaRat

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 256
31
импортировать через UI это как-то не правильно, лучше сразу через DXML
 
duchan

duchan

Well-known member
20.09.2006
114
4
тут несколько вопросов, соответственно и решений будет несколько:
1. html-файл произвольный или всегда генерируемый Вами по определенным правилам?
2. насколько сложное оформление?

Я поступал несколько проще, сохранял "сырые" данные в поле в виде списка вида "fld1|fld2|fld3":"fld1|fld2|fld3", а затем в вычисляемом тексте обернутым в "Path-Thru HTML" генерил HTML. Там конечно есть свои тонкости и HTML c CSS порезаны, но если оформление не слишком сложное, то можно делать (можно и JS, c ограничениями, добавить).
 
garrick

garrick

Lotus team
26.10.2009
1 028
84
тут несколько вопросов, соответственно и решений будет несколько:
Я поступал несколько проще, сохранял "сырые" данные в поле в виде списка вида "fld1|fld2|fld3":"fld1|fld2|fld3", а затем в вычисляемом тексте обернутым в "Path-Thru HTML" генерил HTML. Там конечно есть свои тонкости и HTML c CSS порезаны, но если оформление не слишком сложное, то можно делать (можно и JS, c ограничениями, добавить).
Во-во! Для каких-нибудь табличек, которые не решаются с помощью embedded view самое то.
 
NickProstoNick

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 834
21
Да, создание табличек полностью контролируется.
Почему импорт:
1. Не надо переоткрывать документ. Результат виден сразу.
2. Не надо сохранять документ (вдруг пользователь передумает?)
3. Для меня, как разработчика, - более гибкая работа с таблицами. Для пользователя - получить то оформление, которое нужно.
4. Не надо переделывать PDF-конвертор для работы еще и с HTML ну и еще куча других зависимостей.

Ну и кардинально перепиливать систему - никто не даст. Да и собственно вопрос не в том почему так сделано, а почему так ведет себя RT-поле
 
Мы в соцсетях: