ALTER  PROCEDURE [dbo].[sp_VenPlantillaDocumentos] 
(
@diseño int=0,
@grudoc int,
@coddoc int,
@codsii int,
@numdoc bigint
)
AS

--IF @diseño=1
--BEGIN 
--SET @numdoc= (SELECT MAX(venEncabezado.numinv) FROM venEncabezado WHERE venEncabezado.grudoc = @grudoc
--    AND    venEncabezado.coddoc = @coddoc
--    AND    venEncabezado.codsii= @codsii)
--END

DECLARE @CTACTE INT
 SELECT @grudoc= grudoc, @coddoc= coddoc FROM venEncabezado WHERE codsii = @codsii and numinv = @numdoc


IF @codsii = 46
	BEGIN	

		SELECT @CTACTE=cyvEncabezado.rut FROM cyvEncabezado WHERE cyvEncabezado.tipo_documento = @codsii
		AND    cyvEncabezado.num_documento = @numdoc


		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 neto, DBO.MONTOTEXTO((cyvEncabezado.monto_afecto + cyvEncabezado.monto_exento)) AS netotexto, cyvEncabezado.monto_exento AS exento, 0 AS descuentos, 
					cyvEncabezado.monto_iva, cyvEncabezado.monto_adicional, 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,
					conSucursales.ciudad as ciudadReceptor, conSucursales.dirsuc as dirSucReceptor, conSucursales.nomsuc as nomSucReceptor, 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 = @codsii) 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	

			--*****************************************--


			SELECT   --IMPUESTOS ADICIONALES
					tip_impadi,
					venImpuestos.descripcion,
					MAX(porcadicional) AS porcadicional,
					SUM(adicional) AS montoadicional
			FROM cyvDetalleArticulo INNER JOIN
			venImpuestos ON cyvDetalleArticulo.tip_impadi = venImpuestos.codigo
			WHERE cyvDetalleArticulo.coddoc = @coddoc
			AND cyvDetalleArticulo.numinv = @numdoc
			GROUP BY tip_impadi,venImpuestos.descripcion
	END
ELSE
	BEGIN
		SELECT @CTACTE=venEncabezado.rutcte FROM venEncabezado WHERE venEncabezado.grudoc = @grudoc
			AND    venEncabezado.coddoc = @coddoc
			AND    venEncabezado.codsii= @codsii
			AND    venEncabezado.numinv = @numdoc

		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,
			conSucursales.ciudad as ciudadReceptor, conSucursales.dirsuc as dirSucReceptor, conSucursales.nomsuc as nomSucReceptor, 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  --REFERENCIAS
				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