Parámetros del sistema en Odoo
Los ir.config_parameter son los pares clave-valor de Odoo. Permiten configurar el comportamiento del sistema sin tocar el código fuente — ideal para valores que cambian entre entornos (dev/staging/prod) o que los usuarios necesitan modificar a mano.
1
¿Qué son los parámetros del sistema?
Los parámetros del sistema (ir.config_parameter) son valores clave-valor que se almacenan en la base de datos y permiten configurar el comportamiento de Odoo sin modificar el código fuente. Son ideales para configuraciones que pueden variar entre entornos o que los usuarios finales necesitan modificar.
2
Ventajas
res.config.settings los expone en la UI).env['ir.config_parameter'].
3
Crear un parámetro del sistema
Hay dos formas de crear un parámetro: desde código Python (típicamente en un hook post-instalación o un wizard) o desde un archivo XML de datos (lo más declarativo y fácil de versionar).
3.1 — Desde Python

3.2 — Desde XML

4
Lectura: get_param()
Para obtener el valor de un parámetro, se usa get_param(). Acepta un valor por defecto que se devuelve si la clave no existe — útil para no romper en entornos donde aún no se ha creado.

5
Escritura: set_param()
Para actualizar el valor de un parámetro existente (o crearlo si no existe), se usa set_param(). Como cualquier ORM-write, queda registrado y trazable.

6
Integración con vista de configuración
Cuando los parámetros están expuestos en una vista de configuración dentro de Odoo (heredando de res.config.settings), debes sobreescribir el método get_values() para que la UI muestre el valor actual y se actualice con set_param() al guardar.

7
Ejemplo práctico: límite máximo de venta
Un caso clásico: necesitas validar que ninguna venta supere un monto máximo (ej. para alertar a finanzas). Crear el parámetro permite que ese límite se ajuste sin redeploy:


8
Mejores prácticas: nomenclatura de parámetros
El nombre del parámetro debe ser específico y predecible. Esto reduce colisiones entre módulos y permite que cualquier developer entienda qué hace al ver la clave. Sigue una convención jerárquica con punto:
# Patrones recomendados 'modulo.componente.parametro' 'modulo.submodulo.funcionalidad.parametro' 'modulo.empresa.id.parametro' # Ejemplos reales 'ventas.limites.monto_maximo' 'hr.vacaciones.dias_maximos' 'inventario.almacen.1.stock_minimo'
📌 En resumen
Los parámetros del sistema en Odoo son la herramienta correcta para separar configuración de código. Permiten que el sistema se adapte a entornos y reglas de negocio cambiantes sin redespliegues, manteniendo la lógica intacta.
Combinados con res.config.settings para exponerlos en UI, una nomenclatura jerárquica clara y datos XML versionados, son la base de cualquier módulo flexible. En Exdoo los usamos en cada módulo personalizado para que los clientes ajusten su operación sin depender de un developer cada vez.
Deja un comentario