ALTER PROC [dbo].[sp_finGrillaAnticipos]
(@rut AS          INT = 0, 
 @fechaIni AS     VARCHAR(10), 
 @fechaFin AS     VARCHAR(10), 
 @estado AS       INT, 
 @tipoAnticipo AS INT,
 @codSuc AS INT = 0,
 @codVen AS INT = 0,
 @codCob AS INT = 0,
 @formapago AS INT = 0,
 @nref AS BIGINT = 0
)
AS

     /***  (ANTICIPOS)  ***/

     SELECT 
			A.id_anticipo AS id,
            A.rut, 
            CTA.digcte AS dv,
            RTRIM(A.rut) + '-' + RTRIM(CTA.digcte) AS rut_dv, 
            CTA.nomcte AS nombre_cliente,
			A.tipo,
            CASE A.tipo
                WHEN 1
                THEN 'ANTICIPO'
                WHEN 2
                THEN 'EXCEDENTE'
                ELSE ''
            END AS tipo_anticipo,
			A.fechamov AS fecha,
            A.vencimiento AS vencimiento,
            A.codpag AS codpago, 
            FP.nompag AS forma_pago,
			A.numero,
            A.fechapago,
            CASE A.tipocontable
                WHEN 1
                THEN 'I'
                WHEN 2
                THEN 'E'
                WHEN 3
                THEN 'T'
                ELSE ''
            END + '/' + RTRIM(A.comprocontable) AS tc, 
            A.comprocontable, 
            --A.tipocontable, 
			ISNULL(cobCobradores.nomcob,'') AS nomcob,
			A.comentario AS glosa,
			A.tipoDocto,
			DOC.Desdocsii AS NomTipoDocto,
			A.numDocto,
			CASE A.tipoDocto
			WHEN 802 THEN ISNULL((SELECT precio FROM cotNotaPedido WHERE numdoc = A.numDocto),0)
			ELSE 0
			END AS monto_docto,
            A.monto AS monto_anticipo
     INTO #ANTICIPOS

     FROM cobAnticipos A
          LEFT OUTER JOIN conCtacte CTA ON A.rut = CTA.rutcte 
		  LEFT OUTER JOIN cobCobradores ON cobCobradores.codcob = CTA.cobrador
          LEFT OUTER JOIN venCondicionPago FP ON A.codpag = FP.codpag
		  INNER JOIN venDocumentosSii DOC ON A.tipoDocto = DOC.codsii
	WHERE (cobCobradores.codcob = @codCob OR @codCob = 0)
		AND (FP.codpag = @formapago OR @formapago = -1)
		AND (A.rut = @rut or @rut = 0)
		AND (A.numDocto = @nref or @nref = 0)

     IF @estado = 0 -- === TODOS
         BEGIN
             SELECT *
             FROM #ANTICIPOS
             WHERE(#ANTICIPOS.fecha BETWEEN @fechaIni AND @fechaFin)
                  --AND (#ANTICIPOS.comprocontable = @estado
                  --     OR @estado = 0)
                  AND (#ANTICIPOS.tipo = @tipoAnticipo
                       OR @tipoAnticipo = 0)
                  --AND (#PAGODOCTOS.tipo = @tipoAnticipo
                  --     OR @tipoAnticipo = 0);
     END;
     IF @estado = 1 -- === NO CONTABILIZADOS
         BEGIN
             SELECT *
             FROM #ANTICIPOS
             WHERE(#ANTICIPOS.fecha BETWEEN @fechaIni AND @fechaFin)
			      AND (#ANTICIPOS.comprocontable = 0)
                  AND (#ANTICIPOS.tipo = @tipoAnticipo
                       OR @tipoAnticipo = 0)
                  --AND (#PAGODOCTOS.tipo = @tipoAnticipo
                  --     OR @tipoAnticipo = 0)
				  --AND (#PAGODOCTOS.ImportacionCartola = 'NO');
     END;
     IF @estado = 2 -- === CONTABILIZADOS
         BEGIN
             SELECT *
             FROM #ANTICIPOS
             WHERE(#ANTICIPOS.fecha BETWEEN @fechaIni AND @fechaFin)
				  AND (#ANTICIPOS.comprocontable > 0)
                  AND (#ANTICIPOS.tipo = @tipoAnticipo
                       OR @tipoAnticipo = 0)
                  --AND (#PAGODOCTOS.tipo = @tipoAnticipo
                  --     OR @tipoAnticipo = 0)
     END;
	 IF @estado = 3 -- === TODOS EN CARTOLA
         BEGIN
             SELECT *
             FROM #ANTICIPOS
             WHERE(#ANTICIPOS.fecha BETWEEN @fechaIni AND @fechaFin)
                  AND (#ANTICIPOS.comprocontable = @estado
                       OR @estado = 0)
                  AND (#ANTICIPOS.tipo = @tipoAnticipo
                       OR @tipoAnticipo = 0)
                  --AND (#PAGODOCTOS.tipo = @tipoAnticipo
                  --     OR @tipoAnticipo = 0)
				  --AND (#PAGODOCTOS.ImportacionCartola = 'SI');
     END;