Implantación de la recogida en la trastienda basada en el envío en tiendas con gestión de inventario en tienda (SIM)
En las tiendas que están configuradas sin Gestión de inventario de tienda (SIM) habilitada, los asociados de la tienda pueden seleccionar productos disponibles en la trastienda y colocarlos en una ubicación de preparación para que puedan usarse para completar envíos desde la tienda
o recogida en la tienda
. En esta sección se describen las API, los servicios y otros componentes que se utilizan para implementar la selección interna basada en envíos.
Configuración
- La opción Configuración del inventario de la tienda en el Administrador de aplicaciones se establece en SIM no habilitado o se llama a la API
manageOrganizationHierarchycon un valor de00para el atributoStoreInvConfig. - El usuario tiene permisos de recurso para Recogida (BOPIS) o Envío (SFS), es decir,
ISF000001oISF000002. - Para un elemento serializado, el origen externo para la conversión de código de barras debe configurarse con
BarcodeType=“Item”.
Portlet Órdenes de recogida
- El portlet muestra el recuento total e individual de envíos con el estado Preparado para selección interna o Selección interna en curso.
- Se llama a la API getShipmentList y se pasa el estado del envío, el tipo de documento y el método de entrega para obtener el recuento de envíos. El método de entrega se pasa a la API basándose en los permisos de recurso.
- El empleado de tienda también puede explorar el número de orden o el número de envío en el portlet. Durante la exploración, se llama a la API
translateBarCodeconBarCodeType=”StoreOutboundShipment”.- Si se devuelven varias traducciones, se muestra una lista de envíos.
- Si se devuelve una sola traducción y el envío tiene el estado Preparado para selección interna o Selección interna en curso , se visualiza la página Recogida de pedido.
- Si se devuelve una sola traducción y el envío tiene un estado distinto de Preparado para selección interna o Selección interna en curso, se muestra una confirmación y se abre la página Resumen de envío.
- Si la entrada de código de barras no coincide con ningún número de pedido o número de envío, se visualiza un mensaje de error.
Página Lista de pedidos de selección
- Un empleado de tienda puede pulsar los recuentos En curso, No iniciadoo Envíos en el portlet para ver la lista de envíos filtrada en función del estado y del método de entrega. El recuento de Envíos lista los envíos con los estados siguientes:
Ready for backroom pick. Se visualiza el botón Orden de recogida .Backroom pick in progress. Se visualiza el botón Continuar selección
- Al pulsar Elegir o Continuar selección, si el
AssignedToUserIdes diferente del usuario actual, se muestra un mensaje de confirmación. A continuación, el usuario actual puede optar por continuar la recogida o volver a empezar. SiAssignedToUserIdes nulo o el mismo que el usuario actual, se muestra la página Elegir pedido .
- Lista de envíos
- La lista de envíos está paginada. Al desplazarse, se llama a la API
getShipmentListconpageSize: 10para obtener el siguiente conjunto de envíos que se añaden a la lista de envíos existentes. - Si no hay envíos presentes, se muestra un mensaje.
- La lista de envíos se puede ordenar por
ExpectedShipmentDate. La ordenación predeterminada es De más antiguo a más reciente. - La lista de envíos se puede filtrar basándose en el usuario al que se asigna la solicitud de recogida, el estado y el tipo de orden.
- Asignado a lista todos los usuarios de la tienda que ha iniciado la sesión llamando a la API
getUserList. Se utiliza la misma lista de usuarios para visualizar los usuarios bajo Asignado a. - Estado muestra las casillas de verificación Preparado para selección interna y Selección interna en curso .
- La opción para ordenar por Tipo de orden sólo se visualiza para el método de entrega de envío, ya que las órdenes de envío pueden tener un tipo diferente, como por ejemplo Orden de venta y Orden de transferencia.
- Asignado a lista todos los usuarios de la tienda que ha iniciado la sesión llamando a la API
- La lista de envíos está paginada. Al desplazarse, se llama a la API
Flujo de ejecución de órdenes de recogida
- Cuando un empleado de tienda pulsa Elegir o Continuar selección en la página de lista de envíos, se valida el usuario asignado. Esto es para asegurarse de que el usuario actual no empieza a trabajar en ninguna orden de envío que esté recogiendo otro usuario. Una vez iniciada la recogida por un empleado de tienda, se asigna a dicho empleado.
- El ID de usuario asignado se marca en la orden cuando el empleado de tienda inicia la orden de envío pulsando Elegir o Continuar recogida o cuando el empleado de tienda explora el número de orden o el número de envío del portlet.
- Se llama a la API
getShipmentDetailspara obtener elAssignedToUserId, que luego se compara con el usuario actual.- Si
AssignedToUserIdes nulo, se llama a la APIchangeShipmentpara actualizarAssignedToUserIdy se muestra la página Elegir orden . - Si
AssignedToUserIdes el usuario actual, se muestra la página Elegir pedido . - Si
AssignedToUserIdes diferente del usuario actual, se muestra un mensaje para confirmar si el usuario actual desea continuar la recogida o empezar de nuevo.- Si se selecciona Volver a empezar en el mensaje visualizado, se llama a la API
changeShipmentpara actualizar el envío con la información siguiente:- El
AssignedToUserIdse actualiza en el envío. - Para el elemento serializado,
ShipmentTagSerialsse elimina deShipmentLine. BackroomPickedQuantityyStagedQuantityse restablecen en0.
- El
- Si se selecciona Continuar en el mensaje visualizado, se llama a la API
changeShipmentpara actualizarAssignedToUserIden el envío.
- Si se selecciona Volver a empezar en el mensaje visualizado, se llama a la API
- Si
- En la página Pedido de recogida , la línea de envío se muestra con otros detalles como, por ejemplo, el artículo, la cantidad y los productos cortos.
- La lista de productos se visualiza basándose en la secuencia de ubicación de recogida en la línea de envío.
Los atributos
PickLocationyPickLocationSeqen el elementoShipmentLinedeben rellenarse implementando la salida de usuarioYDMBeforeCreateShipmentUE. - La página Elegir pedido lista las líneas de envío junto con la información primaria del producto.
Se llama a la API
getShipmentDetailsygetShipmentLineListconShipmentKeypara visualizar los detalles. Se llama a la APIgetRuleDetailspara saber si la ubicación de transferencia es necesaria o no. - Para productos serializados, se visualiza el enlace Ver series para mostrar la lista de series seleccionadas.
- Para seleccionar un producto, el empleado de tienda puede explorar un producto o número de serie.
Una vez que el empleado de tienda selecciona un producto, se llama a la API
changeShipmentStatuspara actualizar el estado del envío aBackroom pick in progress.Al explorar el producto, se llama a la API
registerBarcodeForBackroomPickpara actualizar la cantidad seleccionada. - La opción Elegir todo se muestra en el menú Acciones de la página Elegir todo . Se llama a la API
changeShipmentcuando se selecciona Elegir todo y se seleccionan todos los elementos no serializados.Nota: La opción Elegir todo sólo se visualiza si el permiso de recursoISF000053está habilitado. - El menú Acciones también muestra la opción Imprimir . La acción para imprimir el envío invoca el servicio
StorePickTicket_94. Puede personalizar las prestaciones de impresión preconfiguradas personalizando este servicio o utilizando los siguientes XML de ejemplo:- /template/prints/ycd/xsl/StorePickTicket_94_multiApi.xsl.sample
- /template/prints/ycd/xsl/StorePickTicket_94_output.xsl.sample
Actualizaciones de cantidad
- El icono de menos reduce la cantidad de recogida en 1 unidad. Se llama a la API
changeShipmenten la línea de envío y se actualiza la línea de envío. - El icono más aumenta la cantidad de recogida en 1 unidad. Se llama a la API
changeShipmenten la línea de envío y se actualiza la línea de envío. - Cuando la cantidad se especifica manualmente, en función de si la cantidad aumenta o disminuye, se llama a la API
changeShipment.
- El icono de menos abre la ventana Eliminar serie. El empleado de tienda puede explorar el número de serie y se marca como no seleccionado. Después de la exploración, se llama a la API
translateBarCode. Si es satisfactorio, se actualiza la línea de envío. - El recuadro de edición de cantidad y los iconos más están inhabilitados ya que los números de serie se deben explorar o especificar en el campo de exploración para que se marquen como seleccionados o eliminados.
Registrar escasez
- Si el inventario está dañado o es corto, el empleado de tienda puede marcarlo como corto.
- La razón de escasez que se proporciona de forma predeterminada es
Inventory Shortage. También puede configurar razones de escasez personalizadas para especificar las razones adecuadas al registrar la escasez. La razón de escasez personalizada se maneja de la misma forma queInventory Shortage. Si desea que las razones de escasez personalizadas se manejen de forma diferente, debe personalizar para implementar su propia lógica. - El empleado de tienda tiene que seleccionar una razón para marcar la solicitud de recogida como corta. Las razones se listan llamando a la API
getCommonCodeListconCodeType=.YCD_PICK_SHORT_RESOL
- Una vez que el asociado selecciona una razón, se llama a la API
changeShipmenten la línea de envío conShortageQtyy se actualiza la cantidad de escasez en la línea de envío. El mashup de escasez de registros llama internamente a la APIchangeOrderpara añadir notas de escasez de registros en la línea de pedido. - Cuando se recoge o se acorta cualquier producto, se realiza una comprobación para saber si el envío se ha recogido completamente o si se ha registrado una escasez.
Si está completamente abreviado, el envío se cancela, se visualiza un mensaje de aviso y se visualiza la página Resumen de envío .
Si el pedido se selecciona completamente, pero incluye algunas carencias, si la regla
WSC_BP_STG_REQDse establece enY, se visualiza la ventana de ubicación de transferencia.
Ventana Asignar ubicación de transferencia
- Cuando se abre la ventana Asignar ubicación de transferencia , se llama a la API
getRuleDetailspara obtener los detalles de la regla de conversión de código de barrasStagingLocation. - Si la regla
WSC_BP_STG_TRAN_REQDse establece enY, en el escaneo, se llama a la APItranslateBarcodecon el origen comoHoldLocation. - Cuando se pulsa Terminado en la ventana Asignar ubicación de transferencia , se llama a la API
changeShipmentpara actualizar la ubicación de retención en el envío. - A continuación, se llama a la API
getShipmentLineListpara validar el envío para la recogida completa. Esto llama internamente achangeShipmentStatuspara mover el envío al siguiente estado basándose en el método de entrega. - Una vez completada la selección interna, se visualiza la pantalla Resumen de envío .