Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
2 Odpowiedzi
10149 Widoki

Hello
i have 2 problemes with long tables in Qweb.
1/ if there is no place for all table on first page , Qweb print all the table on seconde page . but i want the first part of table on the first page  and the seconde part on the seconde page.

2/if the table is too long i have probleme with thead and tbody for all pages(
thead and tbody start from the same line so for all pages the first ligne is illisible ) except the first one.
Thanks

Awatar
Odrzuć

Can you post the code for your template? It’s easier to help when we can see the code.

Autor Najlepsza odpowiedź

This is all my code
i added a comment to understand which table i'm talking about it

Awatar
Odrzuć
Autor

<odoo>

<data>

<record id="facture_cadre_format" model="report.paperformat">

<field name="name">European A4</field>

<field name="default" eval="True" />

<field name="format">A4</field>

<field name="page_height">0</field>

<field name="page_width">0</field>

<field name="orientation">Portrait</field>

<field name="margin_top">80</field>

<field name="margin_bottom">23</field>

<field name="margin_left">7</field>

<field name="margin_right">7</field>

<field name="header_line" eval="False" />

<field name="header_spacing">70</field>

<field name="dpi">90</field>

</record>

<report id="new_factures"

string="Facture (new)"

model="account.invoice"

report_type="qweb-pdf"

name="livraison_report.new_facture"

paperformat="facture_cadre_format"

/>

<template id="new_facture">

<t t-call="report.html_container">

<t t-call="facture_layout.facture_layout">

<div class="page">

<!-- Report page content -->

<style>

tbody {

font-size: 11.5px;

}

.police {

font-size: 10px;

}

.tableau {

page-break-inside: avoid;

}

</style>

<t t-foreach="docs" t-as="o">

<h2>

<span t-if="o.type == 'out_invoice' and (o.state == 'open' or o.state == 'paid')">Facture</span>

<span t-if="o.type == 'out_invoice' and o.state == 'proforma2'">PRO-FORMA</span>

<span t-if="o.type == 'out_invoice' and o.state == 'draft'">Draft Invoice</span>

<span t-if="o.type == 'out_invoice' and o.state == 'cancel'">Cancelled Invoice</span>

<span t-if="o.type == 'out_refund'">Refund</span>

<span t-if="o.type == 'in_refund'">Vendor Refund</span>

<span t-if="o.type == 'in_invoice'">Vendor Bill</span>

<span t-field="o.number"/>

</h2>

<div class="row mt32 mb32">

<div class="col-xs-2" t-if="o.name">

<strong>Description:</strong>

<p t-field="o.name"/>

</div>

<div class="col-xs-2" t-if="o.date_invoice">

<strong>Date de la facture:</strong>

<p t-field="o.date_invoice"/>

</div>

<div class="col-xs-2" t-if="o.date_due and o.type == 'out_invoice' and (o.state == 'open' or o.state == 'paid')">

<strong>Date d'échéance:</strong>

<p t-field="o.date_due"/>

</div>

<div class="col-xs-2" t-if="o.origin">

<strong>Origine:</strong>

<p t-field="o.origin"/>

</div>

<div class="col-xs-2" t-if="o.partner_id.ref">

<strong>BL:</strong>

<span t-esc="', '.join(map(lambda x: (x.name), o.picking_id))"/>

</div>

<div name="reference" class="col-xs-2" t-if="o.reference">

<strong>Reference:</strong>

<p t-field="o.reference"/>

</div>

</div>

<table class="table table-condensed table-bordered ">

<thead>

<tr style="background-color:#A9E2F3;">

<th>Description</th>

<th class="hidden">Source Document</th>

<th class="text-right">P.U</th>

<th class="text-right">PPA</th>

<th class="text-right">PPH</th>

<th class="text-right">Qté</th>

<th class="text-center">UM</th>

<th class="text-center">Mnt Brut</th>

<th class="text-right">RM(%)</th>

<th class="text-right">Tax Excluded Price</th>

</tr>

</thead>

<!---------------------------------------- This TABLE ---------------------------------------------------------->

<tbody>

<tr t-foreach="o.invoice_line_ids" t-as="l">

<td>

<span t-field="l.name"/>

<t t-if="(l.lot_formatted_note is not False)">

<div style="margin-left:25px;" t-field="l.lot_formatted_note" />

<br/>

</t>

</td>

<td class="hidden"><span t-field="l.origin"/></td>

<td class="text-right">

<span t-field="l.price_unit"/>

</td>

<td class="text-right">

<span t-field="l.ppa"/>

</td>

<td class="text-right">

<span t-field="l.prix_pharmacien"/>

</td>

<td class="text-right">

<span t-esc="'%.0f'%(l.quantity)"/>

</td>

<td class="text-center">

<span t-field="l.uom_id" groups="product.group_uom"/>

</td>

<td class="text-right">

<span t-field="l.price_subtotal_brut"/>

</td>

<td class="text-right">

<span t-field="l.discount"/>

</td>

<td class="text-right">

<span t-field="l.price_subtotal" t-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: o.currency_id}"/>

</td>

</tr>

</tbody>

</table>

<!---------------------------------------- END ---------------------------------------------------------->

<div class="row">

<div class="col-xs-4 pull-right">

<table class="table table-condensed table-bordered tableau">

<tr class="border-black" >

<td><strong>Montant BRUT</strong></td>

<td class="text-right">

<span t-field="o.amount_untaxed_brut" t-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: o.currency_id}"/>

</td>

</tr>

<tr class="border-black" >

<td><strong>Montant Remise</strong></td>

<td class="text-right">

<span t-field="o.amount_discount" t-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: o.currency_id}"/>

</td>

</tr>

<tr class="border-black">

<td><strong>Montant HT</strong></td>

<td class="text-right">

<span t-field="o.amount_untaxed" t-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: o.currency_id}"/>

</td>

</tr>

<t t-foreach="o._get_tax_amount_by_group()" t-as="amount_by_group">

<tr>

<td><span t-esc="amount_by_group[0] if len(o.tax_line_ids) &gt; 1 else (o.tax_line_ids.tax_id.description or o.tax_line_ids.tax_id.name)"/></td>

<td class="text-right">

<span t-esc="amount_by_group[1]" t-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: o.currency_id}"/>

</td>

</tr>

</t>

<tr class="border-black">

<td><strong>Montant TTC</strong></td>

<td class="text-right">

<span t-field="o.amount_total" t-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: o.currency_id}"/>

</td>

</tr>

</table>

</div>

</div>

<p class="police">

<strong>ARRETEE LA PRESENTE FACTURE A LA SOMME DE:</strong>

<span t-field="o.amount_to_text"/>

</p>

<p t-if="o.comment">

<strong>Comment:</strong>

<span t-field="o.comment"/>

</p>

<p t-if="o.payment_term_id">

<span t-field="o.payment_term_id.note"/>

</p>

<p t-if="o.fiscal_position_id.note">

<strong>Fiscal Position Remark:</strong>

<span t-field="o.fiscal_position_id.note"/>

</p>

<table class="table table-condensed table-bordered tableau">

<thead>

<tr >

<th class="text-center"><strong>Commercial</strong></th>

<th class="text-center"><strong>Client</strong></th>

</tr>

</thead>

<tbody>

<tr>

<td>

<br/>

<br/>

</td>

<td>

<br/>

<br/>

</td>

</tr>

</tbody>

</table>

</t>

</div>

</t>

</t>

</template>

</data>

</odoo>

Powiązane posty Odpowiedzi Widoki Czynność
0
lis 18
5054
3
wrz 23
21080
2
lip 23
6303
1
cze 23
4323
1
kwi 23
5042