Files
Plataforma-de-desarrolladores/Configuracion_DocumentosSolicitud_20260918.sql
Jorge Luis caudillo esparza e8160eefba --documentos
2026-09-27 14:44:12 -07:00

78 lines
3.1 KiB
Transact-SQL

/*
Configuración particular de documentos por solicitud.
Instalación verificada: 18/09/2026. Respaldo COPY_ONLY con CHECKSUM:
E:\SqlServer2022\MSSQL16.MSSQLSERVER\MSSQL\Backup\SIG_PlataformaDesarolladores_configuracion_documentos_20260918_083743.bak
Aplicar junto con Procedimientos_DocumentosSolicitudConfiguracion_20260918.sql
en una transacción de instalación. No copia ni modifica configuraciones generales.
Una fila particular sustituye la configuración general completa.
EsActivo = 0 suspende el requisito particular; eliminar la fila vuelve a heredar.
Los archivos físicos y su validación permanecen en Tra_DocumentosSolicitud.
*/
SET NOCOUNT ON;
IF OBJECT_ID('dbo.Tra_SolicitudDocumentoConfiguracion', 'U') IS NULL
BEGIN
CREATE TABLE dbo.Tra_SolicitudDocumentoConfiguracion
(
CveSolicitud int NOT NULL,
CveTipoDocumento int NOT NULL,
EsRequerido bit NOT NULL
CONSTRAINT DF_Tra_SolicitudDocumentoConfiguracion_EsRequerido DEFAULT (0),
EsCliente bit NOT NULL
CONSTRAINT DF_Tra_SolicitudDocumentoConfiguracion_EsCliente DEFAULT (1),
TieneVigencia bit NOT NULL
CONSTRAINT DF_Tra_SolicitudDocumentoConfiguracion_TieneVigencia DEFAULT (0),
Orden int NOT NULL
CONSTRAINT DF_Tra_SolicitudDocumentoConfiguracion_Orden DEFAULT (0),
EsActivo bit NOT NULL
CONSTRAINT DF_Tra_SolicitudDocumentoConfiguracion_EsActivo DEFAULT (1),
CONSTRAINT PK_Tra_SolicitudDocumentoConfiguracion
PRIMARY KEY CLUSTERED (CveSolicitud, CveTipoDocumento),
CONSTRAINT FK_Tra_SolicitudDocumentoConfiguracion_Solicitud
FOREIGN KEY (CveSolicitud) REFERENCES dbo.Tra_Solicitudes (CveSolicitud),
CONSTRAINT FK_Tra_SolicitudDocumentoConfiguracion_TipoDocumento
FOREIGN KEY (CveTipoDocumento) REFERENCES dbo.Tra_TiposDocumento (CveTipoDocumento)
);
END;
IF NOT EXISTS
(
SELECT 1
FROM dbo.Bit_Tablas
WHERE NombreTablaSQL = 'Tra_SolicitudDocumentoConfiguracion'
)
BEGIN
INSERT INTO dbo.Bit_Tablas
(NombreTablaSQL, NombreMostrar, Descripcion, NombreCampoLlaveSQL, Activo)
VALUES
('Tra_SolicitudDocumentoConfiguracion', 'Documentos particulares de la solicitud',
'Configuración de documentos exclusiva de una solicitud.', NULL, 1);
END;
DECLARE @CveTabla int;
SELECT @CveTabla = CveTabla
FROM dbo.Bit_Tablas
WHERE NombreTablaSQL = 'Tra_SolicitudDocumentoConfiguracion';
INSERT INTO dbo.Bit_Campos
(CveTabla, NombreCampoSQL, NombreMostrar, MostrarEnBitacora, TipoDatoSQL, Activo)
SELECT @CveTabla, C.Nombre, C.Titulo, 1, C.Tipo, 1
FROM
(
VALUES
('CveSolicitud', 'Solicitud', 'int'),
('CveTipoDocumento', 'Tipo de documento', 'int'),
('EsRequerido', 'Requerido', 'bit'),
('EsCliente', 'Lo proporciona el desarrollador', 'bit'),
('TieneVigencia', 'Tiene vigencia', 'bit'),
('Orden', 'Orden', 'int'),
('EsActivo', 'Activo', 'bit')
) AS C(Nombre, Titulo, Tipo)
WHERE NOT EXISTS
(
SELECT 1
FROM dbo.Bit_Campos AS B
WHERE B.CveTabla = @CveTabla
AND B.NombreCampoSQL = C.Nombre
);