Inforges · SAP Business One Premier Partner

Capítulo 2: Expedición y Picking (Cockpit)

A. Filosofía del Proceso (El Por Qué)

Picking Cockpit: Interfaz de tres columnas para gestionar el volumen diario de pedidos. El usuario selecciona un pedido, prepara cada línea con uno o varios lotes, y confirma antes de generar el albarán.

Staging (Pre-asignación): El usuario selecciona múltiples lotes (o trozos parciales) en una cesta temporal (currentPickList) antes de confirmar la línea. Evita errores: se puede revisar el total y quitar lotes con el icono papelera. Los lotes ya en pre-asignación se excluyen de la lista sugerida (excludedLotIds) para evitar duplicidades.

FIFO: Los lotes sugeridos se ordenan por fecha_caducidad ASC (primero en caducar, primero en salir). ProductoElaborado::getDisponibles() implementa este orden.

Validación: peso_real ≤ peso_restante del lote. Consumo parcial: si sobra producto, el lote mantiene DISPONIBLE y se genera Etiqueta de Resto para el trozo que vuelve a cámara.

B. Diagrama de Flujo

graph TD A[Selección Pedido] --> B[Cargar Líneas] B --> C[PREPARAR LÍNEA] C --> D[Zona Acción: Seleccionar Lote] D --> E[Excluir pre-asignados] E --> F[SIMULAR PESO: min Falta, Disponible] F --> G[AÑADIR LOTE a Cesta] G --> H{¿Más lotes?} H -->|Sí| D H -->|No| I[CONFIRMAR Y ETIQUETAR] I --> J[registrarPicking: asignaciones[]] J --> K[picking_detalles, peso_restante, cantidad_preparada] K --> L{¿Línea 100%?} L -->|Sí| M[Auto-siguiente línea] L -->|No| B M --> N{¿Todas Completadas?} N -->|Sí| O[GENERAR ALBARÁN Y EXPEDIR] N -->|No| B O --> P[finalizarPedido → albaranes]

C. Guía Paso a Paso

Columna Izquierda: Pedidos pendientes. Buscador cliente. Tabs por Ruta. Barra de progreso por pedido.

Columna Central: Líneas del pedido. Solicitado vs Preparado kg. Fondo blanco/amarillo/verde según estado. PREPARAR LÍNEA. Botón GENERAR ALBARÁN (solo cuando todas completadas).

Columna Derecha (Zona Acción): Seleccionar lote (FIFO, excluye pre-asignados). SIMULAR PESO rellena con min(falta, disponible). AÑADIR LOTE a tabla pre-asignación. CONFIRMAR Y ETIQUETAR envía asignaciones[] en una transacción.

D. Resultados y Documentos

  • picking_detalles: id_linea, id_lote_producto, peso_utilizado.
  • productos_elaborados: peso_restante actualizado. Estado EXPEDIDO si agotado.
  • albaranes + lineas_albaran: Creados desde picking_detalles. Pedido → EXPEDIDO.
  • Etiquetas: Producto GS1-128 y Transporte (destinatario, SSCC) en albaranes/view.