Saltar al contenido

¿Cómo volver a calcular los valores de los campos funcionales almacenados en Odoo?

Si encuentras alguna parte que no comprendes nos puedes dejar un comentario y te ayudaremos tan rápido como podamos.

Solución:

(Porque vine aquí a través de google 🙂

También puede hacer esto desde Odoo Shell:

# python odoo.py shell -c openerp-server.conf  -d 

>>> model = env['account.invoice']
>>> env.add_todo(model._fields['amount_total'], model.search([]))
>>> model.recompute()
>>> env.cr.commit()

El shell de Odoo está disponible en 9, 10 y a través de un módulo OCA en 8.

En v8.0 (también debería funcionar en 9.0) puedes hacerlo así:

# Recompute amount_total for account.invoice

env.add_todo(model._fields['amount_total'], object)
model.recompute()

# where
# object - recordset of instances to recompute field for
# model - recordset instances model

El código anterior se puede usar directamente en la acción del servidor.

En v13, la sintaxis anterior todavía funciona, pero add_todo debe reemplazarse por add_to_compute:

env.add_to_compute(model._fields['amount_total'], model.search([]))
model.recompute()

Tienes la posibilidad dar recomendación a esta noticia si si solucionó tu problema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *