Se modifico la forma en que se consultara el corte de caja, se añadio un campo donde se guardaran campos calculados al momento de cerrar la caja para esto es necesario el siguiente reporte:
SELECT SUM(CASE WHEN desv.ValorIva > 0.0 OR desv.ValorIeps > 0.0 THEN desv.Total ELSE 0 END) AS VentasG, SUM(CASE WHEN desv.ValorIva > 0.0 THEN desv.Total ELSE 0 END) VentasIVA, SUM(CASE WHEN desv.Valorieps >0.0 THEN desv.Total ELSE 0 END) VentasIEPS, SUM(CASE WHEN desv.ValorIVA = 0.0 AND desv.ValorIeps = 0.0 THEN desv.Total ELSE 0 END) VentasTasa0, SUM(desv.Total) VentaTotal, MIN(dv.id) VentaInicio, (SELECT MIN(id) FROM Tabla.documentofacturaventa WHERE FechaDocumento > c.FechaApertura) FacturaInicio, (SELECT MAX(id) FROM Tabla.documentofacturaventa WHERE FechaDocumento > c.FechaApertura) FacturaFin, (SELECT SUM(des.Cantidad) FROM Tabla.desglosesalida des INNER JOIN Tabla.documentosalida ds ON des.idDocumento = ds.id WHERE des.FechaMovimiento > c.FechaApertura AND idEmpresa ='000001') TotalPremios, (SELECT SUM(des.puntos) FROM Tabla.desglosesalida des INNER JOIN Tabla.documentosalida ds ON des.idDocumento = ds.id WHERE des.FechaMovimiento > c.FechaApertura AND idEmpresa ='000001' ) TotalPuntos, MAX(dv.id) VentaFin FROM Tabla.cortecaja c INNER JOIN Tabla.documentocobro dc ON c.Id = dc.IdCorteCaja INNER JOIN Tabla.documentoventa dv ON dv.id = dc.idVentaCompra INNER JOIN Tabla.desgloseventa desv ON desv.IdDocumento = dv.Id WHERE c.Estatus NOT LIKE 0 [AND] [CONDICIONESUSUARIO]
La consulta del corte quedara de la suguiente Manera:
SELECT c.Adicional5 XmlAdicional, *, (Moneda1000*1000) Total1000, (Moneda500*500) Total500, (Moneda200*200) Total200, (Moneda100*100) Total100, (Moneda50*50) Total50, (Moneda20*20) Total20, (Moneda10*10) Total10, (Moneda5*5) Total5, (Moneda2*2) Total2, (Moneda1*1) Total1, (EfectivoRecibido-ConteoEfectivo) FaltanteEfectivo, (conteoTarjetaCredito+conteoTarjetaDebito)-(TarjetaCreditoRecibido+TarjetaDebitoRecibido) TotalTarjetas, (ConteoCheque-ChequeRecibido) TotalCheque, (conteoVale-valeRecibido) ValeTotal, (conteoTransferencia-TransferenciaRecibido) TotalTransferencia, (ConteoMontoTotal-MontoTotalRecibido) TotalFaltante FROM Tabla.cortecaja c WHERE c.Estatus NOT LIKE 0 [AND] [CONDICIONESUSUARIO]
Por ultimo se anexa el formato de impresion del corte de caja.
¿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