Agregar desgloses a la factura generada desde ventas

Modificado el Fri, 15 Sep 2023 a las 08:31 AM

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

¡Díganos cómo podemos mejorar este artículo!

Seleccione al menos una de las razones

Comentarios enviados

Agradecemos su iniciativa, e intentaremos corregir el artículo