Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
1 Balas
3263 Tampilan

Hello,


when I print my invoice report, I has on each line with line.origin the value for the delivery report:

Example: "WH/OUT/00215"
It takes from account_invoice_line


Now I want to add in this report, the date of the delivery.
stock_picking.date_done with ID stock_picking.name


How can I add this database value?

As SQL is "Select date_done from stock_picking where name = 'line.origin'


Thank you

Avatar
Buang
Jawaban Terbai

Hii,

Extend the Report Template (QWeb)

Since QWeb can’t run SQL, you use a t-set with env to perform a model search.

Inside the loop that renders invoice lines (usually in a t-foreach="o.invoice_line_ids"), add:

<t t-set="picking" t-value="env['stock.picking'].search([('name', '=', line.origin)], limit=1)"/>

<t t-if="picking">

    <span>Delivered on: <t t-esc="picking.date_done.strftime('%d/%m/%Y')"/></span>

</t>

If the line.origin matches a stock.picking.name, the delivery date (date_done) will be printed on the invoice line.

Example Final Snippet:

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

  <td>

    <t t-esc="line.name"/>

    <t t-set="picking" t-value="env['stock.picking'].search([('name', '=', line.origin)], limit=1)"/>

    <t t-if="picking">

        <br/>

        <small>Delivered on: <t t-esc="picking.date_done.strftime('%d/%m/%Y')"/></small>

    </t>

  </td>

  <!-- other columns like quantity, price, etc. -->

</tr>


Avatar
Buang
Post Terkait Replies Tampilan Aktivitas
5
Jun 17
9000
5
Nov 16
6860
0
Agu 16
5088
2
Jun 16
3856
2
Des 24
4220