#python #report #openerp #rml
#python #Сообщить #openerp #rml
Вопрос:
Я создаю отчет openerp, используя преобразование OpenOffice SXW в RML.
Я добавил поле one2many в модель «продукт», которое ссылается на новую модель «композиция», состоящую из текстового поля «имя».
Я использую repeatin для перечисления элементов композиции продуктов «o»:
[[repeatIn(objects,'o')]]
...
[repeatIn(o.composition,'c')]] [[c.name')]]
...
Это работает, но создает новую строку для каждого элемента композиции. Я хочу, чтобы эти элементы отображались в одной строке, а не по одному на строку.
Как я могу этого добиться?
Ответ №1:
я думаю, вы можете использовать 3-й параметр с repeatIn(), указывающий, какой тег вы хотите, чтобы repeatIn создавал для каждого элемента.
По умолчанию это ‘para’ (если я не ошибаюсь), но вы можете установить другой, например, ‘td’. При этом вы можете установить repeatIn() внутри таблицы (с невидимыми строками) с помощью 3-го параметра ‘td’.
Надеюсь, это поможет вам,
С уважением
Ответ №2:
вы можете решить эту проблему, написав пользовательский метод в отчете и возвращая строку, как вы хотите. вы можете вызвать это в отчете, например.
<para style="P5">
<font color="black">[[ method_name(o.one2many_fieldName) ]] </font>
</para>
Надеюсь, это поможет вам!!