Si se creo una factura y no se subieron los desgloses se puede copiar los desgloses de ventas hacia desgloses facturas con ayuda de las siguientes instrucciones:
SELECT 'LAMANGA' SUCURSAL ,des.idInicial DESDE ,des.idFinal HASTA ,Folio FACTURA,CONVERT(VARCHAR, Fechadocumento, 103) FECHA,UUID,RAZONSOCIAL AS RAZON_SOCIAL ,IMPORTE,DESCUENTO,SUBTOTAL ,des.Ieps6 IEPS6, des.Ieps8 IEPS8, IEPS, IVA, TOTAL FROM [test_000013].[dbo].[S000001documentofacturaventa] d LEFT JOIN [test_000013].[dbo].[S000001documentocfdifacturaventa] cfdi ON d.Id = cfdi.Id LEFT JOIN (SELECT IdDocumento,MIN(IdDocumentoOrigen) idInicial,MAX(IdDocumentoOrigen) idFinal ,SUM(IIF(ValorIeps = 6, Ieps, 0)) Ieps6 ,SUM(IIF(ValorIeps = 8, Ieps, 0)) Ieps8 FROM [test_000013].[dbo].[S000001desglosefacturaventa] ds WHERE Estatus NOT LIKE 0 GROUP BY IdDocumento) des ON d.Id = des.IdDocumento WHERE d.Estatus = 1 ORDER BY d.Id SELECT d.id, MAX(cfdi.RazonSocial), MAX(d.FechaDocumento), MAX(cfdi.Uuid), COUNT(ds.Id) Desgloses, MAX(d.Total) Total FROM [test_000013].[dbo].[S000001documentofacturaventa] d LEFT JOIN [test_000013].[dbo].[S000001documentocfdifacturaventa] cfdi ON d.Id = cfdi.Id LEFT JOIN [test_000013].[dbo].[S000001desglosefacturaventa] ds ON d.Id = ds.IdDocumento GROUP BY d.Id ORDER BY d.Id
Una vez que identificaste cuales son las facturas que no tienen desgloses:
---- 1.- Revisamos que los desgloses de las fechas coincidan con los de la factura --SELECT TOP (1000) MIN(Id) minimo, MAX(Id) maximo, SUM(Total) Total -- FROM [test_000013].[dbo].[S000001documentoventa] -- WHERE -- FechaDocumento BETWEEN '2023-08-23' AND '2023-08-24' -- AND Id NOT LIKE 'a03bb0005396' -- SELECT TOP (1000) MIN(IdDocumento) minimo, MAX(IdDocumento) maximo, SUM(Total) Total, COUNT(Id) Renglones -- FROM [test_000013].[dbo].[S000001desgloseventa] -- WHERE -- Caducidad BETWEEN '2023-08-23' AND '2023-08-24' -- AND Estatus = 1 -- AND IdDocumento NOT LIKE 'a03bb0005396' -- 2.- Asignamos el Id de la factura a la venta -- UPDATE [test_000013].[dbo].[S000001documentoventa] --SET IdFactura = '4a0056000026' -- WHERE -- FechaDocumento BETWEEN '2023-08-23' AND '2023-08-24' -- AND Estatus = 1 -- AND Id NOT LIKE 'a03bb0005396' -- -- 3.- Asignamos el Id de la factura a los desgloses venta -- UPDATE [test_000013].[dbo].[S000001desgloseventa] --SET NombreTabla = '4a0056000026' -- WHERE -- Caducidad BETWEEN '2023-08-23' AND '2023-08-24' -- AND Estatus = 1 -- AND IdDocumento NOT LIKE 'a03bb0005396' -- 4.- Insertamos los desgloses de venta en la factura --INSERT INTO [test_000013].[dbo].[S000001desglosefacturaventa] -- SELECT * -- FROM [test_000013].[dbo].[S000001desgloseventa] -- WHERE NombreTabla = '4a0056000026' -- 5.- Asignamos el idDocumento -- UPDATE [test_000013].[dbo].[S000001desglosefacturaventa] --SET IdDocumentoOrigen = IdDocumento, IdDocumento = NombreTabla, NombreTabla = 'facturaventa' -- WHERE NombreTabla = '4a0056000026' -- 6.- Regresamos el NombreTabla a la venta -- UPDATE [test_000013].[dbo].[S000001desgloseventa] --SET NombreTabla = 'venta' -- WHERE NombreTabla = '4a0056000026'
¿Le fue útil este artículo?
¡Qué bueno!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Comentarios enviados
Agradecemos su iniciativa, e intentaremos corregir el artículo