跳至內容
選單
此問題已被標幟
1 回覆
3064 瀏覽次數

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

頭像
捨棄
最佳答案

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>


頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
5
6月 17
8761
5
11月 16
6646
0
8月 16
4940
2
6月 16
3706
2
12月 24
3974