====== Ressuprimento com Etiquetas Seriadas ====== **Funcionalidade disponível a partir da Release 1.32.x** \\ Este módulo exige que o parâmetro de controle de Etiquetas Seriadas esteja ativo na filial. \\ Jira de referência: [[https://szsolucoes.atlassian.net/browse/BEES-3914|BEES-3914]] ===== 1. Visão Geral ===== O módulo de Ressuprimento foi adequado para clientes que utilizam o controle de **Etiquetas Seriadas** (por exemplo, BeautyColor). Anteriormente, o módulo movimentava itens apenas pela **quantidade** do produto. Com esta adequação, se o parâmetro do cliente estiver ativo, o Ressuprimento (Padrão e Kanban) passa a exigir e movimentar fisicamente por **Etiqueta Agrupadora (pallet)** ou **Seriada (caixa)**. ===== 2. Pré-requisitos ===== * Parâmetro ''bol_serial_control_depot = 1'' ativo na tabela ''bee_branches_settings'' da filial. * Etiquetas agrupadoras com capacidade máxima configurada no endereço de picking. * Ponto de ressuprimento definido no cadastro de produto-filial. ===== 3. Regras de Negócio ===== ==== 3.1 Critério de Seleção — FEFO + FIFO ==== Para ordenação da busca de saldo no **pulmão** (depósito de reserva), o sistema obedece a dois critérios obrigatórios: - **FEFO (First Expired, First Out):** Prioriza a etiqueta com a **menor data de validade**. Comportamento original mantido. - **FIFO (First In, First Out):** Critério de desempate. Se duas etiquetas tiverem a mesma data de validade, o sistema seleciona primeiro a etiqueta com a **data de fabricação mais antiga**. ==== 3.2 Bloqueio de Fracionamento (Trava de Capacidade Lógica) ==== **Regra Crítica:** Não é permitido o ressuprimento **parcial** de uma etiqueta agrupadora. O sistema valida a **Capacidade Lógica** do endereço de picking antes de criar a missão de ressuprimento: * Fórmula: ''Capacidade Lógica = Capacidade Máxima Configurável - (Saldo Físico + Alocado + Reservado + Pendente)'' * A missão de ressuprimento **SÓ é criada** se o endereço de destino couber **100%** da quantidade contida na etiqueta agrupadora do pulmão. * Se não couber integralmente, a missão **não é gerada** — para evitar a quebra do pallet (fracionamento). **Por que esse bloqueio existe?** O fracionamento de pallets seriados invalida o rastreamento FEFO/FIFO, pois gera etiquetas-filhas sem vínculo com o lote original, comprometendo a auditoria fiscal e a integridade do controle de validade. ===== 4. Fluxo Operacional no Coletor ===== Como o ressuprimento parcial está bloqueado, o fluxo torna-se mais direto (movimentação de agrupadora fechada): - O usuário aceita a missão de ressuprimento. - Bipa o **endereço de origem** (pulmão/reserva). - Bipa a **Etiqueta Agrupadora** (pallet). - O sistema transfere logicamente o material para o operador. - O usuário se dirige ao **endereço de destino** (picking). - Confirma o abastecimento de 100% no local. ===== 5. Exemplo Prático (Dados de QA Validados) ===== Produto testado: **LPA02100 — COL CR PERM KIT BEAUTYCOLOR 1.0 PRETO ONIX** | Parâmetro | Valor | | ---- | ---- | | Capacidade máxima do picking | 10.080 UN | | Ponto de ressuprimento | 8.641 UN | | Saldo atual do picking (RAM13P01) | 7.200 UN | | Agrupadora encontrada no pulmão (RMM38P04) | 1.440 UN | | Etiqueta agrupadora | ''20260604900020'' | | Lote | ''184697'' | **Validação da Regra de 100%:** * Saldo atual (7.200) + Agrupadora (1.440) = 8.640 UN * 8.640 < 10.080 (capacidade máxima) ✅ * Ressuprimento integral de **1.440 UN** criado com sucesso. ===== 6. Parametrização ===== A funcionalidade é controlada pelo parâmetro de filial: | Parâmetro | Tabela | Valor para Ativar | | ---- | ---- | ---- | | ''bol_serial_control_depot'' | ''bee_branches_settings'' | ''1'' | Quando o parâmetro está **inativo** (valor ''0'' ou ausente), o ressuprimento funciona pelo comportamento padrão (por quantidade, sem etiqueta). ===== 7. Considerações para QA ===== * Teste com dois produtos com a **mesma data de validade** e datas de fabricação diferentes para validar o critério FIFO de desempate. * Teste a trava de capacidade criando um cenário onde a agrupadora tem mais unidades do que o espaço disponível no picking — a missão **não deve ser criada**. * Após o ressuprimento, validar que o saldo do picking aumentou exatamente a quantidade da agrupadora movimentada. ---- //Documentação gerada via Assistente BeeStock — /CriarManual // \\ //Última atualização: Setembro/2026//