ALTER  PROCEDURE [dbo].[sp_VenPlantillaDocumentosWeb] 
(
    @codsii int,
    @numdoc bigint
)
AS

DECLARE @grudoc INT 
DECLARE @coddoc INT

SELECT @grudoc = grudoc, @coddoc = coddoc 
FROM venEncabezado 
WHERE codsii = @codsii AND numinv = @numdoc

DECLARE @CTACTE INT
SELECT @CTACTE = venEncabezado.rutcte 
FROM venEncabezado 
WHERE venEncabezado.grudoc = @grudoc
  AND venEncabezado.coddoc = @coddoc
  AND venEncabezado.codsii = @codsii
  AND venEncabezado.numinv = @numdoc

IF @codsii = 46
BEGIN	
    SELECT      
          cyvEncabezado.tipo_documento AS coddoc
        , cyvEncabezado.tipo_documento AS codsii
        , cyvEncabezado.num_documento  AS numinv
        , CONVERT(DATETIME, CONVERT(CHAR(8), cyvEncabezado.fecha_ing, 112) + ' ' + CONVERT(CHAR(14), cyvEncabezado.fecha_ing, 114)) AS fecdoc
        , cyvEncabezado.fecha_vto      AS fecven
        , cyvEncabezado.rut            AS rutcte
        , cyvEncabezado.doc_ref        AS tipref1
        , cyvEncabezado.num_doc_ref    AS docref1
        , uninegcodcen.descripcion     AS uninegdesc
        , (cyvEncabezado.monto_afecto + cyvEncabezado.monto_exento) AS subtotal
        , DBO.MONTOTEXTO((cyvEncabezado.monto_afecto + cyvEncabezado.monto_exento)) AS subtotaltexto
        , cyvEncabezado.monto_exento   AS exento
        , 0                             AS descuentos 
        , cyvEncabezado.iva
        , cyvEncabezado.monto_total    AS total
        , DBO.MONTOTEXTO(cyvEncabezado.monto_total) AS totaltexto 
        , REPLACE(ISNULL(cyvEncabezado.glosa, ''), '^', CHAR(10)+CHAR(13)) AS coment
        , 1 AS codsuc
        , 1 AS codloc
        , conSucursales.dirsuc         AS dirdes
        , conSucursales.comsuc         AS comdes
        , conSucursales.ciudad         AS ciudes
        , conSucursales.regsuc         AS regdes
        , cyvEncabezado.url
        , 15 AS tipret
        , 19 AS ivaret
        , cyvEncabezado.loging
        , cyvEncabezado.fecing
        , cyvEncabezado.logmod
        , cyvEncabezado.fecmod
        , venDTE.pdf417
        , cyvEncabezado.urlAwsPdf417
        , cyvEncabezado.urlAwsXml
        , conSucursales.ciudad         AS ciudadReceptor
        , conSucursales.dirsuc         AS dirSucReceptor
        , priComuna.descripcion         AS comunaReceptor
        , priSucursales.ciudad          AS ciudadEmisor
        , priSucursales.dirsuc          AS dirSucEmisor
        , priComuna2.descripcion        AS comunaEmisor 
        , priSucursales.telefono        AS telefonoSucEmisor
        , conContactos.nomcon           AS nomContactoEmisor
        , ISNULL(cobPag1.nompag, '')    AS FormaPago1
        , ISNULL(cobPag2.nompag, '')    AS FormaPago2
    INTO #ENCFC
    FROM cyvEncabezado 
    INNER JOIN venDocumentos 
        ON cyvEncabezado.tipo_documento = venDocumentos.coddoc 
       AND cyvEncabezado.tipo_documento = venDocumentos.codsii 
    LEFT OUTER JOIN venDTE 
        ON cyvEncabezado.tipo_documento = venDTE.codsii 
       AND cyvEncabezado.num_documento = venDTE.numinv  
    LEFT JOIN conSucursales 
        ON 1 = conSucursales.codsuc 
       AND cyvEncabezado.rut = conSucursales.rutcte 
    LEFT JOIN priComuna 
        ON conSucursales.comsuc = priComuna.idComuna 
    LEFT JOIN priRegion 
        ON priRegion.idRegion = conSucursales.regsuc 
    LEFT JOIN priSucursales 
        ON 1 = priSucursales.codsuc 
    LEFT JOIN priComuna AS priComuna2 
        ON priSucursales.comsuc = priComuna2.idComuna 
    LEFT JOIN conContactos 
        ON conContactos.codsuc = 1 
       AND conContactos.codcon = 1 
       AND conContactos.rutcte = cyvEncabezado.rut 
    LEFT JOIN conUnidadNegocio uninegcodcen 
        ON uninegcodcen.idUniNeg = cyvEncabezado.unidad_negocio 
    LEFT JOIN pvtPagos pvtPagos1 
        ON pvtPagos1.tipdoc = cyvEncabezado.tipo_documento 
       AND pvtPagos1.numdoc = cyvEncabezado.num_documento 
       AND pvtPagos1.linea = 1 
    LEFT JOIN cobFormasPago cobPag1 
        ON pvtPagos1.tipopago = cobpag1.codpag 
    LEFT JOIN pvtPagos pvtPagos2 
        ON pvtPagos2.tipdoc = cyvEncabezado.tipo_documento 
       AND pvtPagos2.numdoc = cyvEncabezado.num_documento 
       AND pvtPagos2.linea = 2 
    LEFT JOIN cobFormasPago cobPag2 
        ON pvtPagos2.tipopago = cobPag2.codpag 
    WHERE cyvEncabezado.tipo_documento = @codsii
      AND cyvEncabezado.num_documento = @numdoc;

    SELECT * FROM #ENCFC;

    SELECT        D.numlin, D.codbus, A.codbar, D.nomart, U.abruni, D.cantidad, D.canalt, D.preuni, D.preuniadi, D.pretot, D.pretotadi, D.fecent,
                  REPLACE(ISNULL(D.glolin, ''), '^', CHAR(10)+CHAR(13)) AS glolin, 
                  COALESCE (A.nomart, '') AS nomart, 
                  COALESCE (A.nomart, '') AS nomprod, ' ' AS checkglolin, 
                  '0' AS preunipar, '0' AS pretotpar, D.porcdescuento, D.descuento, COALESCE (A.nomart2, '') AS nomart2, 
                  D.porcadicional, D.adicional, D.codcen, D.codana, D.tip_impadi, 0 AS nueva, D.preunibruto, COALESCE (D.np, 0) AS np, 
                  D.saldoGral, D.stockGral, D.costo, D.fechacosto, D.stockBodega, D.costobodega, (D.preunibruto * d.cantidad) AS preunibrutotal,
                  a.ubiinv1, a.ubiinv2, a.ubiinv3, INVFAMILIA.codfam, nomfam, invSUBFAMILIA.codsub, nomsub, A.codalt, A.medalt, undAlt.abruni AS abrunialt, D.descuentoNeto  
    FROM cyvDetalleArticulo AS D 
    LEFT OUTER JOIN dbo.invFamilia 
      INNER JOIN dbo.invArticulos AS A 
        INNER JOIN dbo.invSubFamilia 
          ON A.codfam = dbo.invSubFamilia.codfam 
         AND A.codsub = dbo.invSubFamilia.codsub 
        ON dbo.invFamilia.codfam = A.codfam 
      ON D.codbus = A.codbus 
     AND D.codbus = A.codbus 
    LEFT OUTER JOIN dbo.invUnidadMedida AS U 
      ON D.coduni = U.coduni 
    LEFT OUTER JOIN dbo.invUnidadMedida AS undAlt 
      ON undAlt.coduni = A.medalt
    WHERE (D.coddoc = @coddoc) 
      AND (D.numinv = @numdoc);

    SELECT        conCtacte.rutcte, conCtacte.codcte, conCtacte.digcte, conCtacte.nomcte, conCtacte.dircte, conCtacte.comcte, conCtacte.ciucte, conCtacte.regcte, conCtacte.foncte1, 
                  conCtacte.foncte2, conCtacte.foncte3, conCtacte.faxcte1, conCtacte.faxcte2, conCtacte.emacte, conCtacte.gircte, conCtacte.tipo, conCtacte.codven, conCtacte.codlis, 
                  conCtacte.codlisp, conCtacte.codcen, conCtacte.codpag, conCtacte.plapag, conCtacte.plapagProv, conCtacte.maxcred, conCtacte.uticred, conCtacte.discred, 
                  conCtacte.status, conCtacte.motivo, conCtacte.fecsta, conCtacte.contrato, conCtacte.coment, conCtacte.bancopago, conCtacte.cuentapago, conCtacte.ingcte, 
                  conCtacte.cobrador, conCtacte.grupo1, conCtacte.grupo2, conCtacte.grupo3, conCtacte.medpag, conCtacte.cuentaclientes, conCtacte.hcpago, conCtacte.hrcheque, 
                  conCtacte.ciudad, conCtacte.ctacontable, conCtacte.fantasia, conCtacte.retenedor, conCtacte.pagocliente, conCtacte.tipocliente, conCtacte.loging, conCtacte.fecing, 
                  conCtacte.logmod, conCtacte.fecmod, conCtacte.logmodestado, conCtacte.fecmodestado, priComuna.descripcion,
                  conCtacte.pais, priPaises.descripcion AS paisdesc, priPaises.iso, priPaises.orden
    FROM conCtacte 
    INNER JOIN priComuna 
      ON conCtacte.comcte = priComuna.idComuna 
    LEFT OUTER JOIN priPaises 
      ON conCtacte.pais = priPaises.id
    WHERE conCtacte.rutcte = @CTACTE;

    --*******************************************************************************************

    SELECT  TIPREF1 AS codsiiref, docref1 AS numinvref
    INTO #DOCUMENTOSREFERENCIASFC
    FROM #ENCFC;

    SELECT  codsiiref, 
            venDocumentosSii.Desdocsii AS alias_doc,
            numinvref
    INTO #REFERENCIASFC
    FROM #DOCUMENTOSREFERENCIASFC 
    INNER JOIN venDocumentosSii 
      ON #DOCUMENTOSREFERENCIASFC.codsiiref = venDocumentosSii.codsii
    WHERE codsiiref > 0

    UNION ALL

    SELECT  VenReferencias.codsiiref, 
            venDocumentosSii.Desdocsii AS alias_doc, 
            VenReferencias.numinvref
    FROM VenReferencias 
    INNER JOIN venDocumentosSii 
      ON VenReferencias.codsiiref = venDocumentosSII.codsii
    WHERE VenReferencias.codsii = @codsii 
      AND VenReferencias.numinv = @numdoc;

    SELECT DISTINCT codsiiref, UPPER(alias_doc) AS alias_doc, numinvref 
    FROM #REFERENCIASFC;	
END
IF @codsii <> 46
BEGIN
    SELECT      
          venEncabezado.grudoc
        , venEncabezado.coddoc
        , venEncabezado.codsii
        , venEncabezado.numinv
        , venEncabezado.numleg 
        , CONVERT(DATETIME, CONVERT(CHAR(8), venEncabezado.fecdoc, 112) + ' ' + CONVERT(CHAR(14), venEncabezado.hordoc, 114)) AS fecdoc
        , venEncabezado.fecven 
        , venEncabezado.hordoc
        , venEncabezado.rutcte
        , venEncabezado.tipref1
        , venEncabezado.docref1
        , venEncabezado.fecref1
        , venEncabezado.tipref2 
        , venEncabezado.docref2
        , venEncabezado.fecref2
        , venEncabezado.tipref3
        , venEncabezado.docref3
        , venEncabezado.fecref3
        , venEncabezado.codmon 
        , venEncabezado.monpar
        , venEncabezado.codbod
        , venEncabezado.boddes
        , venEncabezado.codcen
        , uninegcodcen.descripcion AS uninegdesc
        , venEncabezado.subtotal
        , DBO.MONTOTEXTO(venEncabezado.subtotal) AS subtotaltexto
        , venEncabezado.exento 
        , venEncabezado.descuentos
        , venEncabezado.recargos
        , venEncabezado.neto
        , venEncabezado.iva
        , venEncabezado.poriva 
        , venEncabezado.total
        , DBO.MONTOTEXTO(venEncabezado.total) AS totaltexto
        , venEncabezado.subtotaladi
        , venEncabezado.exentoadi 
        , venEncabezado.descuentosadi
        , venEncabezado.recargosadi
        , venEncabezado.netoadi 
        , venEncabezado.ivaadi
        , venEncabezado.totaladi
        , venEncabezado.codpag
        , venCondicionPago.nompag 
        , venEncabezado.plapag 
        , REPLACE(ISNULL(venEncabezado.coment, ''), '^', CHAR(10)+CHAR(13)) AS coment
        , venEncabezado.flgimp 
        , venEncabezado.tc
        , venEncabezado.tipcom
        , venEncabezado.numcom
        , venEncabezado.feccom
        , venEncabezado.glosa
        , venEncabezado.gloser 
        , venEncabezado.estado
        , venEncabezado.codlis
        , venEncabezado.codsuc
        , venEncabezado.codcon
        , venEncabezado.codloc
        , venEncabezado.codven 
        , venEncabezado.pattra
        , venEncabezado.ruttra
        , venEncabezado.digtra
        , venEncabezado.nomtra
        , venEncabezado.dirdes
        , venEncabezado.comdes
        , venEncabezado.ciudes
        , venEncabezado.regdes 
        , CASE 
            WHEN venEncabezado.Codsii = 50 OR venEncabezado.Codsii = 52 THEN 
                CASE venEncabezado.motivo 
                    WHEN 1 THEN 'OPERACIÓN CONSTITUYE VENTA.'
                    WHEN 2 THEN 'VENTAS POR EFECTUAR (NO VENTA).'
                    WHEN 3 THEN 'CONSIGNACIONES (NO VENTA).'
                    WHEN 4 THEN 'ENTREGA GRATUITA (NO VENTA).'
                    WHEN 5 THEN 'TRASLADOS INTERNOS (NO VENTA).'
                    WHEN 6 THEN 'OTROS TRASLADOS (NO VENTA).'
                    WHEN 7 THEN 'GUÍA DE DEVOLUCIÓN (NO VENTA).'
                    WHEN 8 THEN 'TRASLADO PARA EXPORTACIÓN (NO VENTA).'
                    WHEN 9 THEN 'VENTA PARA EXPORTACIÓN (NO VENTA).'
                    ELSE ''
                END 
            ELSE
                CASE venEncabezado.motivo 
                    WHEN 1 THEN 'ANULA DOCUMENTO.'
                    WHEN 2 THEN 'CORRIGE TEXTO.'
                    WHEN 3 THEN 'CORRIGE MONTOS-PRECIO.'
                    WHEN 4 THEN 'CORRIGE MONTOS-CANTIDAD.'
                    ELSE ''
                END
          END AS motivoDescripcion,
        venEncabezado.motivo
        , venEncabezado.codana
        , conAnalisis.descripcion AS codAnaDesc
        , venEncabezado.numinvfin
        , venEncabezado.id
        , venEncabezado.[timestamp] 
        , venEncabezado.url
        , venEncabezado.tipref4
        , venEncabezado.docref4
        , venEncabezado.fecref4
        , venEncabezado.tipref5
        , venEncabezado.docref5 
        , venEncabezado.fecref5
        , venEncabezado.tip_con
        , venEncabezado.doc_con
        , venEncabezado.totimpadi
        , venEncabezado.desdeguia
        , venEncabezado.tipret 
        , venEncabezado.ivaret
        , venEncabezado.seguro
        , venEncabezado.caja
        , venEncabezado.cajero
        , venEncabezado.pordescuento
        , venEncabezado.origen 
        , venEncabezado.fechacosto
        , venEncabezado.loging
        , venEncabezado.fecing
        , venEncabezado.logmod
        , venEncabezado.fecmod
        , venDTE.pdf417

        -- >>> AGREGADO: URLs AWS <<<
        , venEncabezado.urlAwsPdf417
        , venEncabezado.urlAwsXml

        , conSucursales.ciudad          AS ciudadReceptor
        , conSucursales.dirsuc          AS dirSucReceptor
        , priComuna1.descripcion         AS comunaReceptor
        , priSucursales.ciudad           AS ciudadEmisor
        , priSucursales.dirsuc           AS dirSucEmisor
        , priComuna2.descripcion         AS comunaEmisor 
        , priSucursales.telefono         AS telefonoSucEmisor
        , conContactos.nomcon            AS nomContactoEmisor
        , venVendedores.nomven           AS nombreVendedor
        , ISNULL(cobPag1.nompag, '')     AS FormaPago1
        , ISNULL(cobPag2.nompag, '')     AS FormaPago2
		, priSucursales.nomsuc as nombreSucursal
		,ISNULL((SELECT nomven FROM venVendedores WHERE venVendedores.codven = NP.vendedor), '') AS vendedorNP
    INTO #ENC

    FROM venEncabezado 
    INNER JOIN venDocumentos 
        ON venEncabezado.coddoc = venDocumentos.coddoc 
       AND venEncabezado.grudoc = venDocumentos.grudoc 
       AND venEncabezado.codsii = venDocumentos.codsii 
    LEFT OUTER JOIN venCondicionPago 
        ON venEncabezado.codpag = venCondicionPago.codpag 
    LEFT JOIN venDTE 
        ON venEncabezado.codsii = venDTE.codsii 
       AND venEncabezado.numinv = venDTE.numinv  
    LEFT JOIN conSucursales 
        ON venEncabezado.codsuc = conSucursales.codsuc 
       AND venEncabezado.rutcte  = conSucursales.rutcte 
    LEFT JOIN priComuna  AS priComuna1 
        ON conSucursales.comsuc = priComuna1.idComuna 
    LEFT JOIN priSucursales 
        ON venEncabezado.codloc = priSucursales.codsuc 
    LEFT JOIN priComuna AS priComuna2 
        ON priSucursales.comsuc = priComuna2.idComuna 
    LEFT JOIN conContactos 
        ON conContactos.codsuc = venEncabezado.codsuc 
       AND conContactos.codcon = venEncabezado.codcon 
       AND conContactos.rutcte = venEncabezado.rutcte 
    LEFT JOIN venVendedores 
        ON venEncabezado.codven = venVendedores.codven 
    LEFT JOIN conUnidadNegocio uninegcodcen 
        ON uninegcodcen.idUniNeg = venEncabezado.codcen 
    LEFT JOIN pvtPagos pvtPagos1 
        ON pvtPagos1.tipdoc = venEncabezado.codsii 
       AND pvtPagos1.numdoc = venEncabezado.numinv 
       AND pvtPagos1.linea = 1 
    LEFT JOIN cobFormasPago cobPag1 
        ON pvtPagos1.tipopago = cobpag1.codpag 
    LEFT JOIN pvtPagos pvtPagos2 
        ON pvtPagos2.tipdoc = venEncabezado.codsii 
       AND pvtPagos2.numdoc = venEncabezado.numinv 
       AND pvtPagos2.linea = 2 
    LEFT JOIN cobFormasPago cobPag2 
        ON pvtPagos2.tipopago = cobPag2.codpag 
    LEFT JOIN conAnalisis 
        ON venEncabezado.codana = conAnalisis.codigoAnalisis 
       AND conAnalisis.tipoAnalisis = 1
	LEFT JOIN cotNotaPedido NP ON NP.coddoc = 2
		AND (
				(venEncabezado.docref1 = CONVERT(VARCHAR(50), NP.numdoc) AND venEncabezado.tipref1 = 802) OR
				(venEncabezado.docref2 = CONVERT(VARCHAR(50), NP.numdoc) AND venEncabezado.tipref2 = 802) OR
				(venEncabezado.docref3 = CONVERT(VARCHAR(50), NP.numdoc) AND venEncabezado.tipref3 = 802) OR
				(venEncabezado.docref4 = CONVERT(VARCHAR(50), NP.numdoc) AND venEncabezado.tipref4 = 802) OR
				(venEncabezado.docref5 = CONVERT(VARCHAR(50), NP.numdoc) AND venEncabezado.tipref5 = 802)
			)
    WHERE venEncabezado.grudoc = @grudoc
      AND venEncabezado.coddoc = @coddoc
      AND venEncabezado.codsii = @codsii
      AND venEncabezado.numinv = @numdoc;

    SELECT * FROM #ENC;

    SELECT        D.numlin, D.codbus, A.codbar, D.nomart, U.abruni, D.cantidad, D.canalt, D.preuni, D.preuniadi, D.pretot, D.pretotadi, D.fecent,
                  REPLACE(ISNULL(D.glolin, ''), '^', CHAR(10)+CHAR(13)) AS glolin, 
                  COALESCE (A.nomart, '') AS nomart, 
                  COALESCE (A.nomart, '') AS nomprod, ' ' AS checkglolin, 
                  '0' AS preunipar, '0' AS pretotpar, D.porcdescuento, D.descuento, COALESCE (A.nomart2, '') AS nomart2, 
                  D.porcadicional, D.adicional, D.codcen, D.codana, D.tip_impadi, 0 AS nueva, D.preunibruto, COALESCE (D.np, 0) AS np, 
                  D.saldoGral, D.stockGral, D.costo, D.fechacosto, D.stockBodega, D.costobodega, (D.preunibruto * d.cantidad) AS preunibrutotal,
                  a.ubiinv1, a.ubiinv2, a.ubiinv3, INVFAMILIA.codfam, nomfam, invSUBFAMILIA.codsub, nomsub, A.codalt, A.medalt, undAlt.abruni AS abrunialt, D.descuentoNeto, D.codbod
				  ,A.peso
				  ,(A.peso * D.cantidad) AS pesoLineal
				  ,(SELECT 
						TOP 1 descripcion 
					FROM invUbicaciones U 
					WHERE U.codbus = D.codbus AND D.codbod = U.codbod 
					ORDER BY U.codigo ASC) AS ubicacion
				  ,(D.cantidad * D.preunibruto) - (D.descuentoneto * 1.19) AS totalBruto
				  ,(D.descuentoneto * 1.19) AS descuentoBruto
    FROM dbo.venDetalle AS D 
    LEFT OUTER JOIN dbo.invFamilia 
      INNER JOIN dbo.invArticulos AS A 
        INNER JOIN dbo.invSubFamilia 
          ON A.codfam = dbo.invSubFamilia.codfam 
         AND A.codsub = dbo.invSubFamilia.codsub 
        ON dbo.invFamilia.codfam = A.codfam 
      ON D.codbus = A.codbus 
     AND D.codbus = A.codbus 
    LEFT OUTER JOIN dbo.invUnidadMedida AS U 
      ON D.coduni = U.coduni 
    LEFT OUTER JOIN dbo.invUnidadMedida AS undAlt 
      ON undAlt.coduni = A.medalt
    WHERE (D.coddoc = @coddoc) 
      AND (D.grudoc = @grudoc) 
      AND (D.numinv = @numdoc);

    SELECT        conCtacte.rutcte, conCtacte.codcte, conCtacte.digcte, conCtacte.nomcte, conCtacte.dircte, conCtacte.comcte, conCtacte.ciucte, conCtacte.regcte, conCtacte.foncte1, 
                  conCtacte.foncte2, conCtacte.foncte3, conCtacte.faxcte1, conCtacte.faxcte2, conCtacte.emacte, conCtacte.gircte, conCtacte.tipo, conCtacte.codven, conCtacte.codlis, 
                  conCtacte.codlisp, conCtacte.codcen, conCtacte.codpag, conCtacte.plapag, conCtacte.plapagProv, conCtacte.maxcred, conCtacte.uticred, conCtacte.discred, 
                  conCtacte.status, conCtacte.motivo, conCtacte.fecsta, conCtacte.contrato, conCtacte.coment, conCtacte.bancopago, conCtacte.cuentapago, conCtacte.ingcte, 
                  conCtacte.cobrador, conCtacte.grupo1, conCtacte.grupo2, conCtacte.grupo3, conCtacte.medpag, conCtacte.cuentaclientes, conCtacte.hcpago, conCtacte.hrcheque, 
                  conCtacte.ciudad, conCtacte.ctacontable, conCtacte.fantasia, conCtacte.retenedor, conCtacte.pagocliente, conCtacte.tipocliente, conCtacte.loging, conCtacte.fecing, 
                  conCtacte.logmod, conCtacte.fecmod, conCtacte.logmodestado, conCtacte.fecmodestado, priComuna.descripcion,
                  conCtacte.pais, priPaises.descripcion AS paisdesc,  priPaises.iso, priPaises.orden
    FROM conCtacte 
    INNER JOIN priComuna 
      ON conCtacte.comcte = priComuna.idComuna 
    LEFT OUTER JOIN priPaises 
      ON conCtacte.pais = priPaises.id
    WHERE conCtacte.rutcte = @CTACTE;

    --*******************************************************************************************

    SELECT  TIPREF1 AS codsiiref, docref1 AS numinvref, fecref1 AS fecharef
    INTO #DOCUMENTOSREFERENCIAS
    FROM #enc
    UNION ALL
    SELECT TIPREF2, docref2, fecref2 FROM #enc
    UNION ALL
    SELECT TIPREF3, docref3, fecref3 FROM #enc
    UNION ALL
    SELECT TIPREF4, docref4, fecref4 FROM #enc
    UNION ALL
    SELECT TIPREF5, docref5, fecref5 FROM #enc;

    SELECT  codsiiref, 
            venDocumentosSii.Desdocsii AS alias_doc,
            numinvref,
            fecharef
    INTO #REFERENCIAS
    FROM #DOCUMENTOSREFERENCIAS 
    INNER JOIN venDocumentosSii 
      ON #DOCUMENTOSREFERENCIAS.codsiiref = venDocumentosSii.codsii
    WHERE codsiiref > 0

    UNION ALL

    SELECT  VenReferencias.codsiiref, 
            venDocumentosSii.Desdocsii AS alias_doc, 
            VenReferencias.numinvref, 
            VenReferencias.fecharef
    FROM VenReferencias 
    INNER JOIN venDocumentosSii 
      ON VenReferencias.codsiiref = venDocumentosSII.codsii
    WHERE VenReferencias.codsii = @codsii 
      AND VenReferencias.numinv = @numdoc;

    SELECT DISTINCT codsiiref, UPPER(alias_doc) AS alias_doc, numinvref, fecharef 
    FROM #REFERENCIAS;

    --*****************************************--

    SELECT   --IMPUESTOS ADICIONALES
        tip_impadi,
        venImpuestos.descripcion,
        MAX(porcadicional) AS porcadicional,
        SUM(adicional)     AS montoadicional
    FROM venDetalle 
    INNER JOIN venImpuestos 
      ON venDetalle.tip_impadi = venImpuestos.codigo
    WHERE venDetalle.coddoc = @coddoc
      AND venDetalle.grudoc = @grudoc
      AND venDetalle.numinv = @numdoc
    GROUP BY tip_impadi, venImpuestos.descripcion
END