BEGIN TRANSACTION; BEGIN TRY -- Inserción del objeto IF NOT EXISTS ( SELECT 1 FROM Sys_ObjetosApp WHERE IdObj = 'FRMDLIQTEM' AND IdGrupo = 'TESDOC' AND SubModulo = 'TES' ) BEGIN INSERT INTO Sys_ObjetosApp ( IdObj, IdGrupo, SubModulo, IndObj, Nombre, Formulario, Permisos, NivelMinimo, NomArchivo ) VALUES ( 'FRMDLIQTEM', 'TESDOC', 'TES', 25, 'Liquidación de Viajes Manual', 'FRMDLIQTEM', 'S', 0, NULL ); END INSERT INTO adm_Permisos ( IdUsuario, IdObj, Consecutivo, PerAdd, PerUpdate, PerDelete, PerAnular, PerRead, PerRename ) SELECT U.IdUsuario, 'FRMDLIQTEM' AS IdObj, 25 AS Consecutivo, 0 AS PerAdd, 0 AS PerUpdate, 0 AS PerDelete, 0 AS PerAnular, 0 AS PerRead, 0 AS PerRename FROM adm_Usuarios AS U LEFT JOIN adm_Permisos AS P ON P.IdUsuario = U.IdUsuario AND P.IdObj = 'FRMDLIQTEM' WHERE U.IdGrupo < 4 AND P.IdUsuario IS NULL; IF NOT EXISTS ( SELECT 1 FROM Sys_ObjetosApp WHERE IdObj = 'FRMDFCRCAU' AND IdGrupo = 'TESDOC' AND SubModulo = 'TES' ) BEGIN INSERT INTO Sys_ObjetosApp ( IdObj, IdGrupo, SubModulo, IndObj, Nombre, Formulario, Permisos, NivelMinimo, NomArchivo ) VALUES ( 'FRMDFCRCAU', 'TESDOC', 'TES', 26, 'Facturación de Causación de Cuentas', 'FRMDFCRCAU', 'S', 0, NULL ); END INSERT INTO adm_Permisos ( IdUsuario, IdObj, Consecutivo, PerAdd, PerUpdate, PerDelete, PerAnular, PerRead, PerRename ) SELECT U.IdUsuario, 'FRMDFCRCAU' AS IdObj, 26 AS Consecutivo, 0 AS PerAdd, 0 AS PerUpdate, 0 AS PerDelete, 0 AS PerAnular, 0 AS PerRead, 0 AS PerRename FROM adm_Usuarios AS U LEFT JOIN adm_Permisos AS P ON P.IdUsuario = U.IdUsuario AND P.IdObj = 'FRMDFCRCAU' WHERE U.IdGrupo < 4 AND P.IdUsuario IS NULL; IF NOT EXISTS ( SELECT 1 FROM Sys_ObjetosApp WHERE IdObj = 'FRMDFACCAU' AND IdGrupo = 'TESDOC' AND SubModulo = 'TES' ) BEGIN INSERT INTO Sys_ObjetosApp ( IdObj, IdGrupo, SubModulo, IndObj, Nombre, Formulario, Permisos, NivelMinimo, NomArchivo ) VALUES ( 'FRMDFACCAU', 'TESDOC', 'TES', 27, 'Factura de Causación de Cuentas', 'FRMDFACCAU', 'S', 0, NULL ); END INSERT INTO adm_Permisos ( IdUsuario, IdObj, Consecutivo, PerAdd, PerUpdate, PerDelete, PerAnular, PerRead, PerRename ) SELECT U.IdUsuario, 'FRMDFACCAU' AS IdObj, 27 AS Consecutivo, 0 AS PerAdd, 0 AS PerUpdate, 0 AS PerDelete, 0 AS PerAnular, 0 AS PerRead, 0 AS PerRename FROM adm_Usuarios AS U LEFT JOIN adm_Permisos AS P ON P.IdUsuario = U.IdUsuario AND P.IdObj = 'FRMDFACCAU' WHERE U.IdGrupo < 4 AND P.IdUsuario IS NULL; IF NOT EXISTS ( SELECT 1 FROM sys.columns WHERE Name = 'FactElec' AND Object_ID = Object_ID('Trn_TraEspCauDetalle') ) BEGIN ALTER TABLE Trn_TraEspCauDetalle ADD FactElec BIT NOT NULL DEFAULT 0; END IF NOT EXISTS ( SELECT 1 FROM sys.columns WHERE Name = 'FactElec' AND Object_ID = Object_ID('tm_TraEsDetConc') ) BEGIN ALTER TABLE tm_TraEsDetConc ADD FactElec BIT NOT NULL DEFAULT 0; END DROP PROCEDURE [dbo].[paWcfSeInsTrn_TraEspCausacion]; DROP TYPE [dbo].[dataTypeTrn_TraEspCauDetalle]; CREATE TYPE [dbo].[dataTypeTrn_TraEspCauDetalle] AS TABLE( [TipDoc] [varchar](3) NULL, [Causacion] [int] NULL, [IdCia] [char](2) NULL, [Item] [int] NULL, [IdConcepto] [varchar](4) NULL, [Descripcion] [varchar](250) NULL, [TipoConc] [varchar](10) NULL, [VrDebito] [money] NULL, [VrCredito] [money] NULL, [CdCuenta] [varchar](16) NULL, [NitTercero] [varchar](16) NULL, [CdCCosto] [varchar](16) NULL, [CdSubCos] [varchar](16) NULL, [pVehiculo] [varchar](10) NULL, [TipoAfiVehic] [varchar](10) NULL, [VrBase] [money] NULL, [TarifBase] [decimal](14, 4) NULL, [Referencia] [varchar](50) NULL, [TipDocRef] [varchar](3) NULL, [DocRef] [int] NULL, [TipFac] [varchar](3) NULL, [Factura] [varchar](15) NULL, [IdCiaFac] [char](2) NULL, [ItemFac] [int] NULL, [FecVence] [smalldatetime] NULL, [EstadoReg] [int] NULL, [TipoLiq] [varchar](3) NULL, [NumLiquida] [int] NULL, [CiaLiquida] [char](2) NULL, [VrAbonado] [money] NULL, [FactElec] BIT NOT NULL DEFAULT 0 ); IF NOT EXISTS ( SELECT 1 FROM sys.tables WHERE name = 'Trn_TraEspFactcausacion' ) BEGIN CREATE TABLE Trn_TraEspFactcausacion ( TipDoc VARCHAR(3) NOT NULL, Factura INT NOT NULL, IdCia CHAR(2) NOT NULL, Item INT NOT NULL, IdConcepto VARCHAR(4) NOT NULL, Descripcion VARCHAR(500) NOT NULL, Valor MONEY NOT NULL, IdCiaCau CHAR(2) NOT NULL, IdVehiculo VARCHAR(10) NULL, CONSTRAINT PK_Trn_TraEspFactcausacion PRIMARY KEY (TipDoc, Factura, IdCia, Item), CONSTRAINT FK_FactCausacion_Factura FOREIGN KEY (TipDoc, Factura, IdCia) REFERENCES Trn_Facturas (TipDoc, Factura, IdCia), CONSTRAINT FK_FactCausacion_TraConcCausac FOREIGN KEY (IdConcepto) REFERENCES TraConcCausac (IdConcepto), CONSTRAINT FK_FactCausacion_CiaCau FOREIGN KEY (IdCiaCau) REFERENCES Companias (IdCia), CONSTRAINT FK_FactCausacion_Vehiculo FOREIGN KEY (IdVehiculo) REFERENCES Vehiculos (IdVehiculo) ); END DROP PROCEDURE [dbo].[paWcfSeInsTrn_TraEspFactcausacion] DROP TYPE [dbo].[dataTypeTrn_TraEspFactcausacion] CREATE TYPE [dbo].[dataTypeTrn_TraEspFactcausacion] AS TABLE ( TipDoc VARCHAR(3) NOT NULL, Factura INT NOT NULL, IdCia CHAR(2) NOT NULL, Item INT NOT NULL, IdConcepto VARCHAR(4) NOT NULL, Descripcion VARCHAR(500) NOT NULL, Valor MONEY NOT NULL, IdCiaCau CHAR(2) NOT NULL, IdVehiculo VARCHAR(10) NULL ) DROP TYPE [dbo].[dataTypeTrn_TraEspCauFactura] CREATE TYPE [dbo].[dataTypeTrn_TraEspCauFactura] AS TABLE ( Causacion INT NOT NULL, Factura INT NOT NULL, IdCia VARCHAR(10) NOT NULL, TipDoc VARCHAR(10) NOT NULL, TipDocFac VARCHAR(10) NOT NULL, Item INT ); COMMIT TRANSACTION; END TRY BEGIN CATCH ROLLBACK TRANSACTION; -- Opcional: ver error SELECT ERROR_NUMBER() AS NumeroError, ERROR_MESSAGE() AS MensajeError; END CATCH;