コンテンツへスキップ
メニュー
この質問にフラグが付けられました
2 返信
6674 ビュー

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
1374
4
4月 24
174271
0
12月 23
2171
5
7月 25
228045
1
8月 23
4574