
Cada secuencia en Odoo tiene:
Ej: “INV/” + “/2023”.
Relleno (
📘 ARTÍCULO TÉCNICO
Relleno (padding): Número de dígitos (ej: 0001 usa padding=4).
Paso (por defecto 1).
Las secuencias pueden ser creadas por código o manuales, para crearlas manuales se debe ingresar al menú Ajustes -> Técnico -> Secuencias -> Secuencias.

Los atributos de las secuencias funcionan de la siguiente forma:
- Código de la secuencia: Identificador único para referenciar la secuencia desde código Python u otros modelos. Debe ser único en la base de datos y se utiliza para llamar a la secuencia con el método next_by_code().
- Prefijo: Texto estático o dinámico que se añade al inicio del número generado. Ejemplo: PER o PER/%(year)s/.
- Sufijo: Texto estático o dinámico que se añade al final del número. Ejemplo: /%(month)s (mes actual en formato 01-12).
- Tamaño de la secuencia: Número de dígitos que se rellena con ceros a la izquierda. Por ejemplo, si el tamaño es 4, el número obtenido sería 0004.
- Paso: Incremento entre dos números consecutivos. Por defecto, se usa 1 para obtener números consecutivos, pero puede configurarse para generar secuencias separadas por 2 números o más. Si el paso es 2, la secuencia sería: 0001, 0003, 0005.
- Uso de subsecuencias por date_range: Crea sub-secuencias independientes por período (año, mes, etc.). Ideal para reiniciar conteos anuales. Por ejemplo:
-
Secuencia del año 2023: INV/2023/0001, INV/2023/0002.
- Al cambiar al año 2024: INV/2024/0001.
-
- Implementación: Existen dos métodos de implementación:
-
Estándar: Almacena el contador en la base de datos y se utiliza en modelos con poca actividad. Odoo incrementa el valor de number_next sin bloqueos estrictos, lo que podría ocasionar que, si dos procesos solicitan un número simultáneamente, se generen duplicados o saltos en la secuencia.
- Sin espacios (no_gap): Garantiza que no haya saltos entre números, usando bloqueos de base de datos hasta que se complete la transacción.
-
Ejemplo para crear secuencias:

Para obtener la secuencia dentro de un modelo en Odoo, se usa el siguiente código:

Para crear una secuencia con rango de fechas, el XML debe ser definido con date_range_ids.
