Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
1 Ответить
3013 Представления

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>


Аватар
Отменить
Related Posts Ответы Просмотры Активность
5
июн. 17
8700
5
нояб. 16
6609
0
авг. 16
4889
2
июн. 16
3653
2
дек. 24
3936