DEV_VENTAS_11_Error en neteo de productos al realizar devolución - Manuales
Manuales POS
Audiencia
Este documento está pensado para ser consumido por los equipos de:
Soporte Farmax OR (Niveles 1 y 2)
Equipo de desarrollo TI (Farmacias del Ahorro y proveedor externo)
Descripción general
7506306247499
EGO FOR MEN GEL 200ML
DESOD NIVEA SILVER PROTECT HOM 150 4005808305766
DESOD NIVEA MEN 150 5709 4005900495709

Al iniciar el proceso de devolución es necesario capturar el folio de la venta a devolver para obtener su información, una vez se ha capturado la venta se procede a ingresar los SKUs de los artículos correspondientes, si el artículo capturado cuenta con una promoción, es requerido escanear todos los artículos con el mismo SKU y todos los artículos que tengan promoción (aunque no tengan el mismo SKU y tengan una promoción distinta), en esta parte del flujo de devoluciones aún no se persiste la devolución.
El flujo de devoluciones se lleva a cabo actualizando y persistiendo información en distintos pasos:
- Se solicita el folio de venta y los productos a devolver.
- Se ingresan los SKUs de los artículos a devolver.
- Se crea el folio de devolución con el estado de “N” y se persiste en la base de datos.
- Se solicitan los montos de devolución.
- Se solicita el motivo de devolución.
- Se actualiza la devolución al estado de “R”, se procesan y persisten los métodos de pago, si todos fueron aplicados se actualiza el estado de la devolución a “A”.
- Se actualiza el estado de la transacción al estado “D” si todos los productos de la transacción fueron devueltos.
Adjunto se encuentra un documento de nombre Devolucion - ingreso de datos - diagrama de secuencia.drawio.png donde es posible apreciar mejor parte de este flujo.
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.
Procedimiento de diagnóstico
El error ocurre en el paso (2) del flujo, se da al intentar devolver una transacción con más de una promoción en distintos SKUs, ocurre al ingresar el segundo SKU con promoción. Se intenta realizar la devolución múltiples veces en las que se obtiene el mismo mensaje de error, como evidencia se puede consultar el log adjunto 20231206_FARMAX_TILL_SERVER_CORE.XLOG , desde la línea 4 hasta la línea 19, donde se expresa que ocurrió un error al netear los productos, esto ocurre 6 veces:
El error ocurre en PromotionsRefoundManager, en la línea 317:

En la siguiente figura se puede observar parte de los motivos del fallo:

- Se utiliza el detalle de la venta después de un mapeo (realizado en RefundManager.ConvertDetailsToPriceCalculateItems() ).
- Se realiza una unión con la lista de artículos que han sido ingresados por el usuario hasta el momento.
- Se agrupa por una serie de campos, incluyendo “LoyaltyProgram”.
- Se suman las cantidades (Quantity) en las agrupaciones, causando que algunas lleguen a 0.
- Se filtran de la lista los elementos con una cantidad (Quantity) de 0.
El error ocurre porque la propiedad LoyaltyProgram proveniente de los artículos del usuario se encuentra con el valor de “null” pero su elemento correspondiente en el detalle de la venta tiene la propiedad de LoyaltyProgram con el valor de “” (cadena vacía), aunque realmente no haya tenido una promoción.
Posibles causas
- Error de mapeo de datos
Procedimiento de solución
- Es posible resolver este problema sustituyendo el código que realiza el mapeo en la clase RefundManager en el método ConvertDetailsToPriceCalculateItems , asignando el valor original proveniente de la base de datos, en lugar de asignar un valor por defecto, el código original es el siguiente:

Por este:

Esto hará que la información proveniente de la base de datos y la información ingresada por el usuario sean congruentes.
Validación
No aplica
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.
Incidencias relacionadas
INC 2024-014336
Glosario
Revisa el glosario del equipo de soporte de Farmacias del ahorro aquí
タグ
|
最近
VENT_MON_02_Evento con Monedero 2024/06/05
DEV_VENTAS_04_Validación devolución 2024/06/05
VENT_SAD_06_Linzaug 4 mg promoción de 4+1 2024/04/17
DEV_VENTAS_10_No permite realizar devolución 2024/04/05
|
もっとも人気のある
|