← Volver a Entidades de Sistema

Secuencia

Entidad para gestión de secuencias y contadores del sistema

📊 Descripción General

La entidad Secuencia representa las secuencias y contadores utilizados en el sistema RestMaster. Esta entidad permite gestionar contadores automáticos para diferentes tipos de documentos, facturas, comandas y otros elementos que requieren numeración secuencial.

🎯 Propósito de la Entidad

  • Contadores Automáticos: Numeración secuencial de documentos
  • Gestión de Secuencias: Control de incrementos y valores
  • Numeración de Facturas: Contadores para facturas
  • Numeración de Comandas: Contadores para comandas
  • Control de Consecutivos: Gestión de números consecutivos

📋 Propiedades de la Entidad

Nombre

string (255)
Nombre único de la secuencia (clave primaria)

Incremento

int
Valor de incremento para la secuencia

Valor

int?
Valor actual de la secuencia

🔗 Relaciones con Otras Entidades

⚙️ Entidades de Sistema

  • UltimaFactura: Última factura generada
  • UltimoConsecutivo: Último consecutivo usado
  • UltimoPedido: Último pedido generado

🎯 Funcionalidades Relacionadas

  • Numeración Automática: Generación de números secuenciales
  • Control de Consecutivos: Gestión de números consecutivos
  • Gestión de Documentos: Numeración de documentos
  • Control de Facturas: Numeración de facturas

💡 Ejemplo de Uso

// Crear secuencia para facturas var secuenciaFacturas = new Secuencia { Nombre = "FACTURAS_SERIE_A", Incremento = 1, Valor = 1000 }; // Crear secuencia para comandas var secuenciaComandas = new Secuencia { Nombre = "COMANDA_SALON_1", Incremento = 1, Valor = 1 }; // Consultar secuencias disponibles var secuencias = context.Secuencias .OrderBy(s => s.Nombre) .ToList(); // Obtener siguiente número de factura var secuenciaFactura = context.Secuencias .FirstOrDefault(s => s.Nombre == "FACTURAS_SERIE_A"); if (secuenciaFactura != null) { var siguienteNumero = (secuenciaFactura.Valor ?? 0) + secuenciaFactura.Incremento; secuenciaFactura.Valor = siguienteNumero; context.SaveChanges(); } // Consultar secuencias por tipo var secuenciasFacturas = context.Secuencias .Where(s => s.Nombre.Contains("FACTURA")) .ToList(); // Reiniciar secuencia var secuencia = context.Secuencias .FirstOrDefault(s => s.Nombre == "COMANDA_SALON_1"); if (secuencia != null) { secuencia.Valor = 1; context.SaveChanges(); }

🔧 Configuración de Base de Datos

🗄️ Configuración de Tabla

  • Tabla: SECUENCIAS
  • Clave Primaria: NOMBRE
  • Esquema: Maestro

🔑 Restricciones

  • Nombre: Clave primaria, máximo 255 caracteres
  • Incremento: Valor de incremento (requerido)
  • Valor: Valor actual (opcional)

🔗 Integración con Otros Componentes

📚 Componentes Relacionados

  • Back.API: Controladores que usan secuencias
  • Back.Application: Servicios de secuencias
  • Back.Domain: DTOs de secuencias
  • Common.Constants: Validaciones de secuencias

🎯 Casos de Uso

  • Numeración de Facturas: Contadores automáticos
  • Numeración de Comandas: Secuencias por salón
  • Control de Consecutivos: Gestión de números
  • Gestión de Documentos: Numeración automática
  • Reportes: Análisis de secuencias
  • Auditoría: Trazabilidad de numeración