Skip to Content

Muy estimados todos, aquí les dejo este query que en general les servirá en caso de que como su servidor hayan migrado a cfdi y no hayan tenido la finura de generar el reporte de CFDS del mes de DICIEMBRE 2013 (posibilidad que desaparece con el hecho de activar CFDI) saludos !

Declare @Mes as nvarchar(2)

Declare @Ejercicio as nvarchar(4)

/* Cambiar las variables segun corresponda */

Set @Mes =’12’                      –Aquí el mes a generar

Set @Ejercicio =’2013′              –Aquí el año a generar

/*————————– Query para Facturas ———————————*/

SELECT

‘|’+t0.LicTradNum+’|’+t0.EDocPrefix+’|’+convert(varchar(50),t0.DocNum)+’|’+(convert(varchar(50),t1.ApprovYear)+convert(varchar(50),t1.ApprovNum))+’|’+CONVERT(VARCHAR(10), t0.docdate, 103)+’ ‘+

stuff(

(stuff(

(RIGHT(REPLICATE(‘0’,6) + CONVERT(varchar( 6 ) , t0.createts) ,6))

,3,0,’:’))

,6,0,’:’)

+’|’+ convert(varchar(50),(convert(numeric(10,2),round(t0.doctotal,2,1))))+’|’+CONVERT(varchar(50),(convert(numeric(10,2),round(t0.VatSum,2,1))))+’|’+t0.U_Cancelado+’|’+’I’+’||||’

FROM

OINV t0 inner join NNM4 t1 on t0.DocNum between t1.initialnum and t1.lastnum and t0.EDocPrefix = t1.Prefix

WHERE

year(t0.DocDate) = @Ejercicio and MONTH(t0.docdate) = @Mes

UNION ALL   /*—————– Para unir los dos querys————————–*/

/*—————————Query para Notas de crédito—————————*/

SELECT

‘|’+t0.LicTradNum+’|’+t0.EDocPrefix+’|’+convert(varchar(50),t0.DocNum)+’|’+(convert(varchar(50),t1.ApprovYear)+convert(varchar(50),t1.ApprovNum))+’|’+CONVERT(VARCHAR(10), t0.docdate, 103)+’ ‘+

stuff(

(stuff(

(RIGHT(REPLICATE(‘0’,6) + CONVERT(varchar( 6 ) , t0.createts) ,6))

,3,0,’:’))

,6,0,’:’)

+’|’+ convert(varchar(50),(convert(numeric(10,2),round(t0.doctotal,2,1))))+’|’+CONVERT(varchar(50),(convert(numeric(10,2),round(t0.VatSum,2,1))))+’|’+t0.U_Cancelado+’|’+’E’+’||||’

FROM

ORIN t0 inner join NNM4 t1 on t0.DocNum between t1.initialnum and t1.lastnum and t0.EDocPrefix = t1.Prefix

WHERE

year(t0.DocDate) =@Ejercicio and MONTH(t0.docdate) = @Mes

Ya solo indiquen el campo en en el que guardan el status de su documento electrónico en nuestro caso usamos U_Cancelado (campo de usuario), nosotros reporteamos solo los campos doctotal y vatsum porque no nos aplican otros pero de igual manera es sencillo añadir los demas en caso que ustedes hagan otras operaciones, saludos

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

  1. Raul Hernandez

    Esta bien.. pero la solución es muy simple. Haces un respaldo de tu BD… aplicas un update al campo EdProcess de la Oadm y generas tu reporte… luego de eso borras el respaldo.

    De esa forma obtienes el reporte mensual y no alteras tu BD productiva.

    Sds!!

    (0) 

Leave a Reply