2014-11-04 3 views
0

크기에 따라 하나 이상의 페이지를 차지할 수있는 테이블을 인쇄해야합니다.openerp RML, 새 페이지에서 표의 행을 계속 인쇄하는 방법은 무엇입니까?

"Print error The document you are trying to print contains a table row that does not fit on one page. Please try to split it in smaller rows or contact your administrator."

어떻게이 문제를 해결하려면이 들어, 나는 그것이 페이지의 끝에 근접 할 때, 행 하나씩 만을 출력하는 blockTable와 repeatIn했다, openerp 다음과 같은 오류 메시지를 보여줍니다?

P.S. : condPageBreak를 시도했지만이 태그가 작동하지 않는 것으로 보입니다.

여기 아래에있는 내 코드입니다 : 오류 어디에 내가 찾은

<?xml version="1.0"?> 
<document filename="test.pdf"> 
<template pageSize="(842.0,595.0)" title="Test" author="Martin Simon" allowSplitting="20"> 
<pageTemplate id="first"> <!-- 481 728 --> 
    <frame id="first" x1="57.0" y1="57.0" width="750" height="500"/> 
</pageTemplate> 
</template> 
<stylesheet> 
<blockTableStyle id="Standard_Outline"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<blockTableStyle id="Tabla1"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<blockTableStyle id="Tabla2"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<blockTableStyle id="Tabla3"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<blockTableStyle id="Tabla5"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<blockTableStyle id="Tabla4"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<blockTableStyle id="Tabla6"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<blockTableStyle id="Tabla7"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<blockTableStyle id="Tabla8"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
    <blockFont name="Helvetica" size="8" /> 
    <lineStyle kind="LINEABOVE" colorName="#000000" start="0,0" stop="0,0"/> 
    <lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/> 
</blockTableStyle> 

<blockTableStyle id="Tabla9"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
    <lineStyle kind="GRID" colorName="#000000" /> 
    <lineStyle kind="GRID" colorName="#000000" /> 
</blockTableStyle> 

<blockTableStyle id="Tabla10"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<blockTableStyle id="Tabla11"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<initialize> 
    <paraStyle name="all" alignment="justify"/> 
</initialize> 
<paraStyle name="P1" fontName="Helvetica" fontSize="14.0" leading="17"/> 
<paraStyle name="P2" fontName="Helvetica" fontSize="12.0" leading="15"/> 
<paraStyle name="P3" fontName="Helvetica" fontSize="8.0" leading="11" alignment="LEFT"/> 
<paraStyle name="P5" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT"/> 
<paraStyle name="P9" fontName="Helvetica" fontSize="7.0" leading="13" alignment="CENTER"/> 
<paraStyle name="Standard" fontName="Helvetica"/> 
<paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0"   spaceAfter="6.0"/> 
<paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/> 
<paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/> 
<paraStyle name="Caption" fontName="Helvetica" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/> 
<paraStyle name="Index" fontName="Helvetica"/> 
<paraStyle name="Table Contents" fontName="Helvetica"/> 
<images/> 
</stylesheet> 
<story> 
<para style="P3">[[ repeatIn(objects,'partida') ]]</para> 
<para style="P1">Registro de Contralor</para> 
<para style="P3"> 
    <font color="white"> </font> 
</para> 
<para style="P3"> 
    <font color="white"> </font> 
</para> 
<blockTable colWidths="74.0,408.0" style="Tabla1"> 
    <tr> 
    <td> 
     <para style="P3">Período:</para> 
    </td> 
    <td> 
    <para style="P5">[[ partida.period_id.name ]]</para> 
    </td> 
    </tr> 
    <tr> 
    <td> 
     <para style="P3">Moneda:</para> 
    </td> 
    <td> 
     <para style="P5">[[ partida.currency_id.name ]]</para> 
    </td> 
    </tr> 
    <tr> 
    <td> 
     <para style="P3">Misión:</para> 
    </td> 
    <td> 
     <para style="P5">[[ partida.company_id.name ]]</para> 
    </td> 
    </tr> 
</blockTable> 
<para style="P3"> 
    <font color="white"></font> 
</para> 
<blockTable style="Tabla2"> 
    <tr> 
    <td> 
     <para style="P3">Líneas de contralor</para> 
    </td> 
    </tr> 
    <tr> 
    <td> 
     <blockTable colWidths="80,60,105,105,80,60,60,80,80" style="Tabla9"> 
    <tr> 
    <td><para style="P9">Factura</para></td> 
    <td><para style="P9">Fecha de pago</para></td> 
    <td><para style="P9">Cód./Obj. del gasto</para></td> 
    <td><para style="P9">Partida descripción</para></td> 
    <td><para style="P9">Factura original</para></td> 
    <td><para style="P9">Ingreso</para></td> 
    <td><para style="P9">Egreso</para></td> 
    <td><para style="P9">Ref. de pago</para></td> 
    <td><para style="P9">Diario</para></td> 
    </tr> 
    </blockTable> 
<section> 
     <para style="P3">[[ repeatIn(partida.contralor_ids,'contralor_id') ]]</para> 
    <blockTable colWidths="80,60,105,105,80,60,60,80,80" style="Tabla9"> 
     <tr> 
      <td> 
      <para style="P9">[[ contralor_id.invoice_id.number ]]</para> 
      </td> 
      <td> 
      <para style="P9">[[formatLang(contralor_id.fecha_pago,date=True)[:2] ]]/[[ formatLang(contralor_id.fecha_pago,date=True)[3:5] ]]/[[ formatLang(contralor_id.fecha_pago,date=True)[6:10] ]]</para> 
      </td> 
      <td> 
      <para style="P9">[[ contralor_id.product_id.name ]]</para> 
      </td> 
      <td> 
      <para style="P9">[[ contralor_id.partida_id.name ]]</para> 
      </td> 
      <td> 
      <para style="P9">[[ contralor_id.invoice_original_id.number ]]</para> 
      </td> 
      <td> 
      <para style="P9">[[ ('%.2f' % contralor_id.ingreso).replace('.', ',') ]]</para> 
      </td> 
      <td> 
      <para style="P9">[[ ('%.2f' % contralor_id.egreso).replace('.', ',') ]]</para> 
      </td> 
      <td> 
      <para style="P9">[[ contralor_id.ref_pago ]]</para> 
      </td> 
      <td> 
      <para style="P9">[[ contralor_id.journal_id.name ]]</para> 
      </td> 
     </tr> 
     </blockTable> 
</section> 
    </td> 
    <td> 
    </td> 
    </tr> 
</blockTable> 
</story> 
</document> 
+0

이 도움이 될 수 있습니다 (https://www.odoo.com/forum/help-1/question/if-prodcut-information-is-too-long- : 여기

내 고정 코드 당시 RML-PDF-보고서 가지는-문제 37241) –

+0

나는 (문자열의 값과 행의 높이에 제한을 추가)이 링크를 시도하고 오류가 지속되면 "LayoutError : 유동성을 셀 (0,0) 포함 " \ n '<0x7f94103df368의 단락> Factura'(738.0 x 1206.0)가 2 번째 프레임에 너무 큰 (0,0) 템플릿이 포함 된 셀 (0,0) 템플릿의 첫 번째 프레임 (738.0 x 488.0 *) u'first ' " –

+0

오류가있는 곳을 찾았습니다 !! blockTable은 td 태그 안에 있었고 RML이 td 안에있는 blockTable 행을 분할하지 못하게하는 것으로 보입니다. 그런 다음 blockTable을 다른 외부 테이블의 td에서 빼내 문제가 해결되었습니다. –

답변

0

! blockTable은 td 태그 안에 있었고 RML이 td 안에있는 blockTable 행을 분할하지 못하게하는 것으로 보입니다. 그런 다음 blockTable을 다른 외부 테이블의 td에서 빼내 문제가 해결되었습니다.

<?xml version="1.0"?> 
<document filename="test.pdf"> 
<template pageSize="(842.0,595.0)" title="Test" author="Martin Simon" allowSplitting="20"> 
<pageTemplate id="first"> <!-- 481 728 --> 
    <frame id="first" x1="57.0" y1="57.0" width="750" height="500"/> 
</pageTemplate> 
</template> 
<stylesheet> 
<blockTableStyle id="Standard_Outline"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<blockTableStyle id="Tabla1"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<blockTableStyle id="Tabla2"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<blockTableStyle id="Tabla3"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<blockTableStyle id="Tabla5"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<blockTableStyle id="Tabla4"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<blockTableStyle id="Tabla6"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<blockTableStyle id="Tabla7"> 
    <blockAlignment value="LEFT"/> 
    <blockLeftPadding length="15"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<blockTableStyle id="Tabla8"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
    <blockFont name="Helvetica" size="8" /> 
    <lineStyle kind="LINEABOVE" colorName="#000000" start="0,0" stop="0,0"/> 
    <lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/> 
</blockTableStyle> 

<blockTableStyle id="Tabla9"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
    <lineStyle kind="GRID" colorName="#000000" /> 
    <lineStyle kind="GRID" colorName="#000000" /> 
</blockTableStyle> 

<blockTableStyle id="Tabla10"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<blockTableStyle id="Tabla11"> 
    <blockAlignment value="LEFT"/> 
    <blockValign value="TOP"/> 
</blockTableStyle> 
<initialize> 
    <paraStyle name="all" alignment="justify"/> 
</initialize> 
<paraStyle name="P1" fontName="Helvetica" fontSize="14.0" leading="17"/> 
<paraStyle name="P2" fontName="Helvetica" fontSize="12.0" leading="15"/> 
<paraStyle name="P3" fontName="Helvetica" fontSize="8.0" leading="11" alignment="LEFT"/> 
<paraStyle name="P5" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT"/> 
<paraStyle name="P9" fontName="Helvetica" fontSize="7.0" leading="13" alignment="CENTER"/> 
<paraStyle name="Standard" fontName="Helvetica"/> 
<paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/> 
<paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/> 
<paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/> 
<paraStyle name="Caption" fontName="Helvetica" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/> 
<paraStyle name="Index" fontName="Helvetica"/> 
<paraStyle name="Table Contents" fontName="Helvetica"/> 
<images/> 
</stylesheet> 
<story> 
<para style="P3">[[ repeatIn(objects,'partida') ]]</para> 
<para style="P1">Registro de Contralor</para> 
<para style="P3"> 
    <font color="white"> </font> 
</para> 
<para style="P3"> 
    <font color="white"> </font> 
</para> 
<blockTable> 
<tr> 
<td> 
<blockTable colWidths="105.0,350.0" style="Tabla1"> 
    <tr> 
    <td> 
     <para style="P3">Período:</para> 
    </td> 
    <td> 
    <para style="P5">[[ partida.period_id.name ]]</para> 
    </td> 
    </tr> 
    <tr> 
    <td> 
     <para style="P3">Moneda:</para> 
    </td> 
    <td> 
     <para style="P5">[[ partida.currency_id.name ]]</para> 
    </td> 
    </tr> 
    <tr> 
    <td> 
     <para style="P3">Misión:</para> 
    </td> 
    <td> 
     <para style="P5">[[ partida.company_id.name ]]</para> 
    </td> 
    </tr> 
    <tr> 
<td> 
    <para style="P3">Líneas de contralor</para> 
</td> 
<td> 
    <para></para> 
</td> 
    </tr> 
</blockTable> 
</td> 
<td> 
</td> 
</tr> 
</blockTable> 
<para style="P3"> 
    <font color="white"></font> 
</para> 
     <blockTable rowHeights="30" repeatRows="1" colWidths="80,60,105,105,80,60,60,80,80" style="Tabla9"> 
    <tr> 
    <td><para style="P9">Factura</para></td> 
    <td><para style="P9">Fecha de pago</para></td> 
    <td><para style="P9">Cód./Obj. del gasto</para></td> 
    <td><para style="P9">Partida descripción</para></td> 
    <td><para style="P9">Factura original</para></td> 
    <td><para style="P9">Ingreso</para></td> 
    <td><para style="P9">Egreso</para></td> 
    <td><para style="P9">Ref. de pago</para></td> 
    <td><para style="P9">Diario</para></td> 
    </tr> 
    </blockTable> 
<section> 
     <para style="P3">[[ repeatIn(partida.contralor_ids,'contralor_id') ]]</para> 
    <blockTable colWidths="80,60,105,105,80,60,60,80,80" style="Tabla9"> 
     <tr> 
      <td> 
      <para style="P9">[[ contralor_id.invoice_id.number ]]</para> 
      </td> 
      <td> 
      <para style="P9">[[ formatLang(contralor_id.fecha_pago,date=True)[:2] ]]/[[ formatLang(contralor_id.fecha_pago,date=True)[3:5] ]]/[[ formatLang(contralor_id.fecha_pago,date=True)[6:10] ]]</para> 
      </td> 
      <td> 
      <para style="P9">[[ len(contralor_id.product_id.name) > 100 and contralor_id.product_id.name[:100] + ' ...' or contralor_id.product_id.name ]]</para> 
      </td> 
      <td> 
      <para style="P9">[[ len(contralor_id.partida_id.name) > 100 and contralor_id.partida_id.name[:100] + ' ...' or contralor_id.partida_id.name ]]</para> 
      </td> 
      <td> 
      <para style="P9">[[ contralor_id.invoice_original_id.number ]]</para> 
      </td> 
      <td> 
      <para style="P9">[[ ('%.2f' % contralor_id.ingreso).replace('.', ',') ]]</para> 
      </td> 
      <td> 
      <para style="P9">[[ ('%.2f' % contralor_id.egreso).replace('.', ',') ]]</para> 
      </td> 
      <td> 
      <para style="P9">[[ len(contralor_id.ref_pago) > 100 and contralor_id.ref_pago[:100] + ' ...' or contralor_id.ref_pago ]]</para> 
      </td> 
      <td> 
      <para style="P9">[[ len(contralor_id.journal_id.name) > 100 and  contralor_id.journal_id.name[:100] + ' ...' or contralor_id.journal_id.name ]]</para> 
      </td> 
     </tr> 
     </blockTable> 
</section> 
</story> 
</document>