OdooWiki OCA HUB

Time Parameter

base_time_parameter folder_open OCA/server-tools open_in_new
Technical Licencia: LGPL-3

Un valor puede cambiar con el tiempo. Con este módulo puede establecer fechas de inicio y valores.

Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.

auto_awesome Qué hace este módulo

Generado por IA a partir del código · Odoo 18.0

Te permite almacenar valores que cambian con el tiempo (tasas, umbrales, indicadores) y leer el valor correcto para cualquier fecha dada. El acceso se realiza a través de un nuevo menú Time Parameters en Technical settings.

Este módulo añade un lugar central para guardar valores que no son fijos: una tasa, un límite, un indicador sí/no o un texto que cambia en fechas concretas. Cada parámetro tiene un nombre, un código, un tipo (boolean, date, float, integer, JSON, record o text), una compañía, país y modelo opcionales, y una lista de versiones. Cada versión tiene una fecha de inicio y un valor, de modo que el sistema siempre sabe qué valor se aplica en un día determinado.

Dónde aparece: - Un nuevo menú "Time Parameters" en el área de ajustes técnicos, con pantallas de lista y formulario. - En un formulario de parámetro, una lista de Versions donde se introducen directamente las fechas de inicio y los valores. - Una acción "Versions" disponible desde la pantalla del parámetro.

Reglas de negocio y comportamiento automático: - El código de un parámetro debe ser único por compañía; dos versiones del mismo parámetro no pueden empezar el mismo día. - Los valores se limpian automáticamente al escribirlos: las fechas se reformatean, los números se convierten, el JSON se comprueba, los booleanos se normalizan. - Cuando se solicita un valor para una fecha, se utiliza la versión más reciente que empiece en esa fecha o antes. - Las reglas multi-compañía restringen los parámetros y las versiones a las compañías a las que el usuario puede acceder. - Se añade un método auxiliar get_time_parameter a todos los modelos para que otros módulos puedan solicitar el valor de un parámetro por código y fecha.

Toca base.time.parameter, base.time.parameter.version y extiende el modelo base.

Depende de

base

Lo necesitan otros módulos

Menús que añade

Time Parameters
Modelos y campos (3)
  • base · amplía un modelo existente
  • base.time.parameter · modelo nuevocode, name (Parameter Name), type, model_id (Model), company_id (Company), country_id (Country), description, version_ids (Versions), record_model
  • base.time.parameter.version · modelo nuevocode, type, value, date_from, company_id, country_id, parameter_id (Time Parameter), value_reference (Reference Value)

Texto generado por IA (DeepSeek) al leer el código de la versión 18.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub

Disponibilidad por versión

Revisado: 2026-11-03
Confirmado (verificado en repositorio y rama) Estimado (sin verificar) Sin información

Estado de confirmación: 3 confirmadas, 6 sin información de 9 versiones.

Fuentes · Odoo 18.0

Confirmado el 2026-11-03 en la rama 18.0 de OCA/server-tools.

terminal Instalación y uso

Documentación de OCA · Odoo 18.0

El usuario necesita el derecho de acceso "Manage Time Parameters".

Menú: "Settings/Technical/Time Parameters"

Crea un parámetro con diferentes versiones (fecha de inicio y valor).

Si model_id está vacío, cualquier modelo/registro puede obtener el parámetro de tiempo.

El valor puede ser un texto o una referencia.

Obtén el valor así:

# Pass no date: using today's date
value = model.get_time_parameter("parameter_code_or_name")
# Pass a date or datetime
value = model.get_time_parameter("parameter_code_or_name", date=datetime.datetime.now()))
# Pass the name of a date/datetime field of the record
value = record.get_time_parameter("parameter_code_or_name", "date")

Ejemplo de implementación en otro módulo

Implementación de nómina:

  • El menú "Payroll/Configuration/Time Parameters" solo muestra parámetros de hr.payslip.
  • Los nuevos parámetros serán parámetros de hr.payslip.
  • Por defecto, el campo model_id está oculto en el formulario.
<record id="base_time_parameter_action" model="ir.actions.act_window">
    <field name="name">Time Parameters</field>
    <field name="res_model">base.time.parameter</field>
    <field name="view_mode">tree,form</field>
    <field
        name="domain"
        eval="[('model_id', '=', ref('payroll.model_hr_payslip'))]"
    />
    <field
        name="context"
        eval="{'default_model_id': ref('payroll.model_hr_payslip')}"
    />
</record>
<menuitem
    id="menu_action_base_time_parameter"
    action="base_time_parameter_action"
    name="Time Parameters"
    parent="payroll_menu_configuration"
    sequence="35"
/>

Implementación del campo de referencia:

from odoo import fields, models


class TimeParameterVersion(models.Model):
    _inherit = "base.time.parameter.version"

    value_reference = fields.Reference(
        selection_add=[("account.account", "Account")],
    )

Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación.

info

Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.