Hỏi [QWeb] Cách cố định vị trí của các field trên report

Thảo luận trong 'Report' bắt đầu bởi hieunguyen, 30/6/15.

  1. hieunguyen New Member

    Công ty mình sử dụng hóa đơn đặt in. Mình cần thiết kế invoice sao khi in ra khớp với các vị trí trên hóa đơn đặt in. Report mình đang thiết kế có dạng như sau:

    Mã (text):
    1.         <!-- Custom report  -->
    2.         <report id="report_customer_invoice_example"
    3.             string="Customer invoice example"
    4.             model="account.invoice"
    5.             report_type="qweb-pdf"
    6.             name="report_example.report_customer_invoice_example_view" />
    7.  
    8.         <!-- Report template -->
    9.         <template id="report_customer_invoice_example_view">
    10.             <style>
    11.                 .date {
    12.                 color: red;
    13.                 }
    14.             </style>
    15.  
    16.             <t t-foreach="docs" t-as="o">
    17.                 <div class="page">
    18.                     <!-- Report page content -->
    19.                     <p class="date"
    20.                         style="margin-left:300px;margin-top:300px;"
    21.                         t-field="o.date_invoice" />
    22.                     <p class="partner-name" t-field="o.partner_id.name" />
    23.                     <p class="partner-add" t-field="o.partner_id.street" />
    24.                     <p class="partner-taxno" t-field="o.partner_id.tax_number" />
    25.                     <p class="payment-method">TM/CK</p>
    26.                     <table class="table">
    27.                         <t t-foreach="o.invoice_line" t-as="line">
    28.                             <tr>
    29.                                 <td>
    30.                                     <span t-field="line.product_id"/>
    31.                                 </td>
    32.                                 <td>
    33.                                     <span t-field="line.quantity"/>
    34.                                 </td>
    35.                                 <td>
    36.                                     <span t-field="line.price_unit"/>
    37.                                 </td>
    38.                                 <td>
    39.                                     <span t-field="line.price_subtotal"/>
    40.                                 </td>
    41.                             </tr>
    42.                         </t>
    43.                     </table>
    44.  
    45.                     <p t-field="o.amount_untaxed"/>
    46.                     <span t-field="o.main_tax_rate"/><span t-field="o.amount_tax"/>
    47.                     <p t-field="o.amount_total"/>
    48.                     <p t-field="o.total_in_words"/>
    49.                 </div>
    50.             </t>
    51.         </template>
    52.  
    Vấn đề của mình là khi mình sử dụng như style thông dụng như "left, right, margin-top, ..." để đặc vị trí của field cho phù hợp với hóa đơn đặt in thì những style đó không có tác dụng (Khi in ra vẫn thấy field).
  2. bruce.nguyen Active Member

    Chao hieunguyen,

    - Với những mẫu báo cáo phức tạp và yêu cầu độ chính xác tới 100% bạn nên sử dụng 1 framework report ngoài qweb nhé, qweb rất dễ dàng sử dụng nhưng việc thiết kế 1 report phưc tạp không phải là
    không khả thi nhưng ngốn rất nhiều thời gian của bạn, nó yêu cầu chính xác, và bạn phải nắm đc các thuộc tính (attributes) của xml qweb.
    - 1 framework khác mà được cộng đồng chú ý là aeroo report, tuy không support report dạng chart nhưng rất dễ thiết kế trên file mẫu thực tế có sẳn. Nhược điểm là bạn phải setup aerroo và openoffice lên môi trường developemnt và deloy production

    Chào.
  3. Leo Tran Active Member

    1 Vote cho qweb, trường hợp xấu nhất thì viết thuần html5, css. Chỉ lấy thông tin value được render ra để gắn vào thôi. Còn lại chơi hết html5, css (trong trường hợp report phức tạp).
    fanha99 thích bài này.
  4. hieunguyen New Member

    Cảm ơn các bạn đã quan tâm. Mình fix được rồi. Do mình không rành về html/css lắm nên, không biết sử dụng position attribute.
Tags: report, qweb

Chia sẻ trang này