OdooWiki OCA HUB

Track record changesets

base_changeset folder_open OCA/server-tools open_in_new
Tools Licencia: AGPL-3

Este módulo amplía la funcionalidad de los registros. Permite crear conjuntos de cambios que deben validarse cuando se modifica un registro en lugar de modificaciones directas. Las reglas permiten configurar qué campo debe validarse.

Qué es un conjunto de cambios

Un conjunto de cambios es una lista de cambios realizados en un registro.

Algunos de los cambios pueden estar 'Pending', otros 'Accepted' o 'Rejected' según las reglas del conjunto de cambios. Los cambios 'Pending' requieren una interacción por parte del usuario aprobador: solo cuando ese cambio se aprueba, su valor se escribe en el registro.

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 16.0

Permite a los administradores decidir qué campos de qué registros deben aprobarse antes de que el cambio se guarde realmente, en lugar de escribirse directamente. Los cambios pendientes aparecen en un botón 'Changes' en el formulario del registro y pueden ser aplicados o rechazados por usuarios autorizados.

Este módulo añade una capa de validación sobre la edición normal de registros. Para cada campo que elijas, puedes establecer una regla que indique qué ocurre cuando alguien lo modifica: el cambio puede aplicarse automáticamente, quedar pendiente hasta que un aprobador lo acepte o rechazarse directamente.

Las reglas se configuran en la pantalla 'Field Rules' (menú Record Changesets, dentro de Administration). Para cada regla eliges el modelo y el campo, la acción (Auto, Validate, Never), opcionalmente un modelo de origen, una compañía, una expresión que limita la regla a ciertos registros, los grupos de validadores autorizados a aprobar y si la persona que hizo el cambio puede aprobarlo ella misma.

Cuando se modifica un campo rastreado, Odoo crea un changeset (un grupo de cambios) y una línea de cambio por campo, mostrando el valor anterior y el valor nuevo. Los cambios pendientes no se escriben en el registro hasta que un aprobador hace clic en Apply; Reject los descarta. Los aprobadores son usuarios de los grupos permitidos, y un cambio no puede aplicarse si un changeset anterior para el mismo registro sigue pendiente.

En el formulario de cada modelo rastreado, aparece un botón 'Changes' con un contador en la caja de botones, que abre la lista de cambios. El menú Record Changesets también da acceso directo a las listas 'Changesets' y 'Changes', con filtros para Pending y Done.

Depende de

web

Menús que añade

Record ChangesetsField RulesChangesetsChanges
Modelos y campos (4)
  • base · amplía un modelo existentechangeset_ids (Changesets), count_changesets, changeset_change_ids (Changeset Changes), user_can_see_changeset, count_pending_changesets, count_pending_changeset_changes
  • record.changeset · modelo nuevodate (Modified on), note, model, state, res_id (Record ID), source (Source of the change), record_id, change_ids (Changes), company_id, modified_by_id
  • changeset.field.rule · modelo nuevoaction, active, field_id, model_id, company_id, expression, source_model_id (Source Model), validator_group_ids (Validator Groups), prevent_self_validation
  • record.changeset.change · modelo nuevodate, model, state, rule_id, field_id, record_id, field_name, field_type, changeset_id, modified_by_id, new_value_char, new_value_date, new_value_text, old_value_char, old_value_date, old_value_text, verified_by_id, new_value_float, old_value_float, verified_on_date (Verified on), new_value_boolean, new_value_display (New), new_value_integer, old_value_boolean, old_value_integer, origin_value_char, origin_value_date, origin_value_text, new_value_datetime, new_value_monetary

Texto generado por IA (DeepSeek) al leer el código de la versión 16.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. El módulo es muy grande y solo se ha leído una parte del código. 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: 5 confirmadas, 4 sin información de 9 versiones.

Fuentes · Odoo 15.0

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

terminal Instalación y uso

Documentación de OCA · Odoo 16.0

Derechos de acceso

Las reglas de los changesets deben ser editadas por usuarios con el grupo `Changesets Configuration. The changesets can be applied or canceled only by users with the group Changesets Validations`

Reglas de los changesets

Las reglas de los changesets se pueden configurar en `Configuration > Record Changesets > Fields Rules`.

  • Configuración de reglas

Para cada campo de registro, se puede definir una acción:

  • Auto: los cambios realizados en este campo siempre se aplican
  • Validate: los cambios realizados en este campo deben ser confirmados manualmente por un usuario 'Changesets User'
  • Never: los cambios realizados en este campo siempre se rechazan

En cualquier caso, todos los cambios realizados por los usuarios siempre se aplican directamente en los usuarios, pero se crea un changeset 'validated' para el historial.

Los campos soportados son:

  • Char
  • Text
  • Date
  • Datetime
  • Integer
  • Float
  • Monetary
  • Boolean
  • Many2one

Las reglas pueden ser globales (sin modelo de origen) o configurarse por modelo de origen. Las reglas por modelo de origen tienen prioridad. Si un campo no está configurado para el modelo de origen, se utilizará la regla global (si existe).

Si un campo no tiene regla, se escribe en el registro sin changeset.

Reglas de conjuntos de cambios

El primer paso es configurar las reglas de conjuntos de cambios. Una vez hecho esto, las escrituras en los registros se crearán como conjuntos de cambios.

Gestión de conjuntos de cambios

La lista de todos los conjuntos de cambios está en `Configuration > Record Changesets > Changesets`.

Por defecto, solo se muestran los conjuntos de cambios pendientes (en espera de validación). Elimine el filtro "Pending" para mostrar todos los conjuntos de cambios.

  • Conjunto de cambios en espera de validación

La vista de cambios muestra el nombre del campo del registro, el valor Origin y el valor New junto con el estado del cambio. Al hacer clic en el cambio, en algunos casos se muestra una vista más detallada; por ejemplo, se puede hacer clic en los enlaces de las relaciones.

Un botón en un conjunto de cambios permite aplicar o rechazar todos los cambios a la vez.

Gestión de cambios individuales

Acceder a los conjuntos de cambios ofrece una visión completa de todos los cambios realizados. Sin embargo, es más conveniente acceder a los cambios individuales directamente desde los registros. Cuando hay un cambio pendiente para un campo, aparece una insignia con el número de cambios pendientes junto a él, así:

  • Insignia con el número de cambios pendientes

Al hacer clic en ella:

  • Al hacer clic en la insignia: botón rojo para rechazar, verde para aplicar

Haga clic en el botón rojo para rechazar el cambio, haga clic en el verde para aplicarlo.

Reglas de origen personalizadas en su addon

Los addons que quieran crear conjuntos de cambios con sus propias reglas deben pasar las siguientes claves en el contexto cuando escriban en el registro:

  • __changeset_rules_source_model: nombre del modelo que solicita el cambio
  • __changeset_rules_source_id: id del registro que solicita el cambio

Además, deben ampliar la selección en ChangesetFieldRule._domain_source_models para añadir su modelo (el mismo que se pasa en __changeset_rules_source_model).

El origen se utiliza para la aplicación de las reglas, lo que permite tener una regla diferente para un origen diferente. También se almacena en el conjunto de cambios a modo informativo.

Notas sobre seguridad

Tenga en cuenta que, por defecto, los usuarios de conjuntos de cambios ven todos los cambios en todas las reglas configuradas. Esto elude las restricciones de lectura de los registros originales, por lo que si tiene restricciones en modelos con reglas de conjuntos de cambios, los usuarios de conjuntos de cambios seguirán viendo todos los cambios de todos los registros, y aplicar un cambio en un registro inaccesible fallará.

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.