Manuales POS



REPORTES_01_Generacion reporte de uso monedero

Audiencia 

Este documento está pensado para ser consumido por los equipos de:

  1. Soporte Farmax OR (Niveles 1 y 2)

  2. Equipo de desarrollo TI (Farmacias del Ahorro y proveedor externo)

 

Descripción general

EVENTO GENERACION REPORTES

Sucursal + ID

 CELAYA CLCE

Número de Sucursal

 0197

Nombre del Reporte

 Emmanuel Yerena Uribe

Ruta del Reporte

Reporte de uso de monedero por cajero

Que error marca

 Se están duplicando el uso del monedero con varios UNIs. 

 

 

 

 Si nos pueden apoyar a que el sistema sincronice y baja la información correctamente.

 

 

Fecha:

 08/02/2024

parámetros ingresados

 

 

Adjunto imagen


 

Interfaz de usuario gráfica, Texto, AplicaciónDescripción generada automáticamente

Impacto a la operación

El impacto de la operación es medio en virtud de que la operación no se ve comprometida por esta incidencia.

Criticidad

Alto

 

Medio

X

Bajo

 

 

Sistemas/módulos involucrados

POS

 

Precondiciones 

Aquí se debe especificar el nivel de acceso requerido por cada sistema (aplicativo o base de datos), indicando el rol o perfil necesario para para el diagnóstico y/o solución del incidente.

 

POS

Usuario: 

Contraseña: 

 

Procedimiento de diagnóstico

Se valida la información que se obtiene en el reporte de Monedero, el siguiente query es el que genera el reporte.

SELECT codigoTurno,fechaOperacion,codigoCajero,
COUNT(idTransaccion) AS totalFolios,
SUM(CASE WHEN totalConMonedero>0 THEN 1 ELSE 0 END) AS totalConMonedero,
SUM(CASE WHEN totalSinMonedero>0 THEN 1 ELSE 0 END) AS totalSinMonedero,
SUM(montoTotal) AS montoTotal,
SUM(montoConMonedero) AS montoConMonedero,
SUM(redencion)/SUM(montoTotal) AS redencion
FROM (
SELECT TX.idTransaccion,
TUR.codigoTurno,TUR.fechaOperacion,TX.codigoVendedor as codigoCajero,
COUNT(CASE WHEN TX.folioMonedero!='' AND TX.folioMonedero IS NOT NULL THEN 1 ELSE NULL END) AS totalConMonedero,
COUNT(CASE WHEN TX.folioMonedero='' OR TX.folioMonedero IS NULL THEN 1 ELSE NULL END) AS totalSinMonedero,
SUM(TX.subtotal+TX.iva) AS montoTotal,
SUM(CASE WHEN TX.folioMonedero!='' AND TX.folioMonedero IS NOT NULL THEN TX.subtotal+TX.iva ELSE 0 END) AS montoConMonedero,
SUM(CASE WHEN DET.codigoFormaPago IN (14,99996) THEN DET.importePago ELSE 0 END)/SUM(TX.subtotal+TX.iva) AS redencion --> Forma de pago de MONEDERO
FROM trnTransaccionesCab TX with (nolock)
INNER JOIN genMovimientosCajasCab CAJA with (nolock) ON TX.codigoMovimientoCaja=CAJA.codigoMovimientoCaja
INNER JOIN venTurnosCajaReg TUR with (nolock) ON CAJA.codigoTurno=TUR.codigoTurno
INNER JOIN genMovimientosCajasDet DET with (nolock) ON CAJA.codigoMovimientoCaja=DET.codigoMovimientoCaja
LEFT JOIN genPedidoCallcenter PC with (nolock) ON TX.idTransaccion = PC.idTransaccion
WHERE TX.codigoSucursal= '0197'
AND TX.idFechaOperacion = CAJA.idFechaOperacion
AND TX.[status] IN('V','F')
AND TX.tipoVenta='C'
AND CAJA.tipoMovimiento='I'
AND CAJA.codigoSucursal = TX.codigoSucursal
AND CAJA.fechaOperacion = TUR.fechaOperacion
AND TUR.idFechaOperacion = CAJA.idFechaOperacion
AND TUR.codigoSucursal = CAJA.codigoSucursal
AND TX.idTransaccion NOT IN (
SELECT idTransaccion FROM trnTransaccionesDet TXIN with (nolock)
INNER JOIN genProductosCat P with (nolock) ON TXIN.codigoProducto=P.codigoProducto
WHERE P.tipoProducto IN ('R','E')
)
AND ('20240208' <= TUR.fechaOperacion)
AND ('20240208' >= TUR.fechaOperacion)
--AND (( @TIPODEVENTA = 1) OR (@TIPODEVENTA = 2 AND ordenCc IS NULL) OR (@TIPODEVENTA = 3 AND ordenCc IS NOT NULL))
GROUP BY TX.idTransaccion,TUR.codigoTurno,TUR.fechaOperacion,TX.codigoVendedor
) AS trsansactionResult
GROUP BY codigoTurno,fechaOperacion,codigoCajero;



 

Una vez obtenido el resultado visualizamos dos campos los cuales son;

  1. TotalConMonedero

  2. TotalSinMonedero

 

Referente a esto también muestra información del código de las transacciones, el código de de turno que realizo la venta, la fecha operación, el monto total de lo que se pagó de la venta, etc.

 

TablaDescripción generada automáticamente

 

Vemos que en el campo TotalConMonedero su valor puede cambiar de 1 a 2 para esto vamos a validar la información.

  1. Tomamos el dato IdTransaccion y obtenemos el folio de venta ‘49127E51-D6C6-EE11-B279-10E7C6B8A75E’, realizamos una consulta hacia la tabla trnTransaccionesCab y filtramos por idTransaccion.

  2. Una vez obtenido el folio de venta V01972100017141, ejecutaremos el siguiente query.

 

use POSDB_OR
declare @id uniqueidentifier
declare @idDev uniqueidentifier
declare @folio varchar(max) 
declare @promoId int
--select * from genProgramaLealtadBitacoraReg  (nolock) where foliotransaccion in ('V22622100001715' ,'V15632200006592')
--and idTransaccion in( 'DF92A4E4-BE75-EE11-8EA6-DC4A3E66F59D','DED81CA9-C688-EE11-89B2-A0481CA47B2D')
--select top 1 * from genpromociones  (nolock) where codigopromocion = 88924
select @id = idtransaccion, @folio = folioTransaccion from trntransaccionescab(nolock)where foliotransaccion = 'V01972100017141'
select @promoId = codigopromocion from genVentasPrecioModificacion(nolock)where idtransaccion = @id
select 'trnTransaccionesCab',* from trnTransaccionesCab(nolock) where idTransaccion = @id
select 'trntransaccionesdet',* from trntransaccionesdet(nolock) where idTransaccion = @id
select 'genMovimientosCajascab',* from genMovimientosCajascab(nolock) where codigomovimientocaja in (select codigomovimientocaja from trntransaccionescab(nolock) where idtransaccion = @id)
select 'genMovimientosCajasdet',* from genMovimientosCajasdet(nolock) where codigomovimientocaja in (select codigomovimientocaja from trntransaccionescab(nolock) where idtransaccion = @id)
--select 'genMovimientosCajasdet',* from genMovimientosCajasdet(nolock) where codigomovimientocaja in ('B88A6E5B-72A2-ED11-B23B-922F48335A02')
select 'genMovimientosCajasMsiDet',* from genMovimientosCajasMsiDet(nolock) where codigomovimientocaja in (select codigomovimientocaja from trntransaccionescab(nolock) where idtransaccion = @id)
--select 'genMovimientosCajasMsidet',* from genMovimientosCajasMsidet(nolock) where codigomovimientocaja in (select codigomovimientocaja from trntransaccionescab(nolock) where idtransaccion = @id)
SELECT 'venturnoscajareg',* FROM venturnoscajareg(nolock) WHERE codigoTurno IN (select codigoTurno from genMovimientosCajascab(nolock) where codigomovimientocaja in (select codigomovimientocaja from trntransaccionescab(nolock) where idtransaccion = @id))
select 'genFormasPagosElectronicas',* from genFormasPagosElectronicas(nolock) where folioventa = @folio order by fechaActualizacion
select 'genVentasPrecioModificacion',* from [dbo].[genVentasPrecioModificacion](nolock) where idtransaccion = @id
--select 'genPromociones', * from genPromociones where codigopromocion = @promoId
select 'trnRecompensasProgramaLealtad',* from [dbo].[trnRecompensasProgramaLealtad](nolock) where idtransaccion = @id
select 'genProgramaLealtadBitacoraReg',* from genProgramaLealtadBitacoraReg  (nolock)  where idtransaccion = @id
SELECT 'genRecetasTransacciones',* FROM genRecetasTransacciones(nolock) where idTransaccion = @id
select 'genRecetasCab',* from genRecetasCab(nolock) where codigoReceta IN (SELECT codigoReceta FROM genRecetasTransacciones(nolock) where idTransaccion = @id)
select @idDev = idVenDevoluciones from venDevolucionesCab(nolock) where idTransaccionVenta = @id
select 'venDevolucionesCab',* from venDevolucionesCab(nolock) where idTransaccionVenta = @id
select 'venDevolucionesDet',* from venDevolucionesDet(nolock) where idVenDevoluciones IN (select IdVenDevoluciones from venDevolucionesCab(nolock) where idTransaccionVenta = @id)
select 'genMovimientosCajascab',* from genMovimientosCajascab(nolock) where codigomovimientocaja in (select codigomovimientocaja from venDevolucionesCab(nolock) where idTransaccionVenta = @id)
select 'genMovimientosCajasdet',* from genMovimientosCajasdet(nolock) where codigomovimientocaja in (select codigomovimientocaja from venDevolucionesCab(nolock) where idTransaccionVenta = @id)
select 'genFormasPagosElectronicas',* from genFormasPagosElectronicas(nolock) where folioventa IN ( select folioDevolucion from venDevolucionesCab(nolock) where idTransaccionVenta = @id) order by fechaActualizacion

 

Este es el resultado obtenido 

 

Interfaz de usuario gráfica, AplicaciónDescripción generada automáticamente


 

Procedimiento de solución

Se validó diferentes ventas donde el reporte contabiliza dos veces el monedero al igual cuando solo se contabiliza una sola vez.

El folio monedero genera un duplicado porque se toma la información de 2 tablas diferentes.

1-. Es de la tabla trnTransaccionesCab y toma en cuenta si el cliente registro su folio monedero.

2-. El segundo registro lo obtiene de la tabla genMovimientosCajasDet donde valida si el cliente realizo un pago con monedero.

Con esto vemos que la información puede tomarse 1 o 2 veces hacia el monedero y va depender del tipo de transacción que se haya realizado y del tipo de movimiento que realice el cliente.

Notificación de resolución

Especificar la lista de usuarios que deben ser notificados al momento que se ha confirmado la resolución de la incidencia.

Incidencia relacionada

INC 2024-056457

Glosario

Revisa el glosario del equipo de soporte de Farmacias del ahorro aquí

Descrição
INC 2024-056457
Categoría: REPORTES
Marcadores
monedero reportes
Mais Recente
Recuperación de Datos de Sistema operativo dañado Anterior