SET DATEFORMAT dmy; ALTER LOGIN syscom WITH DEFAULT_LANGUAGE = Español; /****** Object: StoredProcedure [dbo].[paWcfSeInsTrn_TraEspOrdenPago] Script Date: 27/05/2024 11:00:26 ******/ DROP PROCEDURE IF EXISTS [dbo].[paWcfSeInsTrn_TraEspOrdenPago] GO /****** Object: StoredProcedure [dbo].[paWcfSeInsPreFacturas] Script Date: 27/05/2024 10:58:28 ******/ DROP PROCEDURE IF EXISTS [dbo].[paWcfSeInsPreFacturas] GO /****** Object: StoredProcedure [dbo].[paWcfSeInsMsvTrn_Facturas] Script Date: 27/05/2024 10:52:47 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[paWcfSeInsMsvTrn_Facturas]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[paWcfSeInsMsvTrn_Facturas] GO /****** Object: StoredProcedure [dbo].[paWcfSeInsMsvOrdenPago] Script Date: 27/05/2024 10:52:47 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[paWcfSeInsMsvOrdenPago]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[paWcfSeInsMsvOrdenPago] GO /****** Object: StoredProcedure [dbo].[paWcfSeLisTrn_TraEspCuenta] Script Date: 22/05/2024 11:16:11 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[paWcfSeLisTrn_TraEspCuenta]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[paWcfSeLisTrn_TraEspCuenta] GO /****** Object: StoredProcedure [dbo].[paWcfSeLisTm_TraEspTempDetCons] Script Date: 22/05/2024 11:16:11 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[paWcfSeLisTm_TraEspTempDetCons]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[paWcfSeLisTm_TraEspTempDetCons] GO /****** Object: StoredProcedure [dbo].[paWcfSeLisTm_TraEspTempCargarDetCons] Script Date: 22/05/2024 11:16:11 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[paWcfSeLisTm_TraEspTempCargarDetCons]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[paWcfSeLisTm_TraEspTempCargarDetCons] GO /****** Object: StoredProcedure [dbo].[paWcfSeInsTrn_TraEspOrdenPagoGIE] Script Date: 22/05/2024 11:16:11 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[paWcfSeInsTrn_TraEspOrdenPagoGIE]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[paWcfSeInsTrn_TraEspOrdenPagoGIE] GO /****** Object: StoredProcedure [dbo].[paWcfSeInsTrn_TraEspDevOdpGIE] Script Date: 22/05/2024 11:16:11 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[paWcfSeInsTrn_TraEspDevOdpGIE]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[paWcfSeInsTrn_TraEspDevOdpGIE] GO /****** Object: StoredProcedure [dbo].[paWcfSeInsTrn_Facturas] Script Date: 22/05/2024 11:16:11 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[paWcfSeInsTrn_Facturas]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[paWcfSeInsTrn_Facturas] GO /****** Object: StoredProcedure [dbo].[paWcfSeInsTrn_DevFcr] Script Date: 22/05/2024 11:16:11 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[paWcfSeInsTrn_DevFcr]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[paWcfSeInsTrn_DevFcr] GO /****** Object: StoredProcedure [dbo].[paWcfSeInsTrn_DevFco] Script Date: 22/05/2024 11:16:11 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[paWcfSeInsTrn_DevFco]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[paWcfSeInsTrn_DevFco] GO /****** Object: StoredProcedure [dbo].[paWcfSeInsMsvTrn_DevFcr] Script Date: 22/05/2024 11:16:11 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[paWcfSeInsMsvTrn_DevFcr]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[paWcfSeInsMsvTrn_DevFcr] GO /****** Object: Table [dbo].[tm_TraEsDetConc] Script Date: 22/05/2024 11:16:11 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tm_TraEsDetConc]') AND type in (N'U')) DROP TABLE [dbo].[tm_TraEsDetConc] GO /****** Object: UserDefinedTableType [dbo].[wcfTempCausasionCuenta] Script Date: 22/05/2024 11:16:11 ******/ IF EXISTS (SELECT * FROM sys.types st JOIN sys.schemas ss ON st.schema_id = ss.schema_id WHERE st.name = N'wcfTempCausasionCuenta' AND ss.name = N'dbo') DROP TYPE [dbo].[wcfTempCausasionCuenta] GO /****** Object: UserDefinedTableType [dbo].[wcfItm_TraEsDetConc] Script Date: 22/05/2024 11:16:11 ******/ IF EXISTS (SELECT * FROM sys.types st JOIN sys.schemas ss ON st.schema_id = ss.schema_id WHERE st.name = N'wcfItm_TraEsDetConc' AND ss.name = N'dbo') DROP TYPE [dbo].[wcfItm_TraEsDetConc] GO /****** Object: UserDefinedTableType [dbo].[dataTypeTrn_Facturas] Script Date: 22/05/2024 11:16:11 ******/ IF EXISTS (SELECT * FROM sys.types st JOIN sys.schemas ss ON st.schema_id = ss.schema_id WHERE st.name = N'dataTypeTrn_Facturas' AND ss.name = N'dbo') DROP TYPE [dbo].[dataTypeTrn_Facturas] GO /****** Object: UserDefinedTableType [dbo].[dataTypeTrn_DevFcr] Script Date: 22/05/2024 11:16:11 ******/ IF EXISTS (SELECT * FROM sys.types st JOIN sys.schemas ss ON st.schema_id = ss.schema_id WHERE st.name = N'dataTypeTrn_DevFcr' AND ss.name = N'dbo') DROP TYPE [dbo].[dataTypeTrn_DevFcr] GO /****** Object: UserDefinedTableType [dbo].[dataTypeTrn_DevFco] Script Date: 22/05/2024 11:16:11 ******/ IF EXISTS (SELECT * FROM sys.types st JOIN sys.schemas ss ON st.schema_id = ss.schema_id WHERE st.name = N'dataTypeTrn_DevFco' AND ss.name = N'dbo') DROP TYPE [dbo].[dataTypeTrn_DevFco] GO /****** Object: UserDefinedTableType [dbo].[dataTypeTrn_DetCuentas] Script Date: 22/05/2024 11:16:11 ******/ IF EXISTS (SELECT * FROM sys.types st JOIN sys.schemas ss ON st.schema_id = ss.schema_id WHERE st.name = N'dataTypeTrn_DetCuentas' AND ss.name = N'dbo') DROP TYPE [dbo].[dataTypeTrn_DetCuentas] GO /****** Object: UserDefinedTableType [dbo].[dataTypeTrn_DetCuentas] Script Date: 22/05/2024 11:16:11 ******/ CREATE TYPE [dbo].[dataTypeTrn_DetCuentas] AS TABLE( [TipDoc] [varchar](3) NULL, [Documento] [int] NULL, [IdCia] [char](2) NULL, [Concepto] [varchar](10) NULL, [Item] [int] NULL, [IdCuenta] [varchar](16) NULL, [Valor] [money] NULL, [Detalle] [varchar](150) NULL, [IdTercero] [varchar](16) NULL, [CodAgncia] [varchar](16) NULL, [CdCCosto] [varchar](16) NULL, [CdSubCos] [varchar](16) NULL, [pVehiculo] [varchar](10) NULL, [VrBase] [money] NULL, [TipFac] [varchar](3) NULL, [Factura] [varchar](15) NULL, [IdCiaFac] [char](2) NULL, [ItemFac] [int] NULL, [FecVence] [smalldatetime] NULL, [Cheque] [varchar](20) NULL, [CiuOrigen] [varchar](8) NULL, [Referencia] [varchar](50) NULL, [VrTarifa] [decimal](14, 4) NULL, [TipoTarif] [char](1) NULL, [CodConc] [varchar](4) NULL, [CodTarif] [varchar](4) NULL ) GO /****** Object: UserDefinedTableType [dbo].[dataTypeTrn_DevFco] Script Date: 22/05/2024 11:16:11 ******/ CREATE TYPE [dbo].[dataTypeTrn_DevFco] AS TABLE( [TipDev] [varchar](3) NULL, [Devolucion] [int] NULL, [IdCia] [char](2) NULL, [Fecha] [smalldatetime] NULL, [IdConcepto] [varchar](4) NULL, [TipDoc] [varchar](3) NULL, [Factura] [int] NULL, [IdCiaDoc] [char](2) NULL, [FecDoc] [smalldatetime] NULL, [nClieCon] [varchar](16) NULL, [VrSubTotal] [money] NULL, [VrDescuento] [money] NULL, [VrImpuesto] [money] NULL, [VrRetencion] [money] NULL, [VrReteICA] [money] NULL, [VrReteIVA] [money] NULL, [VrFletes] [money] NULL, [VrCargos] [money] NULL, [VrOtrDcto] [money] NULL, [VrCostos] [money] NULL, [VrNeto] [money] NULL, [VrEfectivo] [money] NULL, [VrPagosOtr] [money] NULL, [Cantidad] [decimal](14, 4) NULL, [CantPuntos] [decimal](14, 4) NULL, [BaseImp] [money] NULL, [BaseRet] [money] NULL, [IdCajero] [varchar](11) NULL, [IdVend] [varchar](16) NULL, [TarifaCom] [decimal](14, 4) NULL, [CodTarCom] [varchar](4) NULL, [NitCliente] [varchar](16) NULL, [CdAgencia] [varchar](16) NULL, [IdCCosto] [varchar](16) NULL, [IdSubCos] [varchar](16) NULL, [IdLocal] [varchar](8) NULL, [EnEfectivo] [bit] NULL, [Pedido] [int] NULL, [IdCiaPed] [char](2) NULL, [Remision] [int] NULL, [IdCiaRem] [char](2) NULL, [FecPedido] [smalldatetime] NULL, [Modalidad] [varchar](10) NULL, [ModdDev] [varchar](10) NULL, [NumAutoriza] [int] NULL, [PlacaVehic] [varchar](10) NULL, [KmtVehic] [int] NULL, [OrigenAdd] [varchar](10) NULL, [TipCom] [varchar](3) NULL, [Comprobante] [int] NULL, [IdCiaCom] [char](2) NULL, [Observacion] [varchar](250) NULL, [IdEstado] [varchar](4) NULL, [TimeSys] [smalldatetime] NULL, [FecUpdate] [smalldatetime] NULL, [IdCiaCrea] [char](2) NULL, [IdUsuario] [varchar](11) NULL, [VrImpCons] [money] NULL, [VrReteCREE] [money] NULL, [TarifaRtc] [decimal](14, 4) NULL, [CodTarRtc] [varchar](4) NULL, [BaseIvaObsq] [money] NULL, [VrIvaObsequio] [money] NULL ) GO /****** Object: UserDefinedTableType [dbo].[dataTypeTrn_DevFcr] Script Date: 22/05/2024 11:16:11 ******/ CREATE TYPE [dbo].[dataTypeTrn_DevFcr] AS TABLE( [TipDev] [varchar](3) NOT NULL, [Devolucion] [int] NOT NULL, [IdCia] [char](2) NOT NULL, [Fecha] [smalldatetime] NOT NULL, [IdConcepto] [varchar](4) NOT NULL, [TipDoc] [varchar](3) NOT NULL, [Factura] [int] NOT NULL, [IdCiaDoc] [char](2) NOT NULL, [FecDoc] [smalldatetime] NOT NULL, [IdCliente] [varchar](16) NOT NULL, [IdAgencia] [varchar](16) NOT NULL, [VrSubTotal] [money] NOT NULL, [VrDescuento] [money] NOT NULL, [VrImpuesto] [money] NOT NULL, [VrRetencion] [money] NOT NULL, [VrReteICA] [money] NOT NULL, [VrReteIVA] [money] NOT NULL, [VrFletes] [money] NOT NULL, [VrOtros] [money] NOT NULL, [VrCargos] [money] NOT NULL, [VrOtrDcto] [money] NOT NULL, [VrCostos] [money] NOT NULL, [VrSobretasa] [money] NOT NULL, [VrImpGlobal] [money] NOT NULL, [VrFaltantes] [money] NOT NULL, [VrAnticipos] [money] NOT NULL, [VrNeto] [money] NOT NULL, [Cantidad] [decimal](14, 4) NOT NULL, [CantPuntos] [decimal](14, 4) NOT NULL, [BaseImp] [money] NOT NULL, [BaseRet] [money] NOT NULL, [IdCCosto] [varchar](16) NOT NULL, [IdSubCos] [varchar](16) NOT NULL, [IdVend] [varchar](16) NOT NULL, [TarifaCom] [decimal](14, 4) NOT NULL, [CodTarCom] [varchar](4) NULL, [IdLocEnv] [varchar](8) NOT NULL, [Pedido] [int] NOT NULL, [IdCiaPed] [char](2) NOT NULL, [Remision] [int] NOT NULL, [IdCiaRem] [char](2) NOT NULL, [Cotizacion] [int] NOT NULL, [IdCiaCot] [char](2) NOT NULL, [FecPedido] [smalldatetime] NULL, [Modalidad] [varchar](10) NOT NULL, [ModdDev] [varchar](10) NOT NULL, [PlacaVehic] [varchar](10) NULL, [KmtVehic] [int] NOT NULL, [ZonaFrontera] [int] NOT NULL, [OrigenAdd] [varchar](10) NOT NULL, [TipCom] [varchar](3) NOT NULL, [Comprobante] [int] NOT NULL, [IdCiaCom] [char](2) NOT NULL, [Observacion] [varchar](250) NULL, [IdEstado] [varchar](4) NOT NULL, [TimeSys] [smalldatetime] NOT NULL, [FecUpdate] [smalldatetime] NULL, [IdCiaCrea] [char](2) NOT NULL, [IdUsuario] [varchar](11) NOT NULL, [VrImpCons] [money] NOT NULL, [VrReteCREE] [money] NOT NULL, [TarifaRtc] [decimal](14, 4) NOT NULL, [CodTarRtc] [varchar](4) NULL, [BaseIvaObsq] [money] NOT NULL, [VrIvaObsequio] [money] NOT NULL, [VrImpCarbono] [money] NOT NULL, [DevMasivo] [int] NOT NULL, [NumRecibo] [int] NOT NULL, [CdCiaRec] [char](2) NULL, [CdMotDev] [varchar](4) NULL, [BaseIvaIgp] [money] NOT NULL, [VrIvaIngProd] [money] NOT NULL, [TarifaArf] [decimal](14, 4) NOT NULL, [VrAutRetFte] [money] NOT NULL, [TarifaAri] [decimal](14, 4) NOT NULL, [VrAutRetIca] [money] NOT NULL, [VrImpuBA] [money] NOT NULL, [VrImpuCUP] [money] NOT NULL, [ImpAviTab] [money] NULL, [TarifaAvta] [decimal](14, 4) NULL, [VrBomberil] [money] NULL, [TarifaBom] [decimal](14, 4) NULL, [VrAutRetIat] [money] NULL, [VrAutRetBom] [money] NULL ) GO /****** Object: UserDefinedTableType [dbo].[dataTypeTrn_Facturas] Script Date: 22/05/2024 11:16:11 ******/ CREATE TYPE [dbo].[dataTypeTrn_Facturas] AS TABLE( [TipDoc] [varchar](3) NULL, [Factura] [int] NULL, [IdCia] [char](2) NULL, [Fecha] [smalldatetime] NULL, [IdConcepto] [varchar](4) NULL, [IdCliente] [varchar](16) NULL, [IdAgencia] [varchar](16) NULL, [FechaVence] [smalldatetime] NULL, [VrSubTotal] [money] NULL, [VrDescuento] [money] NULL, [VrImpuesto] [money] NULL, [VrRetencion] [money] NULL, [VrReteICA] [money] NULL, [VrReteIVA] [money] NULL, [VrFletes] [money] NULL, [VrOtros] [money] NULL, [VrCargos] [money] NULL, [VrOtrDcto] [money] NULL, [VrCostos] [money] NULL, [VrSobretasa] [money] NULL, [VrImpGlobal] [money] NULL, [VrFaltantes] [money] NULL, [VrAnticipos] [money] NULL, [VrNeto] [money] NULL, [VrAplicado] [money] NULL, [Cantidad] [decimal](14, 4) NULL, [CantPuntos] [decimal](14, 4) NULL, [PuntosAcum] [decimal](14, 4) NULL, [BaseImp] [money] NULL, [BaseRet] [money] NULL, [BaseIca] [money] NULL, [BaseRiv] [money] NULL, [TarifaIva] [decimal](14, 4) NULL, [TarifaRet] [decimal](14, 4) NULL, [TarifaIca] [decimal](14, 4) NULL, [TarifaRiv] [decimal](14, 4) NULL, [CodTarIva] [varchar](4) NULL, [CodTarRet] [varchar](4) NULL, [CodTarIca] [varchar](4) NULL, [CodTarRiv] [varchar](4) NULL, [IdCCosto] [varchar](16) NULL, [IdSubCos] [varchar](16) NULL, [IdVend] [varchar](16) NULL, [TarifaCom] [decimal](14, 4) NULL, [CodTarCom] [varchar](4) NULL, [DirEnvio] [varchar](250) NULL, [IdLocEnv] [varchar](8) NULL, [DiasEntraga] [int] NULL, [NitContac] [varchar](16) NULL, [NomContac] [varchar](150) NULL, [TelContac] [varchar](20) NULL, [emlContac] [varchar](100) NULL, [CargoContac] [varchar](50) NULL, [IdForma] [varchar](4) NULL, [DetallePago] [varchar](100) NULL, [MulPlazos] [bit] NULL, [IdPlazo] [varchar](4) NULL, [CdMney] [varchar](5) NULL, [NitEmpTrans] [varchar](16) NULL, [EmpTrans] [varchar](150) NULL, [pVehiculo] [varchar](10) NULL, [CdConductor] [varchar](16) NULL, [CdRuta] [varchar](4) NULL, [TipPed] [varchar](3) NULL, [Pedido] [int] NULL, [IdCiaPed] [char](2) NULL, [TipRem] [varchar](3) NULL, [Remision] [int] NULL, [IdCiaRem] [char](2) NULL, [TipCot] [varchar](3) NULL, [Cotizacion] [int] NULL, [IdCiaCot] [char](2) NULL, [FecPedido] [smalldatetime] NULL, [AutzaMora] [int] NULL, [AutzaCupo] [int] NULL, [Modalidad] [varchar](10) NULL, [KmtVehic] [int] NULL, [ZonaFrontera] [int] NULL, [PesoTotal] [decimal](14, 4) NULL, [UnidTotal] [decimal](14, 4) NULL, [VolTotal] [decimal](14, 4) NULL, [CantFalt] [decimal](14, 4) NULL, [VrCostoRem] [money] NULL, [VrCostoAfi] [money] NULL, [CodAutoRet] [varchar](4) NULL, [OrigenAdd] [varchar](10) NULL, [TipCom] [varchar](3) NULL, [Comprobante] [int] NULL, [IdCiaCom] [char](2) NULL, [Anulado] [bit] NULL, [NumDev] [int] NULL, [FecDev] [smalldatetime] NULL, [Observacion] [varchar](250) NULL, [IdEstado] [varchar](4) NULL, [TimeSys] [smalldatetime] NULL, [FecUpdate] [smalldatetime] NULL, [IdCiaCrea] [char](2) NULL, [IdUsuario] [varchar](11) NULL, [VrImpCons] [money] NULL, [VrReteCREE] [money] NULL, [TarifaRtc] [decimal](14, 4) NULL, [CodTarRtc] [varchar](4) NULL, [Parqueadero] [bit] NULL, [FecCuotaParq] [smalldatetime] NULL, [BaseIvaObsq] [money] NULL, [VrIvaObsequio] [money] NULL, [VrImpCarbono] [money] NULL, [TipoFE] [varchar](3) NULL, [FechaFE] [smalldatetime] NULL, [BaseIvaIgp] [money] NULL, [VrIvaIngProd] [money] NULL, [CodTarArf] [varchar](4) NULL, [TarifaArf] [decimal](14, 4) NOT NULL, [VrAutRetFte] [money] NOT NULL, [CodTarAri] [varchar](4) NULL, [TarifaAri] [decimal](14, 4) NOT NULL, [VrAutRetIca] [money] NOT NULL, [CodigoPreFact] [varchar](3) NULL ) GO /****** Object: UserDefinedTableType [dbo].[wcfItm_TraEsDetConc] Script Date: 22/05/2024 11:16:11 ******/ CREATE TYPE [dbo].[wcfItm_TraEsDetConc] AS TABLE( [TipDoc] [varchar](50) NULL, [Causacion] [varchar](50) NULL, [IdCia] [varchar](50) NULL, [Item] [varchar](50) NULL, [IdConcepto] [varchar](50) NULL, [Descripcion] [varchar](255) NULL, [TipoConc] [varchar](50) NULL, [VrDebito] [varchar](50) NULL, [VrCredito] [varchar](50) NULL, [CdCuenta] [varchar](50) NULL, [NitTercero] [varchar](50) NULL, [RazonSocial] [varchar](255) NULL, [CdCCosto] [varchar](50) NULL, [CCosto] [varchar](255) NULL, [CdSubCos] [varchar](50) NULL, [SubCosto] [varchar](255) NULL, [pVehiculo] [varchar](50) NULL, [NumVeh] [varchar](50) NULL, [ClaseMat] [varchar](50) NULL, [TipoAfiVehic] [varchar](50) NULL, [VrBase] [varchar](50) NULL, [TarifBase] [varchar](50) NULL, [Referencia] [varchar](50) NULL, [TipDocRef] [varchar](50) NULL, [DocRef] [varchar](50) NULL, [TipFac] [varchar](50) NULL, [Factura] [varchar](50) NULL, [IdCiaFac] [varchar](50) NULL, [ItemFac] [varchar](50) NULL, [FecVence] [datetime] NULL, [EstadoReg] [varchar](50) NULL, [TipoLiq] [varchar](50) NULL, [NumLiquida] [varchar](50) NULL, [CiaLiquida] [varchar](50) NULL, [VrAbonado] [varchar](50) NULL, [TmNumero] [varchar](10) NULL ) GO /****** Object: UserDefinedTableType [dbo].[wcfTempCausasionCuenta] Script Date: 22/05/2024 11:16:11 ******/ CREATE TYPE [dbo].[wcfTempCausasionCuenta] AS TABLE( [TipDoc] [varchar](3) NOT NULL, [Causacion] [int] NOT NULL, [IdCia] [char](2) NOT NULL, [Item] [int] NOT NULL, [IdConcepto] [varchar](4) NOT NULL, [Descripcion] [varchar](250) NOT NULL, [TipoConc] [varchar](10) NOT NULL, [VrDebito] [money] NOT NULL, [VrCredito] [money] NOT NULL, [CdCuenta] [varchar](16) NOT NULL, [NitTercero] [varchar](16) NOT NULL, [CdCCosto] [varchar](16) NULL, [CdSubCos] [varchar](16) NULL, [pVehiculo] [varchar](10) NULL, [TipoAfiVehic] [varchar](10) NOT NULL, [VrBase] [money] NOT NULL, [TarifBase] [decimal](14, 4) NOT NULL, [Referencia] [varchar](50) NULL, [TipDocRef] [varchar](3) NULL, [DocRef] [int] NOT NULL, [TipFac] [varchar](3) NULL, [Factura] [varchar](15) NULL, [IdCiaFac] [char](2) NULL, [ItemFac] [int] NOT NULL, [FecVence] [smalldatetime] NOT NULL, [EstadoReg] [int] NOT NULL, [TipoLiq] [varchar](3) NULL, [NumLiquida] [int] NOT NULL, [CiaLiquida] [char](2) NULL, [VrAbonado] [money] NOT NULL ) GO /****** Object: Table [dbo].[tm_TraEsDetConc] Script Date: 22/05/2024 11:16:11 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[tm_TraEsDetConc]( [TmNumero] [varchar](5) NULL, [TipDoc] [varchar](50) NULL, [Causacion] [int] NULL, [IdCia] [varchar](50) NULL, [Item] [int] NULL, [IdConcepto] [varchar](50) NULL, [Descripcion] [varchar](255) NULL, [TipoConc] [varchar](50) NULL, [VrDebito] [decimal](18, 4) NULL, [VrCredito] [decimal](18, 4) NULL, [CdCuenta] [varchar](50) NULL, [NitTercero] [varchar](50) NULL, [RazonSocial] [varchar](255) NULL, [CdCCosto] [varchar](50) NULL, [CCosto] [varchar](255) NULL, [CdSubCos] [varchar](50) NULL, [SubCosto] [varchar](255) NULL, [pVehiculo] [varchar](50) NULL, [NumVeh] [varchar](50) NULL, [ClaseMat] [varchar](50) NULL, [TipoAfiVehic] [varchar](50) NULL, [VrBase] [decimal](18, 4) NULL, [TarifBase] [decimal](18, 4) NULL, [Referencia] [varchar](50) NULL, [TipDocRef] [varchar](50) NULL, [DocRef] [int] NULL, [TipFac] [varchar](50) NULL, [Factura] [varchar](50) NULL, [IdCiaFac] [varchar](50) NULL, [ItemFac] [int] NULL, [FecVence] [datetime] NULL, [EstadoReg] [int] NULL, [TipoLiq] [varchar](50) NULL, [NumLiquida] [int] NULL, [CiaLiquida] [varchar](50) NULL, [VrAbonado] [decimal](18, 4) NULL ) ON [PRIMARY] GO /****** Object: StoredProcedure [dbo].[paWcfSeInsMsvTrn_DevFcr] Script Date: 22/05/2024 11:16:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[paWcfSeInsMsvTrn_DevFcr] @Trn_DevFcr [dbo].[dataTypeTrn_DevFcr] READONLY, @Trn_TraEspFacReservas [dbo].[dataTypeTrn_TraEspFacReservas] READONLY, @Trn_RecAfavor [dbo].[dataTypeTrn_RecAfavor] READONLY, @Trn_VencAbonos [dbo].[dataTypeTrn_VencAbonos] READONLY, @Trn_DocMemo [dbo].[dataTypeTrn_DocMemo] READONLY, @Trn_DetCuentas [dbo].[dataTypeTrn_DetCuentas] READONLY, @Trn_Comprobantes [dbo].[dataTypeTrn_Comprobantes] READONLY, @Trn_ComDetalle [dbo].[dataTypeTrn_ComDetalle] READONLY, @Trn_NiifComp [dbo].[dataTypeNiifComp] READONLY, @Trn_NiifDetalle [dbo].[dataTypeNiifDetalle] READONLY, @operacion [varchar](1) WITH EXECUTE AS CALLER AS DECLARE @Comprobante INT = 0 --Esta variable guarda el número consecutivo del comprobante DECLARE @TipComp VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante DECLARE @IdCiaComp VARCHAR(4) = '00' --Esta variable guarda la compañia del comprobante DECLARE @CompNiif INT = 0 --Esta variable guarda el número consecutivo del comprobante Niif DECLARE @TipCompNiif VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante Niif DECLARE @IdCiaCompNiif VARCHAR(4) = '00'--Esta variable guarda la compañia del comprobante Niif DECLARE @CompFis INT = 0 --Esta variable guarda el número consecutivo de comprobante Fiscal DECLARE @TipCompFis VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante Fiscal DECLARE @IdCiaCompFis VARCHAR(4) = '00' --Esta variable guarda la compañia del comprobante Fiscal DECLARE @TipDoc VARCHAR(3) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @Cia VARCHAR(2) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @Numero INT --En esta variable se guarda el consecutivo del documento aprobación BEGIN TRAN BEGIN TRY CREATE TABLE #LogTraEspFacturas( Numero int NOT NULL DEFAULT ((0)), Fecha smalldatetime NOT NULL, EstadoProc int NOT NULL DEFAULT ((0)), Observacion varchar(250) NULL, TimeSys smalldatetime NOT NULL, IdUsuario varchar(11) NOT NULL, Nombre varchar(50) NOT NULL, Tipo varchar(10) NOT NULL ) CREATE TABLE #LogTraEspFacReservas( Numero int NOT NULL, Item int NOT NULL, TipFac varchar(3) NOT NULL, Factura int NOT NULL, IdCia char(2) NOT NULL, TipoReg int NOT NULL DEFAULT ((0)), FechaFact smalldatetime NOT NULL, TipRes varchar(3) NOT NULL DEFAULT ('RES'), Reserva int NOT NULL DEFAULT ((0)), IdCiaRes char(2) NOT NULL DEFAULT ('01'), ItemRes int NOT NULL DEFAULT ((0)), FecReserva smalldatetime NOT NULL, Descripcion varchar(250) NOT NULL, Cantidad decimal(14, 4) NOT NULL DEFAULT ((0)), VrServicio money NOT NULL DEFAULT ((0)), VrUnitario money NOT NULL DEFAULT ((0)), VrCosto money NOT NULL DEFAULT ((0)), TarifaIva decimal(14, 4) NOT NULL DEFAULT ((0)), VrImpuesto money NOT NULL DEFAULT ((0)), TarifaDct decimal(14, 4) NOT NULL DEFAULT ((0)), VrDescuento money NOT NULL DEFAULT ((0)), DocCliente varchar(30) NOT NULL, Referencia1 varchar(50) NULL, Referencia2 varchar(50) NULL, Referencia3 varchar(50) NULL, CdConcepto varchar(4) NOT NULL, CdCCosto varchar(16) NULL, CdSubCos varchar(16) NULL, NitTercero varchar(16) NOT NULL DEFAULT ('0'), CdAgencia varchar(16) NOT NULL DEFAULT ('0'), pVehiculo varchar(10) NOT NULL DEFAULT ('0'), TipoAfiVehic varchar(10) NOT NULL DEFAULT ('TERCEROS'), IdOrigen varchar(8) NOT NULL, IdDestino varchar(8) NOT NULL, Anulado int NOT NULL DEFAULT ((0)), TipDocRef varchar(3) NULL, NumDocRef int NOT NULL DEFAULT ((0)), IdCiaRef char(2) NULL DEFAULT ('01'), FecDocRef smalldatetime NULL, CodTarDct varchar(4) NULL, CodTarRet varchar(4) NULL, CodTarIca varchar(4) NULL, TarifaRet decimal(14, 4) NOT NULL, VrRetencion money NOT NULL, TarifaIca decimal(14, 4) NOT NULL, VrReteIca money NOT NULL, Comentarios varchar(max) NULL ) declare @NumProc int = 1 declare @ItemProc int = 1 declare @TipDev varchar(3) declare @Devolucion INT declare @IdCia varchar(2) declare @TipFac varchar(3) declare @Factura INT declare @IdCiaDoc varchar(2) declare @Fecha datetime declare @observ varchar(250) declare @IdCliente varchar(16) declare @VrNeto money DECLARE @modalidad varchar(10) declare @fecdev smalldatetime DECLARE dvfactcursor CURSOR FOR SELECT TipDev,Devolucion,IdCia,TipDoc,Factura,IdCiaDoc,Fecha,IdCliente,VrNeto,Modalidad FROM @Trn_DevFcr OPEN dvfactcursor FETCH NEXT FROM dvfactcursor INTO @TipDev,@Devolucion,@IdCia, @TipFac,@Factura,@IdCiaDoc,@fecdev,@IdCliente,@VrNeto,@modalidad WHILE @@FETCH_STATUS = 0 BEGIN IF(@operacion = 'i') begin SELECT TOP 1 @TipDoc = @TipDev, @Cia = @IdCia, @IdCiaComp = @IdCia, @IdCiaCompNiif = @IdCia, @IdCiaCompFis = @IdCia SELECT @Numero = Numero + 1 FROM TiposDocCons where IdDoc = @TipDoc AND IdCia = @Cia IF(@Numero > 0) UPDATE TiposDocCons SET Numero = @Numero WHERE IdDoc = @TipDoc AND IdCia = @Cia ELSE BEGIN SELECT @Numero = 1 INSERT INTO TiposDocCons VALUES (@TipDoc,@Cia,0,0,0,0,NULL,'',@Numero,0,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null,null,null) END IF(EXISTS(SELECT * FROM @Trn_Comprobantes)) BEGIN SELECT TOP 1 @TipComp = TipCom FROM @Trn_Comprobantes SELECT @Comprobante = Numero + 1 FROM TiposComCons where IdCom = @TipComp AND IdCia = @IdCiaComp --UPDATE TiposComCons SET Numero = @Comprobante WHERE IdCom = @TipComp AND IdCia = @IdCiaComp IF(@Comprobante <> '') UPDATE TiposComCons SET Numero = @Comprobante WHERE IdCom = @TipComp and IdCia = @IdCiaComp ELSE BEGIN SELECT @Comprobante = 1 INSERT INTO TiposComCons VALUES (@TipComp,@IdCiaComp,0,0,@Comprobante,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF')) BEGIN SELECT TOP 1 @TipCompNiif = TipCom FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF' SELECT @CompNiif = Numero + 1 FROM TiposComCons where IdCom = @TipCompNiif AND IdCia = @IdCiaCompNiif --UPDATE TiposComCons SET Numero = @CompNiif WHERE IdCom = @TipCompNiif AND IdCia = @IdCiaCompNiif IF(@CompNiif <> '') UPDATE TiposComCons SET Numero = @CompNiif WHERE IdCom = @TipCompNiif and IdCia = @IdCiaCompNiif ELSE BEGIN SELECT @CompNiif = 1 INSERT INTO TiposComCons VALUES (@TipCompNiif,@IdCiaCompNiif,0,0,@CompNiif,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL')) BEGIN SELECT TOP 1 @TipCompFis = TipCom FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL' SELECT @CompFis = Numero + 1 FROM TiposComCons where IdCom = @TipCompFis AND IdCia = @IdCiaCompFis --UPDATE TiposComCons SET Numero = @CompFis WHERE IdCom = @TipCompFis AND IdCia = @IdCiaCompFis IF(@CompNiif <> '') UPDATE TiposComCons SET Numero = @CompFis WHERE IdCom = @TipCompFis and IdCia = @IdCiaCompFis ELSE BEGIN SELECT @CompFis = 1 INSERT INTO TiposComCons VALUES (@TipCompFis,@IdCiaCompFis,0,0,@CompFis,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END end IF(@operacion = 'i') begin IF(EXISTS(SELECT * FROM @Trn_DevFcr)) BEGIN INSERT INTO Trn_DevFcr( TipDev, Devolucion, IdCia, Fecha, IdConcepto, TipDoc, Factura, IdCiaDoc, FecDoc, IdCliente, IdAgencia, VrSubTotal, VrDescuento, VrImpuesto, VrRetencion, VrReteICA, VrReteIVA, VrFletes, VrOtros, VrCargos, VrOtrDcto, VrCostos, VrSobretasa, VrImpGlobal, VrFaltantes, VrAnticipos, VrNeto, Cantidad, CantPuntos, BaseImp, BaseRet, IdCCosto, IdSubCos, IdVend, TarifaCom, CodTarCom, IdLocEnv, Pedido, IdCiaPed, Remision, IdCiaRem, Cotizacion, IdCiaCot, FecPedido, Modalidad, ModdDev, PlacaVehic, KmtVehic, ZonaFrontera, OrigenAdd, TipCom, Comprobante, IdCiaCom, Observacion, IdEstado, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, VrImpCons, VrReteCREE, TarifaRtc, CodTarRtc, BaseIvaObsq, VrIvaObsequio, VrImpCarbono, DevMasivo, NumRecibo, CdCiaRec, CdMotDev, BaseIvaIgp, VrIvaIngProd, TarifaArf, VrAutRetFte, TarifaAri, VrAutRetIca, VrImpuBA, VrImpuCUP ) SELECT @TipDoc, @Numero, @Cia, Fecha, IdConcepto, TipDoc, Factura, IdCiaDoc, FecDoc, IdCliente, IdAgencia, VrSubTotal, VrDescuento, VrImpuesto, VrRetencion,VrReteICA,VrReteIVA,VrFletes,VrOtros,VrCargos,VrOtrDcto,VrCostos,VrSobretasa,VrImpGlobal,VrFaltantes,VrAnticipos, VrNeto,Cantidad,CantPuntos,BaseImp,BaseRet,IdCCosto,IdSubCos,IdVend,TarifaCom,CodTarCom,IdLocEnv,Pedido,IdCiaPed,Remision, IdCiaRem,Cotizacion,IdCiaCot,FecPedido,Modalidad,ModdDev,PlacaVehic,KmtVehic,ZonaFrontera,OrigenAdd,@TipComp,@Comprobante,@IdCiaComp, Observacion,IdEstado,TimeSys,FecUpdate,IdCiaCrea,IdUsuario,VrImpCons,VrReteCREE,TarifaRtc,CodTarRtc,BaseIvaObsq,VrIvaObsequio, VrImpCarbono,DevMasivo,NumRecibo,CdCiaRec,CdMotDev,BaseIvaIgp,VrIvaIngProd,TarifaArf,VrAutRetFte,TarifaAri,VrAutRetIca, VrImpuBA,VrImpuCUP FROM @Trn_DevFcr df WHERE df.TipDev = @TipDev and df.Devolucion = @Devolucion and df.IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_TraEspFacReservas)) BEGIN INSERT INTO Trn_TraEspFacReservas( TipDoc,Factura,IdCia,Item,TipoReg,FechaFact,TipRes,Reserva,IdCiaRes,ItemRes,FecReserva,Descripcion,Cantidad,VrServicio,VrUnitario,VrCosto, TarifaIva,VrImpuesto,TarifaDct,VrDescuento,DocCliente,Referencia1,Referencia2,Referencia3,CdConcepto,CdCCosto,CdSubCos,NitTercero,CdAgencia, pVehiculo,TipoAfiVehic,IdOrigen,IdDestino,Anulado,TipDocRef,NumDocRef,IdCiaRef,FecDocRef,CodTarDct,CodTarRet,CodTarIca,TarifaRet,VrRetencion, TarifaIca,VrReteIca,EstadoItem ) SELECT @TipDoc,@Numero,@Cia,Item,TipoReg,FechaFact,TipRes,Reserva,IdCiaRes,ItemRes,FecReserva,Descripcion,Cantidad,VrServicio,VrUnitario,VrCosto, TarifaIva,VrImpuesto,TarifaDct,VrDescuento,DocCliente,Referencia1,Referencia2,Referencia3,CdConcepto,CdCCosto,CdSubCos,NitTercero,CdAgencia, pVehiculo,TipoAfiVehic,IdOrigen,IdDestino,Anulado,TipDocRef,NumDocRef,IdCiaRef,FecDocRef,CodTarDct,CodTarRet,CodTarIca,TarifaRet,VrRetencion, TarifaIca,VrReteIca,EstadoItem FROM @Trn_TraEspFacReservas dfr WHERE dfr.TipDoc = @TipDev and dfr.Factura = @Devolucion and dfr.IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_RecAFavor)) BEGIN INSERT INTO Trn_RecAFavor( TipDoc,Recibo,IdCia,Fecha,VrAFavor,VrOtrosDb,VrAbono,IdCliente,IdAgencia,IdVend ) SELECT @TipDev,@Devolucion,@IdCia,Fecha,VrAFavor,VrOtrosDb,VrAbono,IdCliente,IdAgencia,IdVend FROM @Trn_RecAFavor ra WHERE ra.TipDoc = @TipDev and ra.Recibo = @Devolucion and ra.IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_VencAbonos)) BEGIN declare @tiprec varchar(3) declare @recibo int declare @idciarec varchar(2) declare @item int SELECT TOP 1 @tiprec = TipRec, @idciarec = IdCia, @recibo = Recibo FROM @Trn_VencAbonos va where va.TipDoc = @TipFac and va.Factura = @Factura and va.IdCiaFac = @IdCiaDoc select @item = isnull(MAX(Item),0) from Trn_VencAbonos where TipRec = @tiprec and Recibo = @recibo and IdCia = @idciarec INSERT INTO Trn_VencAbonos( TipRec,Recibo,IdCia,Item,Fecha,TipDoc,Factura,IdCiaFac,ItemFac,VrAbono,VrDescto, VrBaseCms,IdCliente,IdAgencia,IdVend,Comision,Detalle,FecPago,TipoAplica,TimeSys ) SELECT @TipDoc,@Numero,@Cia,(@item + ROW_NUMBER() OVER(ORDER BY Item ASC)),Fecha,TipDoc,Factura,IdCiaFac,ItemFac,VrAbono,VrDescto, VrBaseCms,IdCliente,IdAgencia,IdVend,Comision,Detalle,FecPago,TipoAplica,TimeSys FROM @Trn_VencAbonos END IF(EXISTS(SELECT * FROM @Trn_DetCuentas)) BEGIN INSERT INTO Trn_DetCuentas( TipDoc,Documento,IdCia,Concepto,Item,IdCuenta,Valor,Detalle,IdTercero,CodAgncia,CdCCosto,CdSubCos,pVehiculo, VrBase,TipFac,Factura,IdCiaFac,ItemFac,FecVence,Cheque,CiuOrigen,Referencia,VrTarifa,TipoTarif,CodConc,CodTarif ) SELECT @TipDoc,@Numero,@Cia,Concepto,Item,IdCuenta,Valor,Detalle,IdTercero,CodAgncia,CdCCosto,CdSubCos,pVehiculo, VrBase,TipFac,Factura,IdCiaFac,ItemFac,FecVence,Cheque,CiuOrigen,Referencia,VrTarifa,TipoTarif,CodConc,CodTarif FROM @Trn_DetCuentas dc WHERE dc.TipDoc = @TipDev and dc.Documento = @Devolucion and dc.IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_DocMemo)) BEGIN INSERT INTO Trn_DocMemo( TipDoc,Documento,IdCia,Comentarios,Nota1,Nota2,Nota3,CantImp,ArchivoImg ) SELECT @TipDoc,@Numero,@Cia,Comentarios,Nota1,Nota2,Nota3,CantImp,ArchivoImg FROM @Trn_DocMemo dm WHERE dm.TipDoc = @TipDev and dm.Documento = @Devolucion and dm.IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_Comprobantes)) BEGIN INSERT INTO Trn_Comprobantes( TipCom, Comprobante, IdCia, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac, FechaAut, NiifTipo, NiifNumero, FisTipo, FisNumero, DocSoporte, CodRes, DescServicio ) SELECT @TipComp, @Comprobante, @IdCiaComp, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, @TipDoc, @Numero, @Cia, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac, FechaAut, @TipCompNiif, @CompNiif, @TipCompFis, @CompFis, DocSoporte, CodRes, DescServicio FROM @Trn_Comprobantes cp WHERE cp.TipDoc = @TipDev and cp.Documento = @Devolucion and cp.IdCiaDoc = @IdCia END IF(EXISTS(SELECT * FROM @Trn_ComDetalle)) BEGIN INSERT INTO Trn_ComDetalle( TipCom, Comprobante, IdCia, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo, IdCCosto, IdSubCos, VrBase, TarifaBase, TipDoc, Documento, IdCiaDoc, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza,CdCuentaNiif ) SELECT @TipComp, @Comprobante, @IdCiaComp, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo, IdCCosto, IdSubCos, VrBase, TarifaBase, @TipDoc, @Numero, @Cia, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza,CdCuentaNiif FROM @Trn_ComDetalle cd WHERE cd.TipDoc = @TipDev and cd.Documento = @Devolucion and cd.IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_NiifComp)) BEGIN INSERT INTO Trn_NiifComp( TipCom, Comprobante, IdCia, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, TipoNiif, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac,FechaAut, CtbTipo, CtbNumero, FisTipo, FisNumero ) SELECT CASE N.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE @TipCompFis END, CASE N.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE @CompFis END, @Cia, C.Fecha, C.IdTercero, C.VrTotal, C.IdCta, C.EnEfectivo, C.NumCheque, C.FecCheque, @TipDoc, @Numero, @Cia, C.Anulado, C.NumDev, C.FecDev, C.TipEgr, C.NEgreso, C.pVehiculo, C.VehPropio, C.CedCondtor, C.CodConce, C.Beneficiario, C.VrDivisa1, C.VrDivisa2, C.VrDivisa3, C.PermEditar, C.Integrado, C.EsEgreso, C.Anticipo, C.Observacion, C.IdEstado, C.Propddes, C.TimeSys, C.FecUpdate, C.IdCiaCrea, C.IdUsuario, N.TipoNiif, C.CdSustento, C.Tipo_Pago, C.Establec, C.PEmision, C.Autorizac, C.FechaAut, CASE N.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE NULL END, CASE N.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE 0 END, CASE N.TipoNiif WHEN 'FISCAL' THEN @TipCompFis ELSE NULL END, CASE N.TipoNiif WHEN 'FISCAL' THEN @CompFis ELSE 0 END FROM @Trn_Comprobantes AS C JOIN @Trn_NiifComp AS N ON C.TipCom = N.TipComCont AND C.Comprobante = N.ComprobanteCont where C.TipDoc = @TipDev and C.Documento = @Devolucion and C.IdCia = @IdCia and N.TipDoc = @TipDev and N.Documento = @Devolucion and N.IdCiaDoc = @IdCia END IF(EXISTS(SELECT * FROM @Trn_NiifDetalle)) BEGIN INSERT INTO Trn_NiifDetalle( TipCom, Comprobante, IdCia, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo,IdCCosto, IdSubCos, VrBase, TarifaBase, TipDoc, Documento, IdCiaDoc, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza, CodCuentaCG ) SELECT CASE NC.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE @TipCompFis END, CASE NC.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE @CompFis END, @Cia, N.Item, N.Fecha, N.IdCuenta, N.Detalle, N.VrDebito, N.VrCredito, N.IdTercero, N.IdVehiculo,N.IdCCosto, N.IdSubCos, N.VrBase, N.TarifaBase, @TipDoc,@Numero,@Cia, N.CodConce, N.NitDoc, N.TipFac, N.Factura, N.IdCiaFac, N.ItemFac, N.FecVence, N.CodCta, N.NumCheque, N.Integrado, N.TipoAplica, N.Consolida, N.CodCargo, N.NitOtros, N.CodSubgpo, N.CiuOrigen, N.CodAgncia, N.VehPropio, N.Referncia, N.TipDocRef, N.DocRef, N.IdCiaRef, N.TimeSys, N.FecUpdate, N.IdCiaCrea, N.IdUsuario, N.CdConcTrib, N.CdTarifTrib, N.NumEstablec, N.PtoEmision ,N.Num_Autoriza, N.FechAutoriza, N.CodCuentaCG FROM @Trn_NiifDetalle as N JOIN @Trn_NiifComp AS NC ON N.TipCom = NC.TipCom AND N.Comprobante = NC.Comprobante and NC.TipDoc = @TipDev and NC.Documento = @Devolucion and NC.IdCiaDoc = @IdCia where N.TipDoc = @TipDev and N.Documento = @Devolucion and N.IdCiaDoc = @IdCia END end IF(@operacion = 'i') begin --actualiza los items de las reservas con los que se relacionan en el tipo de datos nuevo de las facturasreservas UPDATE Trn_TraEspResDetalle SET Factura = 0, IdCiaFac = '00', FechaFac = null, EstadoItem = r.EstadoItem FROM Trn_TraEspResDetalle d, @Trn_TraEspFacReservas r WHERE d.TipDoc = r.TipRes and d.Reserva = r.Reserva and d.IdCia = r.IdCia and d.Item = r.ItemRes --ACTUALIZAR FACTURA IF(UPPER(@modalidad) = 'TOTAL') BEGIN UPDATE Trn_Facturas SET Anulado = 1,NumDev = @Numero,FecDev = @fecdev FROM Trn_Facturas F, @Trn_DevFcr DF WHERE F.TipDoc = DF.TipDoc AND F.Factura = DF.Factura AND F.IdCia = DF.IdCiaDoc END --actualiza el cliente UPDATE TercCliente SET VrSaldo = c.VrSaldo - f.VrNeto FROM TercCliente c, @Trn_DevFcr f WHERE c.IdClie = f.IdCliente --actualizar vencimientos,cuando es necesario IF(EXISTS(SELECT * FROM @Trn_VencAbonos)) BEGIN UPDATE Trn_Vencimientos SET VrAbonado = v.VrAbonado + dv.VrAbono FROM Trn_Vencimientos v, @Trn_VencAbonos dv WHERE v.TipDoc = dv.TipDoc and v.Factura = dv.Factura and v.IdCia = dv.IdCiaFac END end IF(@NumProc = @ItemProc) BEGIN select top 1 @observ = Observacion FROM @Trn_DevFcr WHERE TipDoc = @TipDev and Devolucion = @Devolucion and IdCia = @IdCia INSERT INTO #LogTraEspFacturas( Numero,Fecha,EstadoProc,Observacion,TimeSys,IdUsuario,Nombre,Tipo ) SELECT @NumProc,t1.Fecha,1,@observ,t1.TimeSys,t1.IdUsuario,u.Usuario,'DEVOLUCION' FROM @Trn_DevFcr as t1 left join adm_Usuarios u on u.IdUsuario = t1.IdUsuario WHERE t1.TipDev = @TipDev and t1.Devolucion = @Devolucion and t1.IdCia = @IdCia END SELECT @ItemProc = @ItemProc + 1 INSERT INTO #LogTraEspFacReservas( Numero,Item,TipFac,Factura,IdCia,Item,TipoReg,FechaFact,TipRes,Reserva,IdCiaRes,ItemRes,FecReserva,Descripcion,Cantidad,VrServicio,VrUnitario,VrCosto, TarifaIva,VrImpuesto,TarifaDct,VrDescuento,DocCliente,Referencia1,Referencia2,Referencia3,CdConcepto,CdCCosto,CdSubCos,NitTercero,CdAgencia, pVehiculo,TipoAfiVehic,IdOrigen,IdDestino,Anulado,TipDocRef,NumDocRef,IdCiaRef,FecDocRef,CodTarDct,CodTarRet,CodTarIca,TarifaRet,VrRetencion, TarifaIca,VrReteIca,Comentarios ) SELECT @NumProc,@item,TipDoc,Factura,IdCia,Item,TipoReg,FechaFact,TipRes,Reserva,IdCiaRes,ItemRes,FecReserva,Descripcion,Cantidad,VrServicio,VrUnitario,VrCosto, TarifaIva,VrImpuesto,TarifaDct,VrDescuento,DocCliente,Referencia1,Referencia2,Referencia3,CdConcepto,CdCCosto,CdSubCos,NitTercero,CdAgencia, pVehiculo,TipoAfiVehic,IdOrigen,IdDestino,Anulado,TipDocRef,NumDocRef,IdCiaRef,FecDocRef,CodTarDct,CodTarRet,CodTarIca,TarifaRet,VrRetencion, TarifaIca,VrReteIca,EstadoItem FROM Trn_TRaEspFAcReservas where TipDoc = @TipDoc and Factura = @Factura and IdCia = @IdCia FETCH NEXT FROM dvfactcursor INTO @TipDev,@Devolucion,@IdCia, @TipFac,@Factura,@IdCiaDoc,@fecdev,@IdCliente,@VrNeto,@modalidad END CLOSE dvfactcursor DEALLOCATE dvfactcursor SELECT * FROM #LogTraEspFacturas SELECT * FROM #LogTraEspFacReservas COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN DECLARE @ErrorMessage NVARCHAR(4000); DECLARE @ErrorSeverity INT; DECLARE @ErrorState INT; SELECT @ErrorMessage = ERROR_MESSAGE(), @ErrorSeverity = ERROR_SEVERITY(), @ErrorState = ERROR_STATE(); RAISERROR( @ErrorMessage, -- Message text. @ErrorSeverity, -- Severity. @ErrorState -- State. ); END CATCH RETURN 0 GO /****** Object: StoredProcedure [dbo].[paWcfSeInsTrn_DevFco] Script Date: 22/05/2024 11:16:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[paWcfSeInsTrn_DevFco] WITH EXECUTE AS CALLER AS DECLARE @Comprobante INT = 0 --Esta variable guarda el número consecutivo del comprobante DECLARE @TipComp VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante DECLARE @IdCiaComp VARCHAR(4) = '00' --Esta variable guarda la compañia del comprobante DECLARE @CompNiif INT = 0 --Esta variable guarda el número consecutivo del comprobante Niif DECLARE @TipCompNiif VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante Niif DECLARE @IdCiaCompNiif VARCHAR(4) = '00'--Esta variable guarda la compañia del comprobante Niif DECLARE @CompFis INT = 0 --Esta variable guarda el número consecutivo de comprobante Fiscal DECLARE @TipCompFis VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante Fiscal DECLARE @IdCiaCompFis VARCHAR(4) = '00' --Esta variable guarda la compañia del comprobante Fiscal DECLARE @TipDoc VARCHAR(3) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @Cia VARCHAR(2) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @Numero INT --En esta variable se guarda el consecutivo del documento aprobación BEGIN TRAN BEGIN TRY --SELECT TOP 1 @TipDoc = TipDoc, @Cia = IdCia, @IdCiaComp = IdCia, @IdCiaCompNiif = IdCia, @IdCiaCompFis = IdCia FROM @Trn_DevFco --SELECT @Numero = Numero + 1 FROM TiposDocCons where IdDoc = @TipDoc AND IdCia = @Cia --IF(@Numero > 0) -- UPDATE TiposDocCons SET Numero = @Numero WHERE IdDoc = @TipDoc AND IdCia = @Cia --ELSE --BEGIN -- SELECT @Numero = 1 -- INSERT INTO TiposDocCons VALUES (@TipDoc,@Cia,0,0,0,0,NULL,'',@Numero,0,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null) --END --IF(EXISTS(SELECT * FROM @Trn_Comprobantes)) --BEGIN -- SELECT TOP 1 @TipComp = TipCom FROM @Trn_Comprobantes -- SELECT @Comprobante = Numero + 1 FROM TiposComCons where IdCom = @TipComp AND IdCia = @IdCiaComp -- --UPDATE TiposComCons SET Numero = @Comprobante WHERE IdCom = @TipComp AND IdCia = @IdCiaComp -- IF(@Comprobante <> '') -- UPDATE TiposComCons SET Numero = @Comprobante WHERE IdCom = @TipComp and IdCia = @IdCiaComp -- ELSE -- BEGIN -- SELECT @Comprobante = 1 -- INSERT INTO TiposComCons VALUES (@TipComp,@IdCiaComp,0,0,@Comprobante,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null) -- END --END --IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF')) --BEGIN -- SELECT TOP 1 @TipCompNiif = TipCom FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF' -- SELECT @CompNiif = Numero + 1 FROM TiposComCons where IdCom = @TipCompNiif AND IdCia = @IdCiaCompNiif -- --UPDATE TiposComCons SET Numero = @CompNiif WHERE IdCom = @TipCompNiif AND IdCia = @IdCiaCompNiif -- IF(@CompNiif <> '') -- UPDATE TiposComCons SET Numero = @CompNiif WHERE IdCom = @TipCompNiif and IdCia = @IdCiaCompNiif -- ELSE -- BEGIN -- SELECT @CompNiif = 1 -- INSERT INTO TiposComCons VALUES (@TipCompNiif,@IdCiaCompNiif,0,0,@CompNiif,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null) -- END --END --IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL')) --BEGIN -- SELECT TOP 1 @TipCompFis = TipCom FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL' -- SELECT @CompFis = Numero + 1 FROM TiposComCons where IdCom = @TipCompFis AND IdCia = @IdCiaCompFis -- --UPDATE TiposComCons SET Numero = @CompFis WHERE IdCom = @TipCompFis AND IdCia = @IdCiaCompFis -- IF(@CompNiif <> '') -- UPDATE TiposComCons SET Numero = @CompFis WHERE IdCom = @TipCompFis and IdCia = @IdCiaCompFis -- ELSE -- BEGIN -- SELECT @CompFis = 1 -- INSERT INTO TiposComCons VALUES (@TipCompFis,@IdCiaCompFis,0,0,@CompFis,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null) -- END --END --IF(@operacion = 'i') --begin -- IF(EXISTS(SELECT * FROM @Trn_DevFco)) -- BEGIN -- INSERT INTO Trn_DevFco( -- TipDev,Devolucion,IdCia,Fecha,IdConcepto,TipDoc,Factura,IdCiaDoc,FecDoc,nClieCon,VrSubTotal,VrDescuento,VrImpuesto,VrRetencion, -- VrReteICA,VrReteIVA,VrFletes,VrCargos,VrOtrDcto,VrCostos,VrNeto,VrEfectivo,VrPagosOtr,Cantidad,CantPuntos,BaseImp,BaseRet,IdCajero, -- IdVend,TarifaCom,CodTarCom,NitCliente,CdAgencia,IdCCosto,IdSubCos,IdLocal,EnEfectivo,Pedido,IdCiaPed,Remision,IdCiaRem,FecPedido, -- Modalidad,ModdDev,NumAutoriza,PlacaVehic,KmtVehic,OrigenAdd,TipCom,Comprobante,IdCiaCom,Observacion,IdEstado,TimeSys,FecUpdate, -- IdCiaCrea,IdUsuario,VrImpCons,VrReteCREE,TarifaRtc,CodTarRtc,BaseIvaObsq,VrIvaObsequio -- ) -- SELECT -- @TipDoc,@Numero,@Cia,Fecha,IdConcepto,TipDoc,Factura,IdCiaDoc,FecDoc,nClieCon,VrSubTotal,VrDescuento,VrImpuesto,VrRetencion, -- VrReteICA,VrReteIVA,VrFletes,VrCargos,VrOtrDcto,VrCostos,VrNeto,VrEfectivo,VrPagosOtr,Cantidad,CantPuntos,BaseImp,BaseRet,IdCajero, -- IdVend,TarifaCom,CodTarCom,NitCliente,CdAgencia,IdCCosto,IdSubCos,IdLocal,EnEfectivo,Pedido,IdCiaPed,Remision,IdCiaRem,FecPedido, -- Modalidad,ModdDev,NumAutoriza,PlacaVehic,KmtVehic,OrigenAdd,TipCom,Comprobante,IdCiaCom,Observacion,IdEstado,TimeSys,FecUpdate, -- IdCiaCrea,IdUsuario,VrImpCons,VrReteCREE,TarifaRtc,CodTarRtc,BaseIvaObsq,VrIvaObsequio -- FROM @Trn_DevFco -- END -- IF(EXISTS(SELECT * FROM @Trn_FacReservas)) -- BEGIN -- INSERT INTO Trn_TraEspFacReservas( -- TipDoc,Factura,IdCia,Item,FechaFact,TipRes,Reserva,IdCiaRes,ItemRes,FecReserva,Descripcion,Cantidad,VrServicio,VrUnitario,VrCosto,UndTarifa, -- TarifaIva,VrImpuesto,TarifaDct,VrDescuento,DocCliente,Referencia1,Referencia2,Referencia3,CdConcepto,CdCCosto,CdSubCos,NitTercero,CdAgencia, -- pVehiculo,TipoAfiVehic,IdOrigen,IdDestino,Anulado,TipDocRef,NumDocRef,IdCiaRef,FecDocRef,CodTarDct -- ) -- SELECT -- @TipDoc,@Numero,@Cia,Item,FechaFact,TipRes,Reserva,IdCiaRes,ItemRes,FecReserva,Descripcion,Cantidad,VrServicio,VrUnitario,VrCosto,UndTarifa, -- TarifaIva,VrImpuesto,TarifaDct,VrDescuento,DocCliente,Referencia1,Referencia2,Referencia3,CdConcepto,CdCCosto,CdSubCos,NitTercero,CdAgencia, -- pVehiculo,TipoAfiVehic,IdOrigen,IdDestino,Anulado,TipDocRef,NumDocRef,IdCiaRef,FecDocRef,CodTarDct -- FROM @Trn_FacReservas -- END -- IF(EXISTS(SELECT * FROM @Trn_Kardex)) -- BEGIN -- INSERT INTO Trn_Kardex( -- TipDoc,Documento,IdCia,Item,Fecha,IdProducto,IdBodega,CdTanque,Entradas,Salidas,IdUnd,VrUnitario,VrPrecio,VrCostProm, -- TarifaIva,VrIvaEnt,VrIvaSal,TarifaDct,VrDctoEnt,VrDctoSal,VrCostoEnt,VrCostoSal,TarifaRet,VrReteEnt,VrReteSal,TarifaIca, -- VrIcaEnt,VrIcaSal,VrBruto,CdUbic,NumLote,FechLote,IdConcepto,IdTercero,CdAgencia,CdCCosto,CdSubCos,CdLocal,CdSzona,pVehiculo, -- IdVend,Comision,CdOperario,ComisnOper,Referencia,Descripcion,Comptmntos,CdProdEquiv,TipOrd,NumOrden,IdCiaOrd,Cotizacion, -- IdCiaCot,Remision,IdCiaRem,Factura,TipDocDev,NumDocDev,CdMngra,NumInicial,NumFinal,Sobretasa,TasaNac,TasaDep,TasaMun,Soldicom, -- ImpGlobal,OtroImpto,Unidades,ItemCombo,Servcios,NoVentas,EsCombo,EsProdBase,CodTarDct,CodTarIva,CodTarIca,CodTarRet,CodTarCom, -- CodTarCmc,ListaPrec,VrBase,CdMoneda,VrTasaCamb,VrDivisa1,VrDivisa2,VrDivisa3,Referencia2,FecOrden,galsbruto,galsneto, -- Temperatura,UmTemp,Densidad,TimeSys,IdUsuario,Rec_Costo,MgenCont,VrImvCosto,TarifaIco,VrImpCon,CantObseq,VrIvaObseq -- ) -- SELECT -- @TipDoc,@Numero,@Cia,Item,Fecha,IdProducto,IdBodega,CdTanque,Entradas,Salidas,IdUnd,VrUnitario,VrPrecio,VrCostProm, -- TarifaIva,VrIvaEnt,VrIvaSal,TarifaDct,VrDctoEnt,VrDctoSal,VrCostoEnt,VrCostoSal,TarifaRet,VrReteEnt,VrReteSal,TarifaIca, -- VrIcaEnt,VrIcaSal,VrBruto,CdUbic,NumLote,FechLote,IdConcepto,IdTercero,CdAgencia,CdCCosto,CdSubCos,CdLocal,CdSzona,pVehiculo, -- IdVend,Comision,CdOperario,ComisnOper,Referencia,Descripcion,Comptmntos,CdProdEquiv,TipOrd,NumOrden,IdCiaOrd,Cotizacion, -- IdCiaCot,Remision,IdCiaRem,Factura,TipDocDev,NumDocDev,CdMngra,NumInicial,NumFinal,Sobretasa,TasaNac,TasaDep,TasaMun,Soldicom, -- ImpGlobal,OtroImpto,Unidades,ItemCombo,Servcios,NoVentas,EsCombo,EsProdBase,CodTarDct,CodTarIva,CodTarIca,CodTarRet,CodTarCom, -- CodTarCmc,ListaPrec,VrBase,CdMoneda,VrTasaCamb,VrDivisa1,VrDivisa2,VrDivisa3,Referencia2,FecOrden,galsbruto,galsneto, -- Temperatura,UmTemp,Densidad,TimeSys,IdUsuario,Rec_Costo,MgenCont,VrImvCosto,TarifaIco,VrImpCon,CantObseq,VrIvaObseq -- FROM @Trn_Kardex -- END -- IF(EXISTS(SELECT * FROM @Trn_Pagos)) -- BEGIN -- INSERT INTO Trn_Pagos( -- TipDoc,Documento,IdCia,Item,Fecha,IdForma,Detalle,VrPagado,VrCambio,EsCaja,IdBanco,NitCliente,CdAgencia,NumForma,FecForma, -- CtaForma,Beneficiario,Referncia1,Referncia2,CdLocal,NumAutoriza,VrDenom,Cantidad,TipDenom,TipRef,DocRef,IdCiaRef,ItemDoc, -- CdCta,IdUsuario -- ) -- SELECT -- @TipDoc,@Numero,@Cia,Item,Fecha,IdForma,Detalle,VrPagado,VrCambio,EsCaja,IdBanco,NitCliente,CdAgencia,NumForma,FecForma, -- CtaForma,Beneficiario,Referncia1,Referncia2,CdLocal,NumAutoriza,VrDenom,Cantidad,TipDenom,TipRef,DocRef,IdCiaRef,ItemDoc, -- CdCta,IdUsuario -- FROM @Trn_Pagos -- END -- IF(EXISTS(SELECT * FROM @Trn_DocMemo)) -- BEGIN -- INSERT INTO Trn_DocMemo( -- TipDoc,Documento,IdCia,Comentarios,Nota1,Nota2,Nota3,CantImp -- ) -- SELECT -- @TipDoc,@Numero,@Cia,Comentarios,Nota1,Nota2,Nota3,CantImp -- FROM @Trn_DocMemo -- END -- IF(EXISTS(SELECT * FROM @Trn_Comprobantes)) -- BEGIN -- INSERT INTO Trn_Comprobantes( -- TipCom, Comprobante, IdCia, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, -- NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, FecDev, -- TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, -- VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, -- Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdSustento, Tipo_Pago, Establec, -- PEmision, Autorizac, FechaAut, NiifTipo, NiifNumero, FisTipo, FisNumero -- ) -- SELECT -- @TipComp, @Comprobante, @IdCiaComp, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, -- NumCheque, FecCheque, @TipDoc, @Numero, @Cia, Anulado, NumDev, FecDev, -- TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, -- VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, -- Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdSustento, Tipo_Pago, Establec, -- PEmision, Autorizac, FechaAut, @TipCompNiif, @CompNiif, @TipCompFis, @CompFis -- FROM @Trn_Comprobantes -- END -- IF(EXISTS(SELECT * FROM @Trn_ComDetalle)) -- BEGIN -- INSERT INTO Trn_ComDetalle( -- TipCom, Comprobante, IdCia, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, -- IdTercero, IdVehiculo, IdCCosto, IdSubCos, VrBase, TarifaBase, TipDoc, Documento, -- IdCiaDoc, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, -- NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, -- CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, -- IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza,CdCuentaNiif -- ) -- SELECT -- @TipComp, @Comprobante, @IdCiaComp, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, -- IdTercero, IdVehiculo, IdCCosto, IdSubCos, VrBase, TarifaBase, @TipDoc, @Numero, @Cia, -- CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, -- NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, -- CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, -- IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza,CdCuentaNiif -- FROM @Trn_ComDetalle -- END -- IF(EXISTS(SELECT * FROM @Trn_NiifComp)) -- BEGIN -- INSERT INTO Trn_NiifComp( -- TipCom, Comprobante, IdCia, Fecha, IdTercero, VrTotal, IdCta, -- EnEfectivo, NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, -- FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, -- VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, -- IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, TipoNiif, CdSustento, -- Tipo_Pago, Establec, PEmision, Autorizac,FechaAut, -- CtbTipo, CtbNumero, -- FisTipo, FisNumero -- ) -- SELECT -- CASE N.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE @TipCompFis END, CASE N.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE @CompFis END, CASE N.TipoNiif WHEN 'NIIF' THEN @IdCiaCompNiif ELSE @IdCiaCompFis END, C.Fecha, C.IdTercero, C.VrTotal, C.IdCta, -- C.EnEfectivo, C.NumCheque, C.FecCheque, @TipDoc, @Numero, @Cia, C.Anulado, C.NumDev, -- C.FecDev, C.TipEgr, C.NEgreso, C.pVehiculo, C.VehPropio, C.CedCondtor, C.CodConce, C.Beneficiario, -- C.VrDivisa1, C.VrDivisa2, C.VrDivisa3, C.PermEditar, C.Integrado, C.EsEgreso, C.Anticipo, C.Observacion, -- C.IdEstado, C.Propddes, C.TimeSys, C.FecUpdate, C.IdCiaCrea, C.IdUsuario, N.TipoNiif, C.CdSustento, -- C.Tipo_Pago, C.Establec, C.PEmision, C.Autorizac, C.FechaAut, -- CASE N.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE NULL END, CASE N.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE 0 END, -- CASE N.TipoNiif WHEN 'FISCAL' THEN @TipCompFis ELSE NULL END, CASE N.TipoNiif WHEN 'FISCAL' THEN @CompFis ELSE 0 END -- FROM @Trn_Comprobantes AS C JOIN @Trn_NiifComp AS N ON C.TipCom = N.TipComCont AND C.Comprobante = N.ComprobanteCont -- END -- IF(EXISTS(SELECT * FROM @Trn_NiifDetalle)) -- BEGIN -- INSERT INTO Trn_NiifDetalle( -- TipCom, Comprobante, IdCia, Item, Fecha, IdCuenta, Detalle, -- VrDebito, VrCredito, IdTercero, IdVehiculo,IdCCosto, IdSubCos, -- VrBase, TarifaBase, TipDoc, Documento, IdCiaDoc, CodConce, -- NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, -- NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, -- CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, -- DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, -- CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, -- FechAutoriza, CodCuentaCG -- ) -- SELECT -- CASE NC.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE @TipCompFis END, CASE NC.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE @CompFis END, CASE NC.TipoNiif WHEN 'NIIF' THEN @IdCiaCompNiif ELSE @IdCiaCompFis END, N.Item, C.Fecha, N.IdCuenta, N.Detalle, -- N.VrDebito, N.VrCredito, N.IdTercero, N.IdVehiculo, N.IdCCosto, N.IdSubCos, -- C.VrBase, C.TarifaBase, @TipDoc, @Numero, @Cia, C.CodConce, -- C.NitDoc, C.TipFac, C.Factura, C.IdCiaFac, C.ItemFac, C.FecVence, C.CodCta, -- C.NumCheque, C.Integrado, C.TipoAplica, C.Consolida, C.CodCargo, C.NitOtros, -- C.CodSubgpo, C.CiuOrigen, C.CodAgncia, C.VehPropio, N.Referncia, C.TipDocRef, -- C.DocRef, C.IdCiaRef, C.TimeSys, C.FecUpdate, C.IdCiaCrea, C.IdUsuario, -- C.CdConcTrib, C.CdTarifTrib, C.NumEstablec,C.PtoEmision, C.Num_Autoriza, -- C.FechAutoriza, C.IdCuenta -- FROM @Trn_ComDetalle AS C JOIN @Trn_NiifDetalle AS N ON C.TipCom = N.TipComCont AND C.Comprobante = N.ComprobanteCont AND C.Item = N.Item JOIN @Trn_NiifComp AS NC ON N.TipCom = NC.TipCom AND N.Comprobante = NC.Comprobante -- END --end ----IF(@operacion = 'i') ----begin ---- --actualiza los items de un contrato con los que se relacionan en el tipo de datos nuevo ---- UPDATE Trn_TraEspResDetalle ---- SET EstadoItem = 'FACTURADA' ---- FROM Trn_TraEspResDetalle d, @Trn_FacReservas r ---- WHERE d.TipDoc = r.TipRes and d.Reserva = r.Reserva and d.IdCia = r.IdCia and d.Item = r.ItemRes ----end --SELECT @Numero COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN DECLARE @ErrorMessage NVARCHAR(4000); DECLARE @ErrorSeverity INT; DECLARE @ErrorState INT; SELECT @ErrorMessage = ERROR_MESSAGE(), @ErrorSeverity = ERROR_SEVERITY(), @ErrorState = ERROR_STATE(); RAISERROR( @ErrorMessage, -- Message text. @ErrorSeverity, -- Severity. @ErrorState -- State. ); END CATCH RETURN 0 GO /****** Object: StoredProcedure [dbo].[paWcfSeInsTrn_DevFcr] Script Date: 22/05/2024 11:16:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[paWcfSeInsTrn_DevFcr] @Trn_DevFcr [dbo].[dataTypeTrn_DevFcr] READONLY, @Trn_TraEspFacReservas [dbo].[dataTypeTrn_TraEspFacReservas] READONLY, @Trn_RecAfavor [dbo].[dataTypeTrn_RecAfavor] READONLY, @Trn_VencAbonos [dbo].[dataTypeTrn_VencAbonos] READONLY, @Trn_DocMemo [dbo].[dataTypeTrn_DocMemo] READONLY, @Trn_DetCuentas [dbo].[dataTypeTrn_DetCuentas] READONLY, @Trn_Comprobantes [dbo].[dataTypeTrn_Comprobantes] READONLY, @Trn_ComDetalle [dbo].[dataTypeTrn_ComDetalle] READONLY, @Trn_NiifComp [dbo].[dataTypeTrn_NiifComp] READONLY, @Trn_NiifDetalle [dbo].[dataTypeNiifDetalle] READONLY, @operacion [varchar](1) WITH EXECUTE AS CALLER AS DECLARE @Comprobante INT = 0 --Esta variable guarda el número consecutivo del comprobante DECLARE @TipComp VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante DECLARE @IdCiaComp VARCHAR(4) = '00' --Esta variable guarda la compañia del comprobante DECLARE @CompNiif INT = 0 --Esta variable guarda el número consecutivo del comprobante Niif DECLARE @TipCompNiif VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante Niif DECLARE @IdCiaCompNiif VARCHAR(4) = '00'--Esta variable guarda la compañia del comprobante Niif DECLARE @CompFis INT = 0 --Esta variable guarda el número consecutivo de comprobante Fiscal DECLARE @TipCompFis VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante Fiscal DECLARE @IdCiaCompFis VARCHAR(4) = '00' --Esta variable guarda la compañia del comprobante Fiscal DECLARE @TipDoc VARCHAR(3) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @Cia VARCHAR(2) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @Numero INT --En esta variable se guarda el consecutivo del documento aprobación BEGIN TRAN BEGIN TRY declare @fecdev smalldatetime DECLARE @modalidad varchar(10) IF(@operacion = 'i') begin SELECT TOP 1 @TipDoc = TipDev, @Cia = IdCia,@fecdev = Fecha,@modalidad = ModdDev, @IdCiaComp = IdCia, @IdCiaCompNiif = IdCia, @IdCiaCompFis = IdCia FROM @Trn_DevFcr SELECT @Numero = Numero + 1 FROM TiposDocCons where IdDoc = @TipDoc AND IdCia = @Cia IF(@Numero > 0) UPDATE TiposDocCons SET Numero = @Numero WHERE IdDoc = @TipDoc AND IdCia = @Cia ELSE BEGIN SELECT @Numero = 1 INSERT INTO TiposDocCons VALUES (@TipDoc,@Cia,0,0,0,0,NULL,'',@Numero,0,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null,null,null) END IF(EXISTS(SELECT * FROM @Trn_Comprobantes)) BEGIN SELECT TOP 1 @TipComp = TipCom FROM @Trn_Comprobantes SELECT @Comprobante = Numero + 1 FROM TiposComCons where IdCom = @TipComp AND IdCia = @IdCiaComp --UPDATE TiposComCons SET Numero = @Comprobante WHERE IdCom = @TipComp AND IdCia = @IdCiaComp IF(@Comprobante <> '') UPDATE TiposComCons SET Numero = @Comprobante WHERE IdCom = @TipComp and IdCia = @IdCiaComp ELSE BEGIN SELECT @Comprobante = 1 INSERT INTO TiposComCons VALUES (@TipComp,@IdCiaComp,0,0,@Comprobante,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF')) BEGIN SELECT TOP 1 @TipCompNiif = TipCom FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF' SELECT @CompNiif = Numero + 1 FROM TiposComCons where IdCom = @TipCompNiif AND IdCia = @IdCiaCompNiif --UPDATE TiposComCons SET Numero = @CompNiif WHERE IdCom = @TipCompNiif AND IdCia = @IdCiaCompNiif IF(@CompNiif <> '') UPDATE TiposComCons SET Numero = @CompNiif WHERE IdCom = @TipCompNiif and IdCia = @IdCiaCompNiif ELSE BEGIN SELECT @CompNiif = 1 INSERT INTO TiposComCons VALUES (@TipCompNiif,@IdCiaCompNiif,0,0,@CompNiif,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL')) BEGIN SELECT TOP 1 @TipCompFis = TipCom FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL' SELECT @CompFis = Numero + 1 FROM TiposComCons where IdCom = @TipCompFis AND IdCia = @IdCiaCompFis --UPDATE TiposComCons SET Numero = @CompFis WHERE IdCom = @TipCompFis AND IdCia = @IdCiaCompFis IF(@CompNiif <> '') UPDATE TiposComCons SET Numero = @CompFis WHERE IdCom = @TipCompFis and IdCia = @IdCiaCompFis ELSE BEGIN SELECT @CompFis = 1 INSERT INTO TiposComCons VALUES (@TipCompFis,@IdCiaCompFis,0,0,@CompFis,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END end IF(@operacion = 'i') begin IF(EXISTS(SELECT * FROM @Trn_DevFcr)) BEGIN INSERT INTO Trn_DevFcr( TipDev,Devolucion,IdCia,Fecha,IdConcepto,TipDoc,Factura,IdCiaDoc,FecDoc,IdCliente,IdAgencia,VrSubTotal,VrDescuento,VrImpuesto, VrRetencion,VrReteICA,VrReteIVA,VrFletes,VrOtros,VrCargos,VrOtrDcto,VrCostos,VrSobretasa,VrImpGlobal,VrFaltantes,VrAnticipos, VrNeto,Cantidad,CantPuntos,BaseImp,BaseRet,IdCCosto,IdSubCos,IdVend,TarifaCom,CodTarCom,IdLocEnv,Pedido,IdCiaPed,Remision, IdCiaRem,Cotizacion,IdCiaCot,FecPedido,Modalidad,ModdDev,PlacaVehic,KmtVehic,ZonaFrontera,OrigenAdd,TipCom,Comprobante,IdCiaCom, Observacion,IdEstado,TimeSys,FecUpdate,IdCiaCrea,IdUsuario,VrImpCons,VrReteCREE,TarifaRtc,CodTarRtc,BaseIvaObsq,VrIvaObsequio, VrImpCarbono,DevMasivo,NumRecibo,CdCiaRec,CdMotDev,BaseIvaIgp,VrIvaIngProd,TarifaArf,VrAutRetFte,TarifaAri,VrAutRetIca,VrImpuBA,VrImpuCUP ) SELECT @TipDoc,@Numero,@Cia,Fecha,IdConcepto,TipDoc,Factura,IdCiaDoc,FecDoc,IdCliente,IdAgencia,VrSubTotal,VrDescuento,VrImpuesto, VrRetencion,VrReteICA,VrReteIVA,VrFletes,VrOtros,VrCargos,VrOtrDcto,VrCostos,VrSobretasa,VrImpGlobal,VrFaltantes,VrAnticipos, VrNeto,Cantidad,CantPuntos,BaseImp,BaseRet,IdCCosto,IdSubCos,IdVend,TarifaCom,CodTarCom,IdLocEnv,Pedido,IdCiaPed,Remision, IdCiaRem,Cotizacion,IdCiaCot,FecPedido,Modalidad,ModdDev,PlacaVehic,KmtVehic,ZonaFrontera,OrigenAdd,@TipComp,@Comprobante,@IdCiaComp, Observacion,IdEstado,TimeSys,FecUpdate,IdCiaCrea,IdUsuario,VrImpCons,VrReteCREE,TarifaRtc,CodTarRtc,BaseIvaObsq,VrIvaObsequio, VrImpCarbono,DevMasivo,NumRecibo,CdCiaRec,CdMotDev,BaseIvaIgp,VrIvaIngProd,TarifaArf,VrAutRetFte,TarifaAri,VrAutRetIca,VrImpuBA,VrImpuCUP FROM @Trn_DevFcr END IF(EXISTS(SELECT * FROM @Trn_TraEspFacReservas)) BEGIN INSERT INTO Trn_TraEspFacReservas( TipDoc,Factura,IdCia,Item,TipoReg,FechaFact,TipRes,Reserva,IdCiaRes,ItemRes,FecReserva,Descripcion,Cantidad,VrServicio,VrUnitario,VrCosto, TarifaIva,VrImpuesto,TarifaDct,VrDescuento,DocCliente,Referencia1,Referencia2,Referencia3,CdConcepto,CdCCosto,CdSubCos,NitTercero,CdAgencia, pVehiculo,TipoAfiVehic,IdOrigen,IdDestino,Anulado,TipDocRef,NumDocRef,IdCiaRef,FecDocRef,CodTarDct,CodTarRet,CodTarIca,TarifaRet,VrRetencion, TarifaIca,VrReteIca,EstadoItem ) SELECT @TipDoc,@Numero,@Cia,Item,TipoReg,FechaFact,TipRes,Reserva,IdCiaRes,ItemRes,FecReserva,Descripcion,Cantidad,VrServicio,VrUnitario,VrCosto, TarifaIva,VrImpuesto,TarifaDct,VrDescuento,DocCliente,Referencia1,Referencia2,Referencia3,CdConcepto,CdCCosto,CdSubCos,NitTercero,CdAgencia, pVehiculo,TipoAfiVehic,IdOrigen,IdDestino,Anulado,TipDocRef,NumDocRef,IdCiaRef,FecDocRef,CodTarDct,CodTarRet,CodTarIca,TarifaRet,VrRetencion, TarifaIca,VrReteIca,EstadoItem FROM @Trn_TraEspFacReservas END IF(EXISTS(SELECT * FROM @Trn_RecAFavor)) BEGIN INSERT INTO Trn_RecAFavor( TipDoc, Recibo, IdCia, Fecha, VrAFavor, VrOtrosDb, VrAbono, IdCliente, IdAgencia, IdVend ) SELECT @TipDoc, @Numero, @Cia, Fecha, VrAFavor, VrOtrosDb, VrAbono, IdCliente, IdAgencia, IdVend FROM @Trn_RecAFavor END IF(EXISTS(SELECT * FROM @Trn_VencAbonos)) BEGIN declare @tiprec varchar(3) declare @recibo int declare @idciarec varchar(2) declare @item int SELECT TOP 1 @tiprec = TipRec, @idciarec = IdCia, @recibo = Recibo FROM @Trn_VencAbonos select @item = isnull(MAX(Item),0) from Trn_VencAbonos where TipRec = @tiprec and Recibo = @recibo and IdCia = @idciarec INSERT INTO Trn_VencAbonos( TipRec,Recibo,IdCia,Item,Fecha,TipDoc,Factura,IdCiaFac,ItemFac,VrAbono,VrDescto, VrBaseCms,IdCliente,IdAgencia,IdVend,Comision,Detalle,FecPago,TipoAplica,TimeSys ) SELECT @TipDoc,@Numero,@Cia,(@item + ROW_NUMBER() OVER(ORDER BY Item ASC)),Fecha,TipDoc,Factura,IdCiaFac,ItemFac,VrAbono,VrDescto, VrBaseCms,IdCliente,IdAgencia,IdVend,Comision,Detalle,FecPago,TipoAplica,TimeSys FROM @Trn_VencAbonos END IF(EXISTS(SELECT * FROM @Trn_DetCuentas)) BEGIN INSERT INTO Trn_DetCuentas( TipDoc,Documento,IdCia,Concepto,Item,IdCuenta,Valor,Detalle,IdTercero,CodAgncia,CdCCosto,CdSubCos,pVehiculo, VrBase,TipFac,Factura,IdCiaFac,ItemFac,FecVence,Cheque,CiuOrigen,Referencia,VrTarifa,TipoTarif,CodConc,CodTarif ) SELECT @TipDoc,@Numero,@Cia,Concepto,Item,IdCuenta,Valor,Detalle,IdTercero,CodAgncia,CdCCosto,CdSubCos,pVehiculo, VrBase,TipFac,Factura,IdCiaFac,ItemFac,FecVence,Cheque,CiuOrigen,Referencia,VrTarifa,TipoTarif,CodConc,CodTarif FROM @Trn_DetCuentas END IF(EXISTS(SELECT * FROM @Trn_DocMemo)) BEGIN INSERT INTO Trn_DocMemo( TipDoc,Documento,IdCia,Comentarios,Nota1,Nota2,Nota3,CantImp,ArchivoImg ) SELECT @TipDoc,@Numero,@Cia,Comentarios,Nota1,Nota2,Nota3,CantImp,ArchivoImg FROM @Trn_DocMemo END IF(EXISTS(SELECT * FROM @Trn_Comprobantes)) BEGIN INSERT INTO Trn_Comprobantes( TipCom, Comprobante, IdCia, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac, FechaAut, NiifTipo, NiifNumero, FisTipo, FisNumero, DocSoporte, CodRes, DescServicio ) SELECT @TipComp, @Comprobante, @IdCiaComp, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, @TipDoc, @Numero, @Cia, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac, FechaAut, @TipCompNiif, @CompNiif, @TipCompFis, @CompFis, DocSoporte, CodRes, DescServicio FROM @Trn_Comprobantes END IF(EXISTS(SELECT * FROM @Trn_ComDetalle)) BEGIN INSERT INTO Trn_ComDetalle( TipCom, Comprobante, IdCia, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo, IdCCosto, IdSubCos, VrBase, TarifaBase, TipDoc, Documento, IdCiaDoc, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza,CdCuentaNiif ) SELECT @TipComp, @Comprobante, @IdCiaComp, C.Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, CASE WHEN IdVehiculo = '0' THEN IdTercero ELSE ISNULL((SELECt CD.IDTERCERO FROM @Trn_DetCuentas DE INNER JOIN Trn_ComDetalle CD ON DE.TIPDOC = CD.TIPCOM AND DE.DOCUMENTO = CD.COMPROBANTE AND DE.IDCIA = CD.IDCIA and cd.IdVehiculo = de.pVehiculo WHERE CD.ITEM = C.ITEM),( SELECT F.NitTercero FROM @Trn_TraEspFacReservas F WHERE F.pVehiculo = C.IdVehiculo AND F.TipDocRef = 'RES')) END , --IdVehiculo, CASE WHEN IdVehiculo = '0' THEN IdVehiculo ELSE ISNULL((SELECt CD.IdVehiculo FROM @Trn_DetCuentas DE INNER JOIN Trn_ComDetalle CD ON DE.TIPDOC = CD.TIPCOM AND DE.DOCUMENTO = CD.COMPROBANTE AND DE.IDCIA = CD.IDCIA and cd.IdVehiculo = de.pVehiculo WHERE CD.ITEM = C.ITEM), (SELECT F.pVehiculo FROM @Trn_TraEspFacReservas F WHERE F.pVehiculo = C.IdVehiculo AND F.TipDocRef = 'RES')) END , IdCCosto, IdSubCos, VrBase, TarifaBase, @TipDoc, @Numero, @Cia, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza,CdCuentaNiif FROM @Trn_ComDetalle c END IF(EXISTS(SELECT * FROM @Trn_NiifComp)) BEGIN INSERT INTO Trn_NiifComp( TipCom, Comprobante, IdCia, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, TipoNiif, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac,FechaAut, CtbTipo, CtbNumero, FisTipo, FisNumero ) SELECT CASE N.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE @TipCompFis END, CASE N.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE @CompFis END, @Cia, C.Fecha, C.IdTercero, C.VrTotal, C.IdCta, C.EnEfectivo, C.NumCheque, C.FecCheque, @TipDoc, @Numero, @Cia, C.Anulado, C.NumDev, C.FecDev, C.TipEgr, C.NEgreso, C.pVehiculo, C.VehPropio, C.CedCondtor, C.CodConce, C.Beneficiario, C.VrDivisa1, C.VrDivisa2, C.VrDivisa3, C.PermEditar, C.Integrado, C.EsEgreso, C.Anticipo, C.Observacion, C.IdEstado, C.Propddes, C.TimeSys, C.FecUpdate, C.IdCiaCrea, C.IdUsuario, N.TipoNiif, C.CdSustento, C.Tipo_Pago, C.Establec, C.PEmision, C.Autorizac, C.FechaAut, CASE N.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE NULL END, CASE N.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE 0 END, CASE N.TipoNiif WHEN 'FISCAL' THEN @TipCompFis ELSE NULL END, CASE N.TipoNiif WHEN 'FISCAL' THEN @CompFis ELSE 0 END FROM @Trn_Comprobantes AS C JOIN @Trn_NiifComp AS N ON C.TipCom = N.TipComCont AND C.Comprobante = N.ComprobanteCont END IF(EXISTS(SELECT * FROM @Trn_NiifDetalle)) BEGIN INSERT INTO Trn_NiifDetalle( TipCom, Comprobante, IdCia, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo,IdCCosto, IdSubCos, VrBase, TarifaBase, TipDoc, Documento, IdCiaDoc, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza, CodCuentaCG ) SELECT CASE NC.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE @TipCompFis END, CASE NC.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE @CompFis END, @Cia, N.Item, N.Fecha, N.IdCuenta, N.Detalle, N.VrDebito, N.VrCredito, N.IdTercero, N.IdVehiculo,N.IdCCosto, N.IdSubCos, N.VrBase, N.TarifaBase, @TipDoc,@Numero,@Cia, N.CodConce, N.NitDoc, N.TipFac, N.Factura, N.IdCiaFac, N.ItemFac, N.FecVence, N.CodCta, N.NumCheque, N.Integrado, N.TipoAplica, N.Consolida, N.CodCargo, N.NitOtros, N.CodSubgpo, N.CiuOrigen, N.CodAgncia, N.VehPropio, N.Referncia, N.TipDocRef, N.DocRef, N.IdCiaRef, N.TimeSys, N.FecUpdate, N.IdCiaCrea, N.IdUsuario, N.CdConcTrib, N.CdTarifTrib, N.NumEstablec, N.PtoEmision ,N.Num_Autoriza, N.FechAutoriza, N.CodCuentaCG FROM @Trn_NiifDetalle as N JOIN @Trn_NiifComp AS NC ON N.TipCom = NC.TipCom AND N.Comprobante = NC.Comprobante END end IF(@operacion = 'i') begin --esto antes de la versión 5048 estaba desués del cursor ahora no para poder buscar solo las factruas activas --ACTUALIZAR FACTURA IF(UPPER(@modalidad) = 'TOTAL') BEGIN UPDATE Trn_Facturas SET Anulado = 1,NumDev = @Numero,FecDev = @fecdev FROM Trn_Facturas F, @Trn_DevFcr DF WHERE F.TipDoc = DF.TipDoc AND F.Factura = DF.Factura AND F.IdCia = DF.IdCiaDoc END --actualiza los items de las reservas con los que se relacionan en el tipo de datos nuevo de las facturasreservas --Antes de la versión 48 esto hacía Joe --UPDATE Trn_TraEspResDetalle --SET Factura = 0, IdCiaFac = '00', FechaFac = null, EstadoItem = r.EstadoItem --FROM Trn_TraEspResDetalle d, @Trn_TraEspFacReservas r --WHERE d.TipDoc = r.TipRes and d.Reserva = r.Reserva and d.IdCia = r.IdCiaRes and d.Item = r.ItemRes --Versión 48 se debe buscar si la opción FRM está activa y si está activa debe colocar la última factura que no esté anulada de la reserva (Con este parámetro se puede factrar muchas veces la reserva) --Si la factrua que se anula es menor a la última se debe seguir dejando la última factura, ejemplo: si la última factura de esa reserva es la 3 y se anula la factrua 2 correspondiente a esa reserva --Se sigue dejando la 3 IF((SELECT ISNULL(Valor, '0') FROM adm_Opciones where IdOpc ='FRM') = '1') BEGIN DECLARE @TipRes VARCHAR(3) DECLARE @TipDocFacDev VARCHAR(3) DECLARE @TipDocFacActual VARCHAR(3) DECLARE @TipDocFac VARCHAR(3) DECLARE @CiaRes VARCHAR(2) DECLARE @CiaFac VARCHAR(2) DECLARE @CiaFacDev VARCHAR(2) DECLARE @CiaFacActual VARCHAR(2) DECLARE @NumRes INT DECLARE @NumFacDev INT DECLARE @NumFacActual INT DECLARE @NumFac INT DECLARE @ItemRes INT DECLARE @reserva Int = 0 DECLARE @cantres Int = 0 DECLARE @cantresfact Int = 0 DECLARE @FechaFac datetime DECLARE @asingadofa BIT = 0 SELECT TOP (1) @TipDocFacDev = TipDoc, @NumFacDev = Factura, @CiaFacDev = IdCiaDoc FROM @Trn_DevFcr DECLARE faccursor CURSOR --Verificar todas las reservas que viene en la devolución, tenga facturas FOR SELECT TipRes,Reserva,IdCiaRes,ItemRes FROM @Trn_TraEspFacReservas OPEN faccursor FETCH NEXT FROM faccursor INTO @TipRes,@NumRes,@CiaRes,@ItemRes WHILE @@FETCH_STATUS = 0 BEGIN SELECT @TipDocFacActual = TipFac, @NumFacActual = Factura, @CiaFacActual = IdCiaFac FROM Trn_TraEspResDetalle WHERE TipDoc = @TipRes and Reserva = @NumRes and IdCia = @CiaRes and Item = @ItemRes IF(@TipDocFacActual = @TipDocFacDev and @NumFacActual = @NumFacDev and @CiaFacActual = @CiaFacDev) BEGIN IF(EXISTS(SELECT TOP(1) fd.Factura FROM Trn_TraEspFacReservas AS fd JOIN Trn_Facturas AS f ON fd.TipDoc = f.TipDoc AND fd.Factura = f.Factura AND fd.IdCia = f.IdCia WHERE fd.TipRes = @TipRes AND fd.Reserva = @NumRes AND fd.IdCia = @CiaRes AND fd.Item = @ItemRes AND f.Anulado = 0 and fd.TipDoc = @TipDocFacDev and fd.Factura < @NumFacDev and fd.IdCia = @CiaFacDev and fd.Factura <> @NumFacDev order by fd.Factura desc)) BEGIN SELECT TOP(1) @TipDocFac = fd.TipDoc, @NumFac = fd.Factura, @CiaFac = fd.IdCia, @FechaFac = f.Fecha FROM Trn_TraEspFacReservas AS fd JOIN Trn_Facturas AS f ON fd.TipDoc = f.TipDoc AND fd.Factura = f.Factura AND fd.IdCia = f.IdCia WHERE fd.TipRes = @TipRes AND fd.Reserva = @NumRes AND fd.IdCia = @CiaRes AND fd.Item = @ItemRes AND f.Anulado = 0 and fd.TipDoc = @TipDocFacDev and fd.Factura < @NumFacDev and fd.IdCia = @CiaFacDev and fd.Factura <> @NumFacDev order by Fd.Factura desc UPDATE d SET d.Factura = @NumFac, d.IdCiaFac = @CiaFac, d.FechaFac = @FechaFac, d.EstadoItem = r.EstadoItem FROM Trn_TraEspResDetalle AS d JOIN @Trn_TraEspFacReservas AS r ON d.TipDoc = r.TipRes and d.Reserva = r.Reserva and d.IdCia = r.IdCiaRes WHERE d.TipDoc = @TipRes and d.Reserva = @NumRes and d.IdCia = @CiaRes and d.Item = @ItemRes --DECLARE facupdatecursor CURSOR --FOR SELECT fd.TipDoc, fd.Factura, fd.IdCia, f.Fecha FROM Trn_TraEspFacReservas AS fd JOIN Trn_Facturas AS f ON fd.TipDoc = f.TipDoc AND fd.Factura = f.Factura AND fd.IdCia = f.IdCia WHERE fd.TipRes = @TipRes AND fd.Reserva = @NumRes AND fd.IdCia = @CiaRes AND fd.Item = @ItemRes AND f.Anulado = 0 --OPEN facupdatecursor --FETCH NEXT FROM facupdatecursor INTO @TipDocFac,@NumFac,@CiaFac,@FechaFac --WHILE @@FETCH_STATUS = 0 ----OR @asingadofa = 0 --BEGIN -- --La factura actual de la reserva debe ser menor -- IF((SELECT Factura FROM Trn_TraEspResDetalle WHERE TipDoc = @TipRes and Reserva = @NumRes and IdCia = @CiaRes and @ItemRes = Item) = @NumFac) -- AND @asingadofa = 0 -- begin -- UPDATE d -- SET d.Factura = @NumFac, d.IdCiaFac = @CiaFac, d.FechaFac = @FechaFac, d.EstadoItem = r.EstadoItem -- FROM Trn_TraEspResDetalle AS d -- JOIN @Trn_TraEspFacReservas AS r ON d.TipDoc = r.TipRes and d.Reserva = r.Reserva and d.IdCia = r.IdCiaRes -- WHERE d.TipDoc = @TipRes and d.Reserva = @NumRes and d.IdCia = @CiaRes and d.Item = @ItemRes -- --set @asingadofa = 1 -- BREAK -- end --FETCH NEXT FROM facupdatecursor INTO @TipDocFac,@NumFac,@CiaFac,@FechaFac --END --CLOSE facupdatecursor --DEALLOCATE facupdatecursor END ELSE BEGIN UPDATE Trn_TraEspResDetalle SET Factura = 0, IdCiaFac = '00', FechaFac = null, EstadoItem = r.EstadoItem FROM Trn_TraEspResDetalle d, @Trn_TraEspFacReservas r WHERE d.TipDoc = r.TipRes and d.Reserva = r.Reserva and d.IdCia = r.IdCiaRes and d.Item = r.ItemRes END END FETCH NEXT FROM faccursor INTO @TipRes,@NumRes,@CiaRes,@ItemRes END CLOSE faccursor DEALLOCATE faccursor END ELSE BEGIN UPDATE Trn_TraEspResDetalle SET Factura = 0, IdCiaFac = '00', FechaFac = null, EstadoItem = r.EstadoItem FROM Trn_TraEspResDetalle d, @Trn_TraEspFacReservas r WHERE d.TipDoc = r.TipRes and d.Reserva = r.Reserva and d.IdCia = r.IdCiaRes and d.Item = r.ItemRes END --actualiza el cliente UPDATE TercCliente SET VrSaldo = c.VrSaldo - f.VrNeto FROM TercCliente c, @Trn_DevFcr f WHERE c.IdClie = f.IdCliente --actualizar vencimientos,cuando es necesario IF(EXISTS(SELECT * FROM @Trn_VencAbonos)) BEGIN UPDATE Trn_Vencimientos SET VrAbonado = v.VrAbonado + dv.VrAbono FROM Trn_Vencimientos v, @Trn_VencAbonos dv WHERE v.TipDoc = dv.TipDoc and v.Factura = dv.Factura and v.IdCia = dv.IdCiaFac END end SELECT @Numero, @Comprobante COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN DECLARE @ErrorMessage NVARCHAR(4000); DECLARE @ErrorSeverity INT; DECLARE @ErrorState INT; SELECT @ErrorMessage = ERROR_MESSAGE(), @ErrorSeverity = ERROR_SEVERITY(), @ErrorState = ERROR_STATE(); RAISERROR( @ErrorMessage, -- Message text. @ErrorSeverity, -- Severity. @ErrorState -- State. ); END CATCH RETURN 0 GO /****** Object: StoredProcedure [dbo].[paWcfSeInsTrn_Facturas] Script Date: 22/05/2024 11:16:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[paWcfSeInsTrn_Facturas] @Trn_Facturas [dbo].[dataTypeTrn_Facturas] READONLY, @Trn_TraEspFacReservas [dbo].[dataTypeTrn_TraEspFacReservas] READONLY, @Trn_TraEspFacResVehiculos [dbo].[dataTypeTrn_TraEspFacResVehiculos] READONLY, @Trn_DocMemo [dbo].[dataTypeTrn_DocMemo] READONLY, @Trn_TraEspAuxFactura [dbo].[dataTypeTrn_TraEspAuxFactura] READONLY, @Trn_RecAfavor [dbo].[dataTypeTrn_RecAfavor] READONLY, @Trn_VencAbonos [dbo].[dataTypeTrn_VencAbonos] READONLY, @Trn_Vencimientos [dbo].[dataTypeTrn_Vencimientos] READONLY, @Trn_DetCuentas [dbo].[dataTypeTrn_DetCuentas] READONLY, @Trn_Comprobantes [dbo].[dataTypeTrn_Comprobantes] READONLY, @Trn_ComDetalle [dbo].[dataTypeTrn_ComDetalle] READONLY, @Trn_NiifComp [dbo].[dataTypeTrn_NiifComp] READONLY, @Trn_NiifDetalle [dbo].[dataTypeNiifDetalle] READONLY, @operacion [varchar](1) WITH EXECUTE AS CALLER AS DECLARE @Comprobante INT = 0 --Esta variable guarda el número consecutivo del comprobante DECLARE @TipComp VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante DECLARE @IdCiaComp VARCHAR(4) = '00' --Esta variable guarda la compañia del comprobante DECLARE @CompNiif INT = 0 --Esta variable guarda el número consecutivo del comprobante Niif DECLARE @TipCompNiif VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante Niif DECLARE @IdCiaCompNiif VARCHAR(4) = '00'--Esta variable guarda la compañia del comprobante Niif DECLARE @CompFis INT = 0 --Esta variable guarda el número consecutivo de comprobante Fiscal DECLARE @TipCompFis VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante Fiscal DECLARE @IdCiaCompFis VARCHAR(4) = '00' --Esta variable guarda la compañia del comprobante Fiscal DECLARE @TipDoc VARCHAR(3) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @CodigoPre VARCHAR(3) DECLARE @Cia VARCHAR(2) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @Numero INT --En esta variable se guarda el consecutivo del documento aprobación declare @FechaFac smalldatetime BEGIN TRAN BEGIN TRY IF(@operacion = 'i') BEGIN SELECT TOP 1 @TipDoc = TipDoc,@CodigoPre = CodigoPreFact, @Cia = IdCia, @IdCiaComp = IdCia, @IdCiaCompNiif = IdCia, @IdCiaCompFis = IdCia, @FechaFac = Fecha FROM @Trn_Facturas IF(@CodigoPre is not null or @CodigoPre <> '') select @Numero = (SELECT TOP 1 Factura FROM @Trn_Facturas) ELSE BEGIN SELECT @Numero = Numero + 1 FROM TiposDocCons where IdDoc = @TipDoc AND IdCia = @Cia IF(@Numero > 0) UPDATE TiposDocCons SET Numero = @Numero WHERE IdDoc = @TipDoc AND IdCia = @Cia ELSE BEGIN SELECT @Numero = 1 INSERT INTO TiposDocCons VALUES (@TipDoc,@Cia,0,0,0,0,NULL,'',@Numero,0,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null,null,null) END END IF(EXISTS(SELECT * FROM @Trn_Comprobantes)) BEGIN SELECT TOP 1 @TipComp = TipCom FROM @Trn_Comprobantes SELECT @Comprobante = Numero + 1 FROM TiposComCons where IdCom = @TipComp AND IdCia = @IdCiaComp --UPDATE TiposComCons SET Numero = @Comprobante WHERE IdCom = @TipComp AND IdCia = @IdCiaComp IF(@Comprobante <> '') UPDATE TiposComCons SET Numero = @Comprobante WHERE IdCom = @TipComp and IdCia = @IdCiaComp ELSE BEGIN SELECT @Comprobante = 1 INSERT INTO TiposComCons VALUES (@TipComp,@IdCiaComp,0,0,@Comprobante,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF')) BEGIN SELECT TOP 1 @TipCompNiif = TipCom FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF' SELECT @CompNiif = Numero + 1 FROM TiposComCons where IdCom = @TipCompNiif AND IdCia = @IdCiaCompNiif --UPDATE TiposComCons SET Numero = @CompNiif WHERE IdCom = @TipCompNiif AND IdCia = @IdCiaCompNiif IF(@CompNiif <> '') UPDATE TiposComCons SET Numero = @CompNiif WHERE IdCom = @TipCompNiif and IdCia = @IdCiaCompNiif ELSE BEGIN SELECT @CompNiif = 1 INSERT INTO TiposComCons VALUES (@TipCompNiif,@IdCiaCompNiif,0,0,@CompNiif,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL')) BEGIN SELECT TOP 1 @TipCompFis = TipCom FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL' SELECT @CompFis = Numero + 1 FROM TiposComCons where IdCom = @TipCompFis AND IdCia = @IdCiaCompFis --UPDATE TiposComCons SET Numero = @CompFis WHERE IdCom = @TipCompFis AND IdCia = @IdCiaCompFis IF(@CompFis <> '') UPDATE TiposComCons SET Numero = @CompFis WHERE IdCom = @TipCompFis and IdCia = @IdCiaCompFis ELSE BEGIN SELECT @CompFis = 1 INSERT INTO TiposComCons VALUES (@TipCompFis,@IdCiaCompFis,0,0,@CompFis,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END END IF(@operacion = 'i') BEGIN IF(EXISTS(SELECT * FROM @Trn_Facturas)) BEGIN INSERT INTO Trn_Facturas( TipDoc,Factura,IdCia,Fecha,IdConcepto,IdCliente,IdAgencia,FechaVence,VrSubTotal,VrDescuento,VrImpuesto,VrRetencion,VrReteICA, VrReteIVA,VrFletes,VrOtros,VrCargos,VrOtrDcto,VrCostos,VrSobretasa,VrImpGlobal,VrFaltantes,VrAnticipos,VrNeto,VrAplicado,Cantidad, CantPuntos,PuntosAcum,BaseImp,BaseRet,BaseIca,BaseRiv,TarifaIva,TarifaRet,TarifaIca,TarifaRiv,CodTarIva,CodTarRet,CodTarIca, CodTarRiv,IdCCosto,IdSubCos,IdVend,TarifaCom,CodTarCom,DirEnvio,IdLocEnv,DiasEntraga,NitContac,NomContac,TelContac,emlContac, CargoContac,IdForma,DetallePago,MulPlazos,IdPlazo,CdMney,NitEmpTrans,EmpTrans,pVehiculo,CdConductor,CdRuta,TipPed,Pedido,IdCiaPed, TipRem,Remision,IdCiaRem,TipCot,Cotizacion,IdCiaCot,FecPedido,AutzaMora,AutzaCupo,Modalidad,KmtVehic,ZonaFrontera,PesoTotal, UnidTotal,VolTotal,CantFalt,VrCostoRem,VrCostoAfi,CodAutoRet,OrigenAdd,TipCom,Comprobante,IdCiaCom,Anulado,NumDev,FecDev,Observacion, IdEstado,TimeSys,FecUpdate,IdCiaCrea,IdUsuario,VrImpCons,VrReteCREE,TarifaRtc,CodTarRtc,Parqueadero,FecCuotaParq,BaseIvaObsq,VrIvaObsequio, VrImpCarbono,TipoFE,FechaFE,BaseIvaIgp,VrIvaIngProd,CodTarArf,TarifaArf,VrAutRetFte,CodTarAri,TarifaAri,VrAutRetIca ) SELECT @TipDoc,@Numero,@Cia,Fecha,IdConcepto,IdCliente,IdAgencia,FechaVence,VrSubTotal,VrDescuento,VrImpuesto,VrRetencion,VrReteICA, VrReteIVA,VrFletes,VrOtros,VrCargos,VrOtrDcto,VrCostos,VrSobretasa,VrImpGlobal,VrFaltantes,VrAnticipos,VrNeto,VrAplicado,Cantidad, CantPuntos,PuntosAcum,BaseImp,BaseRet,BaseIca,BaseRiv,TarifaIva,TarifaRet,TarifaIca,TarifaRiv,CodTarIva,CodTarRet,CodTarIca, CodTarRiv,IdCCosto,IdSubCos,IdVend,TarifaCom,CodTarCom,DirEnvio,IdLocEnv,DiasEntraga,NitContac,NomContac,TelContac,emlContac, CargoContac,IdForma,DetallePago,MulPlazos,IdPlazo,CdMney,NitEmpTrans,EmpTrans,pVehiculo,CdConductor,CdRuta,TipPed,Pedido,IdCiaPed, TipRem,Remision,IdCiaRem,TipCot,Cotizacion,IdCiaCot,FecPedido,AutzaMora,AutzaCupo,Modalidad,KmtVehic,ZonaFrontera,PesoTotal, UnidTotal,VolTotal,CantFalt,VrCostoRem,VrCostoAfi,CodAutoRet,OrigenAdd,@TipComp,@Comprobante,@IdCiaComp,Anulado,NumDev,FecDev,Observacion, IdEstado,TimeSys,FecUpdate,IdCiaCrea,IdUsuario,VrImpCons,VrReteCREE,TarifaRtc,CodTarRtc,Parqueadero,FecCuotaParq,BaseIvaObsq,VrIvaObsequio, VrImpCarbono,TipoFE,FechaFE,BaseIvaIgp,VrIvaIngProd,CodTarArf,TarifaArf,VrAutRetFte,CodTarAri,TarifaAri,VrAutRetIca FROM @Trn_Facturas END IF(EXISTS(SELECT * FROM @Trn_TraEspFacReservas)) BEGIN INSERT INTO Trn_TraEspFacReservas( TipDoc,Factura,IdCia,Item,TipoReg,FechaFact,TipRes,Reserva,IdCiaRes,ItemRes,FecReserva,Descripcion,Cantidad,VrServicio,VrUnitario,VrCosto, TarifaIva,VrImpuesto,TarifaDct,VrDescuento,DocCliente,Referencia1,Referencia2,Referencia3,CdConcepto,CdCCosto,CdSubCos,NitTercero,CdAgencia, pVehiculo,TipoAfiVehic,IdOrigen,IdDestino,Anulado,TipDocRef,NumDocRef,IdCiaRef,FecDocRef,CodTarDct,CodTarRet,CodTarIca,TarifaRet,VrRetencion, TarifaIca,VrReteIca,EstadoItem ) SELECT @TipDoc,@Numero,@Cia,Item,TipoReg,FechaFact,TipRes,Reserva,IdCiaRes,ItemRes,FecReserva,Descripcion,Cantidad,VrServicio,VrUnitario,VrCosto, TarifaIva,VrImpuesto,TarifaDct,VrDescuento,DocCliente,Referencia1,Referencia2,Referencia3,CdConcepto,CdCCosto,CdSubCos,NitTercero,CdAgencia, pVehiculo,TipoAfiVehic,IdOrigen,IdDestino,Anulado,TipDocRef,NumDocRef,IdCiaRef,FecDocRef,CodTarDct,CodTarRet,CodTarIca,TarifaRet,VrRetencion, TarifaIca,VrReteIca,EstadoItem FROM @Trn_TraEspFacReservas END IF(EXISTS(SELECT * FROM @Trn_TraEspFacResVehiculos)) BEGIN INSERT INTO Trn_TraEspFacResVehiculos( TipDoc,Factura,IdCIa,Item,TipRes,Reserva,IdCIaRes,ItemRes,IdVehiculo,TipoAfil,VrRecorrido ) SELECT @TipDoc,@Numero,@Cia,Item,TipRes,Reserva,IdCIaRes,ItemRes,IdVehiculo,TipoAfil,VrRecorrido FROM @Trn_TraEspFacResVehiculos END IF(EXISTS(SELECT * FROM @Trn_Vencimientos)) BEGIN INSERT INTO Trn_Vencimientos( TipDoc,Factura,IdCia,Item,Fecha,FechaVence,VrFactura,VrAbonado,IdCliente,IdAgencia,IdVend,Comision,TarifDcto, TipoDcto,TipoBase,FecLmtDcto,IdConcepto,Referencia,Detalle,TipRef,DocRef,IdCiaRef,FecUltPago,NumNota,IdCiaNot, TarifInt,FecLiqMora,FecPlazoCal ) SELECT @TipDoc,@Numero,@Cia,Item,Fecha,FechaVence,VrFactura,VrAbonado,IdCliente,IdAgencia,IdVend,Comision,TarifDcto, TipoDcto,TipoBase,FecLmtDcto,IdConcepto,Referencia,Detalle,TipRef,DocRef,IdCiaRef,FecUltPago,NumNota,IdCiaNot, TarifInt,FecLiqMora,FecPlazoCal FROM @Trn_Vencimientos END IF(EXISTS(SELECT * FROM @Trn_DocMemo)) BEGIN INSERT INTO Trn_DocMemo( TipDoc,Documento,IdCia,Comentarios,Nota1,Nota2,Nota3,CantImp,ArchivoImg ) SELECT @TipDoc,@Numero,@Cia,Comentarios,Nota1,Nota2,Nota3,CantImp,ArchivoImg FROM @Trn_DocMemo END IF(EXISTS(SELECT * FROM @Trn_TraEspAuxFactura)) BEGIN INSERT INTO Trn_TraEspAuxFactura( TipFac,Factura,IdCiaFac,Resolucion,Rango,FechaResl,Prefijo,TipDocPf,PreFactura,IdCiaPf,CodigoPreFact ) SELECT @TipDoc,@Numero,@Cia,Resolucion,Rango,FechaResl,Prefijo,TipDocPf,PreFactura,IdCiaPf,CodigoPreFact FROM @Trn_TraEspAuxFactura END IF(EXISTS(SELECT * FROM @Trn_RecAfavor)) BEGIN update Trn_RecAfavor set VrAbono = t1.VrAbono + t2.VrAbono from Trn_RecAfavor t1, @Trn_RecAfavor t2 where t1.TipDoc = t2.TipDoc and t1.Recibo = t2.Recibo and t1.IdCia = t2.IdCia and t1.IdCliente = t2.IdCliente and t1.IdAgencia = t2.IdAgencia and t1.IdVend = t2.IdVend END IF(EXISTS(SELECT * FROM @Trn_VencAbonos)) BEGIN declare @tiprec varchar(3) declare @recibo int declare @idciarec varchar(2) declare @item int SELECT TOP 1 @tiprec = TipRec, @idciarec = IdCia, @recibo = Recibo FROM @Trn_VencAbonos select @item = isnull(MAX(Item),0) from Trn_VencAbonos where TipRec = @tiprec and Recibo = @recibo and IdCia = @idciarec INSERT INTO Trn_VencAbonos( TipRec,Recibo,IdCia,Item,Fecha,TipDoc,Factura,IdCiaFac,ItemFac,VrAbono,VrDescto, VrBaseCms,IdCliente,IdAgencia,IdVend,Comision,Detalle,FecPago,TipoAplica,TimeSys ) SELECT TipRec,Recibo,IdCia,(@item + ROW_NUMBER() OVER(ORDER BY Item ASC)),Fecha,@TipDoc,@Numero,@Cia,ItemFac,VrAbono,VrDescto, VrBaseCms,IdCliente,IdAgencia,IdVend,Comision,Detalle,FecPago,TipoAplica,TimeSys FROM @Trn_VencAbonos END IF(EXISTS(SELECT * FROM @Trn_DetCuentas)) BEGIN INSERT INTO Trn_DetCuentas( TipDoc,Documento,IdCia,Concepto,Item,IdCuenta,Valor,Detalle,IdTercero,CodAgncia,CdCCosto,CdSubCos,pVehiculo, VrBase,TipFac,Factura,IdCiaFac,ItemFac,FecVence,Cheque,CiuOrigen,Referencia,VrTarifa,TipoTarif,CodConc,CodTarif ) SELECT @TipDoc,@Numero,@Cia,Concepto,Item,IdCuenta,Valor,Detalle,IdTercero,CodAgncia,CdCCosto,CdSubCos,pVehiculo, VrBase,TipFac,Factura,IdCiaFac,ItemFac,FecVence,Cheque,CiuOrigen,Referencia,VrTarifa,TipoTarif,CodConc,CodTarif FROM @Trn_DetCuentas END IF(EXISTS(SELECT * FROM @Trn_Comprobantes)) BEGIN INSERT INTO Trn_Comprobantes( TipCom, Comprobante, IdCia, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac, FechaAut, NiifTipo, NiifNumero, FisTipo, FisNumero, DocSoporte, CodRes, DescServicio ) SELECT @TipComp, @Comprobante, @IdCiaComp, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, @TipDoc, @Numero, @Cia, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac, FechaAut, @TipCompNiif, @CompNiif, @TipCompFis, @CompFis, DocSoporte, CodRes, DescServicio FROM @Trn_Comprobantes END IF(EXISTS(SELECT * FROM @Trn_ComDetalle)) BEGIN --FUNCION PARA AGREGAR EL NIT APORPIADO AL IDVEHICULO INSERT INTO Trn_ComDetalle( TipCom, Comprobante, IdCia, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo, IdCCosto, IdSubCos, VrBase, TarifaBase, TipDoc, Documento, IdCiaDoc, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza,CdCuentaNiif ) SELECT @TipComp, @Comprobante, @IdCiaComp, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, --IdTercero, IdVehiculo, CASE WHEN IdVehiculo = '0' THEN IdTercero ELSE isnull((SELECT F.NitTercero FROM @Trn_TraEspFacReservas F WHERE F.pVehiculo = C.IdVehiculo AND F.TipDocRef = 'RES'), IdTercero) END , C.IdVehiculo, IdCCosto, IdSubCos, VrBase, TarifaBase, @TipDoc, @Numero, @Cia, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza,CdCuentaNiif FROM @Trn_ComDetalle C END IF(EXISTS(SELECT * FROM @Trn_NiifComp)) BEGIN INSERT INTO Trn_NiifComp( TipCom, Comprobante, IdCia, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, TipoNiif, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac,FechaAut, CtbTipo, CtbNumero, FisTipo, FisNumero ) SELECT CASE N.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE @TipCompFis END, CASE N.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE @CompFis END, @Cia, C.Fecha, C.IdTercero, C.VrTotal, C.IdCta, C.EnEfectivo, C.NumCheque, C.FecCheque, @TipDoc, @Numero, @Cia, C.Anulado, C.NumDev, C.FecDev, C.TipEgr, C.NEgreso, C.pVehiculo, C.VehPropio, C.CedCondtor, C.CodConce, C.Beneficiario, C.VrDivisa1, C.VrDivisa2, C.VrDivisa3, C.PermEditar, C.Integrado, C.EsEgreso, C.Anticipo, C.Observacion, C.IdEstado, C.Propddes, C.TimeSys, C.FecUpdate, C.IdCiaCrea, C.IdUsuario, N.TipoNiif, C.CdSustento, C.Tipo_Pago, C.Establec, C.PEmision, C.Autorizac, C.FechaAut, CASE N.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE NULL END, CASE N.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE 0 END, CASE N.TipoNiif WHEN 'FISCAL' THEN @TipCompFis ELSE NULL END, CASE N.TipoNiif WHEN 'FISCAL' THEN @CompFis ELSE 0 END FROM @Trn_Comprobantes AS C JOIN @Trn_NiifComp AS N ON C.TipCom = N.TipComCont AND C.Comprobante = N.ComprobanteCont ---------------factura una END IF(EXISTS(SELECT * FROM @Trn_NiifDetalle)) BEGIN INSERT INTO Trn_NiifDetalle( TipCom, Comprobante, IdCia, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo,IdCCosto, IdSubCos, VrBase, TarifaBase, TipDoc, Documento, IdCiaDoc, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza, CodCuentaCG ) SELECT CASE NC.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE @TipCompFis END, CASE NC.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE @CompFis END, @Cia, N.Item, N.Fecha, N.IdCuenta, N.Detalle, N.VrDebito, N.VrCredito, N.IdTercero, N.IdVehiculo,N.IdCCosto, N.IdSubCos, N.VrBase, N.TarifaBase, @TipDoc,@Numero,@Cia, N.CodConce, N.NitDoc, N.TipFac, N.Factura, N.IdCiaFac, N.ItemFac, N.FecVence, N.CodCta, N.NumCheque, N.Integrado, N.TipoAplica, N.Consolida, N.CodCargo, N.NitOtros, N.CodSubgpo, N.CiuOrigen, N.CodAgncia, N.VehPropio, N.Referncia, N.TipDocRef, N.DocRef, N.IdCiaRef, N.TimeSys, N.FecUpdate, N.IdCiaCrea, N.IdUsuario, N.CdConcTrib, N.CdTarifTrib, N.NumEstablec, N.PtoEmision ,N.Num_Autoriza, N.FechAutoriza, N.CodCuentaCG FROM @Trn_NiifDetalle as N JOIN @Trn_NiifComp AS NC ON N.TipCom = NC.TipCom AND N.Comprobante = NC.Comprobante END END IF(@operacion = 'i') BEGIN IF(UPPER((SELECT TipDoc FROM @Trn_Facturas)) <> 'PFE') BEGIN --actualiza los items de las reservas con los que se relacionan en el tipo de datos nuevo de las facturasreservas DECLARE @TipRes VARCHAR(3) DECLARE @CiaRes VARCHAR(2) DECLARE @NumRes INT DECLARE @ItemRes INT DECLARE @reserva Int = 0 DECLARE @cantres Int = 0 DECLARE @cantresfact Int = 0 DECLARE faccursor CURSOR FOR SELECT TipRes,Reserva,IdCiaRes,ItemRes FROM @Trn_TraEspFacReservas OPEN faccursor FETCH NEXT FROM faccursor INTO @TipRes,@NumRes,@CiaRes,@ItemRes WHILE @@FETCH_STATUS = 0 BEGIN UPDATE Trn_TraEspResDetalle SET TipFac = @TipDoc, Factura = @Numero, IdCiaFac = @Cia, FechaFac = @FechaFac, EstadoItem = 'FACTURADA' FROM Trn_TraEspResDetalle d WHERE d.TipDoc = @TipRes and d.Reserva = @NumRes and d.IdCia = @CiaRes and d.Item = @ItemRes --se agrega 11/04/2018 para sacar este codigo de la aplicación IF (@NumRes <> @reserva) BEGIN SET @reserva = @NumRes SELECT @cantres = count(*) FROM Trn_TraEspResDetalle AS rd WHERE rd.TipDoc = @TipRes and rd.Reserva = @NumRes and rd.IdCia = @CiaRes SELECT @cantresfact = count(*) FROM Trn_TraEspResDetalle AS rd WHERE rd.TipDoc = @TipRes and rd.Reserva = @NumRes and rd.IdCia = @CiaRes and rd.EstadoItem = 'FACTURADA' IF (@cantresfact = @cantres) BEGIN UPDATE Trn_TraEspReservas SET EstadoRes = 'FACTURADA' WHERE TipDoc = @TipRes and Reserva = @NumRes and IdCia = @CiaRes END END ------------------------------------------------------------- FETCH NEXT FROM faccursor INTO @TipRes,@NumRes,@CiaRes,@ItemRes END CLOSE faccursor DEALLOCATE faccursor --actualiza el cliente UPDATE TercCliente SET VrSaldo = c.VrSaldo + f.VrNeto FROM TercCliente c, @Trn_Facturas f WHERE c.IdClie = f.IdCliente END END SELECT @Numero, @Comprobante COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN DECLARE @ErrorMessage NVARCHAR(4000); DECLARE @ErrorSeverity INT; DECLARE @ErrorState INT; SELECT @ErrorMessage = ERROR_MESSAGE(), @ErrorSeverity = ERROR_SEVERITY(), @ErrorState = ERROR_STATE(); RAISERROR( @ErrorMessage, -- Message text. @ErrorSeverity, -- Severity. @ErrorState -- State. ); END CATCH RETURN 0 GO /****** Object: StoredProcedure [dbo].[paWcfSeInsTrn_TraEspDevOdpGIE] Script Date: 22/05/2024 11:16:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[paWcfSeInsTrn_TraEspDevOdpGIE] @Trn_TraEspDevOdp [dbo].[dataTypeTrn_TraEspDevOdp] READONLY, @Trn_EgrFactura [dbo].[dataTypeTrn_EgrFactura] READONLY, @Trn_TraEspAntAbonos [dbo].[dataTypeTrn_TraEspAntAbonos] READONLY, @Trn_Pagos [dbo].[dataTypeTrn_Pagos] READONLY, @Trn_TraEspOrdenReservas [dbo].[dataTypeTrn_TraEspOrdenReservas] READONLY, @Trn_Comprobantes [dbo].[dataTypeTrn_Comprobantes] READONLY, @Trn_ComDetalle [dbo].[dataTypeTrn_ComDetalle] READONLY, @Trn_NiifComp [dbo].[dataTypeTrn_NiifComp] READONLY, @Trn_NiifDetalle [dbo].[dataTypeNiifDetalle] READONLY, @operacion [varchar](1) WITH EXECUTE AS CALLER AS DECLARE @Comprobante INT = 0 --Esta variable guarda el número consecutivo del comprobante DECLARE @TipComp VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante DECLARE @IdCiaComp VARCHAR(4) = '00' --Esta variable guarda la compañia del comprobante DECLARE @CompNiif INT = 0 --Esta variable guarda el número consecutivo del comprobante Niif DECLARE @TipCompNiif VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante Niif DECLARE @IdCiaCompNiif VARCHAR(4) = '00'--Esta variable guarda la compañia del comprobante Niif DECLARE @CompFis INT = 0 --Esta variable guarda el número consecutivo de comprobante Fiscal DECLARE @TipCompFis VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante Fiscal DECLARE @IdCiaCompFis VARCHAR(4) = '00' --Esta variable guarda la compañia del comprobante Fiscal DECLARE @TipDev VARCHAR(3) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @CiaDev VARCHAR(2) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @Dev INT --En esta variable se guarda el consecutivo del documento aprobación DECLARE @TipDoc VARCHAR(3) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @Cia VARCHAR(2) --En esta variable se guarda el consecutivo del documento aprobación BEGIN TRAN BEGIN TRY declare @fecdev smalldatetime IF(@operacion = 'i') begin SELECT TOP 1 @TipDev = TipDev, @CiaDev = IdCia,@TipDoc = TipDoc, @Cia = IdCiaDoc,@fecdev = Fecha, @IdCiaComp = IdCia, @IdCiaCompNiif = IdCia, @IdCiaCompFis = IdCia FROM @Trn_TraEspDevOdp SELECT @Dev = Numero + 1 FROM TiposDocCons where IdDoc = @TipDev AND IdCia = @CiaDev IF(@Dev > 0) UPDATE TiposDocCons SET Numero = @Dev WHERE IdDoc = @TipDev AND IdCia = @CiaDev ELSE BEGIN SELECT @Dev = 1 INSERT INTO TiposDocCons VALUES (@TipDev,@CiaDev,0,0,0,0,NULL,'',@Dev,0,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null,null,null) END --John Roa--DIEGO ROMERO DICE QUE SI NO EXISTE EL COMPROBANTE CON ELMISMO NOMBRE DE DOC DEVOLUCIÓN INSERTA UN COMPROBANTE CON EL TIPCOM SEA IIGUAL AL TIPDEV, en la tabla TiposCom(tipos de comprobantes) --es INACTIVO = 1, PARA PODER INSERTAR EN EGRFACTURA ESTE TIPCOM IF(NOT EXISTS(SELECT IdCom FROM TiposCom where IdCom = @TipDev)) BEGIN INSERT INTO TiposCom VALUES (@TipDev,'DEVOLUCION DE ORDEN DE PAGO ESPECIAL',0,0,0,1,CURRENT_TIMESTAMP,NULL,NULL,null) END -- IF(EXISTS(SELECT * FROM @Trn_Comprobantes)) BEGIN SELECT TOP 1 @TipComp = TipCom FROM @Trn_Comprobantes SELECT @Comprobante = Numero + 1 FROM TiposComCons where IdCom = @TipComp AND IdCia = @IdCiaComp --UPDATE TiposComCons SET Numero = @Comprobante WHERE IdCom = @TipComp AND IdCia = @IdCiaComp IF(@Comprobante <> '') UPDATE TiposComCons SET Numero = @Comprobante WHERE IdCom = @TipComp and IdCia = @IdCiaComp ELSE BEGIN SELECT @Comprobante = 1 INSERT INTO TiposComCons VALUES (@TipComp,@IdCiaComp,0,0,@Comprobante,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF')) BEGIN SELECT TOP 1 @TipCompNiif = TipCom FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF' SELECT @CompNiif = Numero + 1 FROM TiposComCons where IdCom = @TipCompNiif AND IdCia = @IdCiaCompNiif --UPDATE TiposComCons SET Numero = @CompNiif WHERE IdCom = @TipCompNiif AND IdCia = @IdCiaCompNiif IF(@CompNiif <> '') UPDATE TiposComCons SET Numero = @CompNiif WHERE IdCom = @TipCompNiif and IdCia = @IdCiaCompNiif ELSE BEGIN SELECT @CompNiif = 1 INSERT INTO TiposComCons VALUES (@TipCompNiif,@IdCiaCompNiif,0,0,@CompNiif,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL')) BEGIN SELECT TOP 1 @TipCompFis = TipCom FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL' SELECT @CompFis = Numero + 1 FROM TiposComCons where IdCom = @TipCompFis AND IdCia = @IdCiaCompFis --UPDATE TiposComCons SET Numero = @CompFis WHERE IdCom = @TipCompFis AND IdCia = @IdCiaCompFis IF(@CompNiif <> '') UPDATE TiposComCons SET Numero = @CompFis WHERE IdCom = @TipCompFis and IdCia = @IdCiaCompFis ELSE BEGIN SELECT @CompFis = 1 INSERT INTO TiposComCons VALUES (@TipCompFis,@IdCiaCompFis,0,0,@CompFis,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END end IF(@operacion = 'i') begin IF(EXISTS(SELECT * FROM @Trn_TraEspDevOdp)) BEGIN INSERT INTO Trn_TraEspDevOdp( TipDev,Devolucion,IdCia,Fecha,IdConcepto,TipDoc,OrdPago,IdCiaDoc,FecDoc,IdVehiculo,IdPoseedor,IdConductor,CxPagar,ModdDev,TipCom,Comprobante, IdCiaCom,Observacion,IdEstado,OrigenAdd,TimeSys,FecUpdate,IdCiaCrea,IdUsuario ) SELECT @TipDev,@Dev,@CiaDev,Fecha,IdConcepto,TipDoc,OrdPago,IdCiaDoc,FecDoc,IdVehiculo,IdPoseedor,IdConductor,CxPagar,ModdDev,@TipComp, @Comprobante, @IdCiaComp,Observacion,IdEstado,OrigenAdd,TimeSys,FecUpdate,IdCiaCrea,IdUsuario FROM @Trn_TraEspDevOdp END IF(EXISTS(SELECT * FROM @Trn_EgrFactura)) BEGIN INSERT INTO Trn_EgrFactura( TipCom,Comprobante,IdCia,Item,Fecha,TipFac,Factura,IdCiaFac, ItemFac,IdProveedor,IdCuenta,VrAbono,EsEgreso,ItemCom,pVehiculo, VehPropio,TipDev,NumDev,DetAbono ) SELECT @TipDev,@Dev,@CiaDev,Item,Fecha,TipFac,Factura,IdCiaFac, ItemFac,IdProveedor,IdCuenta,VrAbono,EsEgreso,ItemCom,pVehiculo, VehPropio,@TipDev,@Dev,DetAbono FROM @Trn_EgrFactura END IF(EXISTS(SELECT * FROM @Trn_TraEspAntAbonos)) BEGIN INSERT INTO Trn_TraEspAntAbonos( TipDoc,Documento,IdCia,Item,Fecha,TipAnt,Anticipo,IdCiaAnt,VrAbono,TipoAplica,Detalle,CdCuentaAnt ) SELECT @TipDev,@Dev,@CiaDev,Item,Fecha,TipAnt,Anticipo,IdCiaAnt,(-VrAbono),TipoAplica,Detalle,CdCuentaAnt FROM @Trn_TraEspAntAbonos END IF(EXISTS(SELECT * FROM @Trn_Pagos)) BEGIN INSERT INTO Trn_Pagos( TipDoc, Documento, IdCia, Item, Fecha, IdForma, Detalle, VrPagado, VrCambio, EsCaja, IdBanco, NitCliente, CdAgencia, NumForma, FecForma, CtaForma, Beneficiario, Referncia1, Referncia2, CdLocal, NumAutoriza, VrDenom, Cantidad, TipDenom, TipRef, DocRef, IdCiaRef, ItemDoc, CdCta, IdUsuario, CdProducto,FE_Ticket,Cant_Gals,PrecioBase,PrecioUnit, ConsCP, CodCueCons, PrecioPub, RefVehiculo, RefNumVeh ) SELECT @TipDev, @Dev, @CiaDev, Item, Fecha, IdForma, Detalle, VrPagado, VrCambio, EsCaja, IdBanco, NitCliente, CdAgencia, NumForma, FecForma, CtaForma, Beneficiario, Referncia1, Referncia2, CdLocal, NumAutoriza, VrDenom, Cantidad, TipDenom, TipRef, DocRef, IdCiaRef, ItemDoc, CdCta, IdUsuario, CdProducto, FE_Ticket, Cant_Gals, PrecioBase, PrecioUnit, ConsCP, CodCueCons, PrecioPub, RefVehiculo, RefNumVeh FROM @Trn_Pagos END IF(EXISTS(SELECT * FROM @Trn_Comprobantes)) BEGIN INSERT INTO Trn_Comprobantes( TipCom, Comprobante, IdCia, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac, FechaAut, NiifTipo, NiifNumero, FisTipo, FisNumero, DocSoporte, CodRes, DescServicio ) SELECT @TipComp, @Comprobante, @IdCiaComp, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, @TipDev, @Dev, @CiaDev, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac, FechaAut, @TipCompNiif, @CompNiif, @TipCompFis, @CompFis, DocSoporte, CodRes, DescServicio FROM @Trn_Comprobantes END IF(EXISTS(SELECT * FROM @Trn_ComDetalle)) BEGIN INSERT INTO Trn_ComDetalle( TipCom, Comprobante, IdCia, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo, IdCCosto, IdSubCos, VrBase, TarifaBase, TipDoc, Documento, IdCiaDoc, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza,CdCuentaNiif ) SELECT @TipComp,@Comprobante,@IdCiaComp, Item, Fecha, CASE WHEN Detalle = 'RETENCION EN LA FUENTE' THEN (SELECT DISTINCT T.IdCuenta FROM @Trn_TraEspOrdenReservas O INNER JOIN TarifCuentas T ON T.IdTarifa = O.CodTarRet AND T.TipDoc = 'OPE') WHEN Detalle = 'RETENCION ICA' THEN (SELECT DISTINCT T.IdCuenta FROM @Trn_TraEspOrdenReservas O INNER JOIN TarifCuentas T ON T.IdTarifa = O.CodTarIca AND T.TipDoc = 'OPE') ELSE IdCuenta END AS IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo, IdCCosto, IdSubCos, VrBase, TarifaBase, @TipDev, @Dev, @CiaDev, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza,CdCuentaNiif FROM @Trn_ComDetalle END IF(EXISTS(SELECT * FROM @Trn_NiifComp)) BEGIN INSERT INTO Trn_NiifComp( TipCom, Comprobante, IdCia, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, TipoNiif, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac,FechaAut, CtbTipo, CtbNumero, FisTipo, FisNumero ) SELECT CASE N.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE @TipCompFis END, CASE N.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE @CompFis END, @CiaDev, C.Fecha, C.IdTercero, C.VrTotal, C.IdCta, C.EnEfectivo, C.NumCheque, C.FecCheque, @TipDev, @Dev, @CiaDev, C.Anulado, C.NumDev, C.FecDev, C.TipEgr, C.NEgreso, C.pVehiculo, C.VehPropio, C.CedCondtor, C.CodConce, C.Beneficiario, C.VrDivisa1, C.VrDivisa2, C.VrDivisa3, C.PermEditar, C.Integrado, C.EsEgreso, C.Anticipo, C.Observacion, C.IdEstado, C.Propddes, C.TimeSys, C.FecUpdate, C.IdCiaCrea, C.IdUsuario, N.TipoNiif, C.CdSustento, C.Tipo_Pago, C.Establec, C.PEmision, C.Autorizac, C.FechaAut, CASE N.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE NULL END, CASE N.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE 0 END, CASE N.TipoNiif WHEN 'FISCAL' THEN @TipCompFis ELSE NULL END, CASE N.TipoNiif WHEN 'FISCAL' THEN @CompFis ELSE 0 END FROM @Trn_Comprobantes AS C JOIN @Trn_NiifComp AS N ON C.TipCom = N.TipComCont AND C.Comprobante = N.ComprobanteCont END IF(EXISTS(SELECT * FROM @Trn_NiifDetalle)) BEGIN INSERT INTO Trn_NiifDetalle( TipCom, Comprobante, IdCia, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo,IdCCosto, IdSubCos, VrBase, TarifaBase, TipDoc, Documento, IdCiaDoc, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza, CodCuentaCG ) SELECT CASE NC.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE @TipCompFis END, CASE NC.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE @CompFis END, @CiaDev, N.Item, N.Fecha, N.IdCuenta, N.Detalle, N.VrDebito, N.VrCredito, N.IdTercero, N.IdVehiculo,N.IdCCosto, N.IdSubCos, N.VrBase, N.TarifaBase, @TipDev, @Dev, @CiaDev, N.CodConce, N.NitDoc, N.TipFac, N.Factura, N.IdCiaFac, N.ItemFac, N.FecVence, N.CodCta, N.NumCheque, N.Integrado, N.TipoAplica, N.Consolida, N.CodCargo, N.NitOtros, N.CodSubgpo, N.CiuOrigen, N.CodAgncia, N.VehPropio, N.Referncia, N.TipDocRef, N.DocRef, N.IdCiaRef, N.TimeSys, N.FecUpdate, N.IdCiaCrea, N.IdUsuario, N.CdConcTrib, N.CdTarifTrib, N.NumEstablec, N.PtoEmision ,N.Num_Autoriza, N.FechAutoriza, N.CodCuentaCG FROM @Trn_NiifDetalle as N JOIN @Trn_NiifComp AS NC ON N.TipCom = NC.TipCom AND N.Comprobante = NC.Comprobante END end IF(@operacion = 'i') begin --Se actualiza la orden de pago con los datos de la devolución update Trn_TraEspOrdenPago set NumDev = @Dev, FecDev = @fecdev,Anulado = 1 from Trn_TraEspOrdenPago t1, @Trn_TraEspDevOdp t2 where t1.TipDoc = t2.TipDoc and t1.OrdPago = t2.OrdPago and t1.IdCia = t2.IdCiaDoc --se actualiza la Trn_Comfactura update Trn_ComFactura set VrAbonado = t1.VrAbonado + t2.VrAbono from Trn_ComFactura t1, @Trn_EgrFactura t2 where t1.TipFac = t2.TipFac and t1.Factura = t2.Factura and t1.IdCia = t2.Idcia and t1.Item = t2.ItemFac and t1.IdProveedor = t2.IdProveedor --Actualizar item de Reservas al estado en el que se encontraba antes de cuando le realizaron la Orden de Pago UPDATE Trn_TraEspResDetalle SET EstadoItem = t.EstadoItem FROM Trn_TraEspResDetalle r, @Trn_TraEspOrdenReservas t WHERE r.TipDoc = t.TipRes and r.Reserva = t.Reserva and r.IdCia = t.IdCiaRes and r.Item = t.ItemRes --actualiza los anticipos(restar) para que quede como estaba antes de hacer la Orden de Pago UPDATE Trn_TraEspAnticipos SET VrAbonado = t2.VrAbono - VrAbonado FROM Trn_TraEspAnticipos t1, @Trn_TraEspAntAbonos t2 WHERE t1.TipDoc = t2.TipAnt and t1.Anticipo = t2.Anticipo and t1.IdCia = t2.IdCiaAnt end SELECT @Dev,@Comprobante COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN DECLARE @ErrorMessage NVARCHAR(4000); DECLARE @ErrorSeverity INT; DECLARE @ErrorState INT; SELECT @ErrorMessage = ERROR_MESSAGE(), @ErrorSeverity = ERROR_SEVERITY(), @ErrorState = ERROR_STATE(); RAISERROR( @ErrorMessage, -- Message text. @ErrorSeverity, -- Severity. @ErrorState -- State. ); END CATCH RETURN 0 GO /****** Object: StoredProcedure [dbo].[paWcfSeInsTrn_TraEspOrdenPagoGIE] Script Date: 22/05/2024 11:16:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[paWcfSeInsTrn_TraEspOrdenPagoGIE] @Trn_TraEspOrdenPago [dbo].[dataTypeTrn_TraEspOrdenPago] READONLY, @Trn_TraEspOrdenReservas [dbo].[dataTypeTrn_TraEspOrdenReservas] READONLY, @Trn_TraEspOrdenProg [dbo].[dataTypeTrn_TraEspOrdenProg] READONLY, @Trn_TraEspConceptos [dbo].[dataTypeTrn_TraEspConceptos] READONLY, @Trn_TraEspAntAbonos [dbo].[dataTypeTrn_TraEspAntAbonos] READONLY, @Trn_DetCuentas [dbo].[dataTypeTrn_DetCuentas] READONLY, @Trn_ComFactura [dbo].[dataTypeTrn_ComFactura] READONLY, @Trn_Pagos [dbo].[dataTypeTrn_Pagos] READONLY, @Trn_Comprobantes [dbo].[dataTypeTrn_Comprobantes] READONLY, @Trn_ComDetalle [dbo].[dataTypeTrn_ComDetalle] READONLY, @Trn_NiifComp [dbo].[dataTypeNiifComp] READONLY, @Trn_NiifDetalle [dbo].[dataTypeNiifDetalle] READONLY, @operacion [varchar](1) WITH EXECUTE AS CALLER AS DECLARE @Comprobante INT = 0 --Esta variable guarda el número consecutivo del comprobante DECLARE @TipComp VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante DECLARE @IdCiaComp VARCHAR(4) = '00' --Esta variable guarda la compañia del comprobante DECLARE @CompNiif INT = 0 --Esta variable guarda el número consecutivo del comprobante Niif DECLARE @TipCompNiif VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante Niif DECLARE @IdCiaCompNiif VARCHAR(4) = '00'--Esta variable guarda la compañia del comprobante Niif DECLARE @CompFis INT = 0 --Esta variable guarda el número consecutivo de comprobante Fiscal DECLARE @TipCompFis VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante Fiscal DECLARE @IdCiaCompFis VARCHAR(4) = '00' --Esta variable guarda la compañia del comprobante Fiscal DECLARE @TipDoc VARCHAR(3) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @Cia VARCHAR(2) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @Numero INT --En esta variable se guarda el consecutivo del documento aprobación --Nuevas variables DECLARE @Reserva INT = (SELECT TOP 1 Reserva FROM @Trn_TraEspOrdenReservas) --Esta variable guarda el número de reserva DECLARE @ItemRes INT = (SELECT TOP 1 ItemRes FROM @Trn_TraEspOrdenReservas) --Esta variable guarda el número de ítem de reserva DECLARE @IdCiaRes CHAR(2) = (SELECT TOP 1 IdCiaRes FROM @Trn_TraEspOrdenReservas) --Esta variable guarda la compañia de la reserva DECLARE @VrPagos MONEY = 0 --En esta variable va guarda el valor de pago real de la reserva DECLARE @VrTotalPagosaRES MONEY = 0 --En esta variable va guarda el valor de pagos hechas a la reserva por ordenes de pago DECLARE @TipoTarifa varchar(20) BEGIN TRAN BEGIN TRY IF(@operacion = 'i') begin SELECT TOP 1 @TipDoc = TipDoc, @Cia = IdCia, @IdCiaComp = IdCia, @IdCiaCompNiif = IdCia, @IdCiaCompFis = IdCia FROM @Trn_TraEspOrdenPago SELECT @Numero = Numero + 1 FROM TiposDocCons where IdDoc = @TipDoc AND IdCia = @Cia IF(@Numero > 0) UPDATE TiposDocCons SET Numero = @Numero WHERE IdDoc = @TipDoc AND IdCia = @Cia ELSE BEGIN SELECT @Numero = 1 INSERT INTO TiposDocCons VALUES (@TipDoc,@Cia,0,0,0,0,NULL,'',@Numero,0,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null,null,null) END IF(EXISTS(SELECT * FROM @Trn_Comprobantes)) BEGIN SELECT TOP 1 @TipComp = TipCom FROM @Trn_Comprobantes SELECT @Comprobante = Numero + 1 FROM TiposComCons where IdCom = @TipComp AND IdCia = @IdCiaComp --UPDATE TiposComCons SET Numero = @Comprobante WHERE IdCom = @TipComp AND IdCia = @IdCiaComp IF(@Comprobante <> '') UPDATE TiposComCons SET Numero = @Comprobante WHERE IdCom = @TipComp and IdCia = @IdCiaComp ELSE BEGIN SELECT @Comprobante = 1 INSERT INTO TiposComCons VALUES (@TipComp,@IdCiaComp,0,0,@Comprobante,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF')) BEGIN SELECT TOP 1 @TipCompNiif = TipCom FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF' SELECT @CompNiif = Numero + 1 FROM TiposComCons where IdCom = @TipCompNiif AND IdCia = @IdCiaCompNiif --UPDATE TiposComCons SET Numero = @CompNiif WHERE IdCom = @TipCompNiif AND IdCia = @IdCiaCompNiif IF(@CompNiif <> '') UPDATE TiposComCons SET Numero = @CompNiif WHERE IdCom = @TipCompNiif and IdCia = @IdCiaCompNiif ELSE BEGIN SELECT @CompNiif = 1 INSERT INTO TiposComCons VALUES (@TipCompNiif,@IdCiaCompNiif,0,0,@CompNiif,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL')) BEGIN SELECT TOP 1 @TipCompFis = TipCom FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL' SELECT @CompFis = Numero + 1 FROM TiposComCons where IdCom = @TipCompFis AND IdCia = @IdCiaCompFis --UPDATE TiposComCons SET Numero = @CompFis WHERE IdCom = @TipCompFis AND IdCia = @IdCiaCompFis IF(@CompNiif <> '') UPDATE TiposComCons SET Numero = @CompFis WHERE IdCom = @TipCompFis and IdCia = @IdCiaCompFis ELSE BEGIN SELECT @CompFis = 1 INSERT INTO TiposComCons VALUES (@TipCompFis,@IdCiaCompFis,0,0,@CompFis,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END end IF(@operacion = 'i') begin IF(EXISTS(SELECT * FROM @Trn_TraEspOrdenPago)) BEGIN INSERT INTO Trn_TraEspOrdenPago( TipDoc,OrdPago,IdCia,Fecha,TipRes,Reserva,IdCiaRes,IdConcepto,Cantidad,Modalidad,LiqReservas,CxPagar,MulPlazos,IdPlazo,FechaVence, TipCom,Comprobante,IdCiaCom,Anulado,NumDev,FecDev,Observacion,IdEstado,OrigenAdd,TimeSys,FecUpdate,IdCiaCrea,IdUsuario ) SELECT @TipDoc,@Numero,@Cia,Fecha,TipRes,Reserva,IdCiaRes,IdConcepto,Cantidad,Modalidad,LiqReservas,CxPagar,MulPlazos,IdPlazo,FechaVence, @TipComp,@Comprobante,@IdCiaComp,Anulado,NumDev,FecDev,Observacion,IdEstado,OrigenAdd,TimeSys,FecUpdate,IdCiaCrea,IdUsuario FROM @Trn_TraEspOrdenPago END IF(EXISTS(SELECT * FROM @Trn_TraEspOrdenReservas)) BEGIN INSERT INTO Trn_TraEspOrdenReservas( TipDoc,OrdPago,IdCia,Item,Fecha,TipRes,Reserva,IdCiaRes,ItemRes,IdVehiculo,IdConductor,IdPropietario,IdPoseedor,VrServicio,VrDescuento,VrRetencion, VrReteIca,VrReteCREE,VrAnticipos,VrOtrosDctos,VrImpuestos,VrOtrosPagos,VrNeto,BaseRet,BaseIca,BaseCree,TarifaRet,TarifaIca,TarifaRtc,CodTarRet, CodTarIca,CodTarRtc,TipEgr,Egreso,IdCiaEgr,FechaEgr,NumCheque,Referencia,VrConcPagos,VrConcDctos,VrConcFondo,VrConcSeguro,VrConcAporte,VrConcImpuesto, VrRecCaja,CdForma,CdCenCosto,CdSubCenCos,VrSeguros,VrFondos,VrAportes,EdoLiqCausac,EstadoItem ) SELECT @TipDoc,@Numero,@Cia,Item,Fecha,TipRes,Reserva,IdCiaRes,ItemRes,IdVehiculo,IdConductor,IdPropietario,IdPoseedor,VrServicio,VrDescuento,VrRetencion, VrReteIca,VrReteCREE,VrAnticipos,VrOtrosDctos,VrImpuestos,VrOtrosPagos,VrNeto,BaseRet,BaseIca,BaseCree,TarifaRet,TarifaIca,TarifaRtc,CodTarRet, CodTarIca,CodTarRtc,TipEgr,Egreso,IdCiaEgr,FechaEgr,NumCheque,Referencia,VrConcPagos,VrConcDctos,VrConcFondo,VrConcSeguro,VrConcAporte,VrConcImpuesto, VrRecCaja,CdForma,CdCenCosto,CdSubCenCos,VrSeguros,VrFondos,VrAportes,EdoLiqCausac,EstadoItem FROM @Trn_TraEspOrdenReservas END IF(EXISTS(SELECT * FROM @Trn_TraEspConceptos)) BEGIN INSERT INTO Trn_TraEspConceptos( TipDoc,Documento,IdCia,Item,Descripcion,Tarifa,TipoConc,RubroConcep,Cantidad,VrUnitario,TarifIva,IdConcepto,CdCuenta,NitTercero, CdTipoEsc,FechaNov,VrBase,TipoTarif,RefConc,Fijos,IncBaseRet,Referencia2,Referencia3,Cliente,Conductor,Vehiculo,ItemDoc,IdVehiculo ) SELECT @TipDoc,@Numero,@Cia,Item,Descripcion,Tarifa,TipoConc,RubroConcep,Cantidad,VrUnitario,TarifIva,IdConcepto,CdCuenta,NitTercero, CdTipoEsc,FechaNov,VrBase,TipoTarif,RefConc,Fijos,IncBaseRet,Referencia2,Referencia3,Cliente,Conductor,Vehiculo,ItemDoc,IdVehiculo FROM @Trn_TraEspConceptos END IF(EXISTS(SELECT * FROM @Trn_TraEspAntAbonos)) BEGIN INSERT INTO Trn_TraEspAntAbonos( TipDoc,Documento,IdCia,Item,Fecha,TipAnt,Anticipo,IdCiaAnt,VrAbono,TipoAplica,Detalle,CdCuentaAnt ) SELECT @TipDoc,@Numero,@Cia,Item,Fecha,TipAnt,Anticipo,IdCiaAnt,VrAbono,TipoAplica,Detalle,CdCuentaAnt FROM @Trn_TraEspAntAbonos END IF(EXISTS(SELECT * FROM @Trn_DetCuentas)) BEGIN INSERT INTO Trn_DetCuentas( TipDoc,Documento,IdCia,Concepto,Item,IdCuenta,Valor,Detalle,IdTercero,CodAgncia,CdCCosto,CdSubCos,pVehiculo, VrBase,TipFac,Factura,IdCiaFac,ItemFac,FecVence,Cheque,CiuOrigen,Referencia,VrTarifa,TipoTarif,CodConc,CodTarif ) SELECT @TipDoc,@Numero,@Cia,Concepto,Item,IdCuenta,Valor,Detalle,IdTercero,CodAgncia,CdCCosto,CdSubCos,pVehiculo, VrBase,TipFac,Factura,IdCiaFac,ItemFac,FecVence,Cheque,CiuOrigen,Referencia,VrTarifa,TipoTarif,CodConc,CodTarif FROM @Trn_DetCuentas END IF(EXISTS(SELECT * FROM @Trn_ComFactura)) BEGIN INSERT INTO Trn_ComFactura( TipFac,Factura,IdCia,Item,IdProveedor,IdCuenta,TipDoc,Documento,IdCiaDoc,FecEmision,FecVence,VrFactura,VrAbonado,TipCom,Comprobante,ItemCom, Referencia,Detalle,pVehiculo,VehPropio,TipRef,DocRef,IdCiaRef,EstadoApr,MontoAprob ) SELECT @TipDoc,@Numero,@Cia,Item,IdProveedor,IdCuenta,@TipDoc,@Numero,@Cia,FecEmision,FecVence,VrFactura,VrAbonado,@TipComp,@Comprobante,ItemCom, Referencia,Detalle,pVehiculo,VehPropio,TipRef,DocRef,IdCiaRef,EstadoApr,MontoAprob FROM @Trn_ComFactura END IF(EXISTS(SELECT * FROM @Trn_Pagos)) BEGIN INSERT INTO Trn_Pagos( TipDoc, Documento, IdCia, Item, Fecha, IdForma, Detalle, VrPagado, VrCambio, EsCaja, IdBanco, NitCliente, CdAgencia, NumForma, FecForma, CtaForma, Beneficiario, Referncia1, Referncia2, CdLocal, NumAutoriza, VrDenom, Cantidad, TipDenom, TipRef, DocRef, IdCiaRef, ItemDoc, CdCta, IdUsuario, CdProducto, FE_Ticket, Cant_Gals, PrecioBase, PrecioUnit, ConsCP, CodCueCons, PrecioPub, RefVehiculo, RefNumVeh ) SELECT @TipDoc, @Numero, @Cia, Item, Fecha, IdForma, Detalle, VrPagado, VrCambio, EsCaja, IdBanco, NitCliente, CdAgencia, NumForma, FecForma, CtaForma, Beneficiario, Referncia1, Referncia2, CdLocal, NumAutoriza, VrDenom, Cantidad, TipDenom, TipRef, DocRef, IdCiaRef, ItemDoc, CdCta, IdUsuario, CdProducto, FE_Ticket, Cant_Gals, PrecioBase, PrecioUnit, ConsCP, CodCueCons, PrecioPub, RefVehiculo, RefNumVeh FROM @Trn_Pagos END IF(EXISTS(SELECT * FROM @Trn_Comprobantes)) BEGIN INSERT INTO Trn_Comprobantes( TipCom, Comprobante, IdCia, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac, FechaAut, NiifTipo, NiifNumero, FisTipo, FisNumero, DocSoporte, CodRes, DescServicio ) SELECT @TipComp, @Comprobante, @IdCiaComp, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, @TipDoc, @Numero, @Cia, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac, FechaAut, @TipCompNiif, @CompNiif, @TipCompFis, @CompFis, DocSoporte, CodRes, DescServicio FROM @Trn_Comprobantes END IF(EXISTS(SELECT * FROM @Trn_ComDetalle)) BEGIN INSERT INTO Trn_ComDetalle( TipCom, Comprobante, IdCia, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo, IdCCosto, IdSubCos, VrBase, TarifaBase, TipDoc, Documento, IdCiaDoc, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza,CdCuentaNiif ) SELECT @TipComp, @Comprobante, @IdCiaComp, Item, Fecha, CASE WHEN Detalle = 'RETENCION EN LA FUENTE' THEN (SELECT DISTINCT T.IdCuenta FROM @Trn_TraEspOrdenReservas O INNER JOIN TarifCuentas T ON T.IdTarifa = O.CodTarRet AND T.TipDoc = 'OPE') WHEN Detalle = 'RETENCION ICA' THEN (SELECT DISTINCT T.IdCuenta FROM @Trn_TraEspOrdenReservas O INNER JOIN TarifCuentas T ON T.IdTarifa = O.CodTarIca AND T.TipDoc = 'OPE') ELSE IdCuenta END AS IdCuenta ,CASE WHEN D.Detalle = 'CUENTA POR PAGAR' THEN CASE WHEN EXISTS (SELECT 1 FROM @Trn_TraEspOrdenReservas WHERE Referencia != '') THEN 'CUENTA POR PAGAR-REF:' + (SELECT Referencia FROM @Trn_TraEspOrdenReservas WHERE Referencia != '') ELSE 'CUENTA POR PAGAR' END ELSE D.Detalle END AS Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo, IdCCosto, IdSubCos, VrBase, TarifaBase, @TipDoc, @Numero, @Cia, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, SUBSTRING(Referncia, 0, 50), TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza,CdCuentaNiif FROM @Trn_ComDetalle D END IF(EXISTS(SELECT * FROM @Trn_NiifComp)) BEGIN INSERT INTO Trn_NiifComp( TipCom, Comprobante, IdCia, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, TipoNiif, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac,FechaAut, CtbTipo, CtbNumero, FisTipo, FisNumero ) SELECT CASE N.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE @TipCompFis END, CASE N.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE @CompFis END, @Cia, C.Fecha, C.IdTercero, C.VrTotal, C.IdCta, C.EnEfectivo, C.NumCheque, C.FecCheque, @TipDoc, @Numero, @Cia, C.Anulado, C.NumDev, C.FecDev, C.TipEgr, C.NEgreso, C.pVehiculo, C.VehPropio, C.CedCondtor, C.CodConce, C.Beneficiario, C.VrDivisa1, C.VrDivisa2, C.VrDivisa3, C.PermEditar, C.Integrado, C.EsEgreso, C.Anticipo, C.Observacion, C.IdEstado, C.Propddes, C.TimeSys, C.FecUpdate, C.IdCiaCrea, C.IdUsuario, N.TipoNiif, C.CdSustento, C.Tipo_Pago, C.Establec, C.PEmision, C.Autorizac, C.FechaAut, CASE N.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE NULL END, CASE N.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE 0 END, CASE N.TipoNiif WHEN 'FISCAL' THEN @TipCompFis ELSE NULL END, CASE N.TipoNiif WHEN 'FISCAL' THEN @CompFis ELSE 0 END FROM @Trn_Comprobantes AS C JOIN @Trn_NiifComp AS N ON C.TipCom = N.TipComCont AND C.Comprobante = N.ComprobanteCont END IF(EXISTS(SELECT * FROM @Trn_NiifDetalle)) BEGIN INSERT INTO Trn_NiifDetalle( TipCom, Comprobante, IdCia, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo,IdCCosto, IdSubCos, VrBase, TarifaBase, TipDoc, Documento, IdCiaDoc, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza, CodCuentaCG ) SELECT CASE NC.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE @TipCompFis END, CASE NC.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE @CompFis END, @Cia, N.Item, N.Fecha, N.IdCuenta, N.Detalle, N.VrDebito, N.VrCredito, N.IdTercero, N.IdVehiculo,N.IdCCosto, N.IdSubCos, N.VrBase, N.TarifaBase, @TipDoc, @Numero, @Cia, N.CodConce, N.NitDoc, N.TipFac, N.Factura, N.IdCiaFac, N.ItemFac, N.FecVence, N.CodCta, N.NumCheque, N.Integrado, N.TipoAplica, N.Consolida, N.CodCargo, N.NitOtros, N.CodSubgpo, N.CiuOrigen, N.CodAgncia, N.VehPropio, SUBSTRING(N.Referncia,0,50), N.TipDocRef, N.DocRef, N.IdCiaRef, N.TimeSys, N.FecUpdate, N.IdCiaCrea, N.IdUsuario, N.CdConcTrib, N.CdTarifTrib, N.NumEstablec, N.PtoEmision ,N.Num_Autoriza, N.FechAutoriza, N.CodCuentaCG FROM @Trn_NiifDetalle as N JOIN @Trn_NiifComp AS NC ON N.TipCom = NC.TipCom AND N.Comprobante = NC.Comprobante END BEGIN UPDATE Trn_TraEspResDetalle SET EstadoItem ='LIQUIDADA' WHERE Reserva = @Reserva AND IdCia = @IdCiaRes AND Item = @ItemRes END end SELECT @Numero,@Comprobante COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN DECLARE @ErrorMessage NVARCHAR(4000); DECLARE @ErrorSeverity INT; DECLARE @ErrorState INT; SELECT @ErrorMessage = ERROR_MESSAGE(), @ErrorSeverity = ERROR_SEVERITY(), @ErrorState = ERROR_STATE(); RAISERROR( @ErrorMessage, -- Message text. @ErrorSeverity, -- Severity. @ErrorState -- State. ); END CATCH RETURN 0 GO /****** Object: StoredProcedure [dbo].[paWcfSeLisTm_TraEspTempCargarDetCons] Script Date: 22/05/2024 11:16:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: Cesar Fernando Carre?o -- Create date: 04/01/2024 -- Description: Metodo para cargar tabla temporal -- ============================================= CREATE PROCEDURE [dbo].[paWcfSeLisTm_TraEspTempCargarDetCons] @Usuario varchar(20) AS set @Usuario = (select 'CCD' + IdEstacion as Estacion from adm_Usuarios where IdUsuario = @Usuario) BEGIN select [TipDoc] ,[Causacion] ,[IdCia] ,[Item] ,[IdConcepto] ,[Descripcion] ,[TipoConc] ,[VrDebito] ,[VrCredito] ,[CdCuenta] ,[NitTercero] ,[RazonSocial] ,[CdCCosto] ,[CCosto] ,[CdSubCos] ,[SubCosto] ,[pVehiculo] ,[NumVeh] ,[ClaseMat] ,[TipoAfiVehic] ,[VrBase] ,[TarifBase] ,[Referencia] ,[TipDocRef] ,[DocRef] ,[TipFac] ,[Factura] ,[IdCiaFac] ,[ItemFac] ,[FecVence] ,[EstadoReg] ,[TipoLiq] ,[NumLiquida] ,[CiaLiquida] ,[VrAbonado] from tm_TraEsDetConc where TmNumero = @Usuario DELETE FROM [dbo].[tm_TraEsDetConc] WHERE TmNumero = @Usuario END GO /****** Object: StoredProcedure [dbo].[paWcfSeLisTm_TraEspTempDetCons] Script Date: 22/05/2024 11:16:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: Cesar Fernando Carre?o -- Create date: 04/01/2024 -- Description: Metodo para cargar tabla temporal -- ============================================= CREATE PROCEDURE [dbo].[paWcfSeLisTm_TraEspTempDetCons] @temp dbo.wcfItm_TraEsDetConc READONLY, @Usuario varchar(20) AS BEGIN set @Usuario = (select 'CCD' + IdEstacion as Estacion from adm_Usuarios where IdUsuario = @Usuario) INSERT INTO [dbo].[tm_TraEsDetConc] ([TmNumero] ,[TipDoc] ,[Causacion] ,[IdCia] ,[Item] ,[IdConcepto] ,[Descripcion] ,[TipoConc] ,[VrDebito] ,[VrCredito] ,[CdCuenta] ,[NitTercero] ,[RazonSocial] ,[CdCCosto] ,[CCosto] ,[CdSubCos] ,[SubCosto] ,[pVehiculo] ,[NumVeh] ,[ClaseMat] ,[TipoAfiVehic] ,[VrBase] ,[TarifBase] ,[Referencia] ,[TipDocRef] ,[DocRef] ,[TipFac] ,[Factura] ,[IdCiaFac] ,[ItemFac] ,[FecVence] ,[EstadoReg] ,[TipoLiq] ,[NumLiquida] ,[CiaLiquida] ,[VrAbonado]) SELECT @Usuario ,TipDoc ,0 ,[IdCia] ,CAST(Item AS INT) --,0 ,[IdConcepto] ,[Descripcion] ,[TipoConc] ,CAST(VrDebito AS decimal(18, 4)) ,CAST(VrCredito AS decimal(18, 4)) --,0 --,0 ,[CdCuenta] ,[NitTercero] ,[RazonSocial] ,[CdCCosto] ,[CCosto] ,[CdSubCos] ,[SubCosto] ,[pVehiculo] ,[NumVeh] ,[ClaseMat] ,[TipoAfiVehic] --,CAST(VrBase AS decimal(18, 4)) --,CAST(TarifBase AS decimal(18, 4)) ,0 ,0 ,[Referencia] ,[TipDocRef] ,CAST(DocRef AS INT) --,0 ,[TipFac] ,[Factura] ,[IdCiaFac] ,CAST(ItemFac AS INT) --,0 ,[FecVence] --,null ,0 ,[TipoLiq] ,0 ,[CiaLiquida] ,0 FROM @temp END GO /****** Object: StoredProcedure [dbo].[paWcfSeLisTrn_TraEspCuenta] Script Date: 22/05/2024 11:16:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: Cesar Fernando Carre?o -- Create date: 04/01/2024 -- Description: Metodo para tarifa cuenta -- ============================================= CREATE PROCEDURE [dbo].[paWcfSeLisTrn_TraEspCuenta] @Operacion varchar(10), @IdTarifa varchar(5), @TipDoc varchar(5), @IdCuenta varchar(20), @ClaseTarif Varchar(5), @CdCueOtr varchar(20), @AntIdTarifa varchar(5), @AntTipDoc varchar(5), @AntIdCuenta varchar(20), @AntClaseTarif Varchar(5), @AntCdCueOtr varchar(20) AS begin SET @IdTarifa = CASE WHEN @IdTarifa = null THEN '' ELSE @IdTarifa END; SET @TipDoc = CASE WHEN @TipDoc = null THEN '' ELSE @TipDoc END; SET @IdCuenta = CASE WHEN @IdCuenta = null THEN '' ELSE @IdCuenta END; SET @ClaseTarif = CASE WHEN @ClaseTarif = null THEN '' ELSE @ClaseTarif END; SET @CdCueOtr = CASE WHEN @CdCueOtr = null THEN '' ELSE @CdCueOtr END; SET @AntIdTarifa = CASE WHEN @AntIdTarifa = null THEN '' ELSE @AntIdTarifa END; SET @AntTipDoc = CASE WHEN @AntTipDoc = null THEN '' ELSE @AntTipDoc END; SET @AntIdCuenta = CASE WHEN @AntIdCuenta = null THEN '' ELSE @AntIdCuenta END; SET @AntClaseTarif = CASE WHEN @AntClaseTarif = null THEN '' ELSE @AntClaseTarif END; SET @AntCdCueOtr = CASE WHEN @AntCdCueOtr = null THEN '' ELSE @AntCdCueOtr END; IF(@Operacion = 'GUARDAR') BEGIN --select 'gua' 'gua' INSERT INTO [dbo].[TarifCuentas] ([IdTarifa] ,[TipDoc] ,[IdCuenta] ,[ClaseTarif] ,[CdCueOtr]) VALUES (@IdTarifa ,@TipDoc ,@IdCuenta ,@ClaseTarif ,@CdCueOtr) END IF(@Operacion = 'EDITAR') BEGIN UPDATE [dbo].[TarifCuentas] SET [IdTarifa] = @IdTarifa ,[TipDoc] = @TipDoc ,[IdCuenta] = @IdCuenta ,[ClaseTarif] = @ClaseTarif ,[CdCueOtr] = @CdCueOtr WHERE IdTarifa = @AntIdTarifa AND TipDoc = @AntTipDoc AND IdCuenta = @AntIdCuenta AND ClaseTarif = @AntClaseTarif AND ISNULL(CdCueOtr, '') = ISNULL(@AntCdCueOtr, ''); END IF(@Operacion = 'ELIMINAR') BEGIN --select 'elei' 'elil' DELETE FROM [dbo].[TarifCuentas] WHERE IdTarifa = @AntIdTarifa AND TipDoc = @AntTipDoc AND IdCuenta = @AntIdCuenta AND ClaseTarif = @AntClaseTarif AND CdCueOtr = @AntCdCueOtr END end BEGIN --tabla para mostrar los datos de clases de tarifa select IdDoc, TipoDoc from Sys_TiposDoc where IdDoc in ('FC1', 'OPE', 'DF1', 'DF2', 'DFC', 'DFO', 'DOE', 'FCR', 'FCE', 'DFE') AND Inactivo = 0; --Mostrar las clases de tarifa select IdClase, NomClase from ClaseTar where IdClase in ('ICA', 'BOM', 'IAT', 'RET', 'RTC') AND Inactivo = 0; --Mostrar Codigos De Tarifa select IdTarifa, Tarifa, Simbolo, Descripcion from TablaPor where IdClase in ('ICA', 'BOM', 'IAT', 'RET', 'RTC') AND Inactivo = 0; --Mostrar Tabla Cuentas select IdCuenta, NomCuenta from PUC where Movimiento = 1 and Inactivo = 0; --Datos ya guardados select * from TarifCuentas where ClaseTarif in ('ICA', 'BOM', 'IAT', 'RET', 'RTC') AND TipDoc in ('FC1', 'OPE', 'DF1', 'DF2', 'DFC', 'DFO', 'DOE', 'FCR', 'FCE', 'DFE') END GO /****** Object: StoredProcedure [dbo].[paWcfSeInsMsvOrdenPago] Script Date: 27/05/2024 10:52:47 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[paWcfSeInsMsvOrdenPago] @Trn_TraEspOrdenPago [dbo].[dataTypeTrn_TraEspOrdenPago] READONLY, @Trn_TraEspOrdenReservas [dbo].[dataTypeTrn_TraEspOrdenReservas] READONLY, @Trn_TraEspOrdenProg [dbo].[dataTypeTrn_TraEspOrdenProg] READONLY, @Trn_TraEspConceptos [dbo].[dataTypeTrn_TraEspConceptos] READONLY, @Trn_TraEspAntAbonos [dbo].[dataTypeTrn_TraEspAntAbonos] READONLY, @Trn_DetCuentas [dbo].[dataTypeTrn_DetCuentas] READONLY, @Trn_ComFactura [dbo].[dataTypeTrn_ComFactura] READONLY, @Trn_Pagos [dbo].[dataTypeTrn_Pagos] READONLY, @Trn_Comprobantes [dbo].[dataTypeTrn_Comprobantes] READONLY, @Trn_ComDetalle [dbo].[dataTypeTrn_ComDetalle] READONLY, @Trn_NiifComp [dbo].[dataTypeNiifComp] READONLY, @Trn_NiifDetalle [dbo].[dataTypeNiifDetalle] READONLY, @operacion [varchar](1) WITH EXECUTE AS CALLER AS DECLARE @Comprobante INT = 0 --Esta variable guarda el número consecutivo del comprobante DECLARE @TipComp VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante DECLARE @IdCiaComp VARCHAR(4) = '00' --Esta variable guarda la compañia del comprobante DECLARE @CompNiif INT = 0 --Esta variable guarda el número consecutivo del comprobante Niif DECLARE @TipCompNiif VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante Niif DECLARE @IdCiaCompNiif VARCHAR(4) = '00'--Esta variable guarda la compañia del comprobante Niif DECLARE @CompFis INT = 0 --Esta variable guarda el número consecutivo de comprobante Fiscal DECLARE @TipCompFis VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante Fiscal DECLARE @IdCiaCompFis VARCHAR(4) = '00' --Esta variable guarda la compañia del comprobante Fiscal DECLARE @TipDoc VARCHAR(3) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @Cia VARCHAR(2) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @Numero INT --En esta variable se guarda el consecutivo del documento aprobación BEGIN TRAN BEGIN TRY CREATE TABLE #LogOrden( Numero int NOT NULL, Fecha smalldatetime NOT NULL, EstadoProc int NOT NULL, Observacion varchar(1000) NULL, TimeSys smalldatetime NOT NULL, IdUsuario varchar(11) NOT NULL, Nombre varchar(50) NOT NULL ) CREATE TABLE #LogOrdenDet( Numero int NOT NULL, Item int NOT NULL, TipDoc varchar(3) NOT NULL, Orden int NOT NULL, IdCia char(2) NOT NULL, Fecha smalldatetime NOT NULL, IdConcepto varchar(4) NOT NULL, TipoCom varchar(3) NULL, Comprobante int NOT NULL, TipRes varchar(3) NOT NULL, Reserva int NOT NULL, IdCiaRes char(2) NOT NULL, ItemRes int NOT NULL, IdOrigen varchar(8) NOT NULL, CiuOrigen varchar(50) NULL, IdDestino varchar(8) NOT NULL, CiuDestino varchar(50) NULL, IdRuta varchar(4) NOT NULL, Ruta varchar(100) NULL, IdVehiculo varchar(10) NOT NULL, IdConductor varchar(16) NOT NULL, IdPropietario varchar(16) NOT NULL, IdPoseedor varchar(16) NOT NULL, Cumplido int NOT NULL, IdCiaCum varchar(2) NOT NULL, EstadoReg int NOT NULL, VrServicio money NOT NULL, VrDescuento money NOT NULL, VrRetencion money NOT NULL, VrReteIca money NOT NULL, VrReteCREE money NOT NULL, VrAnticipos money NOT NULL, VrOtrosDctos money NOT NULL, VrImpuestos money NOT NULL, VrOtrosPagos money NOT NULL, VrNeto money NOT NULL, TarifaRet decimal(14, 4) NOT NULL, TarifaIca decimal(14, 4) NOT NULL, TarifaRtc decimal(14, 4) NOT NULL, CodTarRet varchar(4) NULL, CodTarIca varchar(4) NULL, CodTarRtc varchar(4) NULL, VrConcPagos money NOT NULL, VrConcDctos money NOT NULL, VrConcFondo money NOT NULL, VrConcSeguro money NOT NULL, VrConcAporte money NOT NULL, VrConcImpuesto money NOT NULL, VrRecCaja money NOT NULL, CdForma varchar(4) NULL, IdCCosto varchar(16) NULL, IdSubCos varchar(16) NULL, VrSeguros money NOT NULL, VrFondos money NOT NULL, VrAportes money NOT NULL, Comentarios varchar(1000) NULL ) declare @TipDocu varchar(3) declare @Orden int declare @IdCia CHAR(2) DECLARE @Reserva INT --Esta variable guarda el número de reserva DECLARE @IdCiaRes CHAR(2) --Esta variable guarda la compañia de la reserva DECLARE @ItemRes INT --Esta variable guarda el número de ítem de reserva DECLARE @VrPagos MONEY = 0 --En esta variable va guarda el valor de pago real de la reserva DECLARE @VrTotalPagosaRES MONEY = 0 --En esta variable va guarda el valor de pagos hechas a la reserva por ordenes de pago DECLARE @TipoTarifa varchar(20) declare @NumProc int = 1 declare @ItemProc int = 1 DECLARE ordencursor CURSOR FOR SELECT TipDoc,OrdPago,IdCia FROM @Trn_TraEspOrdenPago OPEN ordencursor FETCH NEXT FROM ordencursor INTO @TipDocu,@Orden,@IdCia WHILE @@FETCH_STATUS = 0 BEGIN IF(@operacion = 'i') begin SELECT @TipDoc = @TipDocu, @Cia = @IdCia, @IdCiaComp = @IdCia, @IdCiaCompNiif = @IdCia, @IdCiaCompFis = @IdCia SELECT @Numero = Numero + 1 FROM TiposDocCons where IdDoc = @TipDoc AND IdCia = @Cia IF(@Numero > 0) UPDATE TiposDocCons SET Numero = @Numero WHERE IdDoc = @TipDoc AND IdCia = @Cia ELSE BEGIN SELECT @Numero = 1 INSERT INTO TiposDocCons VALUES (@TipDoc,@Cia,0,0,0,0,NULL,'',@Numero,0,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null,null,null) END IF(EXISTS(SELECT * FROM @Trn_Comprobantes)) BEGIN SELECT TOP 1 @TipComp = TipCom FROM @Trn_Comprobantes where TipDoc = @TipDocu and Documento = @Orden and IdCiaDoc = @IdCia SELECT @Comprobante = Numero + 1 FROM TiposComCons where IdCom = @TipComp AND IdCia = @IdCiaComp --UPDATE TiposComCons SET Numero = @Comprobante WHERE IdCom = @TipComp AND IdCia = @IdCiaComp IF(@Comprobante <> '') UPDATE TiposComCons SET Numero = @Comprobante WHERE IdCom = @TipComp and IdCia = @IdCiaComp ELSE BEGIN SELECT @Comprobante = 1 INSERT INTO TiposComCons VALUES (@TipComp,@IdCiaComp,0,0,@Comprobante,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF')) BEGIN SELECT TOP 1 @TipCompNiif = TipCom FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF' and TipDoc = @TipDocu and Documento = @Orden and IdCiaDoc = @IdCia SELECT @CompNiif = Numero + 1 FROM TiposComCons where IdCom = @TipCompNiif AND IdCia = @IdCiaCompNiif --UPDATE TiposComCons SET Numero = @CompNiif WHERE IdCom = @TipCompNiif AND IdCia = @IdCiaCompNiif IF(@CompNiif <> '') UPDATE TiposComCons SET Numero = @CompNiif WHERE IdCom = @TipCompNiif and IdCia = @IdCiaCompNiif ELSE BEGIN SELECT @CompNiif = 1 INSERT INTO TiposComCons VALUES (@TipCompNiif,@IdCiaCompNiif,0,0,@CompNiif,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL')) BEGIN SELECT TOP 1 @TipCompFis = TipCom FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL' and TipDoc = @TipDocu and Documento = @Orden and IdCiaDoc = @IdCia SELECT @CompFis = Numero + 1 FROM TiposComCons where IdCom = @TipCompFis AND IdCia = @IdCiaCompFis --UPDATE TiposComCons SET Numero = @CompFis WHERE IdCom = @TipCompFis AND IdCia = @IdCiaCompFis IF(@CompNiif <> '') UPDATE TiposComCons SET Numero = @CompFis WHERE IdCom = @TipCompFis and IdCia = @IdCiaCompFis ELSE BEGIN SELECT @CompFis = 1 INSERT INTO TiposComCons VALUES (@TipCompFis,@IdCiaCompFis,0,0,@CompFis,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END end IF(@operacion = 'i') begin IF(EXISTS(SELECT * FROM @Trn_TraEspOrdenPago)) BEGIN INSERT INTO Trn_TraEspOrdenPago( TipDoc,OrdPago,IdCia,Fecha,TipRes,Reserva,IdCiaRes,IdConcepto,Cantidad,Modalidad,LiqReservas,CxPagar,MulPlazos,IdPlazo,FechaVence, TipCom,Comprobante,IdCiaCom,Anulado,NumDev,FecDev,Observacion,IdEstado,OrigenAdd,TimeSys,FecUpdate,IdCiaCrea,IdUsuario ) SELECT @TipDoc,@Numero,@Cia,Fecha,TipRes,Reserva,IdCiaRes,IdConcepto,Cantidad,Modalidad,LiqReservas,CxPagar,MulPlazos,IdPlazo,FechaVence, @TipComp,@Comprobante,@IdCiaComp,Anulado,NumDev,FecDev,Observacion,IdEstado,OrigenAdd,TimeSys,FecUpdate,IdCiaCrea,IdUsuario FROM @Trn_TraEspOrdenPago where TipDoc = @TipDocu and OrdPago = @Orden and IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_TraEspOrdenReservas)) BEGIN INSERT INTO Trn_TraEspOrdenReservas( TipDoc,OrdPago,IdCia,Item,Fecha,TipRes,Reserva,IdCiaRes,ItemRes,IdVehiculo,IdConductor,IdPropietario,IdPoseedor,VrServicio,VrDescuento,VrRetencion, VrReteIca,VrReteCREE,VrAnticipos,VrOtrosDctos,VrImpuestos,VrOtrosPagos,VrNeto,BaseRet,BaseIca,BaseCree,TarifaRet,TarifaIca,TarifaRtc,CodTarRet, CodTarIca,CodTarRtc,TipEgr,Egreso,IdCiaEgr,FechaEgr,NumCheque,Referencia,VrConcPagos,VrConcDctos,VrConcFondo,VrConcSeguro,VrConcAporte,VrConcImpuesto, VrRecCaja,CdForma,CdCenCosto,CdSubCenCos,VrSeguros,VrFondos,VrAportes,EdoLiqCausac,EstadoItem ) SELECT @TipDoc,@Numero,@Cia,Item,Fecha,TipRes,Reserva,IdCiaRes,ItemRes,IdVehiculo,IdConductor,IdPropietario,IdPoseedor,VrServicio,VrDescuento,VrRetencion, VrReteIca,VrReteCREE,VrAnticipos,VrOtrosDctos,VrImpuestos,VrOtrosPagos,VrNeto,BaseRet,BaseIca,BaseCree,TarifaRet,TarifaIca,TarifaRtc,CodTarRet, CodTarIca,CodTarRtc,TipEgr,Egreso,IdCiaEgr,FechaEgr,NumCheque,Referencia,VrConcPagos,VrConcDctos,VrConcFondo,VrConcSeguro,VrConcAporte,VrConcImpuesto, VrRecCaja,CdForma,CdCenCosto,CdSubCenCos,VrSeguros,VrFondos,VrAportes,EdoLiqCausac,EstadoItem FROM @Trn_TraEspOrdenReservas where TipDoc = @TipDocu and OrdPago = @Orden and IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_TraEspOrdenProg)) BEGIN INSERT INTO Trn_TraEspOrdenProg( TipDoc,OrdPago,IdCia,Item,TipRes,Reserva,IdCiaRes,ItemRes,TipPgr,Programa,IdCiaPgr,ItemPgr,VrRecorrido ) SELECT @TipDoc,@Numero,@Cia,Item,TipRes,Reserva,IdCiaRes,ItemRes,TipPgr,Programa,IdCiaPgr,ItemPgr,VrRecorrido FROM @Trn_TraEspOrdenProg where TipDoc = @TipDocu and OrdPago = @Orden and IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_TraEspConceptos)) BEGIN INSERT INTO Trn_TraEspConceptos( TipDoc,Documento,IdCia,Item,Descripcion,Tarifa,TipoConc,RubroConcep,Cantidad,VrUnitario,TarifIva,IdConcepto,CdCuenta,NitTercero, CdTipoEsc,FechaNov,VrBase,TipoTarif,RefConc,Fijos,IncBaseRet,Referencia2,Referencia3,Cliente,Conductor,Vehiculo,ItemDoc,IdVehiculo ) SELECT @TipDoc,@Numero,@Cia,Item,Descripcion,Tarifa,TipoConc,RubroConcep,Cantidad,VrUnitario,TarifIva,IdConcepto,CdCuenta,NitTercero, CdTipoEsc,FechaNov,VrBase,TipoTarif,RefConc,Fijos,IncBaseRet,Referencia2,Referencia3,Cliente,Conductor,Vehiculo,ItemDoc,IdVehiculo FROM @Trn_TraEspConceptos where TipDoc = @TipDocu and Documento = @Orden and IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_TraEspAntAbonos)) BEGIN INSERT INTO Trn_TraEspAntAbonos( TipDoc,Documento,IdCia,Item,Fecha,TipAnt,Anticipo,IdCiaAnt,VrAbono,TipoAplica,Detalle,CdCuentaAnt ) SELECT @TipDoc,@Numero,@Cia,Item,Fecha,TipAnt,Anticipo,IdCiaAnt,VrAbono,TipoAplica,Detalle,CdCuentaAnt FROM @Trn_TraEspAntAbonos where TipDoc = @TipDocu and Documento = @Orden and IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_DetCuentas)) BEGIN INSERT INTO Trn_DetCuentas( TipDoc,Documento,IdCia,Concepto,Item,IdCuenta,Valor,Detalle,IdTercero,CodAgncia,CdCCosto,CdSubCos,pVehiculo, VrBase,TipFac,Factura,IdCiaFac,ItemFac,FecVence,Cheque,CiuOrigen,Referencia,VrTarifa,TipoTarif,CodConc,CodTarif ) SELECT @TipDoc,@Numero,@Cia,Concepto,Item,IdCuenta,Valor,Detalle,IdTercero,CodAgncia,CdCCosto,CdSubCos,pVehiculo, VrBase,TipFac,Factura,IdCiaFac,ItemFac,FecVence,Cheque,CiuOrigen,Referencia,VrTarifa,TipoTarif,CodConc,CodTarif FROM @Trn_DetCuentas where TipDoc = @TipDocu and Documento = @Orden and IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_ComFactura)) BEGIN INSERT INTO Trn_ComFactura( TipFac,Factura,IdCia,Item,IdProveedor,IdCuenta,TipDoc,Documento,IdCiaDoc,FecEmision,FecVence,VrFactura,VrAbonado,TipCom,Comprobante,ItemCom, Referencia,Detalle,pVehiculo,VehPropio,TipRef,DocRef,IdCiaRef,EstadoApr,MontoAprob ) SELECT @TipDoc,@Numero,@Cia,Item,IdProveedor,IdCuenta,@TipDoc,@Numero,@Cia,FecEmision,FecVence,VrFactura,VrAbonado,@TipComp,@Comprobante,ItemCom, Referencia,Detalle,pVehiculo,VehPropio,TipRef,DocRef,IdCiaRef,EstadoApr,MontoAprob FROM @Trn_ComFactura where TipDoc = @TipDocu and Documento = @Orden and IdCiaDoc = @IdCia END IF(EXISTS(SELECT * FROM @Trn_Pagos)) BEGIN INSERT INTO Trn_Pagos( TipDoc, Documento, IdCia, Item, Fecha, IdForma, Detalle, VrPagado, VrCambio, EsCaja, IdBanco, NitCliente, CdAgencia, NumForma, FecForma, CtaForma, Beneficiario, Referncia1, Referncia2, CdLocal, NumAutoriza, VrDenom, Cantidad, TipDenom, TipRef, DocRef, IdCiaRef, ItemDoc, CdCta, IdUsuario, CdProducto, FE_Ticket, Cant_Gals, PrecioBase, PrecioUnit, ConsCP, CodCueCons, PrecioPub, RefVehiculo, RefNumVeh ) SELECT @TipDoc, @Numero, @Cia, Item, Fecha, IdForma, Detalle, VrPagado, VrCambio, EsCaja, IdBanco, NitCliente, CdAgencia, NumForma, FecForma, CtaForma, Beneficiario, Referncia1, Referncia2, CdLocal, NumAutoriza, VrDenom, Cantidad, TipDenom, TipRef, DocRef, IdCiaRef, ItemDoc, CdCta, IdUsuario, CdProducto, FE_Ticket, Cant_Gals, PrecioBase, PrecioUnit, ConsCP, CodCueCons, PrecioPub, RefVehiculo, RefNumVeh FROM @Trn_Pagos where TipDoc = @TipDocu and Documento = @Orden and IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_Comprobantes)) BEGIN INSERT INTO Trn_Comprobantes( TipCom, Comprobante, IdCia, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac, FechaAut, NiifTipo, NiifNumero, FisTipo, FisNumero, DocSoporte, CodRes, DescServicio ) SELECT @TipComp, @Comprobante, @IdCiaComp, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, @TipDoc, @Numero, @Cia, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac, FechaAut, @TipCompNiif, @CompNiif, @TipCompFis, @CompFis, DocSoporte, CodRes, DescServicio FROM @Trn_Comprobantes where TipDoc = @TipDocu and Documento = @Orden and IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_ComDetalle)) BEGIN INSERT INTO Trn_ComDetalle( TipCom, Comprobante, IdCia, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo, IdCCosto, IdSubCos, VrBase, TarifaBase, TipDoc, Documento,IdCiaDoc, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza,CdCuentaNiif ) SELECT @TipComp, @Comprobante, @IdCiaComp, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo, IdCCosto, IdSubCos, VrBase, TarifaBase, @TipDoc, @Numero, @Cia, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza,CdCuentaNiif FROM @Trn_ComDetalle where TipDoc = @TipDocu and Documento = @Orden and IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_NiifComp)) BEGIN INSERT INTO Trn_NiifComp( TipCom, Comprobante, IdCia,Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, TipoNiif, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac,FechaAut, CtbTipo, CtbNumero, FisTipo, FisNumero ) SELECT CASE N.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE @TipCompFis END, CASE N.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE @CompFis END, @Cia,C.Fecha, C.IdTercero, C.VrTotal, C.IdCta, C.EnEfectivo, C.NumCheque, C.FecCheque, @TipDoc, @Numero, @Cia, C.Anulado, C.NumDev, C.FecDev, C.TipEgr, C.NEgreso, C.pVehiculo, C.VehPropio, C.CedCondtor, C.CodConce, C.Beneficiario, C.VrDivisa1, C.VrDivisa2, C.VrDivisa3, C.PermEditar, C.Integrado, C.EsEgreso, C.Anticipo, C.Observacion, C.IdEstado, C.Propddes, C.TimeSys, C.FecUpdate, C.IdCiaCrea, C.IdUsuario, N.TipoNiif, C.CdSustento, C.Tipo_Pago, C.Establec, C.PEmision, C.Autorizac, C.FechaAut, CASE N.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE NULL END, CASE N.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE 0 END, CASE N.TipoNiif WHEN 'FISCAL' THEN @TipCompFis ELSE NULL END, CASE N.TipoNiif WHEN 'FISCAL' THEN @CompFis ELSE 0 END FROM @Trn_Comprobantes AS C JOIN @Trn_NiifComp AS N ON C.TipCom = N.TipComCont AND C.Comprobante = N.ComprobanteCont where C.TipDoc = @TipDocu and C.Documento = @Orden and C.IdCia = @IdCia and N.TipDoc = @TipDocu and N.Documento = @Orden and N.IdCiaDoc = @IdCia END IF(EXISTS(SELECT * FROM @Trn_NiifDetalle)) BEGIN INSERT INTO Trn_NiifDetalle( TipCom, Comprobante, IdCia,Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo,IdCCosto, IdSubCos, VrBase, TarifaBase, TipDoc, Documento, IdCiaDoc, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza, CodCuentaCG ) SELECT CASE NC.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE @TipCompFis END, CASE NC.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE @CompFis END, @Cia,N.Item, N.Fecha, N.IdCuenta, N.Detalle, N.VrDebito, N.VrCredito, N.IdTercero, N.IdVehiculo,N.IdCCosto, N.IdSubCos, N.VrBase, N.TarifaBase, @TipDoc, @Numero, @Cia, N.CodConce, N.NitDoc, N.TipFac, N.Factura, N.IdCiaFac, N.ItemFac, N.FecVence, N.CodCta, N.NumCheque, N.Integrado, N.TipoAplica, N.Consolida, N.CodCargo, N.NitOtros, N.CodSubgpo, N.CiuOrigen, N.CodAgncia, N.VehPropio, N.Referncia, N.TipDocRef, N.DocRef, N.IdCiaRef, N.TimeSys, N.FecUpdate, N.IdCiaCrea, N.IdUsuario, N.CdConcTrib, N.CdTarifTrib, N.NumEstablec, N.PtoEmision ,N.Num_Autoriza, N.FechAutoriza, N.CodCuentaCG FROM @Trn_NiifDetalle as N JOIN @Trn_NiifComp AS NC ON N.TipCom = NC.TipCom AND N.Comprobante = NC.Comprobante and NC.TipDoc = @TipDocu and NC.Documento = @Orden and NC.IdCiaDoc = @IdCia where N.TipDoc = @TipDocu and N.Documento = @Orden and N.IdCia = @IdCia END end IF(@operacion = 'i') begin --actualiza los items de la programnación detalle de cada reserva agregada en la Orden de Pago UPDATE Trn_TraEspProgramaDet SET TipDocOdp = 'OPE',NumOdp = @Numero, IdCiaOdp = @Cia, FechaOdp = t3.Fecha FROM Trn_TraEspProgramaDet t1 ,(Select TipRes,Reserva,IdCiaRes,ItemRes,TipPgr,Programa,IdCiaPgr,ItemPgr from Trn_TraEspOrdenProg where TipDoc = 'OPE' and OrdPago = @Numero and IdCia = @Cia) as t2 ,(Select Fecha from Trn_TraEspOrdenPago where TipDoc = 'OPE' and OrdPago = @Numero and IdCia = @Cia) as t3 WHERE t1.TipDocRes = t2.TipRes and t1.Reserva = t2.Reserva and t1.IdCiaRes = t2.IdCiaRes and t1.ItemRes = t2.ItemRes and t1.TipDoc = t2.TipPgr and t1.Programa = t2.Programa and t1.IdCia = t2.IdCiaPgr and t1.Item = t2.ItemPgr --actualización de la resdetalle Select @Reserva = Reserva, @IdCiaRes = IdCiaRes, @ItemRes = ItemRes from @Trn_TraEspOrdenReservas where TipDoc = @TipDocu and OrdPago = @Orden and IdCia = @IdCia SELECT @TipoTarifa = TipoTarifa FROM Trn_TraEspResDetalle WHERE Reserva = @Reserva AND IdCia = @IdCiaRes AND Item = @ItemRes SELECT @VrTotalPagosaRES = ISNULL(SUM(R.VrServicio),0) FROM Trn_TraEspOrdenReservas R LEFT JOIN Trn_TraEspOrdenPago AS OP ON R.TipDoc = OP.TipDoc AND R.OrdPago = OP.OrdPago AND R.IdCia = OP.IdCia WHERE R.Reserva = @Reserva AND R.IdCiaRes = @IdCiaRes AND R.ItemRes = @ItemRes AND OP.Anulado = 0 IF(upper(@TipoTarifa) <> 'DIA') BEGIN SELECT @VrPagos = VrPagos FROM Trn_TraEspResDetalle WHERE Reserva = @Reserva AND IdCia = @IdCiaRes AND Item = @ItemRes IF(@VrTotalPagosaRES >= @VrPagos) BEGIN UPDATE Trn_TraEspResDetalle SET EstadoItem ='LIQUIDADA' WHERE Reserva = @Reserva AND IdCia = @IdCiaRes AND Item = @ItemRes END ELSE -- revisar que la cant de veh se vayan a liquidar(programados no novedad) ya hayan sido liquidados(pasan de xliquidar a liquidado) y que la reserva no se haya vencido BEGIN declare @cantveh int= 0, @cantord int = 0, @fechares date, @fechasys date,@idveh varchar(10) select @cantveh = count(*) from trn_traespprogramadet where Reserva = @Reserva AND IdCiaRes = @IdCiaRes AND ItemRes = @ItemRes and IdNovedad = '0' and IdVehiculo <>'0' select @fechares = fechafin from trn_traespreservas where Reserva = @Reserva AND IdCia = @IdCiaRes select @fechasys = FechaActual from companias where IdCia = @IdCiaRes --selecciono los progdetalle de esos vehiculos declare @Trn_TraEspProgramaDet dataTypeTrn_TraEspProgramaDet INSERT INTO @Trn_TraEspProgramaDet( TipDoc,Programa,IdCia,Item,FechaInicio,FechaFin,TipDocRes,Reserva,IdCiaRes,ItemRes, IdOrigen,IdDestino,IdVehiculo,CdTipVeh,IdConductor,NumPasajeros,TipDocFuec,NumFuec, IdCiaFuec,TipDocOdp,NumOdp,IdCiaOdp,FechaOdp,IdNovedad,Novedad,Cumplido,FecIniCump,FecFinCump,VrCobro,VrPagos,DiasDisp,Parada, CdTipServicio,DirOrigen,DirDestino,IdRuta,CdTipRuta,PesoNeto,EstadoItem,VrMonitor,CantMonitor,VrRecorrido,Observacion ) SELECT TipDoc,Programa,IdCia,Item,FechaInicio,FechaFin,TipDocRes,Reserva,IdCiaRes,ItemRes, IdOrigen,IdDestino,IdVehiculo,CdTipVeh,IdConductor,NumPasajeros,TipDocFuec,NumFuec, IdCiaFuec,TipDocOdp,NumOdp,IdCiaOdp,FechaOdp,IdNovedad,Novedad,Cumplido,FecIniCump,FecFinCump,VrCobro,VrPagos,DiasDisp,Parada, CdTipServicio,DirOrigen,DirDestino,IdRuta,CdTipRuta,PesoNeto,EstadoItem,VrMonitor,CantMonitor,VrRecorrido,Observacion FROM Trn_TraEspProgramaDet where Reserva = @Reserva AND IdCiaRes = @IdCiaRes AND ItemRes = @ItemRes and IdNovedad = '0' and IdVehiculo <>'0' --cursor para verififcar si los vehiculos fueron pagados en ordenes de pago DECLARE verificar CURSOR FOR SELECT IdVehiculo FROM @Trn_TraEspProgramaDet OPEN verificar FETCH NEXT FROM verificar INTO @idveh WHILE @@FETCH_STATUS = 0 BEGIN --verifico la cantidad que ya fueron liquidados(tine encuenta la actual) if (exists(select * from Trn_TraEspOrdenReservas where Reserva = @Reserva AND IdCiaRes = @IdCiaRes AND ItemRes = @ItemRes and IdVehiculo = @idveh)) select @cantord = @cantord + 1 FETCH NEXT FROM verificar INTO @idveh END CLOSE verificar DEALLOCATE verificar --se verifica que cumpal para colocar la resrva a liquidada IF((@cantord >= @cantveh) AND (@fechasys >= @fechares)) BEGIN UPDATE Trn_TraEspResDetalle SET EstadoItem ='LIQUIDADA' WHERE Reserva = @Reserva AND IdCia = @IdCiaRes AND Item = @ItemRes END END END ELSE BEGIN SELECT @VrPagos = ISNULL(SUM(VrPagos),0) FROM Trn_TraEspProgramaDet WHERE Reserva = @Reserva AND IdCiaRes = @IdCiaRes AND ItemRes = @ItemRes and IdNovedad = '0' and IdVehiculo <>'0' IF(@VrTotalPagosaRES >= @VrPagos) BEGIN UPDATE Trn_TraEspResDetalle SET EstadoItem ='LIQUIDADA' WHERE Reserva = @Reserva AND IdCia = @IdCiaRes AND Item = @ItemRes END END --actualiza los anticipos UPDATE Trn_TraEspAnticipos SET VrAbonado = t2.VrAbono + VrAbonado FROM Trn_TraEspAnticipos t1 ,(Select TipAnt,Anticipo,IdCiaAnt,VrAbono from @Trn_TraEspAntAbonos where TipDoc = @TipDocu and Documento = @Orden and IdCia = @IdCia) as t2 WHERE t1.TipDoc = t2.TipAnt and t1.Anticipo = t2.Anticipo and t1.IdCia = t2.IdCiaAnt end IF(@NumProc = @ItemProc) BEGIN INSERT INTO #LogOrden( Numero,Fecha,EstadoProc,Observacion,TimeSys,IdUsuario,Nombre ) SELECT @NumProc,t1.Fecha,1,t1.Observacion,t1.TimeSys,t1.IdUsuario,u.Usuario FROM @Trn_TraEspOrdenPago as t1 left join adm_Usuarios u on u.IdUsuario = t1.IdUsuario WHERE t1.TipDoc = @TipDocu and t1.OrdPago = @Orden and t1.IdCia = @IdCia END INSERT INTO #LogOrdenDet( Numero,Item,TipDoc,Orden,IdCia,Fecha,IdConcepto,TipoCom,Comprobante,TipRes,Reserva,IdCiaRes, ItemRes,IdOrigen,CiuOrigen,IdDestino,CiuDestino,IdRuta,Ruta,IdVehiculo,IdConductor,IdPropietario, IdPoseedor,Cumplido,IdCiaCum,EstadoReg,VrServicio,VrDescuento,VrRetencion,VrReteIca,VrReteCREE,VrAnticipos,VrOtrosDctos,VrImpuestos, VrOtrosPagos,VrNeto,TarifaRet,TarifaIca,TarifaRtc,CodTarRet,CodTarIca,CodTarRtc,VrConcPagos,VrConcDctos, VrConcFondo,VrConcSeguro,VrConcAporte,VrConcImpuesto,VrRecCaja,CdForma,IdCCosto,IdSubCos,VrSeguros,VrFondos, VrAportes,Comentarios ) SELECT @NumProc,@ItemProc,@TipDoc,@Numero,@Cia,t1.Fecha,t1.IdConcepto,@TipComp,@Comprobante,t2.TipRes,t2.Reserva,t2.IdCiaRes, t2.ItemRes,t3.CdCiuOrigen,t3.CiuOrigen,t3.CdCiuDestino,t3.CiuDestino,t3.IdRuta,t3.Ruta,t2.IdVehiculo,t2.IdConductor,t2.IdPropietario, t2.IdPoseedor,t3.Cumplido,t3.IdCiaCum,1,t2.VrServicio,t2.VrDescuento,t2.VrRetencion,t2.VrReteIca,t2.VrReteCREE,t2.VrAnticipos,t2.VrOtrosDctos,t2.VrImpuestos, t2.VrOtrosPagos,t2.VrNeto,t2.TarifaRet,t2.TarifaIca,t2.TarifaRtc,t2.CodTarRet,t2.CodTarIca,t2.CodTarRtc,t2.VrConcPagos,t2.VrConcDctos, t2.VrConcFondo,t2.VrConcSeguro,t2.VrConcAporte,t2.VrConcImpuesto,t2.VrRecCaja,t2.CdForma,t2.CdCenCosto,t2.CdSubCenCos,t2.VrSeguros,t2.VrFondos, t2.VrAportes,'Se guarda correctamente' FROM (SELECT * FROM @Trn_TraEspOrdenPago WHERE TipDoc = @TipDocu and OrdPago = @Orden and IdCia = @IdCia) AS t1, (SELECT * FROM @Trn_TraEspOrdenReservas WHERE TipDoc = @TipDocu and OrdPago = @Orden and IdCia = @IdCia) AS t2, (SELECT r.IdRuta,rt.Ruta,r.CdCiuOrigen,lo.Localidad AS CiuOrigen,r.CdCiuDestino, ld.Localidad AS CiuDestino,r.Cumplido,r.IdCiaCum FROM @Trn_TraEspOrdenReservas AS ord join Trn_TraEspResDetalle r ON r.TipDoc = ord.TipRes and r.Reserva = ord.Reserva and r.IdCia = ord.IdCiaRes and r.Item = ord.ItemRes left join Rutas rt ON rt.IdRuta = r.IdRuta left join Localidades lo ON lo.IdLocal = r.CdCiuOrigen left join Localidades ld ON ld.IdLocal = r.CdCiuDestino WHERE ord.TipDoc = @TipDocu and ord.OrdPago = @Orden and ord.IdCia = @IdCia) AS t3 SELECT @ItemProc = @ItemProc + 1 FETCH NEXT FROM ordencursor INTO @TipDocu,@Orden,@IdCia END CLOSE ordencursor DEALLOCATE ordencursor SELECT * FROM #LogOrden SELECT * FROM #LogOrdenDet COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN DECLARE @ErrorMessage NVARCHAR(4000); DECLARE @ErrorSeverity INT; DECLARE @ErrorState INT; SELECT @ErrorMessage = Convert(varchar(10),ERROR_LINE()) +' '+ ERROR_MESSAGE(), @ErrorSeverity = ERROR_SEVERITY(), @ErrorState = ERROR_STATE(); RAISERROR( @ErrorMessage, -- Message text. @ErrorSeverity, -- Severity. @ErrorState -- State. ); END CATCH RETURN 0 GO /****** Object: StoredProcedure [dbo].[paWcfSeInsMsvTrn_Facturas] Script Date: 27/05/2024 10:52:47 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[paWcfSeInsMsvTrn_Facturas] @Trn_Facturas [dbo].[dataTypeTrn_Facturas] READONLY, @Trn_TraEspFacReservas [dbo].[dataTypeTrn_TraEspFacReservas] READONLY, @Trn_TraEspFacResVehiculos [dbo].[dataTypeTrn_TraEspFacResVehiculos] READONLY, @Trn_DocMemo [dbo].[dataTypeTrn_DocMemo] READONLY, @Trn_TraEspAuxFactura [dbo].[dataTypeTrn_TraEspAuxFactura] READONLY, @Trn_RecAfavor [dbo].[dataTypeTrn_RecAfavor] READONLY, @Trn_VencAbonos [dbo].[dataTypeTrn_VencAbonos] READONLY, @Trn_Vencimientos [dbo].[dataTypeTrn_Vencimientos] READONLY, @Trn_DetCuentas [dbo].[dataTypeTrn_DetCuentas] READONLY, @Trn_Comprobantes [dbo].[dataTypeTrn_Comprobantes] READONLY, @Trn_ComDetalle [dbo].[dataTypeTrn_ComDetalle] READONLY, @Trn_NiifComp [dbo].[dataTypeTrn_NiifCompFMsv] READONLY, @Trn_NiifDetalle [dbo].[dataTypeNiifDetalle] READONLY, @operacion [varchar](1) WITH EXECUTE AS CALLER AS DECLARE @Comprobante INT = 0 --Esta variable guarda el número consecutivo del comprobante DECLARE @TipComp VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante DECLARE @IdCiaComp VARCHAR(4) = '00' --Esta variable guarda la compañia del comprobante DECLARE @CompNiif INT = 0 --Esta variable guarda el número consecutivo del comprobante Niif DECLARE @TipCompNiif VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante Niif DECLARE @IdCiaCompNiif CHAR(2) = '00'--Esta variable guarda la compañia del comprobante Niif DECLARE @CompFis INT = 0 --Esta variable guarda el número consecutivo de comprobante Fiscal DECLARE @TipCompFis VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante Fiscal DECLARE @IdCiaCompFis CHAR(2) = '00' --Esta variable guarda la compañia del comprobante Fiscal DECLARE @TipDoc VARCHAR(3) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @CodigoPre VARCHAR(3) DECLARE @Cia VARCHAR(2) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @Numero INT --En esta variable se guarda el consecutivo del documento aprobación declare @FechaFac smalldatetime BEGIN TRAN BEGIN TRY --CREATE TABLE #LogTraEspFacturas( --Numero int NOT NULL DEFAULT ((0)), --Fecha smalldatetime NOT NULL, --EstadoProc int NOT NULL DEFAULT ((0)), --Observacion varchar(250) NULL, --TimeSys smalldatetime NOT NULL, --IdUsuario varchar(11) NOT NULL, --Nombre varchar(50) NOT NULL, --Tipo varchar(10) NOT NULL --) CREATE TABLE #LogTraEspFacReservas( NewTipFac varchar(3) NOT NULL, NewFactura int NOT NULL, NewIdCiaFac char(2) NOT NULL, OldTipFac varchar(3) NOT NULL, OldFactura int NOT NULL, OldIdCiaFac char(2) NOT NULL, ) declare @NumProc int = 1 declare @ItemProc int = 1 declare @TipFac varchar(3) declare @Factura INT declare @IdCia varchar(2) declare @Fecha datetime declare @observ varchar(250) declare @IdCliente varchar(16) declare @VrNeto money DECLARE factcursor CURSOR FOR SELECT TipDoc,Factura,IdCia,Fecha,IdCliente,VrNeto FROM @Trn_Facturas OPEN factcursor FETCH NEXT FROM factcursor INTO @TipFac,@Factura,@IdCia,@Fecha,@IdCliente,@VrNeto WHILE @@FETCH_STATUS = 0 BEGIN IF(@operacion = 'i') BEGIN SET @TipDoc = @TipFac SET @Cia = @IdCia SET @IdCiaComp = @IdCia SET @IdCiaCompNiif = @IdCia SET @IdCiaCompFis = @IdCia SET @FechaFac = @Fecha SELECT @Numero = Numero + 1 FROM TiposDocCons where IdDoc = @TipDoc AND IdCia = @Cia IF(@Numero > 0) UPDATE TiposDocCons SET Numero = @Numero WHERE IdDoc = @TipDoc AND IdCia = @Cia ELSE BEGIN SELECT @Numero = 1 INSERT INTO TiposDocCons VALUES (@TipDoc,@Cia,0,0,0,0,NULL,'',@Numero,0,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null,null,null) END IF(EXISTS(SELECT * FROM @Trn_Comprobantes)) BEGIN SELECT TOP 1 @TipComp = TipCom FROM @Trn_Comprobantes SELECT @Comprobante = Numero + 1 FROM TiposComCons where IdCom = @TipComp AND IdCia = @IdCiaComp --UPDATE TiposComCons SET Numero = @Comprobante WHERE IdCom = @TipComp AND IdCia = @IdCiaComp IF(@Comprobante <> '') UPDATE TiposComCons SET Numero = @Comprobante WHERE IdCom = @TipComp and IdCia = @IdCiaComp ELSE BEGIN SELECT @Comprobante = 1 INSERT INTO TiposComCons VALUES (@TipComp,@IdCiaComp,0,0,@Comprobante,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF' AND Documento = @Factura)) BEGIN SELECT TOP 1 @TipCompNiif = TipCom FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF' SELECT @CompNiif = (Numero + 1) FROM TiposComCons where IdCom = @TipCompNiif AND IdCia = @IdCiaCompNiif --UPDATE TiposComCons SET Numero = @CompNiif WHERE IdCom = @TipCompNiif AND IdCia = @IdCiaCompNiif IF(@CompNiif > 0) BEGIN --declare @bcpCommand varchar(255), @Result int --declare @FileName varchar(255) --set @FileName ='D:\hola.txt' --set @bcpCommand = 'bcp "Select 1 as a" queryout "' + @FileName + '" -c -t, -T -S ' --exec @Result = master..xp_cmdshell @bcpCommand, no_output UPDATE TiposComCons SET Numero = @CompNiif WHERE IdCom = @TipCompNiif and IdCia = @IdCiaCompNiif END ELSE BEGIN SELECT @CompNiif = 1 INSERT INTO TiposComCons VALUES (@TipCompNiif,@IdCiaCompNiif,0,0,@CompNiif,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL' AND Documento = @Factura)) BEGIN SELECT TOP 1 @TipCompFis = TipCom FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL' SELECT @CompFis = (Numero + 1) FROM TiposComCons where IdCom = @TipCompFis AND IdCia = @IdCiaCompFis --UPDATE TiposComCons SET Numero = @CompFis WHERE IdCom = @TipCompFis AND IdCia = @IdCiaCompFis IF(@CompFis > 0) BEGIN UPDATE TiposComCons SET Numero = @CompFis WHERE IdCom = @TipCompFis and IdCia = @IdCiaCompFis END ELSE BEGIN SELECT @CompFis = 1 INSERT INTO TiposComCons VALUES (@TipCompFis,@IdCiaCompFis,0,0,@CompFis,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END IF(EXISTS(SELECT * FROM @Trn_Facturas)) BEGIN INSERT INTO Trn_Facturas( TipDoc, Factura, IdCia, Fecha, IdConcepto, IdCliente, IdAgencia, FechaVence, VrSubTotal, VrDescuento, VrImpuesto, VrRetencion, VrReteICA, VrReteIVA, VrFletes, VrOtros, VrCargos, VrOtrDcto, VrCostos, VrSobretasa, VrImpGlobal, VrFaltantes, VrAnticipos, VrNeto, VrAplicado, Cantidad, CantPuntos, PuntosAcum, BaseImp, BaseRet, BaseIca, BaseRiv, TarifaIva, TarifaRet, TarifaIca, TarifaRiv, CodTarIva, CodTarRet, CodTarIca, CodTarRiv, IdCCosto, IdSubCos, IdVend, TarifaCom, CodTarCom, DirEnvio, IdLocEnv, DiasEntraga, NitContac, NomContac, TelContac, emlContac, CargoContac, IdForma, DetallePago, MulPlazos, IdPlazo, CdMney, NitEmpTrans, EmpTrans, pVehiculo, CdConductor, CdRuta, TipPed, Pedido, IdCiaPed, TipRem, Remision, IdCiaRem, TipCot, Cotizacion, IdCiaCot, FecPedido, AutzaMora, AutzaCupo, Modalidad, KmtVehic, ZonaFrontera, PesoTotal, UnidTotal, VolTotal, CantFalt, VrCostoRem, VrCostoAfi, CodAutoRet, OrigenAdd, TipCom, Comprobante, IdCiaCom, Anulado, NumDev, FecDev, Observacion, IdEstado, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, VrImpCons, VrReteCREE, TarifaRtc, CodTarRtc, Parqueadero, FecCuotaParq, BaseIvaObsq, VrIvaObsequio, VrImpCarbono, TipoFE, FechaFE, BaseIvaIgp,VrIvaIngProd,CodTarArf,TarifaArf,VrAutRetFte,CodTarAri,TarifaAri,VrAutRetIca ) SELECT @TipDoc,@Numero,@Cia,Fecha,IdConcepto,IdCliente,IdAgencia,FechaVence,VrSubTotal,VrDescuento,VrImpuesto,VrRetencion,VrReteICA,VrReteIVA,VrFletes,VrOtros, VrCargos,VrOtrDcto,VrCostos,VrSobretasa,VrImpGlobal,VrFaltantes,VrAnticipos,VrNeto,VrAplicado,Cantidad,CantPuntos,PuntosAcum,BaseImp,BaseRet,BaseIca, BaseRiv,TarifaIva,TarifaRet,TarifaIca,TarifaRiv,CodTarIva,CodTarRet,CodTarIca,CodTarRiv,IdCCosto,IdSubCos,IdVend,TarifaCom,CodTarCom,DirEnvio,IdLocEnv, DiasEntraga,NitContac,NomContac,TelContac,emlContac,CargoContac,IdForma,DetallePago,MulPlazos,IdPlazo,CdMney,NitEmpTrans,EmpTrans,pVehiculo,CdConductor, CdRuta,TipPed,Pedido,IdCiaPed,TipRem,Remision,IdCiaRem,TipCot,Cotizacion,IdCiaCot,FecPedido,AutzaMora,AutzaCupo,Modalidad,KmtVehic,ZonaFrontera,PesoTotal, UnidTotal,VolTotal,CantFalt,VrCostoRem,VrCostoAfi,CodAutoRet,OrigenAdd,@TipComp,@Comprobante,@IdCiaComp,Anulado,NumDev,FecDev,Observacion,IdEstado,TimeSys, FecUpdate,IdCiaCrea,IdUsuario,VrImpCons,VrReteCREE,TarifaRtc,CodTarRtc,Parqueadero,FecCuotaParq,BaseIvaObsq,VrIvaObsequio,VrImpCarbono,TipoFE,FechaFE, BaseIvaIgp,VrIvaIngProd,CodTarArf,TarifaArf,VrAutRetFte,CodTarAri,TarifaAri,VrAutRetIca FROM @Trn_Facturas p WHERE p.TipDoc = @TipFac and p.Factura = @Factura and p.IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_TraEspFacReservas)) BEGIN INSERT INTO Trn_TraEspFacReservas( TipDoc,Factura,IdCia,Item,TipoReg,FechaFact,TipRes,Reserva,IdCiaRes,ItemRes,FecReserva,Descripcion,Cantidad,VrServicio,VrUnitario,VrCosto, TarifaIva,VrImpuesto,TarifaDct,VrDescuento,DocCliente,Referencia1,Referencia2,Referencia3,CdConcepto,CdCCosto,CdSubCos,NitTercero,CdAgencia, pVehiculo,TipoAfiVehic,IdOrigen,IdDestino,Anulado,TipDocRef,NumDocRef,IdCiaRef,FecDocRef,CodTarDct,CodTarRet,CodTarIca,TarifaRet,VrRetencion, TarifaIca,VrReteIca,EstadoItem ) SELECT @TipDoc,@Numero,@Cia,Item,TipoReg,FechaFact,TipRes,Reserva,IdCiaRes,ItemRes,FecReserva,Descripcion,Cantidad,VrServicio,VrUnitario,VrCosto, TarifaIva,VrImpuesto,TarifaDct,VrDescuento,DocCliente,Referencia1,Referencia2,Referencia3,CdConcepto,CdCCosto,CdSubCos,NitTercero,CdAgencia, pVehiculo,TipoAfiVehic,IdOrigen,IdDestino,Anulado,TipDocRef,NumDocRef,IdCiaRef,FecDocRef,CodTarDct,CodTarRet,CodTarIca,TarifaRet,VrRetencion, TarifaIca,VrReteIca,EstadoItem FROM @Trn_TraEspFacReservas p WHERE p.TipDoc = @TipFac and p.Factura = @Factura and p.IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_TraEspFacResVehiculos)) BEGIN INSERT INTO Trn_TraEspFacResVehiculos( TipDoc,Factura,IdCIa,Item,TipRes,Reserva,IdCIaRes,ItemRes,IdVehiculo,TipoAfil,VrRecorrido ) SELECT @TipDoc,@Numero,@Cia,Item,TipRes,Reserva,IdCIaRes,ItemRes,IdVehiculo,TipoAfil,VrRecorrido FROM @Trn_TraEspFacResVehiculos p WHERE p.TipDoc = @TipFac and p.Factura = @Factura and p.IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_Vencimientos)) BEGIN INSERT INTO Trn_Vencimientos( TipDoc,Factura,IdCia,Item,Fecha,FechaVence,VrFactura,VrAbonado,IdCliente,IdAgencia,IdVend,Comision,TarifDcto, TipoDcto,TipoBase,FecLmtDcto,IdConcepto,Referencia,Detalle,TipRef,DocRef,IdCiaRef,FecUltPago,NumNota,IdCiaNot, TarifInt,FecLiqMora,FecPlazoCal ) SELECT @TipDoc,@Numero,@Cia,Item,Fecha,FechaVence,VrFactura,VrAbonado,IdCliente,IdAgencia,IdVend,Comision,TarifDcto, TipoDcto,TipoBase,FecLmtDcto,IdConcepto,Referencia,Detalle,TipRef,DocRef,IdCiaRef,FecUltPago,NumNota,IdCiaNot, TarifInt,FecLiqMora,FecPlazoCal FROM @Trn_Vencimientos p WHERE p.TipDoc = @TipFac and p.Factura = @Factura and p.IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_DocMemo)) BEGIN INSERT INTO Trn_DocMemo( TipDoc,Documento,IdCia,Comentarios,Nota1,Nota2,Nota3,CantImp,ArchivoImg ) SELECT @TipDoc,@Numero,@Cia,Comentarios,Nota1,Nota2,Nota3,CantImp,ArchivoImg FROM @Trn_DocMemo p WHERE p.TipDoc = @TipFac and p.Documento = @Factura and p.IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_TraEspAuxFactura)) BEGIN INSERT INTO Trn_TraEspAuxFactura( TipFac,Factura,IdCiaFac,Resolucion,Rango,FechaResl,Prefijo,TipDocPf,PreFactura,IdCiaPf,CodigoPreFact ) SELECT @TipDoc,@Numero,@Cia,Resolucion,Rango,FechaResl,Prefijo,TipDocPf,PreFactura,IdCiaPf,CodigoPreFact FROM @Trn_TraEspAuxFactura p WHERE p.TipFac = @TipFac and p.Factura = @Factura and p.IdCiaFac = @IdCia END IF(EXISTS(SELECT * FROM @Trn_RecAfavor)) BEGIN update Trn_RecAfavor set VrAbono = t1.VrAbono + t2.VrAbono from Trn_RecAfavor t1, @Trn_RecAfavor t2 where t1.TipDoc = t2.TipDoc and t1.Recibo = t2.Recibo and t1.IdCia = t2.IdCia and t1.IdCliente = t2.IdCliente and t1.IdAgencia = t2.IdAgencia and t1.IdVend = t2.IdVend --and TipDoc = @TipDoc and t1.Factura = @Factura and t1.IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_VencAbonos)) BEGIN declare @tiprec varchar(3) declare @recibo int declare @idciarec varchar(2) declare @item int SELECT TOP 1 @tiprec = TipRec, @idciarec = IdCia, @recibo = Recibo FROM @Trn_VencAbonos WHERE TipDoc = @TipFac and Factura = @Factura and IdCiaFac = @IdCia if((@tiprec <> null and @tiprec <> '') and @recibo > 0) BEGIN SELECT @item = isnull(MAX(Item),0) FROM Trn_VencAbonos WHERE TipRec = @tiprec and Recibo = @recibo and IdCia = @idciarec INSERT INTO Trn_VencAbonos( TipRec,Recibo,IdCia,Item,Fecha,TipDoc,Factura,IdCiaFac,ItemFac,VrAbono,VrDescto, VrBaseCms,IdCliente,IdAgencia,IdVend,Comision,Detalle,FecPago,TipoAplica,TimeSys ) SELECT TipRec,Recibo,IdCia,(@item + ROW_NUMBER() OVER(ORDER BY Item ASC)),Fecha,@TipDoc,@Numero,@Cia,ItemFac,VrAbono,VrDescto, VrBaseCms,IdCliente,IdAgencia,IdVend,Comision,Detalle,FecPago,TipoAplica,TimeSys FROM @Trn_VencAbonos WHERE TipDoc = @TipFac and Factura = @Factura and IdCiaFac = @IdCia IF(EXISTS(SELECT * FROM @Trn_RecAfavor)) BEGIN UPDATE Trn_RecAfavor SET VrAbono = t1.VrAbono + t2.VrAbono FROM Trn_RecAfavor t1 JOIN(SELECT ra.TipDoc,ra.Recibo,ra.IdCia,ra.Fecha,ra.VrAFavor,ra.VrOtrosDb,ra.VrAbono,ra.IdCliente,ra.IdAgencia,ra.IdVend FROM @Trn_RecAfavor ra JOIN @Trn_VencAbonos va on ra.TipDoc = va.TipRec and ra. Recibo = va.Recibo and ra.IdCia = va.IdCia WHERE va.TipDoc = @TipFac and va.Factura = @Factura and va.IdCiaFac = @IdCia) AS t2 ON t1.TipDoc = t2.TipDoc and t1.Recibo = t2.Recibo and t1.IdCia = t2.IdCia and t1.IdCliente = t2.IdCliente and t1.IdAgencia = t2.IdAgencia and t1.IdVend = t2.IdVend END END END IF(EXISTS(SELECT * FROM @Trn_DetCuentas)) BEGIN INSERT INTO Trn_DetCuentas( TipDoc,Documento,IdCia,Concepto,Item,IdCuenta,Valor,Detalle,IdTercero,CodAgncia,CdCCosto,CdSubCos,pVehiculo, VrBase,TipFac,Factura,IdCiaFac,ItemFac,FecVence,Cheque,CiuOrigen,Referencia,VrTarifa,TipoTarif,CodConc,CodTarif ) SELECT @TipDoc,@Numero,@Cia,Concepto,Item,IdCuenta,Valor,Detalle,IdTercero,CodAgncia,CdCCosto,CdSubCos,pVehiculo, VrBase,TipFac,Factura,IdCiaFac,ItemFac,FecVence,Cheque,CiuOrigen,Referencia,VrTarifa,TipoTarif,CodConc,CodTarif FROM @Trn_DetCuentas where TipDoc = @TipFac and Documento = @Factura and IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_Comprobantes)) BEGIN INSERT INTO Trn_Comprobantes( TipCom, Comprobante, IdCia, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac, FechaAut, NiifTipo, NiifNumero, FisTipo, FisNumero, DocSoporte, CodRes, DescServicio ) SELECT @TipComp, @Comprobante, @IdCiaComp, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, @TipDoc, @Numero, @Cia, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac, FechaAut, @TipCompNiif, @CompNiif, @TipCompFis, @CompFis, DocSoporte, CodRes, DescServicio FROM @Trn_Comprobantes where TipDoc = @TipFac and Documento = @Factura and IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_ComDetalle)) BEGIN INSERT INTO Trn_ComDetalle( TipCom, Comprobante, IdCia, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo, IdCCosto, IdSubCos, VrBase, TarifaBase, TipDoc, Documento, IdCiaDoc, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza,CdCuentaNiif ) SELECT @TipComp, @Comprobante, @IdCiaComp, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo, IdCCosto, IdSubCos, VrBase, TarifaBase, @TipDoc, @Numero, @Cia, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza,CdCuentaNiif FROM @Trn_ComDetalle where TipDoc = @TipFac and Documento = @Factura and IdCia = @IdCia END IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF' AND Documento = @Factura)) BEGIN INSERT INTO Trn_NiifComp( TipCom, Comprobante, IdCia, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, TipoNiif, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac,FechaAut, CtbTipo, CtbNumero, FisTipo, FisNumero ) SELECT @TipCompNiif, @CompNiif, @IdCia,C.Fecha, C.IdTercero, C.VrTotal, C.IdCta, C.EnEfectivo, C.NumCheque, C.FecCheque, @TipDoc, @Numero, @IdCia, C.Anulado, C.NumDev, C.FecDev, C.TipEgr, C.NEgreso, C.pVehiculo, C.VehPropio, C.CedCondtor, C.CodConce, C.Beneficiario, C.VrDivisa1, C.VrDivisa2, C.VrDivisa3, C.PermEditar, C.Integrado, C.EsEgreso, C.Anticipo, C.Observacion, C.IdEstado, C.Propddes, C.TimeSys, C.FecUpdate, C.IdCiaCrea, C.IdUsuario, N.TipoNiif, C.CdSustento, C.Tipo_Pago, C.Establec, C.PEmision, C.Autorizac, C.FechaAut, @TipCompNiif, @CompNiif, NULL, 0 FROM @Trn_NiifComp AS N JOIN @Trn_Comprobantes AS C ON C.TipCom = N.TipComCont AND C.Comprobante = N.ComprobanteCont WHERE C.Documento = N.Documento AND N.Documento = @Factura AND N.TipoNiif = 'NIIF' IF(EXISTS(SELECT * FROM @Trn_NiifDetalle)) BEGIN INSERT INTO Trn_NiifDetalle( TipCom, Comprobante, IdCia, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo,IdCCosto, IdSubCos, VrBase, TarifaBase, TipDoc, Documento, IdCiaDoc, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza, CodCuentaCG ) SELECT @TipCompNiif, @CompNiif, @IdCia, N.Item, N.Fecha, N.IdCuenta, N.Detalle, N.VrDebito, N.VrCredito, N.IdTercero, N.IdVehiculo,N.IdCCosto, N.IdSubCos, N.VrBase, N.TarifaBase, @TipDoc,@Numero,@IdCia, N.CodConce, N.NitDoc, N.TipFac, N.Factura, N.IdCiaFac, N.ItemFac, N.FecVence, N.CodCta, N.NumCheque, N.Integrado, N.TipoAplica, N.Consolida, N.CodCargo, N.NitOtros, N.CodSubgpo, N.CiuOrigen, N.CodAgncia, N.VehPropio, N.Referncia, N.TipDocRef, N.DocRef, N.IdCiaRef, N.TimeSys, N.FecUpdate, N.IdCiaCrea, N.IdUsuario, N.CdConcTrib, N.CdTarifTrib, N.NumEstablec, N.PtoEmision ,N.Num_Autoriza, N.FechAutoriza, N.CodCuentaCG FROM @Trn_NiifComp as NC JOIN @Trn_NiifDetalle AS N ON N.Comprobante = NC.ComprobanteCont AND N.TipCom = @TipCompNiif --AND NC.TipoNiif = 'NIIF' where N.Documento = @Factura AND N.Documento = NC.Documento AND NC.TipoNiif = 'NIIF' END END IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL' AND Documento = @Factura)) BEGIN INSERT INTO Trn_NiifComp( TipCom, Comprobante, IdCia, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, TipoNiif, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac,FechaAut, CtbTipo, CtbNumero, FisTipo, FisNumero ) SELECT @TipCompFis, @CompFis, @IdCia,C.Fecha, C.IdTercero, C.VrTotal, C.IdCta, C.EnEfectivo, C.NumCheque, C.FecCheque, @TipDoc, @Numero, @IdCia, C.Anulado, C.NumDev, C.FecDev, C.TipEgr, C.NEgreso, C.pVehiculo, C.VehPropio, C.CedCondtor, C.CodConce, C.Beneficiario, C.VrDivisa1, C.VrDivisa2, C.VrDivisa3, C.PermEditar, C.Integrado, C.EsEgreso, C.Anticipo, C.Observacion, C.IdEstado, C.Propddes, C.TimeSys, C.FecUpdate, C.IdCiaCrea, C.IdUsuario, N.TipoNiif, C.CdSustento, C.Tipo_Pago, C.Establec, C.PEmision, C.Autorizac, C.FechaAut, @TipCompFis, @CompFis, NULL, 0 FROM @Trn_NiifComp AS N JOIN @Trn_Comprobantes AS C ON C.TipCom = N.TipComCont AND C.Comprobante = N.ComprobanteCont WHERE C.Documento = N.Documento AND N.Documento = @Factura AND N.TipoNiif = 'FISCAL' IF(EXISTS(SELECT * FROM @Trn_NiifDetalle)) BEGIN INSERT INTO Trn_NiifDetalle( TipCom, Comprobante, IdCia, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo,IdCCosto, IdSubCos, VrBase, TarifaBase, TipDoc, Documento, IdCiaDoc, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza, CodCuentaCG ) SELECT @TipCompFis, @CompFis, @IdCia, N.Item, N.Fecha, N.IdCuenta, N.Detalle, N.VrDebito, N.VrCredito, N.IdTercero, N.IdVehiculo,N.IdCCosto, N.IdSubCos, N.VrBase, N.TarifaBase, @TipDoc,@Numero,@IdCia, N.CodConce, N.NitDoc, N.TipFac, N.Factura, N.IdCiaFac, N.ItemFac, N.FecVence, N.CodCta, N.NumCheque, N.Integrado, N.TipoAplica, N.Consolida, N.CodCargo, N.NitOtros, N.CodSubgpo, N.CiuOrigen, N.CodAgncia, N.VehPropio, N.Referncia, N.TipDocRef, N.DocRef, N.IdCiaRef, N.TimeSys, N.FecUpdate, N.IdCiaCrea, N.IdUsuario, N.CdConcTrib, N.CdTarifTrib, N.NumEstablec, N.PtoEmision ,N.Num_Autoriza, N.FechAutoriza, N.CodCuentaCG FROM @Trn_NiifComp as NC JOIN @Trn_NiifDetalle AS N ON N.Comprobante = NC.ComprobanteCont AND N.TipCom = @TipCompFis --AND NC.TipoNiif = 'FISCAL' where N.Documento = @Factura AND N.Documento = NC.Documento AND NC.TipoNiif = 'FISCAL' END END --actualiza los items de las reservas con los que se relacionan en el tipo de datos nuevo de las facturasreservas DECLARE @TipRes VARCHAR(3) DECLARE @CiaRes VARCHAR(2) DECLARE @NumRes INT DECLARE @ItemRes INT DECLARE @Ref VARCHAR(50) DECLARE @reserva Int = 0 DECLARE @cantres Int = 0 DECLARE @cantresfact Int = 0 DECLARE faccursor CURSOR FOR SELECT TipRes,Reserva,IdCiaRes,ItemRes, Referencia1 FROM @Trn_TraEspFacReservas where TipDoc = @TipFac and Factura = @Factura and IdCia = @IdCia OPEN faccursor FETCH NEXT FROM faccursor INTO @TipRes,@NumRes,@CiaRes,@ItemRes, @Ref WHILE @@FETCH_STATUS = 0 BEGIN IF(@Ref = 'CLIENTE') BEGIN UPDATE Trn_TraEspResDetalle SET TipFac = @TipDoc, Factura = @Numero, IdCiaFac = @IdCia, FechaFac = @FechaFac, EstadoItem = 'FACTURADA' FROM Trn_TraEspResDetalle d WHERE d.TipDoc = @TipRes and d.Reserva = @NumRes and d.IdCia = @CiaRes and d.Item = @ItemRes END IF (@NumRes <> @reserva) BEGIN SET @reserva = @NumRes SELECT @cantres = count(*) FROM Trn_TraEspResDetalle AS rd WHERE rd.TipDoc = @TipRes and rd.Reserva = @NumRes and rd.IdCia = @CiaRes SELECT @cantresfact = count(*) FROM Trn_TraEspResDetalle AS rd WHERE rd.TipDoc = @TipRes and rd.Reserva = @NumRes and rd.IdCia = @CiaRes and rd.EstadoItem = 'FACTURADA' IF (@cantresfact = @cantres) BEGIN UPDATE Trn_TraEspReservas SET EstadoRes = 'FACTURADA' WHERE TipDoc = @TipRes and Reserva = @NumRes and IdCia = @CiaRes END END FETCH NEXT FROM faccursor INTO @TipRes,@NumRes,@CiaRes,@ItemRes,@Ref END CLOSE faccursor DEALLOCATE faccursor --actualizar el cliente de cada factura UPDATE TercCliente SET VrSaldo = c.VrSaldo + @VrNeto FROM TercCliente c WHERE c.IdClie = @IdCliente --Tabla a Deovler para los nuevos numeros de factura INSERT INTO #LogTraEspFacReservas(NewTipFac,NewFactura,NewIdCiaFac,OldTipFac,OldFactura,OldIdCiaFac) SELECT @TipDoc,@Numero,@Cia,@TipFac, @Factura, @IdCia END FETCH NEXT FROM factcursor INTO @TipFac,@Factura,@IdCia,@Fecha,@IdCliente,@VrNeto END CLOSE factcursor DEALLOCATE factcursor --SELECT * FROM #LogTraEspFacturas SELECT * FROM #LogTraEspFacReservas COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN DECLARE @ErrorMessage NVARCHAR(4000); DECLARE @ErrorSeverity INT; DECLARE @ErrorState INT; SELECT @ErrorMessage = ERROR_MESSAGE(), @ErrorSeverity = ERROR_SEVERITY(), @ErrorState = ERROR_STATE(); RAISERROR( @ErrorMessage, -- Message text. @ErrorSeverity, -- Severity. @ErrorState -- State. ); END CATCH RETURN 0 GO /****** Object: StoredProcedure [dbo].[paWcfSeInsPreFacturas] Script Date: 27/05/2024 10:58:28 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[paWcfSeInsPreFacturas] @Trn_Facturas [dbo].[dataTypeTrn_Facturas] READONLY, @Trn_TraEspFacReservas [dbo].[dataTypeTrn_TraEspFacReservas] READONLY, @Trn_TraEspFacResVehiculos [dbo].[dataTypeTrn_TraEspFacResVehiculos] READONLY, @Trn_DocMemo [dbo].[dataTypeTrn_DocMemo] READONLY, @Trn_TraEspAuxFactura [dbo].[dataTypeTrn_TraEspAuxFactura] READONLY, @Trn_RecAfavor [dbo].[dataTypeTrn_RecAfavor] READONLY, @Trn_VencAbonos [dbo].[dataTypeTrn_VencAbonos] READONLY, @Trn_Vencimientos [dbo].[dataTypeTrn_Vencimientos] READONLY, @Trn_DetCuentas [dbo].[dataTypeTrn_DetCuentas] READONLY, @Trn_Comprobantes [dbo].[dataTypeTrn_Comprobantes] READONLY, @Trn_ComDetalle [dbo].[dataTypeTrn_ComDetalle] READONLY, @Trn_NiifComp [dbo].[dataTypeTrn_NiifComp] READONLY, @Trn_NiifDetalle [dbo].[dataTypeNiifDetalle] READONLY, @operacion [varchar](1) WITH EXECUTE AS CALLER AS DECLARE @TipDocPre VARCHAR(3) DECLARE @TipDoc VARCHAR(3) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @Cia VARCHAR(2) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @Numero INT --En esta variable se guarda el consecutivo del documento aprobación declare @FechaFac smalldatetime declare @OpcUco VARCHAR BEGIN TRAN BEGIN TRY IF(@operacion = 'i') BEGIN --OPCION DE UNIFICAR CONSECUTIVOS DE PREFACTURAS CON LAS FACTURAS SELECT @OpcUco = Valor FROM adm_Opciones WHERE IdOpc = 'UCO' IF(@OpcUco = '1') SELECT @TipDocPre = TipDoc, @TipDoc = CodigoPreFact FROM @Trn_Facturas ELSE SELECT @TipDocPre = TipDoc, @TipDoc = TipDoc FROM @Trn_Facturas ---- SELECT TOP 1 @Cia = IdCia, @FechaFac = Fecha FROM @Trn_Facturas SELECT @Numero = Numero + 1 FROM TiposDocCons where IdDoc = @TipDoc AND IdCia = @Cia IF(@Numero > 0) BEGIN IF(@OpcUco = '1') begin UPDATE TiposDocCons SET Numero = @Numero WHERE IdDoc = @TipDoc AND IdCia = @Cia UPDATE TiposDocCons SET Numero = @Numero WHERE IdDoc = @TipDocPre AND IdCia = @Cia end else UPDATE TiposDocCons SET Numero = @Numero WHERE IdDoc = @TipDocPre AND IdCia = @Cia END ELSE BEGIN SELECT @Numero = 1 IF(@OpcUco = '1') begin INSERT INTO TiposDocCons VALUES (@TipDoc,@Cia,0,0,0,0,NULL,'',@Numero,0,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null,null,null) INSERT INTO TiposDocCons VALUES (@TipDocPre,@Cia,0,0,0,0,NULL,'',@Numero,0,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null,null,null) end else INSERT INTO TiposDocCons VALUES (@TipDocPre,@Cia,0,0,0,0,NULL,'',@Numero,0,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null,null,null) END IF(EXISTS(SELECT * FROM @Trn_Facturas)) BEGIN INSERT INTO Trn_Facturas( TipDoc,Factura,IdCia,Fecha,IdConcepto,IdCliente,IdAgencia,FechaVence,VrSubTotal,VrDescuento,VrImpuesto,VrRetencion,VrReteICA, VrReteIVA,VrFletes,VrOtros,VrCargos,VrOtrDcto,VrCostos,VrSobretasa,VrImpGlobal,VrFaltantes,VrAnticipos,VrNeto,VrAplicado,Cantidad, CantPuntos,PuntosAcum,BaseImp,BaseRet,BaseIca,BaseRiv,TarifaIva,TarifaRet,TarifaIca,TarifaRiv,CodTarIva,CodTarRet,CodTarIca, CodTarRiv,IdCCosto,IdSubCos,IdVend,TarifaCom,CodTarCom,DirEnvio,IdLocEnv,DiasEntraga,NitContac,NomContac,TelContac,emlContac, CargoContac,IdForma,DetallePago,MulPlazos,IdPlazo,CdMney,NitEmpTrans,EmpTrans,pVehiculo,CdConductor,CdRuta,TipPed,Pedido,IdCiaPed, TipRem,Remision,IdCiaRem,TipCot,Cotizacion,IdCiaCot,FecPedido,AutzaMora,AutzaCupo,Modalidad,KmtVehic,ZonaFrontera,PesoTotal, UnidTotal,VolTotal,CantFalt,VrCostoRem,VrCostoAfi,CodAutoRet,OrigenAdd,TipCom,Comprobante,IdCiaCom,Anulado,NumDev,FecDev,Observacion, IdEstado,TimeSys,FecUpdate,IdCiaCrea,IdUsuario,VrImpCons,VrReteCREE,TarifaRtc,CodTarRtc,Parqueadero,FecCuotaParq,BaseIvaObsq,VrIvaObsequio, VrImpCarbono,TipoFE,FechaFE,BaseIvaIgp,VrIvaIngProd,CodTarArf,TarifaArf,VrAutRetFte,CodTarAri,TarifaAri,VrAutRetIca ) SELECT @TipDocPre,@Numero,@Cia,Fecha,IdConcepto,IdCliente,IdAgencia,FechaVence,VrSubTotal,VrDescuento,VrImpuesto,VrRetencion,VrReteICA, VrReteIVA,VrFletes,VrOtros,VrCargos,VrOtrDcto,VrCostos,VrSobretasa,VrImpGlobal,VrFaltantes,VrAnticipos,VrNeto,VrAplicado,Cantidad, CantPuntos,PuntosAcum,BaseImp,BaseRet,BaseIca,BaseRiv,TarifaIva,TarifaRet,TarifaIca,TarifaRiv,CodTarIva,CodTarRet,CodTarIca, CodTarRiv,IdCCosto,IdSubCos,IdVend,TarifaCom,CodTarCom,DirEnvio,IdLocEnv,DiasEntraga,NitContac,NomContac,TelContac,emlContac, CargoContac,IdForma,DetallePago,MulPlazos,IdPlazo,CdMney,NitEmpTrans,EmpTrans,pVehiculo,CdConductor,CdRuta,TipPed,Pedido,IdCiaPed, TipRem,Remision,IdCiaRem,TipCot,Cotizacion,IdCiaCot,FecPedido,AutzaMora,AutzaCupo,Modalidad,KmtVehic,ZonaFrontera,PesoTotal, UnidTotal,VolTotal,CantFalt,VrCostoRem,VrCostoAfi,CodAutoRet,OrigenAdd,TipCom,Comprobante,IdCiaCom,Anulado,NumDev,FecDev,Observacion, IdEstado,TimeSys,FecUpdate,IdCiaCrea,IdUsuario,VrImpCons,VrReteCREE,TarifaRtc,CodTarRtc,Parqueadero,FecCuotaParq,BaseIvaObsq,VrIvaObsequio, VrImpCarbono,TipoFE,FechaFE,BaseIvaIgp,VrIvaIngProd,CodTarArf,TarifaArf,VrAutRetFte,CodTarAri,TarifaAri,VrAutRetIca FROM @Trn_Facturas END IF(EXISTS(SELECT * FROM @Trn_TraEspFacReservas)) BEGIN INSERT INTO Trn_TraEspFacReservas( TipDoc,Factura,IdCia,Item,TipoReg,FechaFact,TipRes,Reserva,IdCiaRes,ItemRes,FecReserva,Descripcion,Cantidad,VrServicio,VrUnitario,VrCosto, TarifaIva,VrImpuesto,TarifaDct,VrDescuento,DocCliente,Referencia1,Referencia2,Referencia3,CdConcepto,CdCCosto,CdSubCos,NitTercero,CdAgencia, pVehiculo,TipoAfiVehic,IdOrigen,IdDestino,Anulado,TipDocRef,NumDocRef,IdCiaRef,FecDocRef,CodTarDct,CodTarRet,CodTarIca,TarifaRet,VrRetencion, TarifaIca,VrReteIca,EstadoItem ) SELECT @TipDocPre,@Numero,@Cia,Item,TipoReg,FechaFact,TipRes,Reserva,IdCiaRes,ItemRes,FecReserva,Descripcion,Cantidad,VrServicio,VrUnitario,VrCosto, TarifaIva,VrImpuesto,TarifaDct,VrDescuento,DocCliente,Referencia1,Referencia2,Referencia3,CdConcepto,CdCCosto,CdSubCos,NitTercero,CdAgencia, pVehiculo,TipoAfiVehic,IdOrigen,IdDestino,Anulado,TipDocRef,NumDocRef,IdCiaRef,FecDocRef,CodTarDct,CodTarRet,CodTarIca,TarifaRet,VrRetencion, TarifaIca,VrReteIca,EstadoItem FROM @Trn_TraEspFacReservas END IF(EXISTS(SELECT * FROM @Trn_TraEspFacResVehiculos)) BEGIN INSERT INTO Trn_TraEspFacResVehiculos( TipDoc,Factura,IdCIa,Item,TipRes,Reserva,IdCIaRes,ItemRes,IdVehiculo,TipoAfil,VrRecorrido ) SELECT @TipDocPre,@Numero,@Cia,Item,TipRes,Reserva,IdCIaRes,ItemRes,IdVehiculo,TipoAfil,VrRecorrido FROM @Trn_TraEspFacResVehiculos END IF(EXISTS(SELECT * FROM @Trn_TraEspAuxFactura)) BEGIN INSERT INTO Trn_TraEspAuxFactura( TipFac,Factura,IdCiaFac,Resolucion,Rango,FechaResl,Prefijo,TipDocPf,PreFactura,IdCiaPf,CodigoPreFact ) SELECT @TipDocPre,@Numero,@Cia,Resolucion,Rango,FechaResl,Prefijo,TipDocPf,PreFactura,IdCiaPf,CodigoPreFact FROM @Trn_TraEspAuxFactura END END SELECT @Numero COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN DECLARE @ErrorMessage NVARCHAR(4000); DECLARE @ErrorSeverity INT; DECLARE @ErrorState INT; SELECT @ErrorMessage = ERROR_MESSAGE(), @ErrorSeverity = ERROR_SEVERITY(), @ErrorState = ERROR_STATE(); RAISERROR( @ErrorMessage, -- Message text. @ErrorSeverity, -- Severity. @ErrorState -- State. ); END CATCH RETURN 0 GO /****** Object: StoredProcedure [dbo].[paWcfSeInsTrn_TraEspOrdenPago] Script Date: 27/05/2024 11:00:26 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[paWcfSeInsTrn_TraEspOrdenPago] @Trn_TraEspOrdenPago [dbo].[dataTypeTrn_TraEspOrdenPago] READONLY, @Trn_TraEspOrdenReservas [dbo].[dataTypeTrn_TraEspOrdenReservas] READONLY, @Trn_TraEspOrdenProg [dbo].[dataTypeTrn_TraEspOrdenProg] READONLY, @Trn_TraEspConceptos [dbo].[dataTypeTrn_TraEspConceptos] READONLY, @Trn_TraEspAntAbonos [dbo].[dataTypeTrn_TraEspAntAbonos] READONLY, @Trn_DetCuentas [dbo].[dataTypeTrn_DetCuentas] READONLY, @Trn_ComFactura [dbo].[dataTypeTrn_ComFactura] READONLY, @Trn_Pagos [dbo].[dataTypeTrn_Pagos] READONLY, @Trn_Comprobantes [dbo].[dataTypeTrn_Comprobantes] READONLY, @Trn_ComDetalle [dbo].[dataTypeTrn_ComDetalle] READONLY, @Trn_NiifComp [dbo].[dataTypeNiifComp] READONLY, @Trn_NiifDetalle [dbo].[dataTypeNiifDetalle] READONLY, @operacion [varchar](1) WITH EXECUTE AS CALLER AS DECLARE @Comprobante INT = 0 --Esta variable guarda el número consecutivo del comprobante DECLARE @TipComp VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante DECLARE @IdCiaComp VARCHAR(4) = '00' --Esta variable guarda la compañia del comprobante DECLARE @CompNiif INT = 0 --Esta variable guarda el número consecutivo del comprobante Niif DECLARE @TipCompNiif VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante Niif DECLARE @IdCiaCompNiif VARCHAR(4) = '00'--Esta variable guarda la compañia del comprobante Niif DECLARE @CompFis INT = 0 --Esta variable guarda el número consecutivo de comprobante Fiscal DECLARE @TipCompFis VARCHAR(3) = '0' --Esta variable guarda el tipo de comprobante Fiscal DECLARE @IdCiaCompFis VARCHAR(4) = '00' --Esta variable guarda la compañia del comprobante Fiscal DECLARE @TipDoc VARCHAR(3) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @Cia VARCHAR(2) --En esta variable se guarda el consecutivo del documento aprobación DECLARE @Numero INT --En esta variable se guarda el consecutivo del documento aprobación --Nuevas variables DECLARE @Reserva INT = (SELECT TOP 1 Reserva FROM @Trn_TraEspOrdenReservas) --Esta variable guarda el número de reserva DECLARE @ItemRes INT = (SELECT TOP 1 ItemRes FROM @Trn_TraEspOrdenReservas) --Esta variable guarda el número de ítem de reserva DECLARE @IdCiaRes CHAR(2) = (SELECT TOP 1 IdCiaRes FROM @Trn_TraEspOrdenReservas) --Esta variable guarda la compañia de la reserva DECLARE @VrPagos MONEY = 0 --En esta variable va guarda el valor de pago real de la reserva DECLARE @VrTotalPagosaRES MONEY = 0 --En esta variable va guarda el valor de pagos hechas a la reserva por ordenes de pago DECLARE @TipoTarifa varchar(20) BEGIN TRAN BEGIN TRY IF(@operacion = 'i') begin SELECT TOP 1 @TipDoc = TipDoc, @Cia = IdCia, @IdCiaComp = IdCia, @IdCiaCompNiif = IdCia, @IdCiaCompFis = IdCia FROM @Trn_TraEspOrdenPago SELECT @Numero = Numero + 1 FROM TiposDocCons where IdDoc = @TipDoc AND IdCia = @Cia IF(@Numero > 0) UPDATE TiposDocCons SET Numero = @Numero WHERE IdDoc = @TipDoc AND IdCia = @Cia ELSE BEGIN SELECT @Numero = 1 INSERT INTO TiposDocCons VALUES (@TipDoc,@Cia,0,0,0,0,NULL,'',@Numero,0,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null,null,null) END IF(EXISTS(SELECT * FROM @Trn_Comprobantes)) BEGIN SELECT TOP 1 @TipComp = TipCom FROM @Trn_Comprobantes SELECT @Comprobante = Numero + 1 FROM TiposComCons where IdCom = @TipComp AND IdCia = @IdCiaComp --UPDATE TiposComCons SET Numero = @Comprobante WHERE IdCom = @TipComp AND IdCia = @IdCiaComp IF(@Comprobante <> '') UPDATE TiposComCons SET Numero = @Comprobante WHERE IdCom = @TipComp and IdCia = @IdCiaComp ELSE BEGIN SELECT @Comprobante = 1 INSERT INTO TiposComCons VALUES (@TipComp,@IdCiaComp,0,0,@Comprobante,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF')) BEGIN SELECT TOP 1 @TipCompNiif = TipCom FROM @Trn_NiifComp WHERE TipoNiif = 'NIIF' SELECT @CompNiif = Numero + 1 FROM TiposComCons where IdCom = @TipCompNiif AND IdCia = @IdCiaCompNiif --UPDATE TiposComCons SET Numero = @CompNiif WHERE IdCom = @TipCompNiif AND IdCia = @IdCiaCompNiif IF(@CompNiif <> '') UPDATE TiposComCons SET Numero = @CompNiif WHERE IdCom = @TipCompNiif and IdCia = @IdCiaCompNiif ELSE BEGIN SELECT @CompNiif = 1 INSERT INTO TiposComCons VALUES (@TipCompNiif,@IdCiaCompNiif,0,0,@CompNiif,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END IF(EXISTS(SELECT * FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL')) BEGIN SELECT TOP 1 @TipCompFis = TipCom FROM @Trn_NiifComp WHERE TipoNiif = 'FISCAL' SELECT @CompFis = Numero + 1 FROM TiposComCons where IdCom = @TipCompFis AND IdCia = @IdCiaCompFis --UPDATE TiposComCons SET Numero = @CompFis WHERE IdCom = @TipCompFis AND IdCia = @IdCiaCompFis IF(@CompNiif <> '') UPDATE TiposComCons SET Numero = @CompFis WHERE IdCom = @TipCompFis and IdCia = @IdCiaCompFis ELSE BEGIN SELECT @CompFis = 1 INSERT INTO TiposComCons VALUES (@TipCompFis,@IdCiaCompFis,0,0,@CompFis,0,'','',1,1,1,0,1,CURRENT_TIMESTAMP,null,null) END END end IF(@operacion = 'i') begin IF(EXISTS(SELECT * FROM @Trn_TraEspOrdenPago)) BEGIN INSERT INTO Trn_TraEspOrdenPago( TipDoc,OrdPago,IdCia,Fecha,TipRes,Reserva,IdCiaRes,IdConcepto,Cantidad,Modalidad,LiqReservas,CxPagar,MulPlazos,IdPlazo,FechaVence, TipCom,Comprobante,IdCiaCom,Anulado,NumDev,FecDev,Observacion,IdEstado,OrigenAdd,TimeSys,FecUpdate,IdCiaCrea,IdUsuario ) SELECT @TipDoc,@Numero,@Cia,Fecha,TipRes,Reserva,IdCiaRes,IdConcepto,Cantidad,Modalidad,LiqReservas,CxPagar,MulPlazos,IdPlazo,FechaVence, @TipComp,@Comprobante,@IdCiaComp,Anulado,NumDev,FecDev,Observacion,IdEstado,OrigenAdd,TimeSys,FecUpdate,IdCiaCrea,IdUsuario FROM @Trn_TraEspOrdenPago END IF(EXISTS(SELECT * FROM @Trn_TraEspOrdenReservas)) BEGIN INSERT INTO Trn_TraEspOrdenReservas( TipDoc,OrdPago,IdCia,Item,Fecha,TipRes,Reserva,IdCiaRes,ItemRes,IdVehiculo,IdConductor,IdPropietario,IdPoseedor,VrServicio,VrDescuento,VrRetencion, VrReteIca,VrReteCREE,VrAnticipos,VrOtrosDctos,VrImpuestos,VrOtrosPagos,VrNeto,BaseRet,BaseIca,BaseCree,TarifaRet,TarifaIca,TarifaRtc,CodTarRet, CodTarIca,CodTarRtc,TipEgr,Egreso,IdCiaEgr,FechaEgr,NumCheque,Referencia,VrConcPagos,VrConcDctos,VrConcFondo,VrConcSeguro,VrConcAporte,VrConcImpuesto, VrRecCaja,CdForma,CdCenCosto,CdSubCenCos,VrSeguros,VrFondos,VrAportes,EdoLiqCausac,EstadoItem ) SELECT @TipDoc,@Numero,@Cia,Item,Fecha,TipRes,Reserva,IdCiaRes,ItemRes,IdVehiculo,IdConductor,IdPropietario,IdPoseedor,VrServicio,VrDescuento,VrRetencion, VrReteIca,VrReteCREE,VrAnticipos,VrOtrosDctos,VrImpuestos,VrOtrosPagos,VrNeto,BaseRet,BaseIca,BaseCree,TarifaRet,TarifaIca,TarifaRtc,CodTarRet, CodTarIca,CodTarRtc,TipEgr,Egreso,IdCiaEgr,FechaEgr,NumCheque,Referencia,VrConcPagos,VrConcDctos,VrConcFondo,VrConcSeguro,VrConcAporte,VrConcImpuesto, VrRecCaja,CdForma,CdCenCosto,CdSubCenCos,VrSeguros,VrFondos,VrAportes,EdoLiqCausac,EstadoItem FROM @Trn_TraEspOrdenReservas END IF(EXISTS(SELECT * FROM @Trn_TraEspOrdenProg)) BEGIN INSERT INTO Trn_TraEspOrdenProg( TipDoc,OrdPago,IdCia,Item,TipRes,Reserva,IdCiaRes,ItemRes,TipPgr,Programa,IdCiaPgr,ItemPgr,VrRecorrido ) SELECT @TipDoc,@Numero,@Cia,Item,TipRes,Reserva,IdCiaRes,ItemRes,TipPgr,Programa,IdCiaPgr,ItemPgr,VrRecorrido FROM @Trn_TraEspOrdenProg END IF(EXISTS(SELECT * FROM @Trn_TraEspConceptos)) BEGIN INSERT INTO Trn_TraEspConceptos( TipDoc,Documento,IdCia,Item,Descripcion,Tarifa,TipoConc,RubroConcep,Cantidad,VrUnitario,TarifIva,IdConcepto,CdCuenta,NitTercero, CdTipoEsc,FechaNov,VrBase,TipoTarif,RefConc,Fijos,IncBaseRet,Referencia2,Referencia3,Cliente,Conductor,Vehiculo,ItemDoc,IdVehiculo ) SELECT @TipDoc,@Numero,@Cia,Item,Descripcion,Tarifa,TipoConc,RubroConcep,Cantidad,VrUnitario,TarifIva,IdConcepto,CdCuenta,NitTercero, CdTipoEsc,FechaNov,VrBase,TipoTarif,RefConc,Fijos,IncBaseRet,Referencia2,Referencia3,Cliente,Conductor,Vehiculo,ItemDoc,IdVehiculo FROM @Trn_TraEspConceptos END IF(EXISTS(SELECT * FROM @Trn_TraEspAntAbonos)) BEGIN INSERT INTO Trn_TraEspAntAbonos( TipDoc,Documento,IdCia,Item,Fecha,TipAnt,Anticipo,IdCiaAnt,VrAbono,TipoAplica,Detalle,CdCuentaAnt ) SELECT @TipDoc,@Numero,@Cia,Item,Fecha,TipAnt,Anticipo,IdCiaAnt,VrAbono,TipoAplica,Detalle,CdCuentaAnt FROM @Trn_TraEspAntAbonos END IF(EXISTS(SELECT * FROM @Trn_DetCuentas)) BEGIN INSERT INTO Trn_DetCuentas( TipDoc,Documento,IdCia,Concepto,Item,IdCuenta,Valor,Detalle,IdTercero,CodAgncia,CdCCosto,CdSubCos,pVehiculo, VrBase,TipFac,Factura,IdCiaFac,ItemFac,FecVence,Cheque,CiuOrigen,Referencia,VrTarifa,TipoTarif,CodConc,CodTarif ) SELECT @TipDoc,@Numero,@Cia,Concepto,Item,IdCuenta,Valor,Detalle,IdTercero,CodAgncia,CdCCosto,CdSubCos,pVehiculo, VrBase,TipFac,Factura,IdCiaFac,ItemFac,FecVence,Cheque,CiuOrigen,Referencia,VrTarifa,TipoTarif,CodConc,CodTarif FROM @Trn_DetCuentas END IF(EXISTS(SELECT * FROM @Trn_ComFactura)) BEGIN INSERT INTO Trn_ComFactura( TipFac,Factura,IdCia,Item,IdProveedor,IdCuenta,TipDoc,Documento,IdCiaDoc,FecEmision,FecVence,VrFactura,VrAbonado,TipCom,Comprobante,ItemCom, Referencia,Detalle,pVehiculo,VehPropio,TipRef,DocRef,IdCiaRef,EstadoApr,MontoAprob ) SELECT @TipDoc,@Numero,@Cia,Item,IdProveedor,IdCuenta,@TipDoc,@Numero,@Cia,FecEmision,FecVence,VrFactura,VrAbonado,@TipComp,@Comprobante,ItemCom, Referencia,Detalle,pVehiculo,VehPropio,TipRef,DocRef,IdCiaRef,EstadoApr,MontoAprob FROM @Trn_ComFactura END IF(EXISTS(SELECT * FROM @Trn_Pagos)) BEGIN INSERT INTO Trn_Pagos( TipDoc, Documento, IdCia, Item, Fecha, IdForma, Detalle, VrPagado, VrCambio, EsCaja, IdBanco, NitCliente, CdAgencia, NumForma, FecForma, CtaForma, Beneficiario, Referncia1, Referncia2, CdLocal, NumAutoriza, VrDenom, Cantidad, TipDenom, TipRef, DocRef, IdCiaRef, ItemDoc, CdCta, IdUsuario, CdProducto, FE_Ticket, Cant_Gals, PrecioBase, PrecioUnit, ConsCP, CodCueCons, PrecioPub, RefVehiculo, RefNumVeh ) SELECT @TipDoc, @Numero, @Cia, Item, Fecha, IdForma, Detalle, VrPagado, VrCambio, EsCaja, IdBanco, NitCliente, CdAgencia, NumForma, FecForma, CtaForma, Beneficiario, Referncia1, Referncia2, CdLocal, NumAutoriza, VrDenom, Cantidad, TipDenom, TipRef, DocRef, IdCiaRef, ItemDoc, CdCta, IdUsuario, CdProducto, FE_Ticket, Cant_Gals, PrecioBase, PrecioUnit, ConsCP, CodCueCons, PrecioPub, RefVehiculo, RefNumVeh FROM @Trn_Pagos END IF(EXISTS(SELECT * FROM @Trn_Comprobantes)) BEGIN INSERT INTO Trn_Comprobantes( TipCom, Comprobante, IdCia, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac, FechaAut, NiifTipo, NiifNumero, FisTipo, FisNumero, DocSoporte, CodRes, DescServicio ) SELECT @TipComp, @Comprobante, @IdCiaComp, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, @TipDoc, @Numero, @Cia, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac, FechaAut, @TipCompNiif, @CompNiif, @TipCompFis, @CompFis, DocSoporte, CodRes, DescServicio FROM @Trn_Comprobantes END IF(EXISTS(SELECT * FROM @Trn_ComDetalle)) BEGIN INSERT INTO Trn_ComDetalle( TipCom, Comprobante, IdCia, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo, IdCCosto, IdSubCos, VrBase, TarifaBase, TipDoc, Documento, IdCiaDoc, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza,CdCuentaNiif ) SELECT @TipComp, @Comprobante, @IdCiaComp, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo, IdCCosto, IdSubCos, VrBase, TarifaBase, @TipDoc, @Numero, @Cia, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, SUBSTRING(Referncia, 0, 50), TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza,CdCuentaNiif FROM @Trn_ComDetalle END IF(EXISTS(SELECT * FROM @Trn_NiifComp)) BEGIN INSERT INTO Trn_NiifComp( TipCom, Comprobante, IdCia, Fecha, IdTercero, VrTotal, IdCta, EnEfectivo, NumCheque, FecCheque, TipDoc, Documento, IdCiaDoc, Anulado, NumDev, FecDev, TipEgr, NEgreso, pVehiculo, VehPropio, CedCondtor, CodConce, Beneficiario, VrDivisa1, VrDivisa2, VrDivisa3, PermEditar, Integrado, EsEgreso, Anticipo, Observacion, IdEstado, Propddes, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, TipoNiif, CdSustento, Tipo_Pago, Establec, PEmision, Autorizac,FechaAut, CtbTipo, CtbNumero, FisTipo, FisNumero ) SELECT CASE N.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE @TipCompFis END, CASE N.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE @CompFis END, @Cia, C.Fecha, C.IdTercero, C.VrTotal, C.IdCta, C.EnEfectivo, C.NumCheque, C.FecCheque, @TipDoc, @Numero, @Cia, C.Anulado, C.NumDev, C.FecDev, C.TipEgr, C.NEgreso, C.pVehiculo, C.VehPropio, C.CedCondtor, C.CodConce, C.Beneficiario, C.VrDivisa1, C.VrDivisa2, C.VrDivisa3, C.PermEditar, C.Integrado, C.EsEgreso, C.Anticipo, C.Observacion, C.IdEstado, C.Propddes, C.TimeSys, C.FecUpdate, C.IdCiaCrea, C.IdUsuario, N.TipoNiif, C.CdSustento, C.Tipo_Pago, C.Establec, C.PEmision, C.Autorizac, C.FechaAut, CASE N.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE NULL END, CASE N.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE 0 END, CASE N.TipoNiif WHEN 'FISCAL' THEN @TipCompFis ELSE NULL END, CASE N.TipoNiif WHEN 'FISCAL' THEN @CompFis ELSE 0 END FROM @Trn_Comprobantes AS C JOIN @Trn_NiifComp AS N ON C.TipCom = N.TipComCont AND C.Comprobante = N.ComprobanteCont END IF(EXISTS(SELECT * FROM @Trn_NiifDetalle)) BEGIN INSERT INTO Trn_NiifDetalle( TipCom, Comprobante, IdCia, Item, Fecha, IdCuenta, Detalle, VrDebito, VrCredito, IdTercero, IdVehiculo,IdCCosto, IdSubCos, VrBase, TarifaBase, TipDoc, Documento, IdCiaDoc, CodConce, NitDoc, TipFac, Factura, IdCiaFac, ItemFac, FecVence, CodCta, NumCheque, Integrado, TipoAplica, Consolida, CodCargo, NitOtros, CodSubgpo, CiuOrigen, CodAgncia, VehPropio, Referncia, TipDocRef, DocRef, IdCiaRef, TimeSys, FecUpdate, IdCiaCrea, IdUsuario, CdConcTrib, CdTarifTrib, NumEstablec, PtoEmision, Num_Autoriza, FechAutoriza, CodCuentaCG ) SELECT CASE NC.TipoNiif WHEN 'NIIF' THEN @TipCompNiif ELSE @TipCompFis END, CASE NC.TipoNiif WHEN 'NIIF' THEN @CompNiif ELSE @CompFis END, @Cia, N.Item, N.Fecha, N.IdCuenta, N.Detalle, N.VrDebito, N.VrCredito, N.IdTercero, N.IdVehiculo,N.IdCCosto, N.IdSubCos, N.VrBase, N.TarifaBase, @TipDoc, @Numero, @Cia, N.CodConce, N.NitDoc, N.TipFac, N.Factura, N.IdCiaFac, N.ItemFac, N.FecVence, N.CodCta, N.NumCheque, N.Integrado, N.TipoAplica, N.Consolida, N.CodCargo, N.NitOtros, N.CodSubgpo, N.CiuOrigen, N.CodAgncia, N.VehPropio, SUBSTRING(N.Referncia,0,50), N.TipDocRef, N.DocRef, N.IdCiaRef, N.TimeSys, N.FecUpdate, N.IdCiaCrea, N.IdUsuario, N.CdConcTrib, N.CdTarifTrib, N.NumEstablec, N.PtoEmision ,N.Num_Autoriza, N.FechAutoriza, N.CodCuentaCG FROM @Trn_NiifDetalle as N JOIN @Trn_NiifComp AS NC ON N.TipCom = NC.TipCom AND N.Comprobante = NC.Comprobante END end IF(@operacion = 'i') begin --actualiza los items de la programación detalle de cada reserva agregada en la Orden de Pago UPDATE Trn_TraEspProgramaDet SET TipDocOdp = 'OPE',NumOdp = @Numero, IdCiaOdp = t3.IdCia, FechaOdp = t3.Fecha FROM Trn_TraEspProgramaDet t1, @Trn_TraEspOrdenProg t2, @Trn_TraEspOrdenPago t3 WHERE t1.TipDoc = t2.TipPgr and t1.Programa = t2.Programa and t1.IdCia = t2.IdCiaPgr and t1.Item = t2.ItemPgr and t1.TipDocRes = t2.TipRes and t1.Reserva = t2.Reserva and t1.IdCiaRes = t2.IdCiaRes and t1.ItemRes = t2.ItemRes --JHON ROA-->Nuevo línea de código actualizar el estado de la reserva cuando ya se cumpla el valor total de la reserva --11/12/2017 Se cambia para tener en cuenta cuando TipoTarifa de la reserva es diaria. SELECT @TipoTarifa = TipoTarifa FROM Trn_TraEspResDetalle WHERE Reserva = @Reserva AND IdCia = @IdCiaRes AND Item = @ItemRes --No se necesita traer la actual reserva, poque ya fue insertada arriba en este procedimiento SELECT @VrTotalPagosaRES = ROUND(ISNULL(SUM(R.VrServicio),0), 1) FROM Trn_TraEspOrdenReservas R LEFT JOIN Trn_TraEspOrdenPago AS OP ON R.TipDoc = OP.TipDoc AND R.OrdPago = OP.OrdPago AND R.IdCia = OP.IdCia WHERE R.Reserva = @Reserva AND R.IdCiaRes = @IdCiaRes AND R.ItemRes = @ItemRes AND OP.Anulado = 0; IF(upper(@TipoTarifa) <> 'DIA') BEGIN SELECT @VrPagos = VrPagos FROM Trn_TraEspResDetalle WHERE Reserva = @Reserva AND IdCia = @IdCiaRes AND Item = @ItemRes IF(@VrTotalPagosaRES >= @VrPagos) BEGIN UPDATE Trn_TraEspResDetalle SET EstadoItem ='LIQUIDADA' WHERE Reserva = @Reserva AND IdCia = @IdCiaRes AND Item = @ItemRes END ELSE -- revisar que la cant de veh que se vayan a liquidar(programados no novedad) ya hayan sido liquidados(pasan de xliquidar a liquidado) y que la reserva no se haya vencido BEGIN declare @cantveh int= 0, @cantord int = 0, @fechares date, @fechasys date,@idveh varchar(10) select @cantveh = count(*) from trn_traespprogramadet where Reserva = @Reserva AND IdCiaRes = @IdCiaRes AND ItemRes = @ItemRes and IdNovedad = '0' and IdVehiculo <>'0' select @fechares = fechafin from trn_traespreservas where Reserva = @Reserva AND IdCia = @IdCiaRes select @fechasys = FechaActual from companias where IdCia = @IdCiaRes --selecciono los progdetalle de esos vehiculos declare @Trn_TraEspProgramaDet dataTypeTrn_TraEspProgramaDet INSERT INTO @Trn_TraEspProgramaDet( TipDoc,Programa,IdCia,Item,FechaInicio,FechaFin,TipDocRes,Reserva,IdCiaRes,ItemRes, IdOrigen,IdDestino,IdVehiculo,CdTipVeh,IdConductor,NumPasajeros,TipDocFuec,NumFuec, IdCiaFuec,TipDocOdp,NumOdp,IdCiaOdp,FechaOdp,IdNovedad,Novedad,Cumplido,FecIniCump,FecFinCump,VrCobro,VrPagos,DiasDisp,Parada, CdTipServicio,DirOrigen,DirDestino,IdRuta,CdTipRuta,PesoNeto,EstadoItem,VrMonitor,CantMonitor,VrRecorrido,Observacion ) SELECT TipDoc,Programa,IdCia,Item,FechaInicio,FechaFin,TipDocRes,Reserva,IdCiaRes,ItemRes, IdOrigen,IdDestino,IdVehiculo,CdTipVeh,IdConductor,NumPasajeros,TipDocFuec,NumFuec, IdCiaFuec,TipDocOdp,NumOdp,IdCiaOdp,FechaOdp,IdNovedad,Novedad,Cumplido,FecIniCump,FecFinCump,VrCobro,VrPagos,DiasDisp,Parada, CdTipServicio,DirOrigen,DirDestino,IdRuta,CdTipRuta,PesoNeto,EstadoItem,VrMonitor,CantMonitor,VrRecorrido,Observacion FROM Trn_TraEspProgramaDet where Reserva = @Reserva AND IdCiaRes = @IdCiaRes AND ItemRes = @ItemRes and IdNovedad = '0' and IdVehiculo <>'0' --cursor para verififcar si los vehiculos fueron pagados en ordenes de pago DECLARE verificar CURSOR FOR SELECT IdVehiculo FROM @Trn_TraEspProgramaDet OPEN verificar FETCH NEXT FROM verificar INTO @idveh WHILE @@FETCH_STATUS = 0 BEGIN --verifico la cantidad que ya fueron liquidados(tiene en cuenta la actual) if (exists(select * from Trn_TraEspOrdenReservas where Reserva = @Reserva AND IdCiaRes = @IdCiaRes AND ItemRes = @ItemRes and IdVehiculo = @idveh)) select @cantord = @cantord + 1 FETCH NEXT FROM verificar INTO @idveh END CLOSE verificar DEALLOCATE verificar --se verifica que cumpal para colocar la resrva a liquidada IF((@cantord >= @cantveh) AND (@fechasys >= @fechares)) BEGIN UPDATE Trn_TraEspResDetalle SET EstadoItem ='LIQUIDADA' WHERE Reserva = @Reserva AND IdCia = @IdCiaRes AND Item = @ItemRes END END END ELSE BEGIN SELECT @VrPagos = ISNULL(SUM(VrPagos),0) FROM Trn_TraEspProgramaDet AS PD JOIN Trn_TraEspPrograma AS P ON P.TipDoc = PD.TipDoc AND P.Programa = PD.Programa AND P.IdCia = PD.IdCia WHERE Reserva = @Reserva AND IdCiaRes = @IdCiaRes AND ItemRes = @ItemRes and IdNovedad = '0' and IdVehiculo <>'0' and p.Anulado = 0 IF(@VrTotalPagosaRES >= @VrPagos) BEGIN UPDATE Trn_TraEspResDetalle SET EstadoItem ='LIQUIDADA' WHERE Reserva = @Reserva AND IdCia = @IdCiaRes AND Item = @ItemRes END END --actualiza los anticipos UPDATE Trn_TraEspAnticipos SET VrAbonado = VrAbonado + t2.VrAbono FROM Trn_TraEspAnticipos t1, @Trn_TraEspAntAbonos t2 WHERE t1.TipDoc = t2.TipAnt and t1.Anticipo = t2.Anticipo and t1.IdCia = t2.IdCiaAnt end SELECT @Numero,@Comprobante COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN DECLARE @ErrorMessage NVARCHAR(4000); DECLARE @ErrorSeverity INT; DECLARE @ErrorState INT; SELECT @ErrorMessage = ERROR_MESSAGE(), @ErrorSeverity = ERROR_SEVERITY(), @ErrorState = ERROR_STATE(); RAISERROR( @ErrorMessage, -- Message text. @ErrorSeverity, -- Severity. @ErrorState -- State. ); END CATCH RETURN 0 GO