Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
2 Risposte
10261 Visualizzazioni

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

Avatar
Abbandona

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

Autore Risposta migliore

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

Avatar
Abbandona
Autore

<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>

Post correlati Risposte Visualizzazioni Attività
0
nov 18
5132
3
set 23
21185
2
lug 23
6471
1
giu 23
4399
1
apr 23
5130