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

I'm creating a custom report in the Invoice module.

<span class="text-nowrap" t-esc="doc.invoice_payments_widget" />

I added the above code and it returns jSON format. But I need to get the amount only.

{"title": "Less Payment", "outstanding": false, "content": [{"name": "Customer Payment: INV/2021/0006", "journal_name": "Bank", "amount": 500.0, "currency": "$", "digits": [69, 2], "position": "before", "date": "2021-03-26", "payment_id": 25, "account_payment_id": 2, "payment_method_name": "Manual", "move_id": 11, "ref": "BNK1/2021/0002 (INV/2021/0006)"}]}

頭像
捨棄
最佳答案
<t t-set="total" t-value="0"/>
<t
t-set="payments_vals" t-value="doc.sudo()._get_reconciled_info_JSON_values()"/>
<t
t-foreach="payments_vals" t-as="payment_vals">
<t
t-set="total" t-value="total + payment_vals['amount']" />
</t>
<span
class="text-nowrap" t-esc="total" />

there will be cases where you will have more than one payment line. So its better to use the above code.
頭像
捨棄
作者

Is it possible to display the currency as well?

<span class="text-nowrap" t-esc="total" t-options='{"widget": "monetary", "display_currency": doc.currency_id}' />

作者

Thank you! My first time to develop in Odoo.

最佳答案

Hello 

In json format you are getting the "account_payment_id". so using this account payment id you will get amount from the account payment.

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
0
3月 25
1379
4
4月 24
174294
0
12月 23
2173
5
7月 25
228094
1
8月 23
4592