Ir al contenido
Menú
Se marcó esta pregunta
2 Respuestas
925 Vistas

Hi, I want to remove dot(.) from amount. Example: 1000.00 to be converted to 100000. This is a requirement from a new payment acquirer that I'm working on. The conversion will be used as part of the value for the shasign. For now I only want to know how to convert amount in odoo 12.

Avatar
Descartar
Autor Mejor respuesta

I solved it using the following code:

def acquirer_form_generate_values(self, values):
acquirer_values = dict(values,
u_amount=f"{values['amount']:.2f}".replace('.', ''),

Avatar
Descartar
Mejor respuesta

Hi,

Go to the settings then to Technical Settings -> Database Structure -> Decimal Accuracy Then Change "Digits" to the number you want Save and Refresh the page so changes you made take place 


Avatar
Descartar
Autor

Thanks for the help but what I'm trying to do is on custom module. How can I format amount in payment acquirer template. Something like this:
<template id="acquirer_form">
<input type="hidden" name="u_amount" t-att-value='u_amount'/>

</template>

Autor

Correction to my last post, the question should be how can I format amount in python not xml template. Something like this:
def acquirer_form_generate_values(self, values):
acquirer_values = dict(values,
u_amount=values['amount']

Autor

I solved it using the following code:

def acquirer_form_generate_values(self, values):
acquirer_values = dict(values,
u_amount=f"{values['amount']}".replace('.', ''),