• Avisos
  • Novidades
  • Documentação
  • Depoimentos
  • Blog
  • Materiais
  • Manuais
  • Dúvidas
  • Avisos
  • Novidades
  • Documentação
  • Depoimentos
  • Blog
  • Materiais
  • Manuais
  • Dúvidas

Documentação

  • Frigosoft
    • Coletor
      • estocagem
        • Consulta de Pallet
        • Paletização com Documento
        • Paletização Simples
        • Reimpressão Pallet Pré-Impresso
      • expedicao
        • Conferência de Expedição
        • Devolução
        • Devolução de Compra
      • abate
        • Abate de Emergência
        • Aspersão
        • Condenação de Carcaça
        • Condenações
        • DIF — Declaração de Inspeção Federal
        • Endereçamento de Carcaças
        • Evidências
        • Ocorrências
        • Rastreamento do Abate
        • Registro de pH
        • Tipificação
      • Apontamento de Fracionados
      • Condenação de Miúdos
      • Montagem de KIT - Produção
      • pescados
        • Geração de Pedido de Pescados
        • Tipificação de Pescados
      • producao
        • Montagem de Kit (Produção)
      • Rastreamento 01
        • Bloqueio Quantidade
        • Leitura D.I.A
      • Teste de Leitor e Coletores Homologados
    • Inventário de Estoque
      • Inventário de Meia Carcaça
      • Inventário por Local
      • Inventário por Produto
      • Inventário Rotativo
      • Inventário Total
      • Unificação de Inventário
    • Procedimentos Frigosoft
      • Balanção
      • Configuração Filial
      • Configurações de Tipo de Movimento
      • Contrato de Compra
      • Fluxo
Nenhum resultado encontrado
Inteligência Atak / Documentação / Frigosoft / Procedimentos Frigosoft

Balanção

Criado por João Chiorato em 25 de novembro de 2025
•
Atualizado por Tatiane Meneghello em 25 de agosto de 2026
Documentação Técnica

Balança Rodoviária Novo

Rotina responsável pelo registro do peso de caminhões que transportam animais vivos (ou outros tipos de carga) até o frigorífico. Cobre identificação do veículo por placa, seleção do tipo de frete, captura de pesos inicial e final (ou peso único), associação de contrato/romaneio de origem, e impressão do comprovante.

01 — VISÃO GERAL

Visão Geral Balança Rodoviária

Esta rotina é responsável pelo registro do peso de caminhões que transportam animais vivos (ou outros tipos de carga) até o frigorífico. O operador registra a entrada do veículo, captura um ou mais pesos na balança rodoviária, e grava a carga no sistema. O fluxo cobre: identificação do veículo por placa, seleção do tipo de frete, captura de pesos inicial e final (ou peso único), associação de contrato/romaneio de origem, e impressão do comprovante.

A rotina opera em modo online: toda a persistência e as principais validações de negócio acontecem na API centralizada. O serviço local atua como proxy entre a tela do operador e a API.

Usuários

operadores de balança, supervisores de indústria.

02 — PRÉ-REQUISITOS

Pré-requisitos Balança Rodoviária

🏭
Posto de trabalho

O posto de trabalho deve estar configurado no cadastro de postos do sistema. Se não estiver: a balança física não é inicializada e o operador não consegue pesar.

⚖️
Balança física

A balança física deve estar configurada para o posto (host/porta). Se o host estiver em branco: o sistema exibe alerta com o nome do posto, mas não bloqueia o acesso à tela.

🔧
Parâmetros do sistema

Os Parametros com identificadores 15009, 15010 e 15012 devem estar cadastradas no sistema para que os filtros de tipo de frete e os campos obrigatórios funcionem corretamente .

erpatak > customização > Parêmetros> Logistica
📋
Cadastros no ERPAtak

Os tipos de movimento de frete, tipos de veículos, transportadoras, motoristas, pecuaristas e itens de carga devem estar cadastrados no ERPAtak antes do uso.

03 — FLUXO OPERACIONAL

Fluxo Operacional Balança Rodoviária

1 🔌 Conexão ao serviço

Ao conectar ao serviço, o sistema carrega automaticamente os tipos de veículo e tipos de movimento de frete disponíveis, e inicializa a conexão com a balança física.

2 ⌨️ Digitação da placa

O operador digita a placa do veículo e pressiona Enter ou Tab.

3 🚚 Consulta dos dados do veículo

O sistema consulta a API para obter os dados do veículo (marca/modelo, transportadora, motorista padrão e tipo de veículo).

erpatak > Logistica >Dados do Veículo > Cadastro de Veiculo
  • Se o veículo estiver cadastrado: os campos são preenchidos automaticamente.
  • Se o veículo não estiver cadastrado: os campos permanecem em branco e a flag de “placa cadastrada” fica como falso.
  • Em paralelo, o sistema consulta as cargas em aberto nos últimos 30 dias para a mesma placa; se houver, exibe a tela de seleção de cargas existentes.
4 🧾 Seleção do tipo de frete

O operador seleciona o tipo de frete.

erpatak > Logistica >Dados da Carga> Tipo de Movimentação de frota
  • Se o tipo de frete tiver a flag RestringePlaca = "S" e a placa não estiver cadastrada: o sistema exibe alerta e retorna o combo ao primeiro item, impedindo a seleção.
  • Se o tipo de frete exigir documento relacionado (UsaDocumentoRelacionado = "E" ou "S"): o botão de contrato é habilitado e o painel de produtor é desabilitado. Caso contrário, o botão de contrato é desabilitado e o painel de produtor é habilitado.
  • Os campos auxiliares (Peso V1, Peso V2, Quantidade V1, Quantidade V2, Data V1, Data V2) são exibidos ou ocultados conforme o tipo de frete selecionado: apenas os campos cujos nomes estiverem preenchidos no cadastro do tipo de frete ficam visíveis.
5 📝 Preenchimento dos demais campos

O operador informa os demais campos: motorista, transportadora, GTA, NF produtor, lacre, item da carga, produtor, observação, e campos auxiliares visíveis.

6 ⚖️ Captura do peso

O operador clica em Pesar para capturar o peso via balança física.

  • Antes de liberar a pesagem, o sistema valida se tipo de frete e tipo de veículo foram selecionados; se não: exibe alerta e não libera.
  • Se o tipo de frete exigir documento relacionado e o campo de contrato estiver vazio: o sistema pergunta se o operador deseja acessar a tela de contratos. Se o operador responder sim, abre a tela de contratos. Em ambos os casos, a pesagem não é liberada até que o contrato seja informado.
  • O modo de captura da balança pode ser: CAPTURA_PROXIMA_AMOSTRA, CAPTURA_PLATAFORMA_VAZIA, CAPTURA_ACAO_ENTER_APOS_PESO_DISPONIVEL ou CAPTURA_ACAO_ENTER. Cada modo exibe uma mensagem diferente na tela (ver seção Pesagem).
7 ➗ Aplicação do fator de divisão

Quando a balança captura o peso, o sistema aplica o fator de divisão configurado na balança (se o fator for nulo ou zero, usa 1) e registra o peso na mensagem.

8 ↵ Confirmação do peso

O operador pressiona Enter para confirmar o peso capturado.

9 🔁 Alternância de modo de pesagem

Se necessário, o operador alterna entre peso único (botão Pesagem Única) e pesagem dupla (inicial + final).

10 💾 Salvamento da carga

O operador clica em Salvar.

  • O sistema valida todos os campos obrigatórios antes de salvar (ver seção Validação de Salvamento).
  • Se houver erro: exibe mensagem consolidada e não prossegue.
  • Se válido: envia a carga e todos os pesos para a API, aguarda resposta e, após sucesso, oferece a impressão do comprovante.
11 ♻️ Retorno ao estado inicial

Após salvar com sucesso, a tela retorna ao estado inicial.

12 ✖️ Cancelamento da operação

A qualquer momento, o operador pode pressionar Cancelar (ou Tecla ESC) para confirmar o cancelamento e limpar todos os dados da tela.

04 — PESAGEM

Pesagem Balança Rodoviária

Regras de Negócio

Inicialização da balança
  • Se a balança ainda não foi iniciada (BalancaRodando == false): o sistema carrega as configurações de balança do posto, valida a configuração, e inicializa a balança com callbacks de pós-pesagem e de notificação.
  • Se a balança já foi iniciada: ignora a chamada de inicialização.
Cálculo do peso pelo fator de divisão
  • O peso bruto e o peso líquido enviados para o sistema são calculados como: peso_da_balanca / fator_de_divisao_configurado.
  • Se o fator de divisão for nulo ou zero, o fator usado é 1 (sem divisão).
  • Nota: no código atual, tanto o peso bruto quanto o peso líquido são calculados como peso.Bruto / fator, ou seja, o peso líquido é igual ao peso bruto neste fluxo.
Tipos de peso
  • Cada pesagem tem um tipo: I (Inicial), F (Final), U (Único) ou numérico (parcial).
  • Ao registrar o primeiro peso de uma carga nova:
    • Se o modo for pesagem única (botão Pesagem Única ativo): o tipo inicial é U.
    • Caso contrário: o tipo inicial é I.
  • Ao registrar o segundo peso (quando já existe um peso I ou U):
    • Se já existe peso U: o sistema lança erro — já existe peso único, não é possível adicionar outro.
    • Se já existe peso I e já existe peso F gravado na carga em banco: o sistema lança erro — já existe peso final e inicial.
    • Se já existe peso I e não existe F em banco: o próximo peso é automaticamente definido como F.
Validação de redundância
  • Se a mensagem de pesagens na tela estiver vazia e o tipo selecionado for F: o sistema notifica que é preciso inserir o peso inicial primeiro, e não registra o peso.
  • Se já existe peso do tipo I na mensagem e o tipo a inserir também for I: o sistema exibe alerta de que já existe peso deste tipo.
  • Se já existe peso do tipo F na mensagem e o tipo a inserir também for F: o sistema exibe alerta de que já existe peso deste tipo.
Cálculo do peso do balancão (exibição)
  • O peso do balancão é exibido na tela apenas quando existem exatamente 2 pesagens na mensagem.
  • Cálculo: |peso_final_liquido - peso_inicial_liquido| (valor absoluto da diferença).
  • Se o número de pesagens for diferente de 2: o peso exibido é 0.
Inserção de peso na mensagem

Cada peso registrado recebe: chave de fato do frete (da carga em processo), tara = 0, peso bruto, peso líquido, data/hora atual, tipo de peso, status de envio = 1 (novo, não enviado), casas decimais = 3, e observação (quando fornecida).

Modo pesagem única
  • Quando o botão Pesagem Única está ativo:
    • A flag PesagemUnica é marcada como verdadeira.
    • Se já existem pesagens na mensagem: o tipo do primeiro peso é alterado para U.
  • Quando o botão é desativado: a flag PesagemUnica é marcada como falsa.
Atualização de pesos ao selecionar uma carga existente
  • Se a carga tem menos de 2 pesos salvos no banco:
    • Se existe peso do tipo I ou U: o próximo tipo esperado é automaticamente F.
    • Se não existe peso I ou U: o sistema exibe alerta de que não foi encontrado peso inicial.
  • Os pesos são ordenados de forma decrescente por data/hora antes de exibição.
  • Se a carga já estiver com status fechado (StatusFechado diferente de “N”): a tela é colocada em modo de edição, o botão cancelar e o botão imprimir são ativados, e a mensagem de balança indica que a carga está com status fechado.
Notificação de peso disponível

Quando a balança sinaliza que um peso está disponível para captura: a mensagem na tela é atualizada para “Pressione Enter para gravar o peso”.

Comportamento do Sistema

  • Ao clicar em Pesar: valida tipo de frete e contrato, desabilita o combo de tipo de frete, e inicia o ciclo de captura da balança.
  • Ao confirmar com Enter: executa a ação de confirmação da pesagem, que efetiva o valor capturado e o adiciona à mensagem.
  • Após registrar cada peso: o botão Pesar é liberado, o botão Digitar Peso é liberado, o botão Tipo Peso é liberado, o botão Pesagem Única é liberado, a tela é habilitada, o botão Remover Peso é habilitado, o campo de placa é desabilitado (não permite alterar a placa depois da primeira pesagem), e o peso do balancão é recalculado.
05 — PESO MANUAL

Peso Manual Balança Rodoviária

Regras de Negócio

Permissão para digitar peso manual
  • Se o usuário logado não for supervisor de indústria: o sistema exibe alerta informando que o usuário não tem permissão, e não abre o formulário de peso manual.
  • Se o usuário for supervisor de indústria: o sistema abre diretamente o formulário de peso manual.
  • Se o usuário não for supervisor mas precisar digitar peso: é necessário autenticar um usuário administrador ou supervisor (via tela de autenticação).
Autenticação para peso manual
  • O operador informa usuário e senha de um administrador/supervisor.
  • O sistema consulta a API para verificar as credenciais.
  • Se o usuário autenticado for administrador: o formulário de peso manual é aberto.
  • Se não for administrador: o sistema exibe alerta com nome e código de filial do usuário, informando que não tem permissão.
  • Se o usuário não for encontrado: o sistema exibe alerta informando que o usuário não foi encontrado.
Validação do formulário de peso manual
  • O peso informado deve ser convertível para decimal (aceita ponto ou vírgula como separador decimal).
  • A observação é obrigatória: se estiver vazia, o sistema exibe alerta de peso inválido e não registra.
  • Se o resultado do diálogo for OK e a conversão e a observação forem válidas: o peso é registrado via o mesmo fluxo de registro de peso da balança, com o peso bruto igual ao peso líquido (valor digitado) e a observação preenchida.
  • Após o formulário de peso manual, o combo de tipo de frete é desabilitado.

Comportamento do Sistema

  • Ao clicar em Digitar Peso: o sistema valida tipo de frete e contrato, valida os combos (tipo de veículo e tipo de frete), verifica a permissão do usuário, e abre o formulário de peso manual (após autenticação se necessário).
  • A balança física é desabilitada enquanto o formulário de peso manual está aberto.
06 — CONTRATOS E PRODUTOR

Contratos e Produtor Balança Rodoviária

Regras de Negócio

Associação de contrato à carga
  • Se o tipo de frete exige documento relacionado (UsaDocumentoRelacionado = "E" ou "S"):
    • O botão de contrato é habilitado e o painel de produtor é desabilitado.
    • Se o campo contrato estiver vazio ao tentar pesar: o sistema pergunta se o operador quer acessar a tela de contratos.
  • Se o tipo de frete não exige documento relacionado:
    • O botão de contrato é desabilitado.
    • O painel de produtor é habilitado (o produtor pode ser informado livremente).
Seleção de contrato na tela de contratos
  • Ao selecionar um contrato: o campo de texto do contrato recebe o documento do contrato, o lookup de produtor exibe Codigo Pecuarista - Nome Pecuarista, e o campo de propriedade exibe Codigo Propriedade - Nome Da Propriedade Rural (quando o ID for diferente de zero; caso contrário, apenas o nome).
  • Se a carga já estiver em aberto (Carga Em Aberto = SIM): o botão cancelar é ativado.
Pesquisa de contratos
  • O filtro de pesquisa usa os seguintes campos: código da filial, chave de fato do SISBOV, data de abate, situação, lote e perfil de movimento.
  • O perfil padrão para pesquisa é ABT0101.
  • O tipo de pesquisa de data utiliza UTILIZAR_DATA_V2 (data abate).
  • A operação de pesquisa de documento é Indefinido.
  • Se o filtro tiver situação > 0: o sistema busca contratos associados às cargas já salvas no armazenamento local.
  • Se o filtro tiver situação = 0: o sistema retorna os contratos da API diretamente.
Carregamento de contratos no armazenamento

Os contratos do armazenamento são agrupados por ChaveDeFato e convertidos para a forma de sincronismo (cada grupo resulta em um item com a chave de fato). Esses itens são adicionados às estatísticas de escalas da carga em processo.

Comportamento do Sistema

  • Ao clicar em Contrato: abre a tela de seleção de contratos. Ao selecionar, preenche os campos de contrato, produtor e propriedade na tela principal.
07 — CONSULTA E SELEÇÃO DE CARGAS

Consulta e Seleção de Cargas Balança Rodoviária

Regras de Negócio

Consulta de cargas ao buscar pela placa
  • O filtro usado é: ID da filial, data de movimento de 30 dias atrás até a data atual, status = “N” (em aberto), e placa informada.
  • Se houver cargas encontradas: a tela de consulta de cargas é exibida.
Consulta na tela de cargas (botão Cargas)
  • O filtro inicial usa: ID da filial, data de movimento = data do parâmetro do sistema, data final = data do parâmetro do sistema, status = “N”.
  • A tela permite filtrar por: texto livre (parâmetro de busca), tipo de movimento de frete (ID ou “Todos” quando ID = -1), datas de início e fim, e status (Aberto = “N”, Fechado = “S”, Todos = “T”).
  • Ao pesquisar: o filtro usa o parâmetro de busca, o ID do tipo de movimento de frete (vazio quando “Todos”), o intervalo de datas dos seletores, e o status (vazio quando “Todos”).
  • O filtro de status na tela de seleção rápida funciona localmente: a mensagem já carregada é filtrada sem nova chamada à API.
  • A grid de cargas é ordenável por qualquer coluna: ao clicar no cabeçalho, ordena ascendente; ao clicar novamente, ordena descendente.
Seleção de carga
  • Ao dar duplo clique em uma carga na grid: a carga é carregada na tela principal.
  • Os campos preenchidos ao selecionar uma carga: placa, marca/modelo, código da carga (filial-documento-série-número), NF produtor, observação, GTA, lacre, pesos existentes (carregados da API), tipo de veículo, tipo de movimento de frete, transportadora, motorista, item da carga, produtor, contrato, propriedade, campos auxiliares (V1, V2 de pesos, quantidades e datas).
  • O campo contrato é preenchido a partir dos dados da carga. Se o campo produtor estiver preenchido: é feito split por “-” para extrair ID e nome. Se o campo produtor estiver vazio: são usados os valores “0” e “NÃO INFORMADO”.
  • As estatísticas de escalas do armazenamento são adicionadas à carga em processo.
  • A tela muda para o estado “Editando” e o botão cancelar é ativado.

Comportamento do Sistema

  • Ao clicar em Cargas: abre a tela de consulta de cargas com a mensagem inicial.
  • Ao pesquisar: atualiza a grid com os resultados filtrados da API.
  • Ao selecionar: fecha a tela de cargas e popula a tela principal.
08 — VALIDAÇÃO DE SALVAMENTO

Validação de Salvamento Balança Rodoviária

Regras de Negócio

Campos de combo obrigatórios
  • Se o combo de tipo de frete estiver visível e não houver valor selecionado: o sistema adiciona o aviso “Tipo de Frete” à mensagem.
  • Se o combo de tipo de veículo estiver visível e não houver valor selecionado: o sistema adiciona o aviso “Tipo de Veículo” à mensagem.
Obrigatoriedade de pesagem
  • Se não houver nenhuma pesagem registrada na mensagem: o sistema adiciona o aviso “Não foi feita nenhuma pesagem” .
Campos obrigatórios definidos pelo tipo de frete
  • O tipo de frete pode conter uma mensagem de campos obrigatórios (campo CamposObrigatorios).
  • Os campos possíveis são mapeados como: Peso_1 → campo de peso V1, Peso_2 → campo de peso V2, Qtde_1 → campo de quantidade V1, Qtde_2 → campo de quantidade V2, Data_1 → seletor de data V1, Data_2 → seletor de data V2, GTA → campo GTA, NF_Produtor → campo NF produtor, Lacre → campo lacre.
  • Para cada campo obrigatório definido: se for um campo de texto e estiver vazio, ou se for um seletor de data e o valor for vazio, o campo é adicionado à mensagem de faltantes.
  • Se houver campos faltantes: os nomes são concatenados com vírgula e adicionados à mensagem.
Obrigatoriedade de motorista e transportadora por configuração
  • A configuração de ID 15012 – Informe o Tipo Frete Lançamento para definir o Valor Frete contém uma mensagem de IDs de tipos de movimento de frete (separados por “|”) que exigem motorista e transportadora preenchidos.
  • Se o tipo de frete selecionado estiver nessa mensagem:
    • Se o campo de motorista estiver vazio, o sistema adiciona o aviso “Motorista” à mensagem .
    • Se o campo de transportadora estiver vazio, o sistema adiciona o aviso “Transportadora” à mensagem.
Validação de quantidade dos campos auxiliares
  • Ao salvar, se os campos de quantidade V1 ou V2 estiverem visíveis e preenchidos: o sistema valida se o valor é um número inteiro. Se não for: exibe alerta e interrompe o salvamento.
Exibição de erros

Se houver avisos na mensagem: o sistema exibe a mensagem “Não foi possível salvar a carga” seguida dos campos faltantes concatenados com vírgula, e não prossegue com o salvamento.

Filtro de tipos de frete pela configuração 15009 e 15010

Ao carregar o combo de tipos de frete: as configurações com IDs 15009 – Informe o Tipo Frete Lançamento para definir o Valor de Acréscimo e 15010 – Informe o Tipo Frete Lançamento para definir o Valor de Desconto (excluindo 15012) têm seus conteúdos lidos. Os IDs de tipos de frete mensagemdos nesses conteúdos (separados por “|”) são removidos do combo. O operador só vê os tipos de frete que não estão nestas mensagems de exclusão.

Comportamento do Sistema

  • O sistema consolida todos os erros antes de exibir, mostrando uma única mensagem com todos os problemas encontrados.
09 — PERSISTÊNCIA (ENVIO PARA A API)

Persistência (Envio para a API) Balança Rodoviária

Regras de Negócio — aqui

Montagem do objeto de envio
  • O objeto enviado à API contém: usuário logado, ID da filial, ID do tipo de frete, placa, número da carga, datas (cadastro, movimento, entrada, abate), hora, observação, lacre, tipo do frete, tipo de veículo, peso do balancão, chave de fato do contrato de origem, documento do contrato, chave de fato do frete (quando existir), GTA, NF produtor, código e nome do transportador, apelido do transportador, nome e código do motorista, propriedade rural, código da propriedade rural, código e nome do pecuarista, código e nome do item da carga, série da carga, peso V1, peso V2, data V1, data V2, quantidade V1, quantidade V2, código do participante, e a mensagem completa de pesagens.
  • As estatísticas de escalas são enviadas como nulo (campo fixo no código).
Obtenção do nome do motorista
  • Se o campo de motorista tiver exatamente 1 segmento ao dividir por “-“: o nome é o valor completo do campo.
  • Se tiver mais de 1 segmento: o nome é o segundo segmento (após o primeiro “-“).
Obtenção do ID do motorista
  • Se o campo de motorista contiver “-” e tiver mais de 1 segmento: o ID é o primeiro segmento convertido para inteiro.
  • Se o motorista tiver sido selecionado via lookup (objeto selecionado presente): o ID é o do objeto selecionado.
  • Caso contrário: o ID é nulo.
Obtenção do ID do participante (produtor/pecuarista)
  • Mesma lógica que o motorista: se o campo de produtor contiver “-” e tiver mais de 1 segmento, usa o primeiro segmento como ID; se houver objeto selecionado, usa o ID do objeto; caso contrário, ID nulo.
Obtenção do ID do transportador
  • Se o objeto de transportadora estiver selecionado via lookup: usa o ID do objeto.
  • Se não houver seleção direta mas o campo de texto contiver “-” com mais de 1 segmento: usa o primeiro segmento convertido para inteiro.
  • Caso contrário: ID nulo.
Comportamento após salvamento bem-sucedido
  • Se a API retornar a carga sem campo de erro: o sistema exibe a tela de opção de impressão e, conforme a escolha (OK ou Visualizar impressão), abre o visualizador de PDF com o comprovante.
  • Os botões são desmarcados, a mensagem de pesagens é limpa, os campos são limpos, e a tela retorna ao estado inicial.
  • Se a API retornar erro (campo Erro preenchido): o sistema exibe a mensagem de erro da API.
Comportamento na carga em aberto (edição)
  • Campos atualizados: observação, GTA, NF produtor, tipo de veículo, lacre, motorista, nome do motorista, ID do tipo de frete, ID do motorista, transportadora, apelido do transportador, código e nome do item, produtor, ID do participante, peso V1, peso V2, quantidade V1, quantidade V2, data V1 e data V2.
  • O peso V1 é convertido removendo vírgulas e substituindo por pontos antes do parse decimal.
Comportamento na carga fechada (re-envio)
  • Os campos atualizados são: ID do transportador, ID do motorista, nome do motorista, ID do tipo de frete, ID do participante, código e nome do item, peso V1, peso V2, quantidade V1, quantidade V2, nome do item, observação, GTA, NF produtor, lacre, data V1 e data V2.
10 — CANCELAMENTO DE CARGA

Cancelamento de Carga Balança Rodoviária

Regras de Negócio

Permissão para cancelar
  • Se o usuário logado for supervisor de indústria: o cancelamento é iniciado diretamente.
  • Se não for supervisor: é exibida a tela de autenticação de supervisor.
Autenticação para cancelamento
  • O operador informa usuário e senha de um supervisor.
  • O sistema consulta a API para verificar as credenciais.
  • Se o usuário autenticado tiver a flag EhSupervisorIndustria = Sim: o cancelamento prossegue.
  • Se não for supervisor de indústria: o sistema exibe alerta com nome e código de filial do usuário.
  • Se o usuário não for encontrado: o sistema exibe alerta informando que o usuário não foi encontrado.
Execução do cancelamento
  • Se a carga em processo não tiver chave de fato preenchida: o sistema exibe alerta pedindo para selecionar uma carga, e o botão cancelar é desmarcado.
  • Se a carga tiver chave de fato: o sistema solicita confirmação do operador (Sim/Não).
    • Se confirmado: envia a chave de fato para a API cancelar a carga.
    • Se cancelado: apenas desmarca o botão.
  • Após cancelamento bem-sucedido na API: exibe mensagem de sucesso, limpa a mensagem de pesagens, limpa todos os campos, e retorna a tela ao estado inicial.
  • Se a API retornar nulo: exibe mensagem de erro informando que não foi possível cancelar a carga com aquela chave de fato.

Comportamento do Sistema

  • Ao clicar em Cancelar Carga: inicia o fluxo de cancelamento (com ou sem autenticação, conforme perfil do usuário).
11 — REMOÇÃO DE PESAGEM

Remoção de Pesagem Balança Rodoviária

Regras de Negócio

Permissão para remover
  • Se o usuário logado for supervisor de indústria: a exclusão é iniciada diretamente.
  • Se não for supervisor: é exibida a tela de autenticação.
Autenticação para remoção de pesagem
  • O sistema verifica se o usuário autenticado é administrador ou supervisor.
  • Se for administrador ou supervisor: a remoção prossegue.
  • Se não tiver permissão: o sistema exibe alerta com nome e código de filial do usuário.
  • Se o usuário não for encontrado: exibe alerta.
Execução da remoção
  • Se não houver linha selecionada na grid de pesagens: a remoção não ocorre.
  • Se a pesagem selecionada for do tipo I e existir uma pesagem do tipo F na mensagem: o sistema exibe alerta de que não é possível excluir o peso inicial quando existe peso final, e interrompe.
  • Se o StatusDeEnvio da pesagem for 1 (peso ainda não enviado ao banco): o sistema exibe alerta de que não é possível excluir um peso que ainda não foi finalizado/enviado, e interrompe.
  • Após confirmação do operador: o item é removido da mensagem visual, a API é chamada para excluir o peso do banco, a grid é atualizada, e o cálculo do peso do balancão é refeito.
  • O campo Codigo Usuario da pesagem é preenchido com o nome do usuário logado após a exclusão.

Comportamento do Sistema

  • Ao clicar em Remover Peso: inicia o fluxo de remoção (com ou sem autenticação).
12 — TIPO DE PESO

Tipo de Peso Balança Rodoviária

Regras de Negócio

  • A tela de tipo de peso é acessível pelo botão Tipo Peso.
  • O operador pode definir explicitamente o tipo de peso antes de pesar.
13 — DADOS PERSISTIDOS

Dados Persistidos Balança Rodoviária

Via API (persistência centralizada)

Ao salvar uma nova carga (carga não encontrada no banco)
  • É gerada uma nova chave de fato para o frete via sequenciador.
  • É obtida a série ativa do tipo “CRG” para a filial. Se não existir série ativa: alerta é lançado.
  • É obtido o próximo número da sequência “CRG” com atualização.
  • O veículo é consultado pela placa e o tipo de veículo vem do cadastro; se o veículo não estiver cadastrado, usa o tipo informado pelo operador.
  • A transportadora e o motorista são consultados pelo código.
  • Se não houver motorista cadastrado mas o veículo tiver motorista associado: o motorista do veículo é usado.
  • É criada uma nova movimentação de frete com status = “N” (em aberto ou não atualizado) e peso do balancão = 0 (o peso é preenchido depois).
  • A propriedade rural é consultada pelo código (quando informada). A distância da propriedade à filial é registrada na movimentação (buscando na mensagem de distâncias da propriedade filtrada pela filial; se não encontrar distância específica, usa a distância geral da propriedade).
  • Os campos adicionais são gravados: DataDoMovimento, DataV1, DataV2, PesoV1, PesoV2, HoraV1, HoraV2, QuantidadeV1, QuantidadeV2, DataDaCompetencia, Hora (formato HHmmss), tipo de veículo, ID da propriedade, ID do participante.
  • Deve haver ao menos um peso do tipo I ou U para nova carga; se não houver, alerta é lançado.
Ao atualizar uma carga existente
  • Os campos atualizados são: ID do tipo de frete, transportadora, GTA, NF produtor, chave de fato da origem (contrato), observação, tipo de veículo, ID do item, DataV1, DataV2, PesoV1, PesoV2, QuantidadeV1, QuantidadeV2, ID do participante, lacre.
  • Se o motorista tiver código > 0: o motorista é consultado no repositório e atribuído; o nome do motorista vem do cadastro.
  • Se o motorista não tiver código (= 0 ou nulo): o motorista é nulo;
  • A distância (km) é atualizada se houver na propriedade rural.
  • Uma inserção dos dados é executado imediatamente após a atualização dos dados da carga.
Persistência dos pesos
  • Cada peso é processado na ordem: I primeiro (ordem 0), parciais numéricos em seguida (por valor numérico), F por último; tipos não reconhecidos vão para o final.
  • Para pesos com StatusDeEnvio = 1 (novos): é criada uma nova entidade de peso no banco. Se o peso tiver observação: um registro de log de operação é criado detalhando o peso manual, o operador, o motivo e o tipo do peso.
  • Para pesos com StatusDeEnvio = 2 (já enviados): não são inseridos no banco, mas o peso bruto inicial é capturado para cálculo.
  • Para pesos com StatusDeEnvio = 0: alerta é lançado.
  • Se a data do peso tiver Ticks <= 0: alerta é lançado.
Cálculo e persistência do peso do balancão na API
  • Para peso do tipo I: se for o único peso no envio, o peso do balancão é calculado como |pesoBruto_I - 0| = pesoBruto_I; caso contrário, peso do balancão fica 0 e o peso anterior é registrado.
  • Para tipos numéricos (parciais): se for o primeiro parcial (pesoAnterior = 0), registra o peso como referência; se for o segundo parcial (pesoAnterior > 0), soma |parcial - pesoAnterior| ao peso do balancão e zera o peso anterior.
  • Para peso do tipo F: soma |pesoBruto_F - pesoAnterior| ao peso do balancão.
  • Para peso do tipo U: o peso do balancão é o peso bruto do peso único; o status da carga é fechado imediatamente.
Fechamento da carga
  • Se após processar todos os pesos o peso final (tipo F) tiver valor > 0: o status da carga é alterado para S (fechado / Atualizada).
  • Se houver peso único (tipo U): o status é alterado para S.
  • Após o fechamento, uma inserção de dados é executado.
Imagens de pesagem
  • Para cada peso que tiver imagens associadas:
    • Imagens presentes no banco de dados, mas ausentes nas informações enviadas para o SQL (por ID e tipo de peso): são excluídas do banco.
    • Imagens novas (ID = 0) enviadas para o SQL: são convertidas de Base64 para bytes e inseridas no banco com um novo ID sequencial, seguidas de commit imediato.
Cancelamento de carga
  • A tabela de movimentação de frete é atualizada diretamente via SQL: STATUS_FECHADO = 'C' para a carga selecionada.
  • Se ocorrer erro: a exceção é capturada silenciosamente e a função retorna verdadeiro mesmo em caso de falha.
Remoção de pesagem
  • São executados dois comandos SQL diretos: DELETE na tabela de imagens de pesagem e DELETE na tabela de pesos de balancão, ambos filtrando por chave de fato do frete e tipo de peso.
  • Se a pesagem tiver ID > 0 e a mensagem de log não for nula: é registrado um log de depuração no banco com os detalhes da pesagem removida.
  • O log de depuração é criado com campos: ID local, ID da carga no balancão, peso líquido, data formatada, chave de fato, tipo de peso, status de envio e observação.
  • O retorno interno (para o log) é silencioso; erros de log não impedem a remoção.
  • O retorno externo captura exceções e as retorna como mensagem de erro.
Estatísticas de escalas
  • Após salvar a carga, se as informações contiver estatísticas de escalas: o sistema executa uma consulta SQL agrupada na tabela de movimentação de frete, somando a quantidade V1 por chave de fato de origem (escala), para cada chave de fato informada.
  • O resultado substitui as estatísticas originais na informações de retorno.
14 — VALIDAÇÃO DE PLACA

Validação de Placa Balança Rodoviária

Regras de Negócio

Formato aceito
  • A placa deve ter exatamente 7 caracteres.
  • Formato padrão (antigo): 3 letras + 4 dígitos numéricos.
  • Formato Mercosul (novo): 3 letras + 1 dígito + 1 letra + 2 dígitos.
  • Antes da validação: espaços, pontos, vírgulas e hífens são removidos, e a placa é convertida para maiúsculas.
Por país
  • Se o código do país for o da Bolívia (código “973”): a validação de formato é ignorada e a placa é aceita como válida independentemente do formato.
  • Se o código do país estiver em branco: a validação de formato é ignorada.
  • Para demais países: aplica a validação de formato descrita acima.
Validação obrigatória
  • Se o campo de placa estiver vazio ou em branco: o sistema exibe alerta “O campo PLACA, Não pode estar vazio” e retorna falso.
  • Se a placa não atender ao formato: o sistema exibe alerta “Formato de placa inválido”, coloca o foco no campo de placa, e retorna falso.
15 — INTEGRAÇÃO COM BALANÇA FÍSICA

Integração com Balança Física Balança Rodoviária

Regras de Negócio

  • A balança é inicializada com as configurações do posto (host, porta, fator de divisão).
  • A balança recebe atividades: ação pós-pesagem (executa quando o peso é confirmado), notificação de peso disponível (executa quando o valor está pronto para captura), e captura do objeto de controle da balança.
  • O ciclo de captura pode ser iniciado em modo não-exclusivo (permitindo múltiplas amostras).
  • A ação pós-pesagem aplica o fator de divisão ao peso capturado.
  • A ação de confirmação (Enter) executa a efetivação do peso quando a pesagem está ativa e o botão Pesar está habilitado.
16 — TRATAMENTO DE ERROS

Tratamento de Erros Balança Rodoviária

1 Falha na validação dos combos

Cenário: o operador tenta pesar sem selecionar tipo de veículo ou tipo de frete.

Mensagem exibida: “Selecione o Tipo de Veículo” ou “Selecione o Tipo de Frete” (conforme o campo faltante).

O que fazer: selecionar os campos obrigatórios antes de pesar.

2 Tipo de frete com placa não cadastrada

Cenário: o tipo de frete exige placa cadastrada e a placa digitada não está no cadastro.

Mensagem exibida: “Placa informada não está cadastrada”.

O que fazer: cadastrar o veículo no sistema ou usar um tipo de frete que não exige placa cadastrada.

3 Tentativa de pesar sem contrato (quando exigido)

Cenário: o tipo de frete exige documento relacionado e o campo de contrato está vazio.

Mensagem exibida: caixa de confirmação perguntando se deseja acessar a tela de contratos.

O que fazer: selecionar um contrato na tela de contratos ou cancelar e escolher outro tipo de frete.

4 Redundância de peso

Cenário: o operador tenta registrar um segundo peso do mesmo tipo (dois iniciais ou dois finais).

Mensagem exibida: “Já existe peso deste tipo” (para peso inicial duplicado) ou “Já existe peso final” (para peso final duplicado).

O que fazer: remover o peso existente antes de registrar um novo do mesmo tipo.

5 Tentativa de adicionar peso final como primeiro peso

Cenário: a mensagem de pesagens está vazia e o tipo selecionado é Final.

Mensagem exibida: “Primeiro insira o peso inicial”.

O que fazer: registrar primeiro o peso inicial.

6 Peso único já existente

Cenário: já existe um peso do tipo Único e o operador tenta adicionar outro peso.

Mensagem exibida: exceção com mensagem “Já existe peso único”.

O que fazer: remover o peso único antes de prosseguir.

7 Tentativa de excluir peso inicial com peso final existente

Cenário: o operador tenta remover o peso inicial quando já existe peso final na mensagem.

Mensagem exibida: “Não é possível excluir o peso inicial”.

O que fazer: remover o peso final antes de remover o inicial.

8 Tentativa de excluir peso não finalizado

Cenário: o operador tenta remover um peso com StatusDeEnvio = 1 (ainda não salvo no banco).

Mensagem exibida: “Não é possível excluir sem finalizar o peso”.

O que fazer: salvar a carga antes de tentar remover o peso.

9 Falha ao salvar (campos obrigatórios não preenchidos)

Cenário: o operador clica em Salvar sem preencher todos os campos exigidos.

Mensagem exibida: “Não foi possível salvar a carga: [mensagem de campos faltantes]”.

O que fazer: preencher todos os campos indicados na mensagem.

10 Erro retornado pela API ao salvar

Cenário: a API retorna um erro no campo Erro do objeto de resposta.

Mensagem exibida: texto do erro retornado pela API.

O que fazer: verificar o motivo do erro conforme a mensagem exibida.

11 Usuário sem permissão (peso manual ou cancelamento)

Cenário: o operador tenta digitar peso manual ou cancelar carga sem ser supervisor/administrador.

Mensagem exibida: “Usuário [nome-código_filial] não é Supervisor de Indústria” ou similar.

O que fazer: solicitar que um supervisor autentique para a operação.

12 Usuário não encontrado na autenticação

Cenário: o usuário informado na tela de autenticação não existe no sistema.

Mensagem exibida: “Usuário não encontrado”.

O que fazer: verificar o código e senha informados.

13 Peso manual inválido

Cenário: o valor digitado no formulário de peso manual não é um número decimal válido, ou a observação está vazia.

Mensagem exibida: “Peso inválido”.

O que fazer: informar um valor numérico válido e preencher a observação.

14 Escape sem confirmação

Cenário: o operador pressiona Escape para limpar os dados da tela.

Mensagem exibida: caixa de confirmação “Confirmar — Deseja apagar os dados?”.

O que fazer: confirmar para limpar ou cancelar para manter os dados.

17 — CASOS DE USO

Casos de Uso Balança Rodoviária

Caso 1 — Entrada normal de caminhão com pesagem dupla

O operador digita a placa “ABC1D23”. O sistema encontra o veículo, preenche marca/modelo e transportadora. O operador seleciona o tipo de frete “Animais Vivos”, informa o GTA e o lacre. Clica em Pesar. A balança captura o peso de entrada: 28.450 kg. O operador pressiona Enter. O peso Inicial é registrado. O caminhão descarrega os animais. O operador clica em Pesar novamente. A balança captura 15.200 kg. Enter confirma. O peso Final é registrado. O peso do balancão exibido é |15.200 – 28.450| = 13.250 kg. O operador clica em Salvar. A API persiste a carga e retorna. A tela de impressão é exibida. O operador confirma a impressão e visualiza o comprovante em PDF.

Caso 2 — Entrada com contrato SISBOV

O operador digita a placa “XYZ5678”. Tipo de frete selecionado é um que exige documento relacionado. O botão Contrato fica habilitado. O operador clica em Contrato, pesquisa pelo contrato de abate do produtor “Fazenda São José”, seleciona o contrato com documento “0001-ABT0101-001-00001”. Os campos Contrato, Produtor e Propriedade são preenchidos automaticamente. O operador pesa (peso único de 22.100 kg via Pesagem Única). Salva. A carga é fechada imediatamente com status “S” pela API.

Caso 3 — Peso manual por supervisor

O operador está sem balança física disponível. Clica em Digitar Peso. O sistema verifica que o usuário não é supervisor. A tela de autenticação é exibida. O supervisor informa seu usuário e senha. A API confirma as credenciais. O formulário de peso manual é aberto. O supervisor digita “18.540” e informa a observação “Balança em manutenção”. O peso é registrado como Inicial com observação. O fluxo segue normalmente.

Caso 4 — Seleção de carga em andamento

O operador de segundo turno precisa retomar uma pesagem iniciada. Digita a placa “DEF3G45”. O sistema encontra uma carga aberta para essa placa. A tela de seleção de cargas é exibida. O operador seleciona a carga. Os dados são carregados: o peso Inicial de 29.100 kg já está mensagemdo, e o campo tipo de peso já está apontando para Final. O operador pesa o caminhão vazio (16.800 kg), pressiona Enter, e salva. A carga é fechada.

NA PÁGINA

  • Visão Geral Balança Rodoviária
  • Pré-requisitos Balança Rodoviária
  • Fluxo Operacional Balança Rodoviária
  • Pesagem Balança Rodoviária
  • Peso Manual Balança Rodoviária
  • Contratos e Produtor Balança Rodoviária
  • Consulta e Seleção de Cargas Balança Rodoviária
  • Validação de Salvamento Balança Rodoviária
  • Persistência (Envio para a API) Balança Rodoviária
  • Cancelamento de Carga Balança Rodoviária
  • Remoção de Pesagem Balança Rodoviária
  • Tipo de Peso Balança Rodoviária
  • Dados Persistidos Balança Rodoviária
  • Validação de Placa Balança Rodoviária
  • Integração com Balança Física Balança Rodoviária
  • Tratamento de Erros Balança Rodoviária
  • Casos de Uso Balança Rodoviária
NEWSLETTER

Conteúdo para quem vive a indústria de alimentos

Receba conteúdos sobre tecnologia, gestão e inovação para a indústria de alimentos.

Acompanhe novidades, tendências e soluções para melhorar a eficiência da sua operação.

Produtos

  • ERP
  • Frigosoft
  • Força de Vendas
  • Coleta de Resíduos
  • Venda Ambulante
  • Coleta de Leite
  • BI Atak
  • EasyPAC
  • Delivery B2B

Soluções

  • Bovinos
  • Suínos
  • Aves
  • Ovinos
  • Pescados
  • Laticínios
  • Curtumes
  • Charqueadas
  • Distribuidores Entrepostos
  • Indústria de Alimentos em Geral

Conteúdos

  • Blog
  • E-books (em breve)
  • Podcasts (em breve)
  • Webinars (em breve)
  • Depoimentos

Ajuda

  • Dúvidas
  • Documentação (em breve)
  • Manuais (em breve)
  • Avisos (em breve)
  • Novidades (em breve)

Empresa

  • Sobre
  • Carreiras
  • Privacidade
  • Contato
  • llms.txt
  • llms-full.txt

Social

  • LinkedIn
  • Instagram
  • YouTube

© 2026 Atak Sistemas Todos os direitos reservados.

Av. Nildo Ribeiro da Rocha, 5766 Parque Tecnológico, Maringá/PR. CNPJ: 73.500.290/0001-06