none
Erro al ejecutar SP - el nombre de la columna es ambiguo - SQL server 2012 RRS feed

  • Pregunta

  • Hola amigos,  solicito su ayuda para poder solucionar este problema.

    tengo un SP en Sql server 2012 el cual al ejecutar muestra el error: nombre de la columna 'codart' es ambiguo. error ambiguo

    el SP envia dos parámetros que es una fecha.

    Codigo del SP

    USE [kdbs_cerlux_2011]
    GO
    /****** Object:  StoredProcedure [dbo].[spCuboVentas]    Script Date: 20/10/2017 18:15:14 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER OFF
    GO
    ALTER proc [dbo].[spCuboVentas]
    @fechaDesde DATETIME,
    @fechaHasta DATETIME
    as
    
    select	ef.codemp + ' - ' + empresa.nomemp AS 'Empresa',
    		'FAC' as 'Origen',	
    		ef.numfac AS 'Nº Factura',
    		ef.fecfac AS 'Fecha',
    		--CAST(CAST(YEAR(ef.fecfac) AS varchar) + '-' + CAST(MONTH(ef.fecfac) AS varchar) + '-' + CAST(01 AS varchar) AS DATETIME) AS 'Mes',
    		CAST(CAST(01 AS varchar) + '-' + CAST(MONTH(ef.fecfac) AS varchar) + '-' + CAST(YEAR(ef.fecfac) AS varchar)AS DATETIME) AS 'Mes',
    		rf.codalm + ' - ' + almacenes.nomalm AS 'Almacen',
    		clasesarticulos.codcla+' - '+clasesarticulos.nomcla AS 'Clase Artículo',
    		rf.codart AS 'Código Artículo',
    		articulos.nomart AS 'Nombre Artículo',
    		
    		clasesclientes.codcla+ ' - ' + clasesclientes.nomcla AS 'Clase Cliente',
    		ef.nomcli AS 'Nombre Cliente',
    		vc_vendedorescob_cla.codcla+' - '+vc_vendedorescob_cla.nomcla AS 'Clase Vendedor', 
    		ef.codven+' - '+vendedorescob.nomven AS 'Vendedor',
    		rf.coduni AS 'Unidad',
    		CASE 
    			WHEN articulos.tipart = 1  THEN 'Importado'
    			WHEN articulos.tipart = 2  THEN 'Nacional'
    		END AS 'Procedencia',
    		rf.cantid AS 'Cantidad',
    		rf.desren AS 'Descuento',
    		rf.totren AS 'Venta Neta',
    		ef.totnet AS 'Total Venta',
    		rf.preuni AS 'Pre. Uni',
    		familiaarticulo.nomfam AS 'Familia Artículo',
    		grupoarticulo.nomgru AS 'Grupo Artículo',
    		CASE 
    			WHEN articulos.marart = '01'  THEN 'PISOS'
    			WHEN articulos.tipart = '002.1'  THEN 'PAREDES'
    		END AS 'Marca Artículo',
    		clientes.ciucli AS 'Ciudad Cliente',
    		clientes.dirbar AS 'Barrio Cliente',
    		ef.conpag AS 'Forma de Pago',
    		ef.numpag AS 'Cuota',
    		ef.plapag AS 'Plazo'
    		
    		
    from encabezadofacturas ef, renglonesfacturas rf,empresa,almacenes,clientes,clasesclientes,
    vendedorescob,vc_vendedorescob_cla,clasesarticulos,articulos
    LEFT JOIN familiaarticulo
    ON articulos.codcla=familiaarticulo.codcla AND
    articulos.codfam=familiaarticulo.codfam AND
    articulos.codemp=familiaarticulo.codemp
    
    LEFT JOIN grupoarticulo
    ON articulos.codgru=grupoarticulo.codgru
    and articulos.codfam=grupoarticulo.codfam
    and articulos.codemp=grupoarticulo.codemp
    and articulos.codcla=grupoarticulo.codcla
    
    
    where ef.numfac = rf.numfac
    and empresa.codemp = ef.codemp
    and almacenes.codalm=rf.codalm
    and almacenes.codemp=rf.codemp
    and articulos.codart = rf.codart 
    and articulos.codemp=rf.codemp
    and ef.codcli = clientes.codcli
    and ef.codemp=clientes.codemp
    and clientes.codcla=clasesclientes.codcla
    and clientes.codemp=clasesclientes.codemp
    and vendedorescob.codven=ef.codven
    and vendedorescob.codemp=ef.codemp
    and vc_vendedorescob_cla.codemp=ef.codemp
    and vc_vendedorescob_cla.codcla=vendedorescob.codcla
    and clasesarticulos.codemp = articulos.codemp
    and clasesarticulos.codcla = articulos.codcla
    
    --and ef.fecfac between @dateFrom and @dateTo
    and ef.fecfac between @fechaDesde and @fechaHasta
    
    union all
    
    -- UNION PARA MOSTRAR SERVCIOS EN FACTURAS
    select	ef.codemp + ' - ' + empresa.nomemp AS 'Empresa',
    		'FAC' as 'Origen',
    		ef.numfac AS 'Nº Factura',
    		ef.fecfac AS 'Fecha',
    		--CAST(CAST(YEAR(ef.fecfac) AS varchar) + '-' + CAST(MONTH(ef.fecfac) AS varchar) + '-' + CAST(01 AS varchar) AS DATETIME) AS 'Mes',
    		CAST(CAST(01 AS varchar) + '-' + CAST(MONTH(ef.fecfac) AS varchar) + '-' + CAST(YEAR(ef.fecfac) AS varchar)AS DATETIME) AS 'Mes',
    		rf.codalm + ' - ' + almacenes.nomalm AS 'Almacen',
    		'NO APLICA' AS 'Clase Artículo',
    		rf.codart AS 'Código Artículo',
    		rf.nomart AS 'Nombre Artículo',
    		
    		clasesclientes.codcla+ ' - ' + clasesclientes.nomcla AS 'Clase Cliente',
    		ef.nomcli AS 'Nombre Cliente',
    		vc_vendedorescob_cla.codcla+' - '+vc_vendedorescob_cla.nomcla AS 'Clase Vendedor', 
    		ef.codven+' - '+vendedorescob.nomven AS 'Vendedor',
    		rf.coduni AS 'Unidad',
    		'NO APLICA' AS 'Procedencia',
    		rf.cantid AS 'Cantidad',
    		rf.desren AS 'Descuento',
    		rf.totren AS 'Venta Neta',
    		ef.totnet AS 'Total Venta',
    		rf.preuni AS 'Pre. Uni',
    		'NO APLICA' AS 'Familia Artículo',
    		'NO APLICA' AS 'Grupo Artículo',
    		'NO APLICA' AS 'Marca Artículo',
    		clientes.ciucli AS 'Ciudad Cliente',
    		clientes.dirbar AS 'Barrio Cliente',
    		ef.conpag AS 'Forma de Pago',
    		ef.numpag AS 'Cuota',
    		ef.plapag AS 'Plazo'
    		
    from encabezadofacturas ef, renglonesfacturas rf,empresa,almacenes,clientes,clasesclientes,
    vendedorescob,vc_vendedorescob_cla
    
    where ef.numfac = rf.numfac
    and empresa.codemp = ef.codemp
    and almacenes.codalm=rf.codalm
    and almacenes.codemp=rf.codemp
    and ef.codcli = clientes.codcli
    and ef.codemp=clientes.codemp
    and clientes.codcla=clasesclientes.codcla
    and clientes.codemp=clasesclientes.codemp
    and vendedorescob.codven=ef.codven
    and vendedorescob.codemp=ef.codemp
    and vc_vendedorescob_cla.codemp=ef.codemp
    and vc_vendedorescob_cla.codcla=vendedorescob.codcla
    and codart like '\%'
    and ef.fecfac between @fechaDesde and @fechaHasta
    
    
    
    union all
    
    select	ed.codemp + ' - ' + empresa.nomemp AS 'Empresa',
    		'DEV' as 'Origen',
    	
    		ed.numfac AS 'Nº Factura',
    		ed.fecfac AS 'Fecha',
    		--CAST(CAST(YEAR(ed.fecfac) AS varchar) + '-' + CAST(MONTH(ed.fecfac) AS varchar) + '-' + CAST(01 AS varchar) AS DATETIME) AS 'Mes',
    		CAST(CAST(01 AS varchar) + '-' + CAST(MONTH(ed.fecfac) AS varchar) + '-' + CAST(YEAR(ed.fecfac) AS varchar)AS DATETIME) AS 'Mes',
    		rd.codalm + ' - ' + almacenes.nomalm AS 'Almacen',
    		clasesarticulos.codcla+' - '+clasesarticulos.nomcla AS 'Clase Artículo',
    		rd.codart AS 'Código Artículo',
    		articulos.nomart AS 'Nombre Artículo',
    		
    		clasesclientes.codcla+ ' - ' + clasesclientes.nomcla AS 'Clase Cliente',
    		ed.nomcli AS 'Nombre Cliente',
    		vc_vendedorescob_cla.codcla+' - '+vc_vendedorescob_cla.nomcla AS 'Clase Vendedor', 
    		ed.codven+' - '+vendedorescob.nomven AS 'Vendedor',
    		rd.coduni AS 'Unidad',
    		CASE 
    			WHEN articulos.tipart = 1  THEN 'Importado'
    			WHEN articulos.tipart = 2  THEN 'Nacional'
    		END AS 'Procedencia',
    		rd.cantid * (-1) AS 'Cantidad',
    		rd.desren AS 'Descuento',
    		(rd.totdes)*-1 AS 'Venta Neta',
    		(ed.totnet)*-1 AS 'Total Venta',
    		rd.preuni AS 'Pre. Uni',
    		familiaarticulo.nomfam AS 'Familia Artículo',
    		grupoarticulo.nomgru AS 'Grupo Artículo',
    		CASE 
    			WHEN articulos.marart = '01'  THEN 'PISOS'
    			WHEN articulos.tipart = '002.1'  THEN 'PAREDES'
    		END AS 'Marca Artículo',
    		clientes.ciucli AS 'Ciudad Cliente',
    		clientes.dirbar AS 'Barrio Cliente',
    		ed.conpag AS 'Forma de Pago',
    		ed.numpag AS 'Cuota',
    		ed.plapag AS 'Plazo'
    		
    		
    from encabezadodevoluciones ed, renglonesdevoluciones rd,empresa,almacenes,clientes,clasesclientes,
    vendedorescob,vc_vendedorescob_cla,clasesarticulos,articulos
    LEFT JOIN familiaarticulo
    ON articulos.codcla=familiaarticulo.codcla AND
    articulos.codfam=familiaarticulo.codfam AND
    articulos.codemp=familiaarticulo.codemp
    
    LEFT JOIN grupoarticulo
    ON articulos.codgru=grupoarticulo.codgru
    and articulos.codfam=grupoarticulo.codfam
    and articulos.codemp=grupoarticulo.codemp
    and articulos.codcla=grupoarticulo.codcla
    
    
    where ed.numfac = rd.numfac
    and empresa.codemp = ed.codemp
    and almacenes.codalm=rd.codalm
    and almacenes.codemp=rd.codemp
    and articulos.codart = rd.codart 
    and articulos.codemp=rd.codemp
    and ed.codcli = clientes.codcli
    and ed.codemp=clientes.codemp
    and clientes.codcla=clasesclientes.codcla
    and clientes.codemp=clasesclientes.codemp
    and vendedorescob.codven=ed.codven
    and vendedorescob.codemp=ed.codemp
    and vc_vendedorescob_cla.codemp=ed.codemp
    and vc_vendedorescob_cla.codcla=vendedorescob.codcla
    and clasesarticulos.codemp = articulos.codemp
    and clasesarticulos.codcla = articulos.codcla
    and ed.estaut='A'
    
    --and ed.fecfac between @dateFrom and @dateTo
    and ed.fecfac between @fechaDesde and @fechaHasta
    
    union all
    
    select	ed.codemp + ' - ' + empresa.nomemp AS 'Empresa',
    		'DEV' as 'Origen',
    		
    		
    		ed.numfac AS 'Nº Factura',
    		ed.fecfac AS 'Fecha',
    		--CAST(CAST(YEAR(ed.fecfac) AS varchar) + '-' + CAST(MONTH(ed.fecfac) AS varchar) + '-' + CAST(01 AS varchar) AS DATETIME) AS 'Mes',
    		CAST(CAST(01 AS varchar) + '-' + CAST(MONTH(ed.fecfac) AS varchar) + '-' + CAST(YEAR(ed.fecfac) AS varchar)AS DATETIME) AS 'Mes',
    		rd.codalm + ' - ' + almacenes.nomalm AS 'Almacen',
    		'NO APLICA' AS 'Clase Artículo',
    		rd.codart AS 'Código Artículo',
    		rd.nomart AS 'Nombre Artículo',
    		
    		clasesclientes.codcla+ ' - ' + clasesclientes.nomcla AS 'Clase Cliente',
    		ed.nomcli AS 'Nombre Cliente',
    		vc_vendedorescob_cla.codcla+' - '+vc_vendedorescob_cla.nomcla AS 'Clase Vendedor', 
    		ed.codven+' - '+vendedorescob.nomven AS 'Vendedor',
    		rd.coduni AS 'Unidad',
    		'NO APLICA' AS 'Procedencia',
    		rd.cantid * (-1) AS 'Cantidad',
    		rd.desren AS 'Descuento',
    		(rd.totdes)*-1 AS 'Venta Neta',
    		(ed.totnet)*-1 AS 'Total Venta',
    		rd.preuni AS 'Pre. Uni',
    		'NO APLICA' AS 'Familia Artículo',
    		'NO APLICA' AS 'Grupo Artículo',
    		'NO APLICA' AS 'Marca Artículo',
    		clientes.ciucli AS 'Ciudad Cliente',
    		clientes.dirbar AS 'Barrio Cliente',
    		ed.conpag AS 'Forma de Pago',
    		ed.numpag AS 'Cuota',
    		ed.plapag AS 'Plazo'
    		
    		
    from encabezadodevoluciones ed,empresa,clientes,clasesclientes,
    vendedorescob,vc_vendedorescob_cla,renglonesdevoluciones rd
    LEFT JOIN almacenes
    ON almacenes.codalm=rd.codalm
    and almacenes.codemp=rd.codemp
    
    where ed.numfac = rd.numfac
    and empresa.codemp = ed.codemp
    
    
    and ed.codcli = clientes.codcli
    and ed.codemp=clientes.codemp
    and clientes.codcla=clasesclientes.codcla
    and clientes.codemp=clasesclientes.codemp
    and vendedorescob.codven=ed.codven
    and vendedorescob.codemp=ed.codemp
    and vc_vendedorescob_cla.codemp=ed.codemp
    and vc_vendedorescob_cla.codcla=vendedorescob.codcla
    and codart like '\%'
    and ed.estaut='A'
    and ed.fecfac between @fechaDesde and @fechaHasta

    la consulta es realizada a varias tablas de la base de datos.

    Gracias, espero me puedan ayudar.


    Javier Z.

    lunes, 23 de octubre de 2017 17:27

Respuestas

  • Tienes puesto "and codart like '\%'", se te ha olvidado ponerle al codart el alias de la tabla para desambiguarlo.
    • Marcado como respuesta Javier Zapata lunes, 23 de octubre de 2017 18:36
    lunes, 23 de octubre de 2017 17:57
  • efectivamente fue eso, se estaba ejecutando el SP anterior y no me había percatado, volví a crear un procedimiento nuevo y funciona perfecto.

    Gracias por tu ayuda. 


    Javier Z.

    • Marcado como respuesta Javier Zapata lunes, 23 de octubre de 2017 18:36
    lunes, 23 de octubre de 2017 18:36

Todas las respuestas

  • Tienes puesto "and codart like '\%'", se te ha olvidado ponerle al codart el alias de la tabla para desambiguarlo.
    • Marcado como respuesta Javier Zapata lunes, 23 de octubre de 2017 18:36
    lunes, 23 de octubre de 2017 17:57
  • hola amigo, ya lo puse, pero se mantiene el mismo error, con el mismo numero de fila:

    USE [kdbs_cerlux_2011]
    GO
    /****** Object:  StoredProcedure [dbo].[spCuboVentas]    Script Date: 20/10/2017 18:15:14 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER OFF
    GO
    ALTER proc [dbo].[spCuboVentas]
    @fechaDesde DATETIME,
    @fechaHasta DATETIME
    as
    
    select	ef.codemp + ' - ' + empresa.nomemp AS 'Empresa',
    		'FAC' as 'Origen',	
    		ef.numfac AS 'Nº Factura',
    		ef.fecfac AS 'Fecha',
    		--CAST(CAST(YEAR(ef.fecfac) AS varchar) + '-' + CAST(MONTH(ef.fecfac) AS varchar) + '-' + CAST(01 AS varchar) AS DATETIME) AS 'Mes',
    		CAST(CAST(01 AS varchar) + '-' + CAST(MONTH(ef.fecfac) AS varchar) + '-' + CAST(YEAR(ef.fecfac) AS varchar)AS DATETIME) AS 'Mes',
    		rf.codalm + ' - ' + almacenes.nomalm AS 'Almacen',
    		clasesarticulos.codcla+' - '+clasesarticulos.nomcla AS 'Clase Artículo',
    		rf.codart AS 'Código Artículo',
    		articulos.nomart AS 'Nombre Artículo',
    		
    		clasesclientes.codcla+ ' - ' + clasesclientes.nomcla AS 'Clase Cliente',
    		ef.nomcli AS 'Nombre Cliente',
    		vc_vendedorescob_cla.codcla+' - '+vc_vendedorescob_cla.nomcla AS 'Clase Vendedor', 
    		ef.codven+' - '+vendedorescob.nomven AS 'Vendedor',
    		rf.coduni AS 'Unidad',
    		CASE 
    			WHEN articulos.tipart = 1  THEN 'Importado'
    			WHEN articulos.tipart = 2  THEN 'Nacional'
    		END AS 'Procedencia',
    		rf.cantid AS 'Cantidad',
    		rf.desren AS 'Descuento',
    		rf.totren AS 'Venta Neta',
    		ef.totnet AS 'Total Venta',
    		rf.preuni AS 'Pre. Uni',
    		familiaarticulo.nomfam AS 'Familia Artículo',
    		grupoarticulo.nomgru AS 'Grupo Artículo',
    		CASE 
    			WHEN articulos.marart = '01'  THEN 'PISOS'
    			WHEN articulos.tipart = '002.1'  THEN 'PAREDES'
    		END AS 'Marca Artículo',
    		clientes.ciucli AS 'Ciudad Cliente',
    		clientes.dirbar AS 'Barrio Cliente',
    		ef.conpag AS 'Forma de Pago',
    		ef.numpag AS 'Cuota',
    		ef.plapag AS 'Plazo'
    		
    		
    from encabezadofacturas ef, renglonesfacturas rf,empresa,almacenes,clientes,clasesclientes,
    vendedorescob,vc_vendedorescob_cla,clasesarticulos,articulos
    LEFT JOIN familiaarticulo
    ON articulos.codcla=familiaarticulo.codcla AND
    articulos.codfam=familiaarticulo.codfam AND
    articulos.codemp=familiaarticulo.codemp
    
    LEFT JOIN grupoarticulo
    ON articulos.codgru=grupoarticulo.codgru
    and articulos.codfam=grupoarticulo.codfam
    and articulos.codemp=grupoarticulo.codemp
    and articulos.codcla=grupoarticulo.codcla
    
    
    where ef.numfac = rf.numfac
    and empresa.codemp = ef.codemp
    and almacenes.codalm=rf.codalm
    and almacenes.codemp=rf.codemp
    and articulos.codart = rf.codart 
    and articulos.codemp=rf.codemp
    and ef.codcli = clientes.codcli
    and ef.codemp=clientes.codemp
    and clientes.codcla=clasesclientes.codcla
    and clientes.codemp=clasesclientes.codemp
    and vendedorescob.codven=ef.codven
    and vendedorescob.codemp=ef.codemp
    and vc_vendedorescob_cla.codemp=ef.codemp
    and vc_vendedorescob_cla.codcla=vendedorescob.codcla
    and clasesarticulos.codemp = articulos.codemp
    and clasesarticulos.codcla = articulos.codcla
    
    --and ef.fecfac between @dateFrom and @dateTo
    and ef.fecfac between @fechaDesde and @fechaHasta
    
    union all
    
    -- UNION PARA MOSTRAR SERVCIOS EN FACTURAS
    select	ef.codemp + ' - ' + empresa.nomemp AS 'Empresa',
    		'FAC' as 'Origen',
    		ef.numfac AS 'Nº Factura',
    		ef.fecfac AS 'Fecha',
    		--CAST(CAST(YEAR(ef.fecfac) AS varchar) + '-' + CAST(MONTH(ef.fecfac) AS varchar) + '-' + CAST(01 AS varchar) AS DATETIME) AS 'Mes',
    		CAST(CAST(01 AS varchar) + '-' + CAST(MONTH(ef.fecfac) AS varchar) + '-' + CAST(YEAR(ef.fecfac) AS varchar)AS DATETIME) AS 'Mes',
    		rf.codalm + ' - ' + almacenes.nomalm AS 'Almacen',
    		'NO APLICA' AS 'Clase Artículo',
    		rf.codart AS 'Código Artículo',
    		rf.nomart AS 'Nombre Artículo',
    		
    		clasesclientes.codcla+ ' - ' + clasesclientes.nomcla AS 'Clase Cliente',
    		ef.nomcli AS 'Nombre Cliente',
    		vc_vendedorescob_cla.codcla+' - '+vc_vendedorescob_cla.nomcla AS 'Clase Vendedor', 
    		ef.codven+' - '+vendedorescob.nomven AS 'Vendedor',
    		rf.coduni AS 'Unidad',
    		'NO APLICA' AS 'Procedencia',
    		rf.cantid AS 'Cantidad',
    		rf.desren AS 'Descuento',
    		rf.totren AS 'Venta Neta',
    		ef.totnet AS 'Total Venta',
    		rf.preuni AS 'Pre. Uni',
    		'NO APLICA' AS 'Familia Artículo',
    		'NO APLICA' AS 'Grupo Artículo',
    		'NO APLICA' AS 'Marca Artículo',
    		clientes.ciucli AS 'Ciudad Cliente',
    		clientes.dirbar AS 'Barrio Cliente',
    		ef.conpag AS 'Forma de Pago',
    		ef.numpag AS 'Cuota',
    		ef.plapag AS 'Plazo'
    		
    from encabezadofacturas ef, renglonesfacturas rf,empresa,almacenes,clientes,clasesclientes,
    vendedorescob,vc_vendedorescob_cla
    
    where ef.numfac = rf.numfac
    and empresa.codemp = ef.codemp
    and almacenes.codalm=rf.codalm
    and almacenes.codemp=rf.codemp
    and ef.codcli = clientes.codcli
    and ef.codemp=clientes.codemp
    and clientes.codcla=clasesclientes.codcla
    and clientes.codemp=clasesclientes.codemp
    and vendedorescob.codven=ef.codven
    and vendedorescob.codemp=ef.codemp
    and vc_vendedorescob_cla.codemp=ef.codemp
    and vc_vendedorescob_cla.codcla=vendedorescob.codcla
    and rf.codart like '\%'
    and ef.fecfac between @fechaDesde and @fechaHasta
    
    
    
    union all
    
    select	ed.codemp + ' - ' + empresa.nomemp AS 'Empresa',
    		'DEV' as 'Origen',
    	
    		ed.numfac AS 'Nº Factura',
    		ed.fecfac AS 'Fecha',
    		--CAST(CAST(YEAR(ed.fecfac) AS varchar) + '-' + CAST(MONTH(ed.fecfac) AS varchar) + '-' + CAST(01 AS varchar) AS DATETIME) AS 'Mes',
    		CAST(CAST(01 AS varchar) + '-' + CAST(MONTH(ed.fecfac) AS varchar) + '-' + CAST(YEAR(ed.fecfac) AS varchar)AS DATETIME) AS 'Mes',
    		rd.codalm + ' - ' + almacenes.nomalm AS 'Almacen',
    		clasesarticulos.codcla+' - '+clasesarticulos.nomcla AS 'Clase Artículo',
    		rd.codart AS 'Código Artículo',
    		articulos.nomart AS 'Nombre Artículo',
    		
    		clasesclientes.codcla+ ' - ' + clasesclientes.nomcla AS 'Clase Cliente',
    		ed.nomcli AS 'Nombre Cliente',
    		vc_vendedorescob_cla.codcla+' - '+vc_vendedorescob_cla.nomcla AS 'Clase Vendedor', 
    		ed.codven+' - '+vendedorescob.nomven AS 'Vendedor',
    		rd.coduni AS 'Unidad',
    		CASE 
    			WHEN articulos.tipart = 1  THEN 'Importado'
    			WHEN articulos.tipart = 2  THEN 'Nacional'
    		END AS 'Procedencia',
    		rd.cantid * (-1) AS 'Cantidad',
    		rd.desren AS 'Descuento',
    		(rd.totdes)*-1 AS 'Venta Neta',
    		(ed.totnet)*-1 AS 'Total Venta',
    		rd.preuni AS 'Pre. Uni',
    		familiaarticulo.nomfam AS 'Familia Artículo',
    		grupoarticulo.nomgru AS 'Grupo Artículo',
    		CASE 
    			WHEN articulos.marart = '01'  THEN 'PISOS'
    			WHEN articulos.tipart = '002.1'  THEN 'PAREDES'
    		END AS 'Marca Artículo',
    		clientes.ciucli AS 'Ciudad Cliente',
    		clientes.dirbar AS 'Barrio Cliente',
    		ed.conpag AS 'Forma de Pago',
    		ed.numpag AS 'Cuota',
    		ed.plapag AS 'Plazo'
    		
    		
    from encabezadodevoluciones ed, renglonesdevoluciones rd,empresa,almacenes,clientes,clasesclientes,
    vendedorescob,vc_vendedorescob_cla,clasesarticulos,articulos
    LEFT JOIN familiaarticulo
    ON articulos.codcla=familiaarticulo.codcla AND
    articulos.codfam=familiaarticulo.codfam AND
    articulos.codemp=familiaarticulo.codemp
    
    LEFT JOIN grupoarticulo
    ON articulos.codgru=grupoarticulo.codgru
    and articulos.codfam=grupoarticulo.codfam
    and articulos.codemp=grupoarticulo.codemp
    and articulos.codcla=grupoarticulo.codcla
    
    
    where ed.numfac = rd.numfac
    and empresa.codemp = ed.codemp
    and almacenes.codalm=rd.codalm
    and almacenes.codemp=rd.codemp
    and articulos.codart = rd.codart 
    and articulos.codemp=rd.codemp
    and ed.codcli = clientes.codcli
    and ed.codemp=clientes.codemp
    and clientes.codcla=clasesclientes.codcla
    and clientes.codemp=clasesclientes.codemp
    and vendedorescob.codven=ed.codven
    and vendedorescob.codemp=ed.codemp
    and vc_vendedorescob_cla.codemp=ed.codemp
    and vc_vendedorescob_cla.codcla=vendedorescob.codcla
    and clasesarticulos.codemp = articulos.codemp
    and clasesarticulos.codcla = articulos.codcla
    and ed.estaut='A'
    
    --and ed.fecfac between @dateFrom and @dateTo
    and ed.fecfac between @fechaDesde and @fechaHasta
    
    union all
    
    select	ed.codemp + ' - ' + empresa.nomemp AS 'Empresa',
    		'DEV' as 'Origen',
    		
    		
    		ed.numfac AS 'Nº Factura',
    		ed.fecfac AS 'Fecha',
    		--CAST(CAST(YEAR(ed.fecfac) AS varchar) + '-' + CAST(MONTH(ed.fecfac) AS varchar) + '-' + CAST(01 AS varchar) AS DATETIME) AS 'Mes',
    		CAST(CAST(01 AS varchar) + '-' + CAST(MONTH(ed.fecfac) AS varchar) + '-' + CAST(YEAR(ed.fecfac) AS varchar)AS DATETIME) AS 'Mes',
    		rd.codalm + ' - ' + almacenes.nomalm AS 'Almacen',
    		'NO APLICA' AS 'Clase Artículo',
    		rd.codart AS 'Código Artículo',
    		rd.nomart AS 'Nombre Artículo',
    		
    		clasesclientes.codcla+ ' - ' + clasesclientes.nomcla AS 'Clase Cliente',
    		ed.nomcli AS 'Nombre Cliente',
    		vc_vendedorescob_cla.codcla+' - '+vc_vendedorescob_cla.nomcla AS 'Clase Vendedor', 
    		ed.codven+' - '+vendedorescob.nomven AS 'Vendedor',
    		rd.coduni AS 'Unidad',
    		'NO APLICA' AS 'Procedencia',
    		rd.cantid * (-1) AS 'Cantidad',
    		rd.desren AS 'Descuento',
    		(rd.totdes)*-1 AS 'Venta Neta',
    		(ed.totnet)*-1 AS 'Total Venta',
    		rd.preuni AS 'Pre. Uni',
    		'NO APLICA' AS 'Familia Artículo',
    		'NO APLICA' AS 'Grupo Artículo',
    		'NO APLICA' AS 'Marca Artículo',
    		clientes.ciucli AS 'Ciudad Cliente',
    		clientes.dirbar AS 'Barrio Cliente',
    		ed.conpag AS 'Forma de Pago',
    		ed.numpag AS 'Cuota',
    		ed.plapag AS 'Plazo'
    		
    		
    from encabezadodevoluciones ed,empresa,clientes,clasesclientes,
    vendedorescob,vc_vendedorescob_cla,renglonesdevoluciones rd
    LEFT JOIN almacenes
    ON almacenes.codalm=rd.codalm
    and almacenes.codemp=rd.codemp
    
    where ed.numfac = rd.numfac
    and empresa.codemp = ed.codemp
    
    
    and ed.codcli = clientes.codcli
    and ed.codemp=clientes.codemp
    and clientes.codcla=clasesclientes.codcla
    and clientes.codemp=clasesclientes.codemp
    and vendedorescob.codven=ed.codven
    and vendedorescob.codemp=ed.codemp
    and vc_vendedorescob_cla.codemp=ed.codemp
    and vc_vendedorescob_cla.codcla=vendedorescob.codcla
    and rd.codart like '\%'
    and ed.estaut='A'
    and ed.fecfac between @fechaDesde and @fechaHasta
    

    gracias por tu pronta respuesta, espero me puedas seguir ayudando. 


    Javier Z.

    lunes, 23 de octubre de 2017 18:00
  • Ahora está bien. Si te sigue dando el mismo error en la misma línea, quiere decir que todavía está ejecutando el procedimiento antiguo, no se han actualizado bien los cambios que acabas de hacer.

    Para verificarlo, crea provisionalmente el procedimiento con otro nombre distinto, tal como spCuboVentas222, y ejecuta el spCuboVentas222 para comprobar si da o no da el error. Así te cercioras de que no ha fallado algo al enmendar el procedimiento antiguo, como por ejemplo haberlo creado en otra base de datos distinta o algún otro fallo por el estilo.

    lunes, 23 de octubre de 2017 18:32
  • efectivamente fue eso, se estaba ejecutando el SP anterior y no me había percatado, volví a crear un procedimiento nuevo y funciona perfecto.

    Gracias por tu ayuda. 


    Javier Z.

    • Marcado como respuesta Javier Zapata lunes, 23 de octubre de 2017 18:36
    lunes, 23 de octubre de 2017 18:36