2012-05-10 1 views
0

RML 템플릿에서 한 번에 여러 노드를 제거 할 수 있습니까? 또는 여러 개의 노드를 하나로 그룹화 한 다음 전체 그룹을 제거 할 수 있습니까?OpenERP RML 템플릿에서 노드 그룹을 제거하는 방법은 무엇입니까?

"pto"안에 여러 개의 "para"요소를 넣고 "removeParentNode ('pto')"를 수행했지만 아무런 차이가 없었습니다. removeParentNode가 "pto"요소에서 작동하지 않거나 "pto"만 제거하고 "para"자식을 그대로 남겨 둘 수 있습니까?

감사합니다.

답변

3

para 개의 요소를 section 요소로 묶고 섹션을 제거 할 수 있어야합니다. 예를 들어 picking report을 참조하십시오.

<section> 
    <para style="terp_default_2">[[ repeatIn([line for line in picking.move_lines if ((line.state == 'confirmed' or line.state=='done' or line.state=='assigned') and not line.scrapped)],'move_lines') ]]</para> 
    <para style="terp_default_2">[[ (picking.move_lines!=[] and removeParentNode('para')) or removeParentNode('section')]]</para> 
    <blockTable colWidths="256.0,74.0,58.0,60.0,73.0" style="Move_Line_Contect_Assign_State"> 
    <tr> 
     <td> 
     <para style="terp_default_9"><font face="Helvetica" size="9.0">[ [[ (move_lines.product_id.default_code) or removeParentNode('font') ]] ]</font> [[ move_lines.product_id.name ]] [[ move_lines.product_id.variants or '']] </para> 
     </td> 
     <td> 
     <para style="terp_default_Centre_9">[[ (move_lines.prodlot_id and move_lines.prodlot_id.name) or '' ]]</para> 
     </td> 
     <td> 
     <para style="terp_default_9">[[ move_lines.state ]]</para> 
     </td> 
     <td> 
     <para style="terp_default_Right_9">[[ (move_lines.location_id and move_lines.location_id.name) or '' ]] </para> 
     </td> 
     <td> 
     <para style="terp_default_Right_9">[[ formatLang(move_lines.product_qty) ]] [[ move_lines.product_uom.name ]]</para> 
     </td> 
    </tr> 
    </blockTable> 
</section> 
+0

포인터 주셔서 감사합니다! RML 사양에서 "섹션"태그를 찾을 수 없습니다. http://www.reportlab.com/docs/rml.dtd 또한 "pto"요소를 래핑하고 제거하는 데 성공했지만, 요소는 "pto"의 내용의 처음에 위치합니다. 출력 할 "para"태그가 이미있는 경우에만 "pto"래핑을 제거하려고 시도하면 오류가 발생합니다. 또한 예를 들어, 태그가 개이고 한 번에 끝나면 태그 중 태그를 제거하려고하면 오류가 발생합니다. –

관련 문제