
Create PROCEDURE [dbo].[sp_Api2_conComprobante_Del]
(
     @tipocompro int,
     @numcompro int,
     @feccompro datetime,
     @sistema char(3),
	 @logindel varchar(20)=''
)
AS

DISABLE TRIGGER tr_saldoDocto_Update ON venEncabezado;
    
DECLARE @tipfol int
    
SELECT @tipfol = foliacion FROM conParametros


IF @tipfol = 1 BEGIN	
	INSERT INTO conComprobantesBorrados
                      (periodo, mes, tipo, numero, clasificacion, fecha, glosa, linea, cuenta, debe, haber, glosa_linea, ctacte, item, tipo_docto, num_docto, saldo_docto, vencimiento, 
                      analisis, uni_negocio, moneda, tasa_cambio, grupo, flujo, sistema, loging, fecing, logmod, fecmod,logineliminacion,fecdel,origeneliminacion)
	SELECT     periodo, mes, tipo, numero, clasificacion, fecha, glosa, linea, cuenta, debe, haber, glosa_linea, ctacte, item, tipo_docto, num_docto, saldo_docto, vencimiento, 
                      analisis, uni_negocio, moneda, tasa_cambio, grupo, flujo, sistema, loging, fecing, logmod, fecmod,@logindel,GETDATE(),@sistema 
	FROM         conComprobantes
	WHERE tipo   = @tipocompro 
	AND   numero = @numcompro
	AND   DATEPART(YEAR,fecha) = DATEPART(YEAR,@feccompro)


	SELECT top (1) @sistema=sistema FROM conComprobantes  WHERE tipo   = @tipocompro 
	AND   numero = @numcompro
	AND   DATEPART(YEAR,fecha) = DATEPART(YEAR,@feccompro)


	DELETE FROM conComprobantesENC 
	WHERE tipo   = @tipocompro 
	AND   numero = @numcompro
	AND   DATEPART(YEAR,fecha) = DATEPART(YEAR,@feccompro)

	DELETE FROM conComprobantes 
	WHERE tipo   = @tipocompro 
	AND   numero = @numcompro
	AND   DATEPART(YEAR,fecha) = DATEPART(YEAR,@feccompro)

END ELSE BEGIN
	
	INSERT INTO conComprobantesBorrados
                      (periodo, mes, tipo, numero, clasificacion, fecha, glosa, linea, cuenta, debe, haber, glosa_linea, ctacte, item, tipo_docto, num_docto, saldo_docto, vencimiento, 
                      analisis, uni_negocio, moneda, tasa_cambio, grupo, flujo, sistema, loging, fecing, logmod, fecmod,logineliminacion,fecdel,origeneliminacion)
	SELECT     periodo, mes, tipo, numero, clasificacion, fecha, glosa, linea, cuenta, debe, haber, glosa_linea, ctacte, item, tipo_docto, num_docto, saldo_docto, vencimiento, 
                      analisis, uni_negocio, moneda, tasa_cambio, grupo, flujo, sistema, loging, fecing, logmod, fecmod,@logindel,getdate(),@sistema
	FROM         conComprobantes
	WHERE  numero = @numcompro
	AND   DATEPART(YEAR,fecha) = DATEPART(YEAR,@feccompro)
	
	
	SELECT top (1) @sistema=sistema FROM conComprobantes
	WHERE  numero = @numcompro
	AND   DATEPART(YEAR,fecha) = DATEPART(YEAR,@feccompro)
	
	DELETE FROM conComprobantesENC 
	WHERE  numero = @numcompro
	AND   DATEPART(YEAR,fecha) = DATEPART(YEAR,@feccompro)
	
	DELETE FROM conComprobantes 
	WHERE  numero = @numcompro
	AND   DATEPART(YEAR,fecha) = DATEPART(YEAR,@feccompro)
END

IF @sistema ='FIN' BEGIN 
	UPDATE finCheques SET tipoCompro=0,numCompro=0
	WHERE tipoCompro= @tipocompro AND numCompro=@numcompro
	AND   DATEPART(YEAR,fecCompro) = DATEPART(YEAR,@feccompro)
	
	UPDATE finCartola SET tipoCompro=0,numCompro=0
	WHERE tipoCompro= @tipocompro AND numCompro=@numcompro
	AND   DATEPART(YEAR,fecCompro) = DATEPART(YEAR,@feccompro)

	UPDATE FinPago SET tipo_compro=0,num_compro=0, fec_compro = '01-01-1900'
	WHERE tipo_compro= @tipocompro AND num_compro=@numcompro
	AND   DATEPART(YEAR,fec_compro) = DATEPART(YEAR,@feccompro)
		
	UPDATE cobPagoDocumentos SET tipocontable = 0,comprocontable = 0
	WHERE tipocontable = @tipocompro AND comprocontable = @numcompro
	AND   DATEPART(YEAR,fechacontable) = DATEPART(YEAR,@feccompro)

	UPDATE cobAnticipos SET tipocontable = 0,comprocontable = 0
	WHERE tipocontable = @tipocompro AND comprocontable = @numcompro
	AND   DATEPART(YEAR,fechacontable) = DATEPART(YEAR,@feccompro)
	
	--Inscripciones Socios
	UPDATE cobInscripcionSocios SET contabilizado = 0, tipo = 0, correlativocontab = 0
	WHERE tipo = @tipocompro AND correlativocontab = @numcompro
	AND DATEPART(YEAR,fecha) = DATEPART(YEAR,@feccompro)

END

IF @sistema ='VEN' BEGIN 
	UPDATE     venEncabezado
	SET 	   venEncabezado.tipcom = 0,
			   venEncabezado.numcom = 0,
			   venEncabezado.feccom = '01-01-2000'
	WHERE     venEncabezado.tipcom = @tipocompro
	AND 	  venEncabezado.numcom = @numcompro
	AND		  DATEPART(YEAR,venEncabezado.feccom) = DATEPART(YEAR,@feccompro)


	UPDATE    pvtMovCajaEnc
	SET 	  pvtMovCajaEnc.tipocomprobante = 0,
			  pvtMovCajaEnc.numerocomprobante  = 0,
			  pvtMovCajaEnc.fechacomprobante = '01-01-2000'
	WHERE     pvtMovCajaEnc.tipocomprobante = @tipocompro AND
			  pvtMovCajaEnc.numerocomprobante  =@numcompro
			  AND DATEPART(YEAR,pvtMovCajaEnc.FECHACOMPROBANTE) = DATEPART(YEAR,@feccompro)

   UPDATE pvtPagos
   SET    pvtPagos.numerocomprobante = 0,
		  pvtPagos.tipocomprobante = 0,
		  pvtPagos.fechacomprobante = '01-01-1900'
	WHERE pvtPagos.tipocomprobante = @tipocompro AND
		  pvtPagos.numerocomprobante = @numcompro 		  
		  AND DATEPART(YEAR,pvtPagos.fechacomprobante) = DATEPART(YEAR,@feccompro)


END

IF @sistema ='CYV' OR @sistema ='VYC' BEGIN 
	UPDATE cyvEncabezado 
	SET		tc = 0,
			num_compro = 0
	WHERE   tc = @tipocompro 
	AND		num_compro = @numcompro
	AND     agno_compro = DATEPART(YEAR,@feccompro)
END

IF @sistema ='INV' BEGIN 
	UPDATE InvEncabezado 
	SET		tipcom = 0,
			numcom= 0
	WHERE   tipcom = @tipocompro 
	AND		numcom = @numcompro
	AND     DATEPART(YEAR,feccom) = DATEPART(YEAR,@feccompro)

	UPDATE     venEncabezado
	SET 	   venEncabezado.tipcom = 0,
			   venEncabezado.numcom = 0,
			   venEncabezado.feccom = '01-01-2000'
	WHERE     venEncabezado.tipcom = @tipocompro
	AND 	  venEncabezado.numcom = @numcompro
	AND		  DATEPART(YEAR,venEncabezado.feccom) = DATEPART(YEAR,@feccompro)

	UPDATE     proOPCostosGlobales
	SET 	   proOPCostosGlobales.tipcom = 0,
			   proOPCostosGlobales.numcom = 0,
			   proOPCostosGlobales.feccom = '01-01-2000'
	WHERE     proOPCostosGlobales.tipcom = @tipocompro
	AND 	  proOPCostosGlobales.numcom = @numcompro
	AND		  DATEPART(YEAR,proOPCostosGlobales.feccom) = DATEPART(YEAR,@feccompro)


END


IF @sistema ='HON' BEGIN 
	UPDATE honEncabezado 
	SET		tc = 0,
			num_compro= 0
	WHERE   tc = @tipocompro 
	AND		num_compro = @numcompro
	AND    DATEPART(YEAR,fec_compro) = DATEPART(YEAR,@feccompro) 
END


IF @sistema ='REM' BEGIN 
	UPDATE remCentralizacion 
	SET centralizado=0,fecmod=GETDATE()
	WHERE   tipocompro = @tipocompro 
	AND		numcompro = @numcompro
	AND    DATEPART(YEAR,fechacompro) = DATEPART(YEAR,@feccompro) 
END

IF @sistema ='REN' BEGIN 
	UPDATE rendEncabezado
	SET		tipcom = 0,
			numcom = 0,
			contabilizado = 0
	WHERE   tipcom = @tipocompro 
	AND		numcom = @numcompro
	AND    DATEPART(YEAR,feccom) = DATEPART(YEAR,@feccompro) 
END

IF @sistema ='PRO' BEGIN 
	UPDATE proOP
	SET		tipcom = 0,
			numcom= 0
	WHERE   tipcom = @tipocompro 
	AND		numcom = @numcompro
	AND     DATEPART(YEAR,feccom) = DATEPART(YEAR,@feccompro)
    UPDATE proLiberacion
	SET		tipcom = 0,
			numcom= 0
	WHERE   tipcom = @tipocompro 
	AND		numcom = @numcompro
	AND     DATEPART(YEAR,feccom) = DATEPART(YEAR,@feccompro)

	UPDATE proLiberacionDinamica
	SET		tipcom = 0,
			numcom= 0
	WHERE   tipcom = @tipocompro 
	AND		numcom = @numcompro
	AND     DATEPART(YEAR,feccom) = DATEPART(YEAR,@feccompro)


END


IF @sistema ='SER' BEGIN 
	UPDATE serOT
	SET		tipcom = 0,
			numcom = 0,
			contabilizado = 0
	WHERE   tipcom = @tipocompro 
	AND		numcom = @numcompro
	
		UPDATE serOTTareas
	SET		tipcom = 0,
			numcom = 0,
			contabilizado = 0
	WHERE   tipcom = @tipocompro 
	AND		numcom = @numcompro

END;

ENABLE TRIGGER tr_saldoDocto_Update ON venEncabezado;