
Create PROCEDURE [dbo].[sp_Api2_conComprobanteGuardarDetalle]
--@Type VARCHAR(15),
--@conComprobantesPaso dbo.TipoComprobante READONLY,
--@confirmar INT = 0


@periodo	INT,
@tipo		INT,
@numero		INT,
@linea		INT,
@mes		INT,
@clasificacion	INT,
@fecha		DATETIME,
@glosa		VARCHAR(100),
@cuenta		INT,
@debe		DECIMAL(18,4),
@haber		DECIMAL(18,4),
@glosalinea	VARCHAR(100),
@ctacte		INT = 0,
@item		INT = 0,
@tipodocto	INT = 0,
@numdocto	numeric,
@vencimiento	DATETIME,
@analisis	INT = 0,
@unegocio	INT  = 0,
@moneda		INT = 0,
@tasacambio	DECIMAL(18,4) = 0,
@grupo		INT = 0,
@flujo		INT = 0,
@sistema	VARCHAR(10),
@loging		VARCHAR(30),
@fecing		DATETIME,
@nuevo		INT,
@totaladicional	DECIMAL(18,4) = 0



AS


--DECLARE  @periodo int=0, @tipo int,@numero int, @fecha date, @LINEAS INT

	--INSERT
	IF @nuevo = 1
		BEGIN
		INSERT INTO conComprobantes
                         (periodo, tipo, numero, linea, mes, clasificacion, fecha, glosa, 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,total_adicional)

		VALUES	(@periodo, @tipo, @numero, @linea, @mes, @clasificacion, @fecha, @glosa, @cuenta, @debe, @haber, @glosalinea, @ctacte, @item, @tipodocto, @numdocto, 0, @vencimiento,
					@analisis, @unegocio, @moneda, @tasacambio, @grupo, @flujo, @sistema, @loging, @fecing, @loging, @fecing, @totaladicional)

	END


	--UPDATE
	IF @nuevo = 0
		BEGIN
		UPDATE conComprobantes
   SET   
	    clasificacion = @clasificacion,
		fecha =  @fecha,
		mes = @mes ,
		glosa  =  @glosa,
		linea =  @linea,
		cuenta =  @cuenta,
		debe =  @debe,
		haber =  @haber,
		glosa_linea =  @glosalinea,
		ctacte =  @ctacte,
		item =  @item,
		tipo_docto = @tipodocto,
		num_docto = @numdocto,
		vencimiento =  @vencimiento,
		analisis =  @analisis,
		uni_negocio =  @unegocio,
		moneda =  @moneda,
		tasa_cambio =  @tasacambio,
		grupo = @grupo,
		flujo=@flujo,
		logmod =  @loging,
		fecmod = getdate(),
		sistema  = @sistema,
		total_adicional = @totaladicional
	WHERE periodo = @periodo
	AND	  tipo = @tipo
	AND   numero = @numero
	AND   linea = @linea

	END


--    IF(@Type='Obtener')
--	 BEGIN
--	        SELECT periodo, tipo, numero, linea, mes, clasificacion, fecha, glosa, 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 FROM conComprobantes where 1 = 2
      
--	 RETURN 0 
--	END
      
	  
          

	
--DECLARE  @periodo int=0, @tipo int,@numero int, @fecha date, @LINEAS INT
  

--SELECT top 1 @periodo=periodo,@tipo=tipo,@numero= numero
--FROM         @conComprobantesPaso




--INSERT INTO conComprobantes
--                         (periodo, tipo, numero, linea, mes, clasificacion, fecha, glosa, 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)

--SELECT     periodo, tipo, numero, linea, mes, clasificacion, fecha, glosa, 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
--FROM       @conComprobantesPaso PASO WHERE 
--NOT EXISTS( SELECT periodo FROM conComprobantes ORI WHERE ORI.periodo=PASO.PERIODO AND ORI.tipo=PASO.tipo AND ORI.numero=PASO.numero AND ORI.linea=PASO.linea)



-- UPDATE conComprobantes
--   SET   
--	    clasificacion = paso.clasificacion,
--		fecha =  paso.fecha,
--		mes = MONTH(paso.fecha) ,
--		glosa  =  paso.glosa,
--		linea =  paso.linea,
--		cuenta =  paso.cuenta,
--		debe =  paso.debe,
--		haber =  paso.haber,
--		glosa_linea =  paso.glosa_linea,
--		ctacte =  paso.ctacte,
--		item =  paso.item,
--		tipo_docto =  paso.tipo_docto,
--		num_docto =  paso.num_docto,
--		vencimiento =  paso.vencimiento,
--		analisis =  paso.analisis,
--		uni_negocio =  paso.uni_negocio,
--		moneda =  paso.moneda,
--		tasa_cambio =  paso.tasa_cambio,
--		grupo = paso.grupo,
--		flujo=paso.flujo,
--		logmod =  paso.logmod,
--		fecmod = getdate(),
--		sistema  = paso.sistema
--FROM            conComprobantes AS ori INNER JOIN
--                         @conComprobantesPaso AS paso ON ori.periodo = paso.periodo AND ori.tipo = paso.tipo AND ori.numero = paso.numero AND ori.linea = paso.linea


--DELETE conComprobantes WHERE  periodo=@periodo AND tipo=@tipo AND numero=@numero
--and linea > (
--SELECT max(linea)FROM @conComprobantesPaso 
--GROUP BY numero,tipo,periodo )





 


 --VIEJO
 
            --DELETE FROM  conComprobantesPaso WHERE ID IN(SELECT ID FROM @Details WHERE Operation=2)
            
            ----For updating the details in the table
            --UPDATE e SET e.Name=d.Name, e.Address=d.Address FROM  conComprobantesPaso e, @Details d 
            --WHERE d.ID=e.ID and d.Operation=1
            
            ----For inserting the new records in the table
            --INSERT INTO  conComprobantesPaso(ID, Name, Address) 
            --SELECT ID, Name, Address FROM @Details WHERE Operation=0;