Consulta de Pallet
Consulta de Pallet
Rotina de consulta e ação sobre pallets já existentes no módulo de Estocagem do Frigosoft Coletor. Visualize dados de cabeçalho, volumes e histórico de movimentações em tempo real, além de executar ações como Finalizar, Abrir e Imprimir conforme o status do pallet.
Visão Geral da Consulta de Pallet
A Consulta de Pallet é a tela do Frigosoft Coletor, dentro do módulo de Estocagem, que permite ao operador visualizar em tempo real todas as informações de um pallet já existente: os dados de cabeçalho (produto, status, pesos, datas, localização), a lista completa de volumes que compõem o pallet e o histórico de movimentações registradas para ele. É a tela que o operador usa sempre que precisa checar a situação atual de um pallet ou agir sobre ele.
Além de consultar, esta tela também permite executar as ações de Finalizar, Abrir e Imprimir o pallet, dependendo do status em que ele se encontra no momento da consulta. Ela é utilizada tanto na Expedição quanto na Estocagem, sendo acionada normalmente depois que o pallet já foi formado (por paletização simples, com documento, pré-impressa ou quarteio) e antes de operações posteriores, como expedição, conferência ou retirada do pallet.
Por se tratar de uma tela de consulta e ação sobre pallets já existentes no sistema, ela não cria pallets novos: ela depende de que o pallet já tenha sido gerado por outra rotina de paletização.
ℹ Tela de Consulta e Ação
A Consulta de Pallet não cria registros novos. Ela consulta pallets já existentes (criados por outras rotinas de paletização) e permite executar ações sobre o pallet consultado de acordo com seu status atual.
Vídeo Tutorial da Consulta de Pallet
▶ Tutorial em vídeo: ainda não disponível para esta rotina.
Pré-requisitos e Contexto de Acesso da Consulta de Pallet
Sessão Ativa no Frigosoft Coletor
O operador precisa estar com uma sessão ativa e válida no aplicativo Frigosoft Coletor para acessar a tela de Consulta de Pallet.
Permissões para Ações
Para executar as ações de Finalizar, Abrir ou Imprimir, o usuário logado precisa ser administrador de indústria ou ter uma permissão especial liberada para essas ações. Caso o operador não tenha esse perfil, o sistema exige que um supervisor de indústria informe sua autorização no momento em que a ação é acionada.
Configuração de Posto para Impressão
Para usar a ação Imprimir, o dispositivo (coletor ou terminal) precisa ter um posto de trabalho configurado. Se não houver posto configurado, a impressão é cancelada sem nenhum aviso na tela — o operador simplesmente não recebe retorno algum.
Layout de Etiqueta
Ainda para a ação Imprimir, o sistema precisa conseguir localizar um layout de etiqueta válido: ou um layout específico cadastrado para o produto do pallet, ou o layout padrão definido para o sistema. Se nenhum dos dois existir, o sistema exibe uma mensagem de erro informando que não é possível imprimir.
Pallet Já Deve Existir
O pallet precisa já existir no sistema antes da consulta: esta tela depende de que o pallet tenha sido criado anteriormente por uma rotina de paletização (simples, com documento, pré-impressa ou quarteio). A Consulta de Pallet não cria pallets, apenas consulta e age sobre os que já existem.
Código do Pallet Obrigatório
O código do pallet precisa ser informado (digitado manualmente ou lido por leitor de código de barras/scanner) para que a consulta seja realizada.
Processo de Criação: Passo a Passo da Consulta de Pallet
Esta rotina não cria um registro novo — ela consulta um pallet já existente e permite executar ações sobre ele. Por isso, o “passo a passo” abaixo descreve o fluxo completo de uso da tela, desde a consulta até a execução de uma ação (quando aplicável).
Abrir a tela de Consulta de Pallet
O operador acessa a tela de Consulta de Pallet dentro do módulo de Estocagem (ou Expedição) do aplicativo.
Informar o código do pallet
O operador digita o código do pallet no campo de entrada ou faz a leitura do código de barras usando o scanner do dispositivo. O código precisa ter exatamente 15 caracteres e começar com as letras “PLT”. Antes de ser enviado, o texto digitado ou lido passa por uma limpeza automática que remove espaços em branco no início e no final. Quando o código é lido pelo scanner (e não está vazio), o sistema dispara a consulta automaticamente, sem que o operador precise tocar em nenhum botão de confirmação.
O sistema valida o código antes de consultar
Antes de enviar a consulta ao servidor, o sistema verifica o código informado:
- Se o campo estiver vazio, exibe a mensagem “Informe um pallet” e não realiza a consulta.
- Se o código não tiver 15 caracteres ou não começar com “PLT”, exibe a mensagem “Pallet inválido” e também não realiza a consulta.
O sistema consulta o pallet no servidor
Se o código passou pela validação, o sistema envia o código ao servidor, que localiza o pallet e retorna o cabeçalho completo junto com a lista completa de volumes.
O sistema exibe os dados do pallet na tela
Com a resposta do servidor, a tela mostra: identificação do pallet, produto, status, quantidade e capacidade de volumes, pesos (bruto e líquido), datas de produção e validade, localização e a lista de volumes. Duas informações do cabeçalho não são preenchidas por esta consulta e permanecem sempre em branco: o número de lote e a ordem de entrada vinculada ao pallet.
O operador navega pelas abas de detalhes
Depois que um pallet é carregado na tela, aparece um ícone de menu com as abas Volumes e Movimentações, além da opção de Imprimir. O operador pode alternar entre essas abas para ver a lista de volumes ou o histórico de movimentações do pallet.
O sistema exibe os botões de ação de acordo com o status do pallet
Dependendo do status atual do pallet consultado, aparecem botões diferentes:
- Se o status for Aberto ou Pré-Impresso: aparecem os botões Finalizar e Limpar.
- Se o status for Gerado: aparecem os botões Abrir e Limpar.
- Para qualquer outro status: nenhum botão de ação aparece, a tela funciona apenas como consulta.
O operador executa a ação desejada
O operador pode acionar Finalizar, Abrir, Imprimir (quando disponível pelo menu) ou Limpar, conforme os botões exibidos para o status atual do pallet. Se o operador não tiver o perfil necessário, o sistema solicita a autorização de um supervisor de indústria antes de continuar.
O sistema processa a ação e informa o resultado
Após a execução da ação:
- Ao Finalizar com sucesso, o sistema exibe o aviso “Pallet finalizado com sucesso”.
- Ao Abrir com sucesso, o sistema exibe o aviso “Pallet aberto”.
- Ao Imprimir com sucesso, o sistema exibe o aviso “Pallet impresso com sucesso”.
- Se a ação não for concluída mas também não houver erro do servidor, a tela apenas encerra o carregamento sem exibir nenhuma mensagem (ver seção de Regras de Negócio para os casos em que isso ocorre).
O sistema reconsulta o pallet automaticamente
Depois de finalizar, abrir ou atualizar a lista de volumes com sucesso, o sistema busca novamente os dados atualizados do pallet automaticamente, sem que o operador precise digitar o código de novo. Se, no momento dessa reconsulta automática, os dados internos usados para montar o identificador do pallet estiverem incompletos, o sistema exibe a mensagem “Código inválido” em vez de atualizar a tela.
O operador pode limpar a tela a qualquer momento
Ao acionar o botão Limpar, o campo de código é apagado e todos os dados exibidos na tela são zerados, voltando ao estado inicial (como se nenhuma consulta tivesse sido feita).
Descrição de Cada Campo da Tela da Consulta de Pallet
Código do pallet
Tipo: texto (também aceita leitura via scanner/leitor de código de barras)
Obrigatoriedade: obrigatório para realizar a consulta
Descrição: é o código que identifica o pallet que o operador deseja consultar. Cada pallet tem um código único.
Comportamento: aceita digitação manual ou leitura por scanner. Ao ser lido pelo scanner (e não estar vazio), dispara a consulta automaticamente, sem necessidade de tocar em confirmar. Antes do envio, o sistema remove espaços em branco no início e no fim do texto digitado ou lido. O sistema valida que o código tem exatamente 15 caracteres e começa com as letras “PLT”; caso contrário, exibe “Pallet inválido” (ou “Informe um pallet”, se o campo estiver vazio) e não envia a consulta. Durante qualquer operação em andamento na tela, este campo fica desabilitado para edição.
Impacto: é o dado usado para localizar o pallet no servidor e carregar todas as demais informações exibidas na tela.
Identificação do pallet (número do pallet)
Tipo: texto (somente exibição)
Obrigatoriedade: não se aplica (campo de exibição, preenchido automaticamente após a consulta)
Descrição: mostra de forma organizada a filial, a série e o número do pallet consultado.
Comportamento: é exibido no formato “filial.série.número”, com o número sempre completado com zeros à esquerda até ter 6 dígitos. Por exemplo: 001.A01.000042. Na aba de Movimentações, esse mesmo pallet aparece em um formato diferente no cabeçalho: o código completo bipável, no formato “PLT” seguido de filial, série e número, sem os pontos separadores (por exemplo: PLT001A01000042).
Impacto: é usado como referência visual do pallet em toda a tela e também para montar o identificador interno usado nas reconsultas automáticas após ações de Finalizar, Abrir ou atualização de volumes.
Produto
Tipo: texto (somente exibição)
Obrigatoriedade: não se aplica (campo de exibição)
Descrição: mostra qual produto está armazenado no pallet consultado.
Comportamento: é exibido no formato “código do produto.código da referência-nome do produto”, sem espaços dentro de cada parte. O campo só aparece totalmente em branco se o código do produto estiver vazio; se apenas o código da referência estiver vazio, o campo ainda é exibido, só que com essa parte em branco. Na aba de Movimentações, o produto do cabeçalho é exibido de um jeito diferente: só aparece se código do produto e código da referência estiverem preenchidos, no formato “código do produto código da referência-nome” (sem o ponto entre código do produto e da referência).
Impacto: identifica visualmente qual produto está no pallet, ajudando o operador a confirmar que está consultando o pallet correto antes de executar qualquer ação.
Status
Tipo: texto (somente exibição)
Obrigatoriedade: não se aplica (campo de exibição)
Descrição: indica em que etapa do fluxo o pallet se encontra no momento da consulta.
Comportamento: é exibido no formato “código de 1 letra – descrição”. Os valores possíveis são: A – Aberto, G – Gerado, E – Em Estoque, B – Baixado, R – Reservado, P – Picking, I – Pré-Impresso, T – Terceiros.
Impacto: define quais botões de ação aparecem na tela (Finalizar e Limpar para Aberto/Pré-Impresso; Abrir e Limpar para Gerado; nenhum botão para os demais status).
Quantidade de volumes
Tipo: número (somente exibição)
Obrigatoriedade: não se aplica (campo de exibição)
Descrição: mostra quantos volumes já foram registrados no pallet.
Comportamento: valor calculado pelo servidor com base na lista de volumes do pallet.
Impacto: é usado, junto com a capacidade de volumes, para calcular se o pallet está “Concluído” (ver seção de Regras de Negócio).
Capacidade de volumes
Tipo: número (somente exibição)
Obrigatoriedade: não se aplica (campo de exibição)
Descrição: mostra a capacidade máxima de volumes definida no cadastro do produto-referência do pallet.
Comportamento: valor obtido a partir do cadastro do produto-referência associado ao pallet.
Impacto: é comparado com a quantidade de volumes atual para determinar se o pallet está “Concluído”.
Pesos (peso bruto e peso líquido)
Tipo: número (somente exibição)
Obrigatoriedade: não se aplica (campo de exibição)
Descrição: mostra o peso bruto e o peso líquido totais do pallet consultado.
Comportamento: valores retornados pelo servidor junto com os demais dados de cabeçalho do pallet.
Impacto: refletem o peso real do pallet e são recalculados automaticamente quando o pallet é finalizado (inclusive em situações de rateio de peso de quarteio, ver seção de Regras de Negócio).
Datas de produção e validade
Tipo: data (somente exibição)
Obrigatoriedade: não se aplica (campo de exibição)
Descrição: mostram, respectivamente, quando o produto foi produzido e até quando ele é considerado válido.
Comportamento: valores retornados pelo servidor. As validades do pallet são recalculadas automaticamente sempre que o pallet é finalizado, e são removidas quando o pallet é reaberto.
Impacto: usadas para controle de qualidade e prazo de validade do produto armazenado no pallet.
Localização
Tipo: texto (somente exibição)
Obrigatoriedade: não se aplica (campo de exibição)
Descrição: indica em qual posição física do estoque o pallet está armazenado.
Comportamento: valor retornado pelo servidor junto com os demais dados de cabeçalho.
Impacto: ajuda o operador a localizar fisicamente o pallet dentro do armazém.
Número de lote (cabeçalho do pallet)
Tipo: texto (somente exibição)
Obrigatoriedade: não se aplica
Descrição: campo de cabeçalho do pallet reservado para o número de lote.
Comportamento: esta consulta nunca preenche este campo — ele é sempre exibido em branco, independentemente dos dados do pallet.
Impacto: nenhum impacto nesta tela; é apenas um campo de cabeçalho que fica sempre vazio nesta consulta específica.
Ordem de entrada vinculada
Tipo: texto (somente exibição)
Obrigatoriedade: não se aplica
Descrição: campo de cabeçalho do pallet reservado para a ordem de entrada associada, quando existir.
Comportamento: esta consulta nunca preenche este campo — ele é sempre exibido em branco, independentemente dos dados do pallet.
Impacto: nenhum impacto nesta tela; é apenas um campo de cabeçalho que fica sempre vazio nesta consulta específica.
Campo “Concluído” (indicador do pallet)
Tipo: indicador calculado (verdadeiro/falso), somente exibição
Obrigatoriedade: não se aplica (campo calculado automaticamente)
Descrição: indica se o pallet já atingiu a capacidade mínima de volumes esperada para ser considerado completo.
Comportamento: é calculado automaticamente pelo sistema como verdadeiro somente quando a quantidade de volumes é maior que zero e, ao mesmo tempo, é maior ou igual à capacidade de volumes cadastrada para o produto-referência. Se a quantidade de volumes for zero, o indicador é sempre falso, mesmo que a capacidade cadastrada também seja zero.
Impacto: serve como referência visual de que o pallet já tem volumes suficientes conforme o cadastro do produto, mas não bloqueia nenhuma ação por si só nesta tela.
Filtro de status de volume (aba Volumes)
Tipo: seleção (Todos, E, B, P, C)
Obrigatoriedade: opcional (por padrão, nenhum filtro é aplicado e todos os volumes ficam visíveis)
Descrição: permite ao operador restringir a lista de volumes exibida a um status específico: Em Estoque (E), Baixado (B), Em Processo (P) ou Cancelado (C).
Comportamento: ao selecionar um filtro, a lista de volumes exibida abaixo é atualizada para mostrar apenas os volumes daquele status. Atualmente, o botão do filtro selecionado não recebe nenhum destaque visual (não fica em negrito nem com cor diferente), então não há indicação visual de qual filtro está ativo além da própria lista filtrada (ver Troubleshooting T-12 se aplicável na documentação de apoio).
Impacto: afeta apenas quais volumes aparecem na lista abaixo do filtro; não altera os contadores de totais por status, que sempre mostram a contagem real de todos os volumes do pallet.
Contadores de totais por status (Total, E, B, P, C) — aba Volumes
Tipo: número (somente exibição)
Obrigatoriedade: não se aplica (campo de exibição)
Descrição: mostram quantos volumes o pallet tem no total e quantos existem em cada status (Em Estoque, Baixado, Em Processo, Cancelado).
Comportamento: esses contadores sempre refletem a contagem real de todos os volumes do pallet, mesmo quando um filtro de status está ativo na lista de volumes abaixo.
Impacto: dão ao operador uma visão geral da composição do pallet por status, independentemente do filtro selecionado.
Lista de volumes (aba Volumes)
Tipo: lista (somente exibição)
Obrigatoriedade: não se aplica (campo de exibição)
Descrição: mostra cada volume individual que compõe o pallet consultado.
Comportamento: cada linha da lista mostra a identificação do volume no formato “filial.série.número” (número com 6 dígitos), o produto no formato “código do produto.código da referência-nome” e o status no formato “código – descrição”. Os status possíveis de volume são: E – Em Estoque, B – Baixado, P – Em Processo, C – Cancelado; valores que não se encaixam nessas opções são exibidos sem descrição, apenas com o código. Por padrão, todos os volumes aparecem, sem filtro aplicado.
Impacto: dá ao operador o detalhamento completo dos volumes do pallet, base para decisões como corrigir peso de um volume específico antes de finalizar (ver Regras de Negócio sobre peso líquido zero).
Botão Recarregar (aba Volumes)
Tipo: botão de ação
Obrigatoriedade: não se aplica
Descrição: permite ao operador atualizar a lista de volumes e o cabeçalho do pallet sem precisar digitar o código novamente.
Comportamento: ao ser acionado, dispara uma nova consulta completa do pallet, atualizando tanto o cabeçalho quanto a lista de volumes exibida na tela.
Impacto: garante que o operador veja os dados mais recentes do pallet, especialmente útil se outra operação tiver alterado o pallet enquanto a tela estava aberta.
Checkbox “Mostrar detalhes” (aba Movimentações)
Tipo: checkbox
Obrigatoriedade: opcional (desmarcado por padrão)
Descrição: controla se movimentações de tipos considerados menos relevantes para o operador (INCV e EXCV) aparecem na lista de movimentações.
Comportamento: por padrão, as movimentações do tipo INCV e EXCV ficam ocultas na lista. Ao marcar este checkbox, todas as movimentações passam a ser exibidas, inclusive essas.
Impacto: afeta apenas a visibilidade das movimentações na tela; não altera os dados armazenados no sistema.
Lista de movimentações (aba Movimentações)
Tipo: lista (somente exibição)
Obrigatoriedade: não se aplica (campo de exibição)
Descrição: mostra o histórico de eventos ocorridos com o pallet, como finalização, reabertura e impressão.
Comportamento: cada movimentação exibe data/hora (data e hora no padrão brasileiro), tipo de movimento e código do funcionário responsável, que são sempre mostrados. Já os campos localização, quantidade primária, quantidade auxiliar, data de produção (exibida somente como data, sem hora) e volume associado só aparecem na movimentação se tiverem valor preenchido ou diferente de zero. O volume associado é exibido no formato “filial+série+número” (6 dígitos), sem pontos separadores. As movimentações dos tipos INCV e EXCV ficam ocultas por padrão, a menos que o checkbox “Mostrar detalhes” esteja marcado.
Impacto: permite ao operador conferir o histórico completo de eventos do pallet, incluindo se ele já foi finalizado antes de tentar reabri-lo (a reabertura só é permitida em certas condições, ver Regras de Negócio).
Botão Finalizar
Tipo: botão de ação
Obrigatoriedade: aparece apenas quando o status do pallet é Aberto ou Pré-Impresso
Descrição: encerra a montagem do pallet, travando sua composição de volumes e mudando seu status para Gerado.
Comportamento: exige que o operador seja administrador de indústria ou tenha permissão especial; caso contrário, solicita autorização de supervisor. Ao ser acionado, envia ao servidor a identificação do pallet para processamento (ver seção de Estrutura Técnica e Regras de Negócio para o detalhamento completo do que ocorre no servidor).
Impacto: altera o status do pallet, recalcula suas validades, grava uma movimentação de finalização e pode disparar sincronização com o recebimento de produtos paletizados associado.
Botão Abrir
Tipo: botão de ação
Obrigatoriedade: aparece apenas quando o status do pallet é Gerado
Descrição: reabre um pallet já finalizado, permitindo que ele volte a receber alterações.
Comportamento: exige autorização de administrador ou permissão especial (ou de supervisor, quando o operador não tem o perfil necessário). O servidor só permite a reabertura se a última movimentação relevante do pallet (exceto impressão) tiver sido de finalização; caso contrário, a operação é bloqueada.
Impacto: altera o status do pallet para Aberto, remove as validades existentes e grava uma movimentação de reabertura.
Opção Imprimir (menu)
Tipo: botão de ação (disponível no menu quando um pallet está carregado)
Obrigatoriedade: disponível apenas quando um pallet está carregado na tela; exige posto de trabalho configurado no dispositivo e layout de etiqueta resolvido para funcionar
Descrição: gera e imprime a etiqueta do pallet consultado.
Comportamento: exige autorização de administrador, permissão especial ou supervisor. O sistema verifica primeiro o posto de trabalho configurado no dispositivo antes de pedir a autorização do supervisor (ver Regras de Negócio sobre a ordem de validação). Sem posto de trabalho configurado, ou se o objeto de impressão retornado estiver vazio, a impressão é cancelada silenciosamente, sem nenhum aviso na tela. Se não houver layout de etiqueta cadastrado (nem específico do produto, nem padrão do sistema), o sistema exibe a mensagem “Não é possível imprimir — não há layout de etiqueta”.
Impacto: gera um registro de movimentação do tipo impressão e retorna um objeto usado para imprimir a etiqueta física do pallet.
Botão Limpar
Tipo: botão de ação
Obrigatoriedade: disponível junto com os botões Finalizar ou Abrir, conforme o status do pallet
Descrição: reseta a tela de consulta, apagando o código digitado e todos os dados exibidos.
Comportamento: ao ser acionado, apaga o campo de código, zera os dados do pallet exibidos, limpa a lista de movimentações, remove qualquer filtro de status de volume ativo (voltando para “todos”), desativa a exibição de detalhes de movimentações e desativa qualquer indicador de operação em andamento.
Impacto: não afeta os dados armazenados no sistema, apenas o que está sendo exibido na tela do operador.
Utilização e Consulta de Registros da Consulta de Pallet
O operador localiza um pallet exclusivamente pelo código do pallet, digitado manualmente no campo de entrada ou lido pelo scanner do dispositivo. Não há outros filtros de busca disponíveis nesta tela (por exemplo, não é possível buscar por produto, status ou localização diretamente aqui): o código do pallet, no formato de 15 caracteres iniciando com “PLT”, é a única forma de localizar o registro.
Depois que o pallet é carregado, o operador pode refinar a visualização apenas dentro da aba de Volumes, usando o filtro de status (Todos, E, B, P ou C) para ver somente os volumes do status desejado. Esse filtro afeta apenas a lista de volumes exibida; os contadores de totais continuam sempre mostrando a contagem real de todos os volumes do pallet, independentemente do filtro escolhido.
Na aba de Movimentações, o operador pode ampliar a visualização do histórico marcando o checkbox “Mostrar detalhes”, que exibe também os tipos de movimentação ocultos por padrão (INCV e EXCV). Não há outro filtro de busca disponível nesta aba: todas as movimentações do pallet consultado são carregadas e ordenadas automaticamente da mais recente para a mais antiga.
Processo de Edição da Consulta de Pallet
A tela de Consulta de Pallet não permite editar diretamente os campos do pallet (como produto, pesos, datas ou localização) através de formulário. Em vez de edição de campos, ela oferece ações que alteram o estado do pallet como um todo:
- A ação Finalizar muda o status do pallet de Aberto ou Pré-Impresso para Gerado, recalculando validades e travando a composição de volumes.
- A ação Abrir muda o status do pallet de Gerado de volta para Aberto, removendo as validades calculadas anteriormente, para que o pallet possa receber novas alterações.
Nenhuma dessas ações permite escolher manualmente novos valores para os campos do pallet: os pesos, por exemplo, são sempre recalculados automaticamente pelo sistema (inclusive em situações de rateio de peso de quarteio, ver seção de Regras de Negócio), e não digitados pelo operador nesta tela.
O histórico de alterações do pallet fica disponível para consulta na aba de Movimentações, que registra cada evento relevante (finalização, reabertura, impressão) com data/hora e código do funcionário responsável. Não é possível excluir ou editar diretamente esses registros de movimentação pela tela de Consulta de Pallet.
Estrutura Técnica e Comportamento do Sistema da Consulta de Pallet
Ao consultar um pallet, o sistema busca automaticamente, junto com os dados de cabeçalho, a lista completa de volumes associados — essa busca conjunta acontece sempre, em toda consulta feita por esta tela, o operador não precisa solicitar os volumes separadamente.
Quando o operador aciona Finalizar, o sistema executa, nos bastidores, uma série de verificações e atualizações em conjunto, de forma que todas elas sejam concluídas com sucesso ou nenhuma delas seja aplicada (evitando que o pallet fique em um estado inconsistente): ele confere se existem volumes pendentes de pesagem de quarteio, recalcula as validades do pallet, altera o status para Gerado e grava o registro de movimentação da finalização. Depois que tudo isso é confirmado, o sistema tenta, de forma independente, sincronizar essa finalização com o recebimento de produtos paletizados associado ao pallet; se essa sincronização adicional falhar por qualquer motivo, o erro é ignorado e o operador ainda recebe a confirmação de sucesso na finalização.
Quando o operador aciona Abrir, o sistema verifica o histórico de movimentações do pallet para confirmar que a última movimentação relevante foi realmente uma finalização, remove as validades anteriores e grava a movimentação de reabertura.
Quando o operador aciona Imprimir, o sistema busca o layout de etiqueta a ser usado seguindo uma ordem de prioridade: primeiro um layout indicado diretamente pelo aplicativo; se não houver, o layout cadastrado especificamente para o produto e referência do pallet; se também não houver, o layout padrão configurado para todo o sistema. Depois de resolver o layout, o sistema grava um registro de movimentação identificando que uma impressão foi realizada, e devolve ao aplicativo as informações necessárias para gerar a etiqueta física.
Internamente, o código do pallet (com 15 caracteres) é interpretado pelo sistema em três partes fixas: os caracteres na posição 4 a 6 indicam a filial, os caracteres na posição 7 a 9 indicam a série do pallet e os últimos 6 caracteres (posição 10 a 15) indicam o número do pallet. Essa decomposição é o que permite ao sistema localizar exatamente o pallet correspondente no banco de dados a partir do código lido ou digitado.
Depois de finalizar, abrir ou atualizar a lista de volumes, o sistema remonta esse identificador (filial + série + número) internamente para buscar novamente os dados atualizados do pallet, sem exigir nova digitação do operador. Nos registros de movimentação, os textos que indicam o tipo de movimento passam por uma limpeza automática de espaços em branco no início e no fim antes de serem exibidos na tela, para evitar inconsistências visuais.
Regras de Negócio e Restrições da Consulta de Pallet
Formato obrigatório do código do pallet
O código do pallet informado pelo operador (digitado ou lido pelo scanner) precisa ter exatamente 15 caracteres e começar com as letras “PLT”. Se o campo estiver vazio, o sistema exibe “Informe um pallet”; se o formato estiver incorreto, exibe “Pallet inválido”. Em ambos os casos, a consulta não é enviada ao servidor.
Validação do código também ocorre no servidor
Independentemente da validação feita na tela, o servidor também confere se o código do pallet tem exatamente 15 caracteres antes de processar a consulta. Se o código for inválido nessa etapa, o servidor simplesmente não retorna dados, e a tela interpreta isso como pallet não encontrado.
Decomposição do código em filial, série e número
O sistema sempre interpreta o código do pallet dividindo-o em três partes fixas: posições 4 a 6 para a filial, posições 7 a 9 para a série e posições 10 a 15 para o número do pallet. Essa é a forma como o pallet é efetivamente localizado no banco de dados.
Cálculo do indicador “Concluído”
O pallet só é considerado “Concluído” quando a quantidade de volumes é maior que zero e, ao mesmo tempo, maior ou igual à capacidade de volumes cadastrada para o produto-referência. Se a quantidade de volumes for zero, o indicador é sempre falso, independentemente da capacidade cadastrada.
A lista de volumes é sempre carregada junto com a consulta
Toda consulta de pallet feita por esta tela busca automaticamente a lista completa de volumes junto com os dados de cabeçalho; não existe uma opção para consultar apenas o cabeçalho sem os volumes nesta tela.
Rateio de peso na finalização em modo quarteio
Quando o modo de quarteio ao finalizar está ativo e um peso bruto de quarteio é informado, o sistema distribui esse peso proporcionalmente entre as meias-carcaças pendentes, conforme o peso bruto de cada uma em relação ao total. Se a soma dos pesos calculados não coincidir exatamente com o peso bruto original por causa de arredondamento, a diferença é ajustada no último volume da lista. Além disso, o peso líquido calculado para cada volume precisa ficar dentro da faixa de peso mínimo e máximo cadastrada para o produto-referência (quando não há peso máximo cadastrado, o sistema usa um valor máximo padrão muito alto); se o peso calculado ficar fora dessa faixa, a finalização é bloqueada e o sistema informa o peso informado, o peso calculado, o mínimo e o máximo permitidos.
Pallets com quarteio pendente de pesagem não são finalizados por esta tela
A tela de Consulta de Pallet sempre envia peso bruto e peso líquido como zero ao acionar Finalizar. Por isso, se o pallet tiver volumes de quarteio pendentes de pesagem (cancelados, com meia-carcaça identificada e peso líquido zero), a finalização não é concluída por aqui, e o sistema não exibe nenhuma mensagem de erro — a tela simplesmente encerra o carregamento. Para esses casos, o operador precisa usar a tela específica de Quarteio, onde é possível informar o peso.
Bloqueio de finalização por volume com peso líquido zero
Se qualquer volume do pallet tiver peso líquido igual a zero (fora do cenário de quarteio pendente da Regra 7), a finalização é bloqueada e o sistema informa o código do pallet e o número do volume com o problema, para que o operador possa corrigir o peso antes de tentar novamente.
Finalização silenciosa quando o pallet já não está mais Aberto ou Pré-Impresso
Ao acionar Finalizar, o sistema só executa a finalização se o pallet ainda estiver, no momento do processamento, com status Aberto ou Pré-Impresso. Se, entre a abertura da tela e o acionamento de Finalizar, outra operação já tiver alterado o status do pallet (por exemplo, alguém já finalizou o mesmo pallet), o sistema encerra a operação como se tivesse dado certo, mas sem alterar nada e sem exibir nenhuma mensagem de bloqueio. O operador pode não perceber que nada mudou, a menos que consulte o pallet novamente para conferir o status real.
Reabertura só é permitida após finalização
A ação Abrir só é permitida se a última movimentação relevante do pallet (desconsiderando movimentações de impressão) tiver sido do tipo finalização. Caso contrário, a reabertura é bloqueada com a mensagem “Reabertura de pallet com movimentação não permitida”.
Ordem de verificação para a ação Imprimir
Ao acionar Imprimir, o sistema verifica primeiro se há um posto de trabalho configurado no dispositivo, e só depois confere se o operador precisa de autorização de supervisor. Por causa dessa ordem, mesmo em um dispositivo sem posto de trabalho configurado, um operador sem permissão pode ainda ser solicitado a autenticar um supervisor antes de a impressão ser cancelada silenciosamente por falta de posto.
Identificador interno precisa estar completo para a reconsulta automática
Depois de finalizar, abrir ou atualizar volumes com sucesso, o sistema tenta montar automaticamente o identificador do pallet (filial + série + número) para buscar os dados atualizados. Esse identificador só é montado corretamente se a filial e a série não estiverem vazias e o número do pallet for maior que zero. Se qualquer uma dessas condições não for atendida, a reconsulta automática falha e o sistema exibe a mensagem “Código inválido” em vez de atualizar a tela.
Tipos de movimentação INCV e EXCV ficam ocultos por padrão
Na aba de Movimentações, os registros com tipo de movimento INCV e EXCV não aparecem por padrão na lista. Eles só ficam visíveis quando o operador marca o checkbox “Mostrar detalhes”.
A tela fica bloqueada durante qualquer operação em andamento
Enquanto qualquer operação assíncrona estiver em andamento (consultar, finalizar, abrir, imprimir ou carregar movimentações), o campo de código e todos os botões de ação ficam desabilitados, e um indicador de carregamento é exibido sobre a tela. Ao concluir a operação, com sucesso ou erro, o campo e os botões voltam a ficar habilitados.
A ação Limpar reseta completamente o estado da tela
Ao acionar Limpar, o sistema apaga o código digitado, zera os dados do pallet exibidos, esvazia a lista de movimentações, remove qualquer filtro de status de volume ativo (voltando para “todos”), desativa a exibição de detalhes de movimentações e desativa qualquer indicador de operação em andamento. Nenhum dado gravado no sistema é alterado por essa ação, apenas o que está sendo exibido na tela.