Geração de Pedido de Pescados
Geração de Pedido de Pescados
Rotina do Frigosoft que agrupa kits de produção finalizados em pedidos de venda para clientes e fornecedores, com painel de acompanhamento e consulta de melhores vendas.
Visão Geral da Geração de Pedido de Pescados
A Geração de Pedido de Pescados é a rotina do Frigosoft que permite ao operador reunir kits de produção já prontos — ou seja, kits que já passaram pela montagem e pela tipificação (classificação) — e agrupá-los em um pedido de venda que sairá do frigorífico com destino a um cliente ou fornecedor. Nessa mesma tela, o operador também tem acesso a um painel de acompanhamento da produção (o dashboard) e a uma consulta de sugestão de melhores vendas, que ajuda a decidir para qual cliente vender determinado produto com base no histórico de vendas dos últimos 12 meses.
Essa rotina ocupa uma posição específica no fluxo de trabalho de pescados: ela vem depois da montagem de kits e da tipificação (etapas que deixam os volumes-kit prontos e já classificados) e antes da expedição (etapa que vai usar os pedidos gerados aqui para o embarque). Um pedido criado nesta tela pode, mais tarde, ser editado — o que na prática significa que o sistema cancela o pedido antigo e cria um novo em seu lugar, com uma lista diferente de volumes — ou pode ser cancelado definitivamente, desde que ainda não tenha avançado para uma etapa seguinte do processo, como a expedição ou o faturamento.
Em resumo, é a etapa em que a produção já pronta se transforma, de fato, em um pedido de venda vinculado a um cliente.
Vídeo Tutorial da Geração de Pedido de Pescados
▶ Tutorial em vídeo: ainda não disponível para esta rotina.
Pré-requisitos e Contexto de Acesso da Geração de Pedido de Pescados
Perfil de usuário
A rotina é operada por quem realiza a movimentação de pescados no frigorífico (o “operador”). Esse operador precisa, obrigatoriamente, ter um cadastro correspondente no cadastro geral do sistema (ERP). Se esse vínculo não existir, o sistema bloqueia a geração do pedido com um erro de validação, e um responsável técnico ou administrativo precisa providenciar esse cadastro antes que o operador consiga gerar pedidos.
Filial selecionada
É recomendável haver uma filial selecionada no aplicativo antes de pesquisar os kits. Se nenhuma filial estiver selecionada, a busca de kits passa a trazer resultados de todas as filiais, sem distinção — o que pode trazer mais resultados do que o esperado.
Data de movimentação
A data de movimentação corrente do aplicativo é usada automaticamente como referência inicial em vários pontos da tela — no preenchimento inicial das datas de filtro, no carregamento do painel de produção, na lista de pedidos já gerados e na busca de documentos de origem disponíveis para vínculo.
Sequência de numeração ativa
Para o tipo de movimento (TMV) escolhido, deve existir, para a filial usada, uma sequência de numeração ativa configurada no sistema. Sem isso, a geração do pedido é bloqueada com a mensagem “falha localizar uma sequencia ativa para documento filial”. A configuração dessa sequência deve ser resolvida com o responsável técnico ou administrativo do sistema.
Etapas anteriores obrigatórias
A rotina depende diretamente da existência de kits já finalizados pela montagem de kits e pela tipificação. Sem kits finalizados disponíveis, não há o que selecionar para gerar um pedido.
Motivo de cancelamento padrão para edição
Para editar um pedido (o que, tecnicamente, cancela o pedido atual e cria um novo em seu lugar): deve existir, na configuração do sistema, um motivo de cancelamento padrão definido no parâmetro de sistema número 334. Se esse parâmetro não estiver configurado, a operação de edição é recusada com a mensagem “nao e possivel localizar codigo motivo cancelamento default”, e a configuração precisa ser feita por um responsável técnico ou administrativo.
Processo de Criação — Passo a Passo da Geração de Pedido de Pescados
Passo 1: Abrir a tela de Geração de Pedido
Ao entrar na tela, o sistema já carrega automaticamente o painel de produção (dashboard) para a filial e a data de movimentação atuais. Ao mesmo tempo, em segundo plano, o sistema também carrega as combinações de tipificação disponíveis, a lista de tipos de movimento (TMV) e a lista de itens usados na pesquisa de produção — essas três cargas acontecem juntas, e a tela só fica pronta para uso quando todas terminam.
Passo 2: Consultar o painel de produção (opcional)
O operador pode acompanhar, no dashboard, as ordens de produção da filial e data atuais. Caso a lista venha vazia, o sistema exibe um aviso informando que nenhuma ordem de produção foi encontrada. O operador pode atualizar esse painel a qualquer momento tocando no ícone de atualizar; enquanto a atualização ocorre, um indicador de carregamento é exibido no centro da tela.
Passo 3: Preencher os filtros de pesquisa de kits
O operador acessa a aba de filtros e pode informar, cada um de forma independente: produto, combinação de tipificação, peso do kit, peso dos volumes e/ou número de lote. Cada um desses filtros só é realmente considerado na busca se a caixa de seleção correspondente estiver marcada — se o campo tiver um valor preenchido mas o checkbox estiver desmarcado, esse filtro é ignorado e a busca segue sem essa restrição. O intervalo de datas vem pré-preenchido com a data de movimentação atual, mas pode ser alterado pelo operador. Se a data inicial for ajustada para um valor posterior à data final, a data final é automaticamente empurrada para acompanhar a nova data inicial — evitando um intervalo de datas inválido. Não existe o ajuste inverso: se o operador colocar uma data final anterior à inicial, o sistema não corrige nem avisa nada.
Passo 4: Pesquisar os kits
Ao confirmar a pesquisa, o sistema lista os kits encontrados. O operador pode alternar entre ver cada kit individualmente ou ver os kits agrupados por código de combinação (mostrando o peso total e a quantidade de kits de cada combinação). Se a pesquisa não retornar nenhum kit, é exibida uma mensagem informando que nenhuma lista de kits foi encontrada.
Passo 5: Selecionar os kits desejados
O operador marca, na lista de resultados, um ou mais kits que farão parte do pedido. Marcar ou desmarcar um kit funciona como uma alternância simples: tocar em um kit já selecionado o remove da seleção; tocar em um kit não selecionado o adiciona. No rodapé da lista, dois totalizadores acompanham a seleção em tempo real: o peso dos kits selecionados em relação ao peso total dos kits finalizados disponíveis, e a quantidade de kits selecionados em relação à quantidade total de kits finalizados disponíveis.
Passo 6: (Opcional) Consultar a sugestão de melhores vendas
Se o operador já tiver selecionado produtos no filtro de pesquisa, é possível consultar a sugestão de melhores vendas, que indica, com base nas vendas dos últimos 12 meses, quais clientes mais compraram os produtos filtrados. Se nenhum produto tiver sido selecionado no filtro, o sistema exibe um aviso pedindo que um produto seja selecionado antes de usar essa consulta.
Passo 7: Avançar para a tela de Dados do Pedido
Com pelo menos um kit selecionado, o botão “Gerar Pedido” da lista de kits fica habilitado. Ao tocá-lo, o operador é levado à tela de Dados do Pedido, onde vai definir o restante das informações do pedido.
Passo 8: Selecionar o Tipo de Movimento (TMV)
O operador toca no campo de Tipo de Movimento para abrir a janela de seleção. Assim que essa janela é aberta, a seleção atual de TMV, cliente e documento de origem que já estivessem preenchidos é apagada imediatamente — mesmo que o operador desista e feche a janela sem escolher nada, essas seleções já foram perdidas e precisam ser refeitas. Dentro da janela, o operador pode digitar um texto para filtrar a lista, que é comparada com o código e o nome do TMV. Assim que um TMV válido é escolhido, o sistema carrega automaticamente, em sequência, a lista de clientes/fornecedores compatíveis com aquele TMV e a lista de documentos de origem disponíveis para exportação na filial e data atuais.
Passo 9: Selecionar o Cliente/Fornecedor
O operador escolhe, na lista carregada de acordo com o TMV selecionado, o cliente ou fornecedor de destino do pedido. É possível pesquisar por parte do nome ou do código do cadastro (a busca não diferencia maiúsculas de minúsculas) e ordenar a lista por nome ou por código.
Passo 10: (Opcional) Vincular um documento de origem
Se aplicável, o operador pode selecionar um documento de origem (documento de exportação) ao qual o pedido ficará vinculado, escolhendo entre os documentos disponíveis para a filial e data atuais.
Passo 11: Confirmar a geração do pedido
O botão “Gerar Pedido” da tela de Dados do Pedido só fica habilitado quando um Tipo de Movimento e um Cliente/Fornecedor tiverem sido selecionados e houver pelo menos um kit selecionado. Ao confirmar, o sistema realiza, nesta ordem, uma série de verificações antes de efetivamente criar o pedido:
- a) confirma que existe um cadastro no ERP vinculado ao usuário operador;
- b) confirma que o Tipo de Movimento informado existe (caso contrário, mensagem “falha localizar tipo movimento com codigo”);
- c) confirma que existe uma sequência de numeração ativa para o documento daquele TMV na filial informada (caso contrário, mensagem “falha localizar uma sequencia ativa para documento filial”);
- d) se um documento de origem foi informado, confirma que ele existe (caso contrário, mensagem “Nao foi possivel localizar o documento origem com chave de fato = {chave}”) e que ele tem o perfil correto de exportação (caso contrário, uma mensagem informa qual perfil foi encontrado e qual era esperado);
- e) confirma que cada volume selecionado é, de fato, um volume-kit completo, com seu volume-pai (caso contrário, mensagem “Volume invalido! Os volumes informados devem ser volumes kits.”);
- f) confirma que nenhum dos kits selecionados já está vinculado a outro pedido ou expedição (caso contrário, uma mensagem informa o código de barras do volume e a chave do pedido ao qual ele já pertence).
Se todas as verificações passarem, o sistema cria um novo documento de saída (pedido de venda), vincula todos os volumes-pai selecionados a ele e transforma cada volume filho dos kits em um item do pedido. Se o operador reenviar a mesma solicitação de geração (por exemplo, após uma queda de conexão, quando o aplicativo tenta de novo automaticamente), o sistema identifica que aquela operação já foi processada e recusa a nova tentativa com a mensagem: “Nao foi possivel realizar novo pedido de venda. Esse pedido ja foi efetuado. Verifique o pedido e tente novamente.” Nesse caso, o pedido já existe e não deve ser gerado novamente.
Passo 12: Visualizar o pedido gerado
Após a geração ser concluída com sucesso, o operador é levado automaticamente à tela de visualização do pedido recém-criado, podendo alternar entre ver os itens agrupados do pedido ou os kits que compõem o pedido (cada opção mostra, entre parênteses, a quantidade de registros). Se a lista escolhida estiver vazia, é exibida a mensagem “sem dados para exibir”. Nessa tela, aparecem os botões “novo pedido” e “dashboard” para o operador continuar seu trabalho; usar o botão/gesto de voltar nesse ponto não retorna um único passo — ele leva diretamente de volta à tela de filtros de pesquisa, pulando as telas intermediárias.
Descrição de Cada Campo da Tela da Geração de Pedido de Pescados
Data Inicial (filtro de pesquisa de kits)
Tipo: data
Obrigatoriedade: opcional — vem pré-preenchida com a data de movimentação atual, mas pode ser alterada ou até apagada.
Descrição: define o início do intervalo de datas usado para localizar os kits de produção.
Comportamento: exibida no formato dia/mês/ano. Se o operador definir uma data inicial posterior à data final já preenchida, o sistema ajusta automaticamente a data final para acompanhar a nova data inicial, evitando um intervalo invertido.
Impacto: restringe quais kits aparecem na lista de resultados da pesquisa.
Data Final (filtro de pesquisa de kits)
Tipo: data
Obrigatoriedade: opcional — vem pré-preenchida com a data de movimentação atual, mas pode ser alterada ou até apagada.
Descrição: define o fim do intervalo de datas usado para localizar os kits de produção.
Comportamento: exibida no formato dia/mês/ano. Diferente da data inicial, alterar a data final para um valor anterior à data inicial não gera nenhum ajuste automático nem aviso — o operador pode acabar configurando um intervalo invertido sem perceber.
Impacto: restringe quais kits aparecem na lista de resultados da pesquisa.
Produto (com checkbox de ativação do filtro)
Tipo: seleção/autocomplete de produto, com caixa de seleção associada
Obrigatoriedade: condicional — só é levado em conta na pesquisa se a caixa de seleção ao lado estiver marcada; se estiver desmarcada, o valor preenchido é ignorado, mesmo que exista.
Descrição: permite restringir a busca de kits a um ou mais produtos específicos.
Comportamento: mesmo que o checkbox esteja marcado, o sistema não obriga o preenchimento do produto antes de pesquisar — ou seja, é possível marcar o checkbox sem preencher nada e a pesquisa não é bloqueada por isso.
Impacto: ao selecionar produtos aqui, esses mesmos produtos alimentam automaticamente a consulta de sugestão de melhores vendas.
Combinação (com checkbox de ativação do filtro)
Tipo: seleção/autocomplete de combinação de tipificação, com caixa de seleção associada
Obrigatoriedade: condicional — só é considerada se a caixa de seleção estiver marcada.
Descrição: permite restringir a busca de kits a uma combinação específica de classificação (tipificação).
Comportamento: assim como o filtro de produto, marcar o checkbox sem preencher o valor não bloqueia a pesquisa.
Impacto: influencia quais kits aparecem na lista de resultados.
Peso do Kit (com checkbox de ativação do filtro)
Tipo: número (faixa de peso), com caixa de seleção associada
Obrigatoriedade: condicional — só é considerado se a caixa de seleção estiver marcada.
Descrição: restringe a busca a kits dentro de uma determinada faixa de peso total do kit.
Comportamento: marcar o checkbox sem preencher o valor não bloqueia a pesquisa.
Impacto: influencia quais kits aparecem na lista de resultados.
Peso dos Volumes (com checkbox de ativação do filtro)
Tipo: número (faixa de peso), com caixa de seleção associada
Obrigatoriedade: condicional — só é considerado se a caixa de seleção estiver marcada.
Descrição: restringe a busca considerando o peso individual dos volumes que compõem os kits.
Comportamento: marcar o checkbox sem preencher o valor não bloqueia a pesquisa.
Impacto: influencia quais kits aparecem na lista de resultados.
Número de Lote (com checkbox de ativação do filtro)
Tipo: texto/número, com caixa de seleção associada
Obrigatoriedade: condicional — só é considerado se a caixa de seleção estiver marcada.
Descrição: restringe a busca a kits de um lote de produção específico.
Comportamento: marcar o checkbox sem preencher o valor não bloqueia a pesquisa.
Impacto: influencia quais kits aparecem na lista de resultados.
Alternância de Exibição (individual / agrupado por combinação)
Tipo: seletor (alternância de modo de exibição)
Obrigatoriedade: não se aplica — é uma preferência de visualização, não um dado do pedido.
Descrição: define como os kits encontrados são apresentados na tela: cada kit individualmente (opção padrão ao abrir a tela) ou agrupados por código de combinação, mostrando peso total e quantidade de kits por combinação.
Comportamento: alternar o modo não altera a seleção de kits já feita pelo operador.
Impacto: apenas visual — não interfere no pedido a ser gerado.
Lista de Kits Encontrados (itens selecionáveis)
Tipo: lista de seleção múltipla
Obrigatoriedade: obrigatório selecionar pelo menos um kit para poder avançar na geração do pedido.
Descrição: mostra os kits finalizados que atendem aos filtros aplicados, para que o operador escolha quais entrarão no pedido. São considerados “finalizados” os kits cujo volume-pai não está mais em status pendente/parcial de produção.
Comportamento: tocar em um kit alterna sua seleção (marca se estava desmarcado, desmarca se já estava marcado). Ao abrir a tela para uma nova pesquisa, a seleção é sempre limpa; já quando o operador está editando um pedido existente, a seleção anterior do pedido é preservada. Se a pesquisa não encontrar nenhum kit, é exibida a mensagem de que nenhuma lista de kits foi encontrada.
Impacto: define exatamente quais volumes serão vinculados ao pedido de venda gerado.
Totalizador de Peso (rodapé da lista de kits)
Tipo: exibição de informação (somente leitura)
Obrigatoriedade: não se aplica.
Descrição: mostra o peso total dos kits selecionados pelo operador em relação ao peso total de todos os kits finalizados disponíveis na lista.
Comportamento: atualizado automaticamente conforme o operador marca ou desmarca kits.
Impacto: ajuda o operador a avaliar o volume de mercadoria que está incluindo no pedido antes de confirmar.
Totalizador de Quantidade (rodapé da lista de kits)
Tipo: exibição de informação (somente leitura)
Obrigatoriedade: não se aplica.
Descrição: mostra a quantidade de kits selecionados pelo operador em relação à quantidade total de kits finalizados disponíveis na lista.
Comportamento: atualizado automaticamente conforme o operador marca ou desmarca kits.
Impacto: ajuda o operador a avaliar quantos kits está incluindo no pedido antes de confirmar.
Botão “Gerar Pedido” (tela de lista de kits)
Tipo: botão de ação
Obrigatoriedade: não se aplica.
Descrição: avança o fluxo para a etapa seguinte da geração do pedido.
Comportamento: só fica habilitado quando pelo menos um kit está selecionado. Se o operador estiver editando um pedido existente, tocar nesse botão apenas retorna à tela anterior (sem passar pela tela de dados do pedido, já que esses dados já existem no pedido original). Fora do modo de edição, avança diretamente para a tela de Dados do Pedido.
Impacto: determina o momento em que a seleção de kits é considerada definitiva para seguir com a geração.
Botão de Sugestão de Melhores Vendas
Tipo: botão de ação
Obrigatoriedade: não se aplica.
Descrição: abre a consulta que sugere, para os produtos filtrados, quais clientes mais compraram esses produtos nos últimos 12 meses.
Comportamento: fica completamente oculto quando o operador está editando um pedido existente. Fora do modo de edição, só fica habilitado se houver produtos selecionados no filtro de pesquisa; caso contrário, exibe um aviso pedindo que um produto seja selecionado.
Impacto: fornece uma referência de decisão para escolher o cliente do pedido, mas não altera nenhum dado do pedido por si só.
Tipo de Movimento — TMV (tela de Dados do Pedido)
Tipo: seleção (janela de escolha com pesquisa)
Obrigatoriedade: obrigatório fora do modo de edição, para habilitar a geração do pedido.
Descrição: define a natureza da movimentação de saída do pedido (por exemplo, um tipo de venda para exportação). A lista de opções é restrita a apenas dois tipos de movimento pré-definidos no sistema, específicos para vendas de pescados — nenhum outro tipo de movimento aparece aqui, mesmo que existam outros cadastrados no ERP.
Comportamento: ao tocar neste campo para abrir a seleção (fora do modo de edição), o Tipo de Movimento, o Cliente/Fornecedor e o Documento de Origem que já estivessem selecionados são apagados imediatamente — mesmo que o operador feche a janela sem escolher nada, essas seleções já se perdem e precisam ser refeitas. Dentro da janela, é possível filtrar digitando parte do código ou do nome do tipo de movimento. Depois de escolhido um Tipo de Movimento válido, o sistema carrega automaticamente a lista de clientes/fornecedores compatíveis e a lista de documentos de origem disponíveis. Se o tipo de movimento informado não for localizado no sistema, a geração do pedido é recusada com a mensagem “falha localizar tipo movimento com codigo”.
Impacto: define o local de estoque de destino do pedido (calculado a partir do TMV, do cadastro do usuário, do cliente e da filial) e os tipos de cadastro disponíveis para seleção de cliente/fornecedor.
Cliente/Fornecedor (tela de Dados do Pedido)
Tipo: seleção (janela de escolha com pesquisa)
Obrigatoriedade: obrigatório fora do modo de edição, para habilitar a geração do pedido.
Descrição: identifica para quem o pedido está sendo gerado — o cliente ou fornecedor de destino da mercadoria.
Comportamento: a lista de opções depende do Tipo de Movimento escolhido anteriormente. A pesquisa dentro da janela localiza cadastros comparando o texto digitado (sem diferenciar maiúsculas de minúsculas) com o nome ou o código do cadastro, por correspondência parcial. A lista pode ser ordenada por nome (padrão) ou por código. Ao escolher um cadastro, a janela se fecha automaticamente. Se a lista de cadastros vier vazia, é exibida uma mensagem própria de “não encontrado”.
Impacto: define o destinatário do pedido de venda e, junto com o TMV, o local de estoque de saída. Caso o cliente/fornecedor informado não exista de fato no cadastro geral do sistema, o pedido não é bloqueado por uma mensagem amigável nesse momento — o processamento segue adiante e só falha mais à frente, de forma técnica. Recomenda-se ao operador sempre conferir se o código do cliente/fornecedor está correto antes de confirmar a geração do pedido.
Documento de Origem (tela de Dados do Pedido)
Tipo: seleção (janela de escolha)
Obrigatoriedade: opcional.
Descrição: permite vincular o pedido a um documento de exportação já existente, associando o pedido gerado a esse documento de origem.
Comportamento: a lista de documentos disponíveis é carregada para a filial e data de movimentação atuais, após a escolha do Tipo de Movimento. Diferente das demais consultas dessa tela, essa lista é exibida sem uma checagem interna adicional de sucesso — ela vem diretamente da resposta do sistema. Se informado, o sistema confirma que o documento existe (caso contrário, mensagem “Nao foi possivel localizar o documento origem com chave de fato = {chave}”) e que ele tem o perfil correto de documento de exportação; caso o perfil não seja o esperado, uma mensagem informa qual perfil foi encontrado e qual era o esperado.
Impacto: quando informado, o pedido gerado e o embarque correspondente ficam vinculados a esse documento de origem.
Botão “Gerar Pedido” (tela de Dados do Pedido)
Tipo: botão de ação
Obrigatoriedade: não se aplica.
Descrição: confirma a criação do pedido de venda com os dados preenchidos.
Comportamento: fora do modo de edição, só fica habilitado quando um Cliente/Fornecedor e um Tipo de Movimento tiverem sido selecionados na própria tela e houver pelo menos um kit selecionado. Em modo de edição, fica habilitado quando o pedido original já possuir Tipo de Movimento e Cliente/Fornecedor definidos e houver pelo menos um kit selecionado — não é necessário reselecionar esses dois campos manualmente nesse caso.
Impacto: dispara a criação (ou, em edição, o cancelamento do pedido antigo seguido da criação de um novo) do documento de pedido de venda.
Filtro “Todos / Não Cancelados” (tela de Lista de Pedidos Gerados)
Tipo: seletor (alternância)
Obrigatoriedade: não se aplica — o padrão é exibir todos os pedidos.
Descrição: permite ao operador restringir a lista apenas aos pedidos que ainda não foram cancelados.
Comportamento: ao alternar, a lista é recarregada de acordo com a opção escolhida.
Impacto: apenas altera a visualização — não modifica nenhum pedido.
Item da Lista de Pedidos Gerados
Tipo: exibição de informação (somente leitura), com ações associadas
Obrigatoriedade: não se aplica.
Descrição: cada linha mostra o código do pedido, o cliente/fornecedor vinculado (código e nome) e as quantidades totais primária e auxiliar do pedido.
Comportamento: atenção — nessa lista, o campo que exibe o código do pedido está rotulado como “Cliente” na tela, o mesmo rótulo usado logo abaixo para o cliente de fato. Ou seja, aparecem dois campos chamados “Cliente” na mesma linha: o primeiro mostra, na verdade, o código do pedido, e o segundo mostra o cliente/fornecedor propriamente dito. Isso é uma inconsistência conhecida da tela — vale orientar o operador a não se confundir com essa repetição de rótulo. Pedidos já cancelados exibem a etiqueta “cancelado” e têm as ações de editar e cancelar desabilitadas.
Impacto: é a partir dessa lista que o operador visualiza, edita ou cancela pedidos já gerados.
Motivo de Cancelamento (tela de Cancelamento de Pedido)
Tipo: seleção
Obrigatoriedade: obrigatório para o cancelamento ser aceito pelo sistema, embora a tela não exija esse preenchimento antes de permitir o envio.
Descrição: identifica o motivo pelo qual o pedido está sendo cancelado.
Comportamento: a lista de motivos disponíveis é carregada automaticamente ao abrir a tela e sempre começa com uma opção em branco selecionada (nenhum motivo pré-escolhido). Cada motivo aparece no formato “código-nome”. Se não houver nenhum motivo de cancelamento cadastrado no sistema, a tela exibe uma mensagem informando que não há motivo disponível, no lugar do formulário de cancelamento. O aplicativo não valida se o operador realmente selecionou um motivo antes de enviar a solicitação — se o operador deixar a opção em branco, o cancelamento é enviado com o motivo vazio, e é o sistema, do lado do servidor, quem recusa esse cancelamento.
Impacto: fica registrado no documento do pedido cancelado, junto com a observação, o usuário responsável e a data/hora do cancelamento.
Observação (tela de Cancelamento de Pedido)
Tipo: texto livre
Obrigatoriedade: opcional — não é exigida pelo aplicativo antes do envio.
Descrição: campo livre para o operador registrar informações adicionais sobre o motivo do cancelamento.
Comportamento: não passa por nenhuma validação de preenchimento antes do envio.
Impacto: fica registrada junto ao documento do pedido cancelado, como parte do histórico do cancelamento.
Utilização e Consulta de Registros da Geração de Pedido de Pescados
O operador consulta pedidos já gerados através da tela de Lista de Pedidos Gerados, que é carregada automaticamente ao ser aberta, sempre considerando a filial e a data de movimentação atuais do aplicativo. Nessa lista, o único filtro disponível é a alternância entre “todos os pedidos” (opção padrão) e “apenas os pedidos não cancelados”. Não há, na documentação de origem, outros filtros de busca (por cliente, por período além da data de movimentação atual, por tipo de movimento etc.) disponíveis nessa tela — apenas essa alternância.
Cada pedido na lista aparece com seu código (exibido, por uma inconsistência de rótulo da tela, sob o texto “Cliente” — ver observação no campo correspondente na seção anterior), o cliente/fornecedor vinculado e as quantidades totais primária e auxiliar. A partir de um pedido dessa lista, o operador pode: abrir sua visualização completa (itens agrupados ou kits do pedido), editá-lo ou cancelá-lo — sendo que editar e cancelar ficam bloqueados para pedidos que já estejam com a etiqueta “cancelado”.
Já na etapa de geração, o operador localiza os kits de produção disponíveis através da tela de filtros de pesquisa (produto, combinação, peso do kit, peso dos volumes, número de lote e intervalo de datas), cada filtro sendo aplicado apenas se o respectivo checkbox estiver marcado, conforme detalhado na seção de campos.
Processo de Edição da Geração de Pedido de Pescados
Como a edição funciona internamente
A rotina permite editar um pedido já gerado, mas é importante entender como essa edição realmente funciona por trás da tela: tecnicamente, o sistema não altera o pedido original — ele cancela o pedido original (usando sempre o motivo de cancelamento padrão configurado no parâmetro de sistema 334, com a observação fixa “Pedido Cancelado Automaticamente na edicao de pedido via Frigosoft Mobile”) e, na mesma operação, gera um novo pedido de venda em seu lugar. Essas duas ações — cancelar o antigo e criar o novo — acontecem dentro de uma única transação: se qualquer uma das duas falhar, nenhuma das duas é efetivada, evitando que o pedido original fique cancelado sem um novo pedido válido para substituí-lo.
O que pode ser alterado
A única informação que muda de fato entre o pedido original e o novo pedido gerado na edição é a lista de volumes/kits selecionados. O operador pode adicionar ou remover kits da seleção antes de confirmar a edição.
O que permanece bloqueado e por quê
A filial, o cliente/fornecedor, o Tipo de Movimento, a data de movimento e o documento de origem do novo pedido são sempre os mesmos do pedido original — mesmo que a tela de Dados do Pedido exiba esses campos já preenchidos automaticamente durante a edição, eles não geram um novo valor diferente do pedido original quando o novo pedido é criado. Isso existe para garantir que a edição sirva apenas para ajustar quais volumes fazem parte do pedido, sem alterar para quem ou sob qual tipo de movimento a venda está sendo feita. [Observação: a documentação de origem não deixa explícito se a interface chega a bloquear visualmente a edição desses campos na tela ou apenas os reexibe sem que o valor alterado tenha efeito no resultado final — recomenda-se validar esse comportamento visual com o time responsável, caso o operador relate confusão ao tentar alterar esses dados durante uma edição.]
Condição que impede a edição
Como a edição depende de conseguir cancelar o pedido original, ela fica sujeita às mesmas restrições do cancelamento — ou seja, um pedido que já tenha avançado para uma etapa seguinte do fluxo (como expedição ou faturamento, identificado pela existência de um documento destino vinculado) não pode mais ser editado por esta rotina. Da mesma forma, um pedido já cancelado não pode ser editado novamente (a ação de editar já aparece desabilitada para pedidos cancelados na lista de pedidos gerados).
Histórico de alterações
Não existe um “histórico de edições” no sentido de mostrar versões anteriores do mesmo pedido dentro da própria tela. O que existe, na prática, é que o pedido original fica registrado como cancelado (com o motivo padrão, a observação automática, o usuário responsável e a data/hora do cancelamento), e um pedido novo e independente é criado em seu lugar — o vínculo entre os dois fica implícito pela reutilização dos mesmos dados de filial, cliente, TMV, data e documento de origem, e pelo fato de ambos aparecerem na lista de pedidos gerados.
Estrutura Técnica e Comportamento do Sistema da Geração de Pedido de Pescados
Ao confirmar a geração de um pedido, o sistema executa uma série de ações automáticas nos bastidores, sem que o operador precise fazer nada além de confirmar a tela:
Vínculo dos volumes ao pedido
Cada volume-pai de kit selecionado é vinculado ao novo pedido através de uma “chave de expedição”. Isso é o que impede, tecnicamente, que o mesmo kit seja usado em dois pedidos diferentes ao mesmo tempo — um kit só pode estar vinculado a um pedido/expedição por vez.
Criação dos itens do pedido
Cada volume filho que compõe um kit vinculado se transforma em um item de saída dentro do pedido (com produto, referência, peso líquido, quantidade e lote). Se o pedido já tiver um item do mesmo produto, referência e lote, as quantidades são somadas a esse item existente em vez de criar uma linha nova — ou seja, volumes diferentes do mesmo produto/referência/lote aparecem consolidados em uma única linha do pedido, e não uma linha por volume.
Recálculo de valores
Depois que todos os kits selecionados são processados, o sistema recalcula automaticamente o valor unitário de todos os itens do pedido.
Determinação do local de estoque
O local de estoque de onde a mercadoria sai é calculado automaticamente pelo sistema, combinando as configurações do Tipo de Movimento escolhido com os cadastros do usuário operador, do cliente e da filial — o operador não escolhe esse local manualmente.
Vínculo com documento de origem
Quando um documento de origem (documento de exportação) é informado, o pedido gerado e o embarque correspondente ficam vinculados a esse mesmo documento, permitindo rastrear a operação de exportação de ponta a ponta.
Proteção contra duplicidade (chave de controle de operação)
Toda geração de pedido carrega uma chave única de controle, calculada a partir dos códigos de barra dos volumes selecionados e do momento exato da operação. Se o aplicativo reenviar a mesma solicitação (por exemplo, depois de uma queda de conexão em que o operador não teve certeza se o pedido foi mesmo criado), o sistema reconhece que aquela chave já foi usada e recusa a nova tentativa, evitando que o mesmo pedido seja criado duas vezes.
Transações “tudo ou nada”
A criação do pedido e a associação de todos os volumes selecionados acontecem de forma atômica — ou o pedido é criado por completo, com todos os volumes vinculados corretamente, ou nada é gravado em caso de qualquer falha no meio do processo.
Reuso de consulta de kits
A pesquisa de kits usada nesta tela é a mesma consulta compartilhada com as telas de montagem de kits e de tipificação — os mesmos filtros de filial, produto, combinação, faixas de peso e lote funcionam de forma equivalente nas três rotinas.
Sugestão de melhores vendas
Essa consulta busca as vendas dos produtos informados ocorridas nos últimos 12 meses (esse período é fixo e não pode ser alterado pelo operador) e, para cada venda encontrada, também traz os detalhes dos volumes envolvidos naquela venda.
Integrações de hardware
Não há integração com balança, impressora ou outro equipamento físico identificada nesta rotina — todas as operações dependem apenas da conexão com o sistema central (o backend/ERP).
Uso offline
Esta rotina depende de conexão com o sistema para todas as suas consultas (pesquisa de kits, dashboard, sugestão de vendas, lista de pedidos) e para a geração ou cancelamento de pedidos — não há indicação de que ela funcione com dados armazenados localmente no aplicativo quando o dispositivo está sem internet.
Regras de Negócio e Restrições da Geração de Pedido de Pescados
Regra 1 — Filtro de filial na busca de kits
Se o operador não informar uma filial no filtro de pesquisa, o sistema usa automaticamente a filial atualmente selecionada no aplicativo. Se nenhuma filial estiver selecionada nem no aplicativo, a busca é feita sem nenhuma restrição de filial, retornando kits de todas as filiais.
Regra 2 — Filtros de pesquisa dependem do checkbox correspondente
Cada filtro de pesquisa de kits (produto, combinação, peso do kit, peso dos volumes, número de lote) só é enviado ao sistema se a caixa de seleção correspondente estiver marcada. Preencher o valor de um filtro sem marcar seu checkbox não tem efeito nenhum sobre a busca — o filtro é enviado vazio. Além disso, marcar o checkbox sem preencher o campo correspondente também não impede a pesquisa de ser realizada.
Regra 3 — Definição de kit finalizado
Um kit só é considerado “finalizado” (e, portanto, elegível para entrar em um pedido) quando o status do seu volume-pai for diferente do status que representa produção pendente ou parcial. Kits ainda pendentes de produção não aparecem disponíveis para seleção em um pedido.
Regra 4 — Sugestão de melhores vendas usa sempre 12 meses
A consulta de sugestão de melhores vendas sempre considera os últimos 12 meses de histórico de vendas, contados a partir da data de movimentação atual. Esse período é fixo no sistema e não pode ser configurado ou alterado pelo operador.
Regra 5 — Apenas dois tipos de movimento disponíveis para venda
A lista de Tipos de Movimento (TMV) oferecida nesta rotina é restrita a exatamente dois perfis de venda pré-definidos no sistema. Nenhum outro tipo de movimento de estoque aparece nessa lista, mesmo que existam outros perfis cadastrados no ERP. Incluir um novo tipo de movimento nessa lista exige uma alteração no sistema feita pelo time técnico.
Regra 6 — Lista de clientes/fornecedores depende do TMV escolhido
A lista de cadastros disponíveis para seleção como cliente/fornecedor é montada de acordo com os tipos de cadastro configurados para o Tipo de Movimento selecionado (por exemplo, ao escolher um TMV de venda, aparecem os clientes compatíveis com esse tipo de venda).
Regra 7 — Todo pedido gerado cria um documento novo
A geração de um pedido sempre cria um documento de saída novo — o sistema nunca reaproveita um documento já existente do mesmo dia. Cada pedido gerado por esta rotina fica identificado internamente com um código de rotina específico de geração de pedido de pescados.
Regra 8 — Documento de origem precisa ter o perfil correto
Se um documento de origem (documento de exportação) for informado, ele precisa existir no sistema e ter exatamente o perfil de documento de exportação esperado. Se o documento não for encontrado ou tiver um perfil diferente do esperado, a geração do pedido é recusada e o operador é informado sobre a divergência.
Regra 9 — Cada volume precisa ser um kit completo e livre
Todo volume incluído em um pedido precisa ser, obrigatoriamente, um volume-kit completo, com seu volume-pai. Além disso, esse volume-pai não pode já estar vinculado a outro pedido ou expedição — cada kit só pode fazer parte de um único pedido por vez. Tentar incluir um kit já usado em outro pedido é recusado, e o sistema informa qual é o pedido ao qual aquele kit já pertence.
Regra 10 — Consolidação de itens do pedido
Ao processar os volumes de um pedido, se já existir no pedido um item do mesmo produto, referência e lote, as quantidades do novo volume são somadas a esse item existente em vez de criar um item separado. Isso significa que o pedido final mostra uma linha por combinação de produto/referência/lote, não uma linha por volume físico.
Regra 11 — Sequência de numeração ativa é obrigatória
Não é possível gerar um pedido para uma filial/Tipo de Movimento cuja sequência de numeração de documentos não esteja ativa no sistema. Essa é uma configuração administrativa que precisa estar em dia antes de qualquer geração de pedido naquela combinação de filial e TMV.
Regra 12 — Cadastro do operador é obrigatório
O usuário que está operando a geração do pedido precisa, obrigatoriamente, ter um cadastro vinculado no cadastro geral do sistema. Sem esse vínculo, nenhuma geração de pedido é permitida para esse usuário.
Regra 13 — Motivo de cancelamento padrão obrigatório para editar pedidos
Editar um pedido (o que, tecnicamente, cancela o pedido original e cria um novo) exige que exista um motivo de cancelamento padrão configurado no parâmetro de sistema 334. Sem essa configuração, nenhuma edição de pedido pode ser concluída.
Regra 14 — Motivo e observação do cancelamento automático na edição são fixos
Quando um pedido é editado, o cancelamento do pedido original não usa um motivo escolhido pelo operador — é sempre o motivo padrão do parâmetro 334, com a observação fixa “Pedido Cancelado Automaticamente na edicao de pedido via Frigosoft Mobile”. O operador não tem controle sobre esse texto durante a edição.
Regra 15 — Reenvio de idempotência na edição usa uma chave própria
Ao editar um pedido, a chave de controle de operação gerada pelo aplicativo é descartada pelo sistema e substituída por uma chave calculada a partir da chave do próprio pedido original que está sendo cancelado. Isso garante que, se o operador reenviar a mesma edição depois de uma queda de conexão, o sistema reconheça que é a mesma operação, mesmo que o aplicativo tenha gerado uma chave diferente na nova tentativa.
Regra 16 — Cancelamento de pedido é recusado em três situações
Uma solicitação de cancelamento de pedido (fora do fluxo de edição) é recusada quando: o pedido não é localizado pela chave informada; o pedido já possui um documento de destino vinculado, ou seja, já avançou para uma etapa seguinte do fluxo, como expedição ou faturamento, e por isso não pode mais ser cancelado por esta rotina; ou o motivo de cancelamento informado não corresponde a nenhum motivo cadastrado no sistema — o que também cobre o caso de o operador não selecionar nenhum motivo e o aplicativo enviar o campo vazio.
Regra 17 — Cancelamento não tem proteção contra reenvio duplicado
Diferente da geração e da edição de pedidos, o cancelamento simples de um pedido não possui proteção contra reenvio da mesma solicitação em caso de queda de conexão. Um cancelamento só é considerado bem-sucedido quando o indicador de sucesso da resposta do sistema vier como o texto “True” e o código de status da requisição for exatamente 200.
Regra 18 — Efeito do cancelamento sobre os volumes
Ao cancelar um pedido com sucesso, todos os volumes vinculados a ele (os volumes-pai dos kits e seus respectivos volumes filhos) têm sua associação de expedição removida — ficando livres novamente para serem usados em um novo pedido. Em seguida, o documento do pedido é marcado como cancelado, registrando o motivo, a observação, o usuário responsável e a data/hora do cancelamento.
Regra 19 — Contrato de sucesso “True”/”False” em algumas consultas
O painel de produção (dashboard), a lista de pedidos gerados e a lista de motivos de cancelamento só são considerados carregados com sucesso quando a resposta do sistema traz um indicador de texto exatamente igual a “True”. Qualquer valor diferente disso é tratado como falha, exibindo a mensagem de que não foi possível encontrar os dados, mesmo que parte da informação tenha, tecnicamente, sido recebida.
Regra 20 — Documento de origem não passa pela mesma checagem de sucesso
Diferente das demais consultas desta rotina, a lista de documentos de origem disponíveis para exportação é aceita diretamente da resposta do sistema, sem passar pela checagem do indicador de sucesso “True”/”False” usada nas outras consultas.
Regra 21 — Lista de pedidos gerados considera apenas os TMVs desta rotina
A lista de pedidos gerada exibida nesta tela mostra apenas pedidos criados com os mesmos dois Tipos de Movimento disponíveis nesta rotina de geração de pedido, e apenas os pedidos originados especificamente da rotina de pescados — pedidos de outras origens ou outros tipos de movimento não aparecem nessa lista.
Regra 22 — Lista de motivos de cancelamento é restrita a um tipo específico
A lista de motivos disponível na tela de cancelamento traz apenas motivos cadastrados com um tipo fixo específico no cadastro geral de motivos do sistema — o mesmo conjunto de motivos usado por outras rotinas de vendas/telemarketing, e não qualquer motivo cadastrado no sistema.
Regra 23 — Validação de campo de filtro marcado sem preenchimento não é aplicada nesta tela
Embora exista, no aplicativo, uma regra de validação que normalmente exigiria o preenchimento de um filtro quando seu checkbox está marcado, essa validação nunca chega a ser efetivamente disparada na tela de filtros desta rotina antes de acionar a pesquisa. Na prática, isso significa que marcar um filtro sem preencher o valor correspondente não impede o operador de pesquisar.
Regra 24 — Cliente/fornecedor inexistente não gera aviso amigável no momento da geração
Se o código do cliente/fornecedor informado não corresponder a um cadastro de fato existente no cadastro geral do sistema, a geração do pedido não é bloqueada nesse ponto com uma mensagem clara para o operador — o processamento continua e só falha mais adiante, de forma técnica, ao tentar montar o local de estoque de destino do pedido. Recomenda-se sempre orientar o operador a conferir cuidadosamente o código do cliente/fornecedor antes de confirmar a geração, já que o sistema não vai avisar de forma amigável se esse código estiver incorreto.
Regra 25 — Retomada automática de dados ao editar um pedido
Ao abrir um pedido existente para edição, o sistema copia automaticamente a lista de kits do pedido para a seleção atual, recarrega a lista de Tipos de Movimento e localiza automaticamente qual TMV corresponde ao pedido original. Em seguida, recarrega a lista de cadastros compatíveis com esse TMV e localiza automaticamente o cliente/fornecedor do pedido original. Isso permite que o operador não precise reconfigurar manualmente TMV e cliente ao editar — apenas ajustar a seleção de kits.