Implementación de la recogida por lotes
Un empleado de tienda puede recoger un lote de productos disponibles en la sala de espera y colocarlos en una ubicación de transferencia para despachar el envío de la tienda o la recogida en los envíos de la tienda.
La tarea de recogida por lotes se implementa con la ayuda de API, servicios y otros componentes.
Supuestos
- Se presupone que el empleado de tienda tiene permisos para seleccionar al menos uno de la recogida en línea de compra en la orden de tienda o enviar desde la orden de tienda.
- Los pasos de configuración de requisito previo para una recogida por lotes deben completarse. Para obtener más información sobre las configuraciones para la tarea de selección en trastienda, consulte Configurar la selección por lotes.
Solución
- Portlet de selección
- El portlet Órdenes de recogida tiene un botón Elegir lotes . Este botón es visible para un usuario de tienda con permiso de recurso de recogida por lotes ISF000043.
- La pantalla Lista de lotes se visualiza al pulsar el botón Elegir lotes .
- Pantalla Lista de lotes
- La pantalla Lista de lotes muestra la lista de lotes segregados en distintas pestañas según el tipo de orden, es decir, el tipo de orden de recogida y envío.
- La creación por lotes es un proceso de fondo que se puede planificar y ejecutar a intervalos regulares, por ejemplo, una vez al día. Las configuraciones por lotes controlan cómo se crean los lotes.Nota: Puede tener configuraciones de lote a nivel de tienda.
- No se crean ni se listan lotes si los criterios de recogida por lotes no están configurados o planificados.
- Los lotes se muestran en diferentes fichas en función de los tipos de orden, es decir, se envían desde la tienda o se compran en línea y se recogen de los pedidos. Si un lote contiene tipos de orden mixtos, los lotes se visualizan bajo una ficha. La lista muestra el tipo de orden para lotes mixtos.
- Un empleado de tienda puede ver la lista de lotes existentes y lotes completados de las últimas 24 horas y nuevos lotes basados en la configuración.Nota: Los nuevos lotes deben ser lotes de borrador.
- Los lotes se listan de forma que el lote con las órdenes SLA más altas siempre aparecen en la parte superior.
- De forma predeterminada, la pantalla Lista de lotes lista los lotes
Ready for picking,Picking in progressyNew. - Un empleado de tienda puede filtrar lotes, en la interfaz de usuario, basándose en
Assigned to user,Zones,CategoriesyStatus. - Los detalles de lote como
Batch ID,Status,Number of orders,Products,Zone,CategoryySLAse muestran en la interfaz de usuario. - Los criterios de lote personalizados también se muestran en la interfaz de usuario junto con
ZoneyCategory. - Un empleado de tienda empieza a recoger el lote pulsando el botón Elegir . El lote
DRAFTse confirma en esta etapa y pasa al estadoNOT_STARTEDy también se asigna al empleado de tienda que ha iniciado la sesión.Nota:- Si el lote ya está confirmado por un empleado de tienda diferente, se visualiza una ventana de confirmación que solicita confirmación para continuar recogiendo el lote.
- El atributo
AssignedToUserIdenPick Requestno se actualiza.
Batch IDes un enlace en el que se ha pulsado muestra la pantallaBatch summary.Tabla 1. Entradas API Entrada de API Descripción /stores/{storeId}/v1/batch:summary?group_by=deliveryMethod&status=DRAFT,NOT_STARTED,IN_PROGRESS,PICKED,DEPOSIT_IN_PROGRESS/COMPLETEDAPI de resumen para visualizar el recuento de lotes basándose en el método de entrega o el estado, una llamada GET./:tenantId/v1/stores/:storeId/batch-picksUna API GETno paginada para obtener la lista de lotes./{tenantId}/v1/stores/zonesUna API de GETpara obtener las zonas de una tienda./{tenantId}/v1/stores/product-categoriesUna API de GETpara obtener las categorías de producto./{tenantId}/v1/stores/{storeId}/batch-picks/{batchPickId}/confirmUna API de POSTpara confirmar lotes de borrador./{tenantId}/v1/stores/{storeId}/batch-picks/{batchPickId}Cuerpo de la solicitud:
[ { "op": "add", "path": "/assignedToUserId", "value": "amgr" } ]Una API de PATCHpara marcar el usuario en un lote.
- La creación por lotes es un proceso de fondo que se puede planificar y ejecutar a intervalos regulares, por ejemplo, una vez al día. Las configuraciones por lotes controlan cómo se crean los lotes.
- Pantalla Resumen de lotes
- La pantalla Resumen de lote muestra la visión general de los lotes, el estado del lote, asignado al usuario y la fecha de envío prevista. También puede ver los productos y pedidos que pertenecen a un lote.
- La pantalla Resumen de lote muestra la información de cabecera de lote junto con los detalles de productos y pedidos.
- La pantalla Resumen de lotes tiene las tareas relacionadas con la selección de
StartoContinue batchjunto con las tareasPrint batchyReset batch.
- Ejecución de recogida por lotes para
Ordenar después de recogida
- El flujo de ejecución de recogida por lotes tiene tres pantallas:
- Pantalla Recoger
- Pantalla Finalización de recogida o intermedia
- Pantalla Depósito
- Cuando el empleado de tienda pulsa el botón Elegir o Continuar o Ver resumen en la pantalla Lista , el usuario pasa a la pantalla adecuada en el flujo basándose en el estado del lote. La validación de
assignedToUsergarantiza que el usuario actual no inicie ningún lote que ya esté en curso por otro usuario. Se llama aGETonbatch-picks/<batchId>para obtener elassignedToUseractualizado y se compara con el usuario actual. SiassignedToUseres nulo, se llama a la APIbatch-picks/<batchId>para actualizarassignedToUsery se abre la pantalla de ejecución de selección.- Si
assignedToUseres el mismo que el usuario actual, se abre la pantalla de ejecución de recogida. - Si
assignedToUserno es el mismo que el usuario actual, se abre una ventana para confirmar si el usuario actual desea continuar o no.
- Si
Pantalla Recoger
- La pantalla Recogida lista los productos que deben seleccionarse en un lote agrupado por la ubicación de origen desde donde deben seleccionarse los productos. La lista se genera con la ayuda de la secuencia de ubicación para optimizar la vía de acceso transversal para la recogida.
- Se llama a
GETonBatch stores/<<StoreID>>/batch-picks/<<BatchID>>?fields=pickTaskspara visualizar las tareas de recogida por lotes en la interfaz de usuario. - Las tareas de recogida por lotes se combinan basándose en la combinación
ItemyLocationpara un almacén de varias ubicaciones. Para una única ubicación y sin tienda de ubicación, las tareas de recogida se combinan basándose enItem. ItemIDyUOMson una combinación exclusiva para identificar el elemento. Incluso los atributos de inventario comoInventoryStatusyProductClassse tienen en cuenta al agregar las tareas de selección.- La ventana emergente
Included in Ordersmuestra el producto que pertenece a varios pedidos en un lote y también la cantidad en cada pedido. - En el caso de un inventario con seguimiento de serie, la ventana emergente
View serialsmuestra la lista de series seleccionadas. - La pantalla Recogida lista los productos con información primaria que deben seleccionarse en un lote agrupado por
Source locationde donde deben seleccionarse los productos. - Se llama a la API
GETparaBatchIDconFieldscomoPickTaskspara visualizar los datos en la interfaz de usuario. - En la salida de la API,
batchPickTaskses la agregación de tareas depickpara una combinación exclusiva deItemyLocation. Las tareas depickse combinan basándose en la combinaciónItemyLocationpara un almacén de varias ubicaciones. Sin embargo, para una única ubicación y sin tienda de ubicación, las tareas de recogida se combinan basándose enItem. ItemIDyUOMes una combinación exclusiva para identificar el elemento. Incluso los atributos de inventario comoInventoryStatusyProductClassse tienen en cuenta al agregar las tareas depick.- En la capa
Mashup, esta salida de API se modifica para agrupar las tareas depickmediantesourceLocationIdy también para marcar los detalles del elemento en las tareas depick. - La ventana emergente Incluido en pedidos muestra la división de pedidos a la que pertenece un producto y también la cantidad en cada pedido. Estos atributos se calculan en la capa de mashup.
- La ventana emergente Ver series muestra la lista de series seleccionadas.
- Se realiza una llamada
getpara obtener los detalles de la API.
Flujo de exploración
Los productos de un lote se registran como recogidos cuando un empleado de tienda explora por primera vez la ubicación de recogida y, a continuación, explora el producto.- El campo de exploración de entrada se puede utilizar para explorar tanto la ubicación como el producto. Si
IS_LOC_SCAN_MANDATORY=Y, la exploración de la ubicación es obligatoria antes de una exploración del producto. - Al explorar un código de barras, se llama a la API
translateBarCodeconBarCodeType=StoreItemOrLocation.Nota:BarCodeTypepara una única tienda de ubicación y una tienda agnóstica de ubicación seráItem. - Cuando se explora una ubicación, el sistema la establece como una ubicación explorada o actual.
- Cuando se explora un elemento, y si la API
translateBarCodedevuelve una conversión válida, se llama a la APIpickpara registrar la recogida del elemento. Se llama a la APIpickconItemexclusivo y detalles de ubicación de la exploración anterior. - Si una exploración de ubicación es obligatoria, los iconos menos (-) y más (+) y las unidades de actualización de cantidad sólo se pueden pulsar cuando se explora una ubicación. Las operaciones se realizan sólo si la ubicación explorada coincide con el origen de la tarea de selección
LocationId - Un empleado de tienda puede deshacer la selección pulsando menos (-) en el panel de producto.
- Al pulsar +, se llama a la API PICK y al pulsar-, se llama a la API
UNDO-PICK.
Explorar un elemento no serializado- Al pulsar el botón, la cantidad seleccionada se reduce en una unidad. Se llama a la API
UNDO-PICKy se actualiza la tarea de recogida. - Al pulsar el botón +, la cantidad seleccionada se incrementa en una unidad. Se llama a
PICK APIy se actualiza la tarea de selección. - Cuando se edita la cantidad, se llama a las API
PICKoUNDO-PICKen función de si se añade o se reduce la cantidad.
Explorar un elemento serializado- Al hacer clic en el botón se abre una ventana para eliminar el elemento. El empleado de tienda explora el número de serie y se marcará como no seleccionado. Se llama a la API
translateBarCodeconBarCodeType=SIMSerial. Si es satisfactorio, se llama a la APIUNDO-PICKpasando el número de serie. - La cantidad no se puede editar especificando el número de unidades. Los números de serie deben explorarse o escribirse en el campo de exploración para marcarlos como seleccionados o eliminados.
- El campo de exploración de entrada se puede utilizar para explorar tanto la ubicación como el producto. Si
Ejecución de selección
Las siguientes reglas de tienda y configuración se leen desde el contexto de aplicación para determinar si la ubicación de exploración es obligatoria y también si la tienda es única o múltiple o no hay ninguna tienda de ubicación:- Las reglas
IS_SINGLE_LOC_STOREyIS_LOC_SCAN_MANDATORYde las reglas de Gestión de Inventario de Tiendas. - El distintivo
inventoryTrackedde la configuración de Sterling Store Engagement .
Flujo de exploración para almacén de varias ubicaciones
- El campo de exploración de entrada se puede utilizar para explorar
locationyproduct. SiIS_LOC_SCAN_MANDATORY=Y, la exploración de la ubicación es obligatoria antes de una exploración del producto. - Se llama a la API
translateBarCodeconBarCodeType=StoreItemOrLocation. - Si el código de barras escaneado es válido y es un
location, el panellocationse resalta y tambiéncurrentLocationenPickel contexto se establece en la pantalla. - Cuando se explora el elemento, y si la API
translateBarCodedevuelve una conversión válida o única, se llama a la APIPICKpara registrar la recogida del elemento. Este elemento está pasando atributos exclusivos deItemy también detalles delocationdel escaneo anterior. - Esta API
PICKidentifica elpickTaskque se debe actualizar basándose en el SLA o criterios de clasificación que se han configurado como parte de la configuración por lotes. - Después de cada llamada
PICK, la listaPick Tasksse actualiza con la tareaPick. - Después de cada llamada
PICK, se comprueba el estado deBatch statusparaPICKED. Si el estado esPICKED, el usuario pasa a la pantalla Recogida de finalización . - El empleado de tienda puede deshacer la selección pulsando menos (-) en el panel del producto. El uso de los botones + y - en el panel del producto llama a la API
PICKyUNDO-PICKdirectamente desde la interfaz de usuario.Nota: EstablezcaBarCodeType=Itemsi la exploración de ubicación no es obligatoria o si las ubicaciones no se mantienen en la tienda. translateBarCodeentrada<BarCode BarCodeData="" BarCodeType="StoreItemOrLocation" DisplayLocalizedFieldInLocale="xml:CurrentUser:/User/@Localecode" pickRequestId="" isLocationScanMandatory=""> <ContextualInfo EnterpriseCode="xml:CurrentStore:/Store/@EnterpriseCode" OrganizationCode="xml:CurrentStore:/Store/@EnterpriseCode" Node="xml:CurrentStore:/Store/@ShipNode"/> <LocationContextualInfo SIMLocationId=""/> </BarCode>
- El campo de exploración de entrada se puede utilizar para explorar
Registro de escasez y ubicación alternativa
- Un empleado de tienda puede elegir seleccionar de una ubicación alternativa si el inventario que se necesita no está disponible en la ubicación de origen sugerida.
- Si el producto no está disponible en ninguna ubicación alternativa, el empleado de tienda puede registrar la escasez.
- Cuando un empleado de tienda elige una ubicación alternativa de la ventana emergente
Alternate Location, se llama a la APIExceptionpara crear unAlternate taskcon la ubicación recién elegida. - Cuando se selecciona la ubicación
Alternate, la pantalla Elegir se renueva completamente para mostrar la nueva tarea generada. - Se llama a la misma API de excepción para registrar la escasez.
- Después de
Pick,Undo PickoShort, se llama a la solicitudGetBatch picky se compruebabatch status. Si el estado espicked, se visualiza la pantalla Recogida completada . Si el estado escanceled, se visualiza la pantalla Resumen de lote . - Al pulsar el botón Continuar , se muestra la página Completar selección o Intermediar .
- Si el inventario está dañado o hay una escasez de inventario, un empleado de tienda debe comprobar si el inventario está disponible en cualquier otra ubicación de la tienda antes de marcarlo como corto. Pulse Ubicación alternativa para ver otras ubicaciones.
- Se llama a la API
GETalternate-source-locations para obtener las ubicaciones alternativas de una tarea de picking. La API devuelve la lista de ubicaciones que pueden satisfacer las unidades restantes. Si las unidades restantes no se pueden cumplimentar, devolverá las ubicaciones con las unidades de inventario disponibles. - Si no hay ubicaciones con inventario disponible, el empleado de tienda puede registrar una escasez. También deben seleccionar la razón para elegir una ubicación diferente o registrar una escasez. Los motivos se enumeran llamando a la API de códigos de excepción.
- Una vez que el empleado de la tienda selecciona una ubicación alternativa y un motivo, se llama a la API de excepciones en una tarea de
PICKy se crea un objeto de excepción en la tarea de recogida. Si otra ubicación tiene el inventario necesario, se crea una nueva tarea de recogida con la ubicación alternativa dada comosourceLocationIdy la cantidad se actualiza como las unidades restantes o disponibles. La cantidad en la tarea de recogida original se reduce. Si la ubicación alternativa no está disponible, se actualiza la cantidad insuficiente en la tarea de recogida. - Si todos los productos de un lote se registran cortos, el lote y el envío se cancelan.
- Las reglas
- Recogida parcial de lote
- Si un empleado de tienda no puede recoger todos los productos de un lote, puede elegir dividir el lote. Se llama a la API de división para mover los productos no recogidos a un nuevo lote.
- Un empleado de tienda puede continuar depositando los productos seleccionados una vez que la división se haya realizado correctamente.
Finalización de recogida o página intermedia
Cuando se seleccionan todos los productos de un lote, el usuario pasa a la pantalla Completar recogida .- Cuando la recogida se ha completado en la pantalla Recogida , se muestra al usuario un diálogo satisfactorio, en el que se reconoce qué usuario se lleva a la pantalla Recogida completada .
- De forma alternativa, el empleado de tienda pulsa el botón Continuar en la pantalla Elegir para ir a la página Completar selección .
- Si
StatusesNOT_STARTED, se muestraWarning dialog. - Si
StatusesPICKED, se visualiza la pantalla Elegir finalización . - Si
StatusesIN_PROGRESS, se muestra el avisoDo you want to pick the unpicked items in another batch?. SiYes, se llama a la APISplit. Después de completar correctamente la división, se visualiza la pantalla de finalización de recogida ; de lo contrario, se genera un error. - La API de división necesita leer la configuración de lote para ver si la orden se puede dividir entre lotes. Si la configuración es falsa o una orden se ha seleccionado parcialmente, la API genera un error. El error contiene los
pickRequestsypickTasksque se seleccionan parcialmente. - Si la regla
AUTO_STAGE_PRODUCTSestá habilitada, se llama a la APIpreferencespara establecer la ubicación de AutoStaging para cada DeliveryMethod. - La pantalla Finalización de recogida lee la regla
AUTO_STAGE_PRODUCTSy una nueva configuración de tienda que se añade para especificar la ubicación de transferencia se utiliza paraAUTO_STAGING. Esta configuración es para una combinaciónDelivery methodyDocument Type. - Asignar todo es una opción que está controlada por permisos de recursos.
- La ubicación de transferencia en
Pick Requestno se tiene en cuenta durante la recogida por lotes. - Al pulsar Finalizar lote deposita todos los productos en la ubicación configurada o predeterminada, el lote pasa al estado
Completedy el usuario pasa a la pantalla Resumen de lote . - Al pulsar Continuar se lleva al usuario a la pantalla Depósito .
- Al pulsar Asignar todo se abre la ventana emergente Asignar ubicación de transferencia . Después de elegir la ubicación de transferencia, se llama a la API
Deposit-all, el estado del lote se actualiza utilizando la APIupdatey el usuario se lleva a la pantalla Resumen de lote . Asignar todo
- Todos los productos seleccionados se depositan en una ubicación utilizando la opción Asignar todo . Este botón está controlado por permisos de recursos.
- Al pulsar Asignar todo se abre una ventana emergente selección de ubicación .
- Se llama a la API translateBarCode con
BarCodeType="HoldLocation"y cuando la traducción tiene éxito, se llama a la APIdepositAll. El estado de lote se mueve aDEPOSIT_IN_PROGRESS. - Después de que el depósito se haya realizado correctamente, se llama a la API
Updatepara mover el estado del lote aCOMPLETED.
- Ordenar al transferir
- Un empleado de tienda puede navegar a la pantalla
Depositpara clasificar los productos seleccionados en diferentes órdenes y clasificarlos.
- Un empleado de tienda puede navegar a la pantalla
- Transferencia automática
- La pantalla de finalización de picking lee la regla
AUTO_STAGE_PRODUCTSllamando aGETon rules y pick-preferences APIs para leer una ubicación de puesta a disposición automática. - Un empleado de tienda puede transferir automáticamente todos los productos seleccionados pulsando el botón Finalizar lote . Se llama a la API
deposit-allpara registrar el depósito de todos los productos recogidos y el estado del lote se actualiza al estadoCompletedllamando a la API update-status y el usuario es conducido a la pantalla de resumen de lotes.
- La pantalla de finalización de picking lee la regla
- Transferencia a una ubicación
- Un empleado de tienda puede optar por depositar todos los productos en una ubicación explorando la ubicación en la ventana Ubicación de transferencia .
- Se solicita al empleado de tienda que explore la ubicación de transferencia donde se van a depositar los productos. Cuando se realiza la exploración, se llama a la API
translateBarcodecon el origenSIMLocation. Si la ubicación explorada es una ubicación válida y el empleado de tienda pulsa Terminado, se llama a la APIdeposit-allen el lote con la ubicación explorada. - El estado del lote se actualiza a
Completedllamando a la API update-status y el usuario pasa a la pantalla de resumen del lote.
Pantalla Depósito
La pantalla Depósito permite a un empleado de tienda clasificar los productos seleccionados en diferentes órdenes y, simultáneamente, almacenarlos en etapas.Nota: La pantalla Depósito permite ordenar y depositar incluso para tiendas de una sola ubicación y ninguna. Estas tiendas pueden crear una ubicación de tipoTOTEpara la ordenación.- La pantalla Depósito lista los pedidos que se deben depositar. Cada pedido tiene la lista de productos que se seleccionan.
- Se llama a GET en
BatchID /<<StoreID>>/batch-picks/<<BatchID>>?fields=PickRequestspara visualizar los pedidos en un lote - Al pulsar el botón Continuar se lleva al usuario a la pantalla Depósito .
- La Pantalla de depósito permite ordenar y depositar incluso para tiendas de una sola ubicación y ninguna. Estas tiendas pueden crear una ubicación de tipo
TOTEpara la ordenación. - Se lee una nueva regla
BP_ALWAYS_SCAN_STAGING_LOCATIONpara determinar si la exploración de la ubicación es obligatoria para depositar cada producto en la orden. El valor predeterminado de la regla es N. - La pantalla Depósito lista las órdenes del lote para ayudar al empleado de tienda a ordenar y depositar los productos seleccionados.
- Cada orden lista sus productos agrupados por ubicación de destino.
- Se llama a la API
GETparaBatchIDconfields="PickRequests"y los productos en orden se agrupan por ubicación de destino en la capa de mashup para visualizarlos en la interfaz de usuario. - El empleado de tienda organiza la orden si todos los productos se ordenan con la ayuda del panel de producto y utilizando la opción
Stage Order. - De forma alternativa, el empleado de tienda deposita los productos explorando los productos uno por uno.
Depósito individual de productos
- Es necesario explorar el producto antes de explorar o seleccionar la ubicación.
- Si
BP_ALWAYS_SCAN_STAGING_LOCATION=Y, se puede utilizar el mismo campo de exploración para explorar el producto o la ubicación de forma alternativa. - Si
BP_ALWAYS_SCAN_STAGING_LOCATION=N, la ventana emergente Seleccionar ubicación de transferencia sólo se muestra cuando el sistema no sugiere ninguna ubicación de destino. - La interfaz de usuario mantiene el mapa del pedido y la ubicación de transferencia utilizada recientemente.
- Cuando se explora el producto, se llama a la API
translateBarcode, si la conversión es satisfactoria, se llama a la APImatching-pick-taskspara encontrar la tareamatching pick. Si se encuentra la tareamatching pickyBP_ALWAYS_SCAN_STAGING_LOCATION=Y, se resalta el panel de productos. Al escanear la ubicación, se llama a la APItranslateBarcodey, si la traducción se realiza correctamente, se llama a la APIdepositcon la tareamatching picky la ubicación escaneada. Esta APIdepositmaneja internamente la lógica de dividir la tarea de picking en dos si latargetLocationIdes diferente de la que ya tiene estampada. El estado del lote también se actualiza enDEPOSIT_IN_PROGRESS. - Si
BP_ALWAYS_SCAN_STAGING_LOCATION=N, cuando se encuentra la tareamatching pick, se comprueba el mapa de interfaz de usuario deOrder-StagingLocationpara derivar la ubicación de transferencia utilizada recientemente en el pedido. Si el mapa tiene una ubicación para la orden a la que pertenece la selección coincidente, se llama a la APIdepositcon esetargetLocationId. Si la correlación no tiene una ubicación de transferencia para el pedido, la interfaz de usuario muestraSelect staging location. Tras una selección correcta de la ubicación de transferencia, se llama a la API de depósito para registrar la transferencia y también se actualiza la correlación de interfaz de usuario. - Al depositar, si una ubicación de transferencia determinada está llena, el empleado de tienda puede pulsar el enlace Ubicación alternativa y explorar la nueva ubicación de transferencia para la orden.
- Después de que el empleado de tienda deposite los productos, se comprueba el estado de la tarea
pick. SiCOMPLETED, se llama a la APIGet Batch detailspara comprobar si todos lospickTasksse han completado en el lote para evaluar si se ha depositado el lote completo. - La interfaz de usuario renueva el panel de orden cuando el
targetlocationIdcambia en elpickTasko en un nuevotargetlocationId. Otras tareas se listan bajo sin asignar. - El empleado de tienda también puede deshacer el depósito pulsando el botón - en el panel del producto.
Orden de depósito
- Un empleado de tienda puede optar por depositar todos los productos en una ubicación de transferencia utilizando la opción Orden de transferencia . Orden de transferencia siempre abre la ventana emergente Ubicación alternativa para obtener la ubicación de destino.
- Si
PickRequesttiene untargetLocationIddistinto del que se ha pasado en el cuerpo de la solicitud, se crea una excepción para las tareas restantes. Las nuevas tareas alternativas se actualizan con el nuevotargetlocationId. - Cuando se completa la transferencia, la evaluación de la interfaz de usuario del lote se completa pasando por todas las tareas de selección que se realizan en el lote. Si el lote se ha completado, se muestra un diálogo de éxito en la interfaz de usuario. Tras la confirmación del usuario, el
Batch statusse actualiza aCOMPLETEDllamando a la APIupdate-status. - Al finalizar el depósito, la API de
update-statusvalida si todas las tareas depickque pertenecen al lote se han transferido y, a continuación, mueve el estadoPickRequestaCOMPLETED. El estadoPickRequestno se actualiza si todos losPickTasksde unPickRequestno pertenecen al mismo lote y el estado del lote no se actualiza al estadoCOMPLETED.
Actualizaciones de envíos en IBM® Sterling Order Management System
- Todos los envíos que pertenecen al lote deben actualizarse con
BackroomPickedQuantity,ShortedQtyyStagedQunatity. - El estado del envío también debe cambiar si se seleccionan todas las líneas de envío.
- Todos los envíos que pertenecen al lote deben actualizarse con
Cambios de selección de pedido único en curso
- El atributo
includedInBatchenpickRequestcomprueba si la solicitudpickse incluye en un lote. SiincludedInBatches true, se visualiza un recuadro de diálogo de confirmación donde el usuario puede elegir realizar una única selección de orden para estepickRequest. - Si el estado de
PickRequestesNOT_STARTED, se permite la selección de orden única. - Si el estado de
PickRequestesIN_PROGRESSoPICKED, se muestra una notificación con un mensajeContact the user associated with the batch. - Esta API elimina un
pickrequestde un lote cuando el estado depickrequestesNOT_STARTED. - El Resumen de solicitud de recogida muestra la información del lote.
- El atributo
Transferir pedido
- Un empleado de tienda puede ordenar y transferir todos los productos en una orden en un paso utilizando el enlace Orden de etapa si los productos que pertenecen a una orden diferente se pueden identificar visualmente.
- Se solicita al empleado de tienda que explore la ubicación de transferencia donde se van a depositar los productos. En la exploración, se llama a la API
translateBarcodecon el origen comoSIMLocation. Cuando se explora una ubicación válida y el empleado de tienda pulsa Terminado, se llama a la APIdepositAll. - El empleado de tienda puede seguir depositando todas las órdenes una por una.
Transferencia individual de productos
- Un empleado de tienda puede ordenar y depositar todos los productos explorando los productos uno por uno utilizando el campo de entrada de exploración.
- Es necesario explorar un producto antes de explorar o seleccionar la ubicación.
- Si
BP_ALWAYS_SCAN_STAGING_LOCATION=Y, se puede utilizar el mismo campo de exploración para explorar el producto o la ubicación de forma alternativa. - Si
BP_ALWAYS_SCAN_STAGING_LOCATION=N, la ventana emergente Seleccionar ubicación de transferencia sólo se muestra cuando el sistema no sugiere ninguna ubicación de destino. - Cuando se escanea un producto, se llama a la API
translateBarcode, si la traducción es correcta, se llama a la API pick-task:for-deposit para encontrar la tarea de recogida correspondiente. Si se encuentra la tarea de selección coincidente yBP_ALWAYS_SCAN_STAGING_LOCATION=Y, se resalta el panel del producto. Al escanear la ubicación, se llama a la APItranslateBarcodey, si la traducción es correcta, se llama a la API de depósito con la tarea de recogida y la ubicación escaneadas. - Si
BP_ALWAYS_SCAN_STAGING_LOCATION=N, cuando se encuentra la tarea de picking coincidente, el sistema intenta derivar la ubicación de puesta a disposición utilizada recientemente para el pedido y se llama a la API de depósito con eltargetLocationId. Si el sistema no puede encontrar la ubicación de transferencia utilizada recientemente, la interfaz de usuario muestra la ventana Seleccionar ubicación de transferencia . Una vez seleccionado correctamente el lugar de puesta a disposición, se llama a la API de depósito para registrar la puesta a disposición.
- Si
Transferencia de pedidos en varias ubicaciones
- Al depositar, si una ubicación de transferencia determinada está llena, el empleado de tienda puede pulsar el enlace Ubicación alternativa y explorar la nueva ubicación de transferencia para la orden y continuar depositando los productos. La nueva ubicación alternativa se utilizará para depósitos adicionales.
- El empleado de tienda también puede deshacer el depósito pulsando el botón (-) en el panel del producto.
Finalización de transferencia
- El sistema evalúa si la transferencia de todos los productos se completa después de cada depósito. Si el lote está completo, tras la confirmación del usuario, el estado del lote se actualiza a
COMPLETEDllamando a la API update-status. - A continuación, el usuario se lleva a la pantalla Resumen de lote .
Actualizaciones de envíos en el sistema Sterling Order Management
Cuando se completa el estado del lote, los envíos correspondientes en el lote se actualizan con información de cantidad recogida y de escasez llamando al servicio
ISFUpdateShipmentsOfBatchSynchronously. Este servicio también actualizará el estado del envío aReady for packingoReady for Customersi el envío se recoge por completo.Cambios de selección de orden única
- Un empleado de tienda puede elegir recoger una orden individualmente incluso cuando ya está incluida en un lote y la recogida está en curso.
- El atributo
includedInBatchenpickRequestcomprueba si la solicitud de recogida se incluye en un lote. SiincludedInBatches true, se muestra un recuadro de diálogo de confirmación al usuario donde el usuario puede elegir realizar una única selección de orden para una orden. - Se llama a esta API
batch-picks:removepara eliminar unpickrequestde un lote. - El Resumen de solicitud de recogida muestra la información del lote.
Ordenar al seleccionar cambios
- El usuario se lleva al flujo de ejecución de recogida, basándose en el atributo
batchSortTypedel lote.
Ejecución de recogida por lotes para ordenar durante la recogida
- El flujo Ejecución de recogida por lotes tiene tres pantallas.
- Seleccionar pantalla
- Pantalla Finalización de recogida o Intermedia
- Pantalla de depósito
- Cuando un empleado de tienda pulsa los botones Elegir o Continuar o Ver resumen en la pantalla de lista, se visualiza la pantalla adecuada en el flujo basándose en
Batch status.- Si
StatusesNOT_STARTEDoIN_PROGRESS, se visualiza la pantalla Elegir . - Si
StatusesPICKEDoDEPOSIT_IN_PROGRESS, se visualiza la pantalla Finalización de recogida . - Si
StatusesDEPOSIT_IN_PROGRESS, se visualiza la pantallaDepósito . - Si
StatusesCOMPLETED, se visualiza la pantalla Resumen de lote .
- Si
Pantalla Recoger
- La pantalla Recogida lista los productos y su información principal que deben seleccionarse en un lote agrupado por su ubicación de
source. - Se llama a la API
GETparaBatchIDconfields="PickTasks"para visualizar los datos en la interfaz de usuario. - En la salida de la API,
batchPickTaskses la agregación de tareas depickpara una combinación exclusiva deItemyLocation. Las tareas depickse deben combinar basándose en la combinaciónlocationyitempara un almacén de varias ubicaciones. Sin embargo, para una única ubicación y sin tienda de ubicación, las tareas depickse combinan basándose enItem. ItemIDyUOMson una combinación exclusiva para identificar elitem. Incluso los atributos de inventario comoInventoryStatusyProductClassse tienen en cuenta al agregar las tareas de selección.- En
Mashup Layer, esta salida de API se modifica para agrupar las tareas depickmediantesourceLocationIdy también para marcar los detalles del elemento en las tareas depick. - La ventana emergente Incluida en pedidos muestra la división de pedidos a la que pertenece un producto y también la cantidad de cada pedido. Estos atributos se calculan en
Mashup layer. También muestra información de bolsa en la que se colocan los productos. - La ventana emergente Ver series muestra la lista de series seleccionadas.
- Ver pedidos por lotes muestra la vista de pedidos del lote junto con la información de la bolsa.
Ejecución de selección
- Las reglas de tienda y la configuración se leen desde el contexto de la aplicación para determinar si la ubicación de exploración es obligatoria y también si la tienda es de una sola ubicación o de varias ubicaciones o una tienda sin ubicación.
* IS_SINGLE_LOC_STOREyIS_LOC_SCAN_MANDATORYreglas de la gestión del inventario de la tienda yinventoryTrackedbandera de la configuración de Sterling Store Engagement.- Si
IS_LOC_SCAN_MANDATORY=N, la interfaz de usuario presupone que la ubicación se explora durante el procesobatchpicka diferencia de otros flujos en los que el empleado de tienda puede seguir escaneando la ubicación cuando la regla está desactivada.
Flujo de exploración de almacén de varias ubicaciones
- El campo de exploración de entrada se puede utilizar para explorar tanto la ubicación como el producto. Si es
IS_LOC_SCAN_MANDATORY=Y, la exploración de ubicación es obligatoria antes de que se explore un producto. - Se llama a la API
translateBarCodeconBarCodeType="StoreItemOrLocation". - Si el código de barras escaneado es válido y es una ubicación, el panel de ubicación se resalta y también el
currentLocationen contexto de selección se establece en la pantalla. - Si la API
translateBarCodedevuelve una conversión válida o única cuando se explora un artículo, la tarea de selección coincidente para el artículo explorado se determina realizando una llamada de API"pick-task:for-pick?productId=<<productID>>". - Una vez determinado el orden, se valida con la correlación de interfaz de usuario de
Order to Totes. La ventana Selección de bolsa se muestra para capturar la información de bolsa. - Puede pasar el identificador de tarea de recogida coincidente, se llama a la API
PICKpara registrar la recogida del artículo y tambiéntoteIDcomoinTransitLocationId. - Esta API de
PICKactualiza elpickTaskcon la selección yinTransitLocationId. - Después de cada llamada
PICK, la lista de tareas de selección se actualiza con la tarea de selección. - Después de cada llamada
PICK, se comprueba el estado del lote para el estadoPICKED. Si el estado esPICKED, el usuario pasa a la pantalla de finalización dePICK. - Un empleado de tienda puede deshacer la selección pulsando menos (-) en el panel del producto que abre la ventana emergente eliminar productos .
Nota: la falta de registro y la selección de ubicación alternativa durante la recogida serán las mismas que la clasificación después del flujo de recogida.Finalización de recogida o página intermedia
- Cuando la recogida se ha completado en la pantalla Recogida , se muestra al usuario un diálogo satisfactorio, en el que se reconoce qué usuario se lleva a la pantalla Recogida completada .
- De forma alternativa, el empleado de tienda pulsa el botón Continuar en la pantalla Elegir para ir a la página Completar selección .
- Si
StatusesNOT_STARTED, se muestraWarning dialog. - Si el
StatusesPICKED, se visualiza la pantalla Elegir finalización . - Si
StatusesIN_PROGRESS, se muestra el avisoDo you want to pick the unpicked items in another batch?. SiYes, se llama a la APISplity, después de que la división se haya realizado correctamente, se visualiza la Pantalla de finalización de recogida , de lo contrario, se genera un error. - La API de división necesita leer la configuración de lote para ver si la orden se puede dividir entre lotes. Si la configuración es falsa y los pedidos se seleccionan parcialmente, la API genera un error. El error contiene los
pickRequestsypickTasksque se seleccionan parcialmente. - La pantalla Finalización de recogida lee la regla
AUTO_STAGE_PRODUCTSy una nueva configuración de tienda que se añade para especificar la ubicación de transferencia se utiliza paraAUTO_STAGING. Esta configuración es para una combinaciónDelivery methodyDocument Type. - La opción Asignar todo está controlada por permisos de recursos.
- La ubicación de transferencia en
Pick Requestno se tiene en cuenta durante la recogida por lotes. - Al pulsar Finalizar lote deposita todos los productos en la ubicación configurada o predeterminada, el lote pasa al estado
Completedy el usuario pasa a la pantalla Resumen de lote . - Al pulsar Continuar se lleva al usuario a la pantalla Depósito .
- Al pulsar Asignar todo se abre la ventana emergente Asignar ubicación de transferencia . Después de elegir la ubicación de transferencia, se llama a la API
Deposit-all, el estado del lote se actualiza utilizando la APIupdatey el usuario se lleva a la pantalla Resumen de lote .
Pantalla Depósito
- Al pulsar el botón Continuar , se visualiza la pantalla Depósito .
- La pantalla Depósito lista las órdenes del lote para ayudar al empleado de tienda a depositar las bolsas con productos seleccionados.
- Cada orden lista las bolsas de un orden determinado que se agrupa por ubicación de destino.
- Se llama a la API
GETparaBatchIDconfields="PickRequests"y los productos en orden se agrupan por la ubicación de destino en la capa de mashup para visualizarlos en la interfaz de usuario. - Un empleado de tienda puede utilizar la opción Orden de etapa para transferir todas las bolsas de una orden determinada.
- Alternativamente, un empleado de tienda también puede depositar las bolsas escaneando las bolsas una por una.
Depósito de órdenes
- Un empleado de tienda puede optar por depositar todas las bolsas en una ubicación de transferencia utilizando la opción Orden de transferencia . El orden de etapa siempre abre la ventana emergente Seleccionar ubicación de transferencia para obtener la ubicación de destino.
- Al depositar, si una ubicación de transferencia determinada está llena, un empleado de tienda pulsa el enlace Ubicación alternativa y explora la nueva ubicación de transferencia para la orden.
Depósito de bolsas
- Un empleado de tienda puede empezar a depositar las órdenes explorando las bolsas utilizando el campo de exploración. Se llama a la API
translateBarcodeconBarcodeType="HoldLocation". - El orden correspondiente para la bolsa explorada se identifica iterando a través del
pickRequestsdel lote. - La interfaz de usuario mantiene la correlación de orden y la ubicación de transferencia utilizada recientemente.
- La API
Depositse llama pasando la información dePickRequestjunto conToteID. - Una vez depositados los productos, se comprueba el estado de la tarea
pick. Si el estado esCOMPLETED, se llama a la APIGet Batch detailspara comprobar si se han depositado todos lospickTasksde un lote. - Para un nuevo
locationIdde destino, la interfaz de usuario renueva el panel de orden cuando ellocationIdde destino cambia en la bolsa. Otras tareas se listan bajo sin asignar. - Un empleado de tienda también puede realizar o deshacer el depósito pulsando el enlace colocado en el panel de bolsa.
- Después de cada depósito, la interfaz de usuario evalúa si el lote completo se transfiere pasando por todas las tareas de selección que pertenecen al lote. Si el lote se ha completado, se muestra un diálogo de éxito en la interfaz de usuario. Tras la confirmación del usuario, el estado del lote se actualiza a
COMPLETEDllamando a la APIupdate-status. - Esta API valida si se han transferido todas las tareas de
pickque pertenecen al lote. A continuación, el estadoPickRequestse actualiza aCOMPLETED. El estado de la solicitud de recogida no se actualiza si todos losPickTasksde unPickRequestno pertenecen al mismo lote y el estado del lote se actualiza al estadoCOMPLETED.
- El flujo de ejecución de recogida por lotes tiene tres pantallas: