如何使用RML代码在表中添加动态空行?

时间:2013-11-26 19:22:12

标签: report openerp rml purchase-order

如何在购买报告中添加空白行?并且不知道blank_line是否正在执行。我点击此链接[Openerp购买报告] [1] [1]:http://forum.openerp.com/forum/topic8508.html 代码:

   <section>
  <para style="terp_default_8">[[ repeatIn(o.order_line,'line') ]][[line_no() ]]</para>
    <blockTable colWidths="20.0,100.0,150.0,80.0,50.0,20.0,60.0,50.0" style="Table_Order_Pur_line_Content">
      <tr>[[ blank_line(10) ]]<!--[[ setTag('para','para') ]] -->
      <td>
            <para style="terp_default_9"> </para>
          </td>
          <td>
            <para style="terp_default_9">[[ ', '.join(map(lambda x: x.name, line.taxes_id)) ]]</para>
          </td>
          <td>
            <para style="terp_default_9">[[line.name]]</para>
          </td>
          <td>
             <para style="terp_default_Right_9">[[ formatLang(line.product_qty ) ]]</para>
           </td>
          <td>
            <para style="terp_default_Right_9">[[ formatLang(line.price_unit,digits=get_digits(dp='Product Price') ) ]]</para>
           </td>
             <td>
                <para style="terp_default_Right_9"> </para>
              </td>
         <td>
                <para style="terp_default_Right_9"> </para>
              </td>
         <td>
                    <para style="terp_default_Right_9">[[ formatLang(line.price_subtotal,digits=get_digits(dp='Account'), currency_obj=o.pricelist_id.currency_id ) ]] </para>
            </td>
    </tr>
</blockTable>

[[repeatIn(o.order_line,&#39; o&#39;)]]

    <blockTable colWidths="20.0,100.0,150.0,80.0,50.0,20.0,60.0,50.0" style="Table_Order_Pur_line_Content_blank">
    <tr> 
         <td> <para style="terp_default_8"><font color="white"> </font></para></td>
         <td> <para style="terp_default_8"><font color="white"> </font></para></td>
         <td> <para style="terp_default_8"><font color="white"> </font></para></td>
         <td> <para style="terp_default_8"><font color="white"> </font></para></td>
         <td> <para style="terp_default_8"><font color="white"> </font></para></td>
         <td> <para style="terp_default_8"><font color="white"> </font></para></td>
         <td> <para style="terp_default_8"><font color="white"> </font></para></td>
         <td> <para style="terp_default_8"><font color="white"> </font></para></td>
    </tr>
      </blockTable> -->
</section>  

2 个答案:

答案 0 :(得分:1)

在您的报告代码中(假设为order.py)创建一个方法,返回具有适当数量的None元素的列表:

def _empty_rows(self, n):
    return [ None for i in range(n) ] 

通过 __ init __ 方法中的 localcontext 字典公开此方法,如下所示:

def __init__(self, cr, uid, name, context):
    ....
    self.localcontext.update( {
        'empty_rows': self._empty_rows,
        ....
    })
    ....

在您的RML文件中使用它(例如order.rml)来创建所需的行数:

   [[ repeateIn(empty_rows(10)) ]] 

答案 1 :(得分:0)

为什么你不能修改页脚并将总和其他字段添加到页脚?然后,总数将始终位于页脚