Pular para o conteúdo principal

MRC019 — Ordem de Carregamento Recapadora (enriquecimento)

Menu: Recapadora > Movimentações > Ordem de Carregamento Recapadora

Objetivo​

A tela MRC019 permite consultar pedidos de recapagem de pneus com exame final concluído (aprovados ou recusados) e ainda não vinculados a uma ordem de carregamento, selecioná-los individualmente ou em lote e agrupá-los em um Embarque para gerar a Ordem de Carregamento. Ao salvar, o sistema grava o cabeçalho do embarque, os itens de carregamento (ORDEMCARREGRECAP/ORDEMCARREG) e os lançamentos de faturamento (ITEMRECAPFATUR), podendo abrir uma tela auxiliar para tratar descontos de consertos (manchões) antes de concluir. É usada pela expedição/logística da recapadora para liberar fisicamente os pneus recapados e alimentar o faturamento.

Fluxo principal​

  1. Informar os filtros de consulta (empresa, região comercial, vendedor/borracheiro, município, pessoa, pedido, condição/forma de pagamento, período de emissão e de entrega, subgrupo, bloco, situação dos pneus) e clicar em Consultar (F3) (aba 'Dados para Consulta') — source/MRC019/UMRC019.pas:464-498 (TfrmMRC019.btnProcurarClick)
  2. Sistema valida as datas e os parâmetros do faturamento, monta a consulta de pneus/pedidos elegíveis e abre a aba de Ordem; se nada for encontrado, mensagem de consulta vazia é exibida (aba 'Ordem') — source/MRC019/UMRC019.pas:840-865 (TfrmMRC019.btnProcurarClick)
  3. Marcar na grade os pedidos/pneus a incluir na ordem (clique na coluna STATUS, tecla espaço, botão Marcar Todos, ou leitura do código de barras da Ordem de Produção) (grid de Pedidos (aba 'Ordem')) — source/MRC019/UMRC019.pas:1601-1624 (TfrmMRC019.gridPEDIDOCellClick)
  4. Preencher os dados do Embarque (motorista/transportador, placa, frete, pedágio, data) ou localizar um embarque existente pelo código (F9) ou pelo campo Nº Embarque (aba 'Ordem', grupo Embarque) — source/MRC019/UdmMRC019.pas:571-609 (TdmMRC019.tabEMBARQUEBeforePost)
  5. Sistema confirma a gravação com a mensagem I-1756 e, se houver layout configurado, imprime a ordem de carregamento (aba 'Ordem') — source/MRC019/UMRC019.pas:1268-1272 (TfrmMRC019.btnSalvarClick)

Campos obrigatórios​

CampoCondiçãoMensagemFonte
Data do Embarque (tabEMBARQUEDT_EMBARQUE)sempre, ao salvar (BeforePost de EMBARQUE)É Obrigado a informar A Data do Embarque!source/MRC019/UdmMRC019.pas:571-582 (TdmMRC019.tabEMBARQUEBeforePost)
Motorista (CD_MOTORISTA) ou Transportador (CD_TRANSPORTADOR) ou Nome do Motorista (NM_MOTORISTA)pelo menos um dos três preenchido, ao salvarÉ Obrigatório informar o Motorista / Transportador!source/MRC019/UdmMRC019.pas:584-591 (TdmMRC019.tabEMBARQUEBeforePost)
Pelo menos um Pedido/Pneu marcado na grade (STATUS)ao clicar SalvarNão foi Selecionado nenhum Pedido. Verifique!source/MRC019/UMRC019.pas:1156-1266 (TfrmMRC019.btnSalvarClick)
Empresa (CD_EMPRESA)obrigatória para validar Nº Pedido ou Nº Pedido do Fornecedor informado no filtro de consultaÉ Obrigatório Informar a Empresa para Validação do Pedido!source/MRC019/UdmMRC019.pas:407-427 (TdmMRC019.tabEMPRESANR_PEDIDOValidate)

Mensagens: causa e ação​

I-1756​

Causa: A ordem de carregamento foi gravada com sucesso, com todos os pedidos/pneus marcados vinculados ao embarque informado.

Ação: Nenhuma ação necessária; a ordem já está gravada e, se houver layout configurado, será impressa automaticamente.

Fonte: source/MRC019/UMRC019.pas:1265-1272 (TfrmMRC019.btnSalvarClick)

A Condição de Pagamento não está Cadastrada [TFC002]!​

Causa: O código de condição de pagamento digitado no filtro não existe na tabela CONDPAGTO.

Ação: Cadastrar a condição de pagamento na tela TFC002 ou informar um código válido.

Fonte: source/MRC019/UdmMRC019.pas:503-523 (TdmMRC019.tabEMPRESACD_CONDPAGTOValidate)

A Consulta não Retornou Registros. Verifique!​

Causa: Nenhum pedido/pneu atende à combinação de filtros e parâmetros do módulo.

Ação: Revisar/reduzir os filtros informados (empresa, período, pessoa etc.) e consultar novamente.

Fonte: source/MRC019/UMRC019.pas:846-851 (TfrmMRC019.btnProcurarClick)

A Data Final da Emissão não pode ser Menor que a Data Inicial!​

Causa: A data final do período de emissão informada é anterior à data inicial.

Ação: Corrigir as datas do filtro 'Período de Emissão' antes de consultar.

Fonte: source/MRC019/UMRC019.pas:472-477 (TfrmMRC019.btnProcurarClick)

A Data Final da Entrega não pode ser Maior que a Data Final!​

Causa: A data final do período de entrega informada é inconsistente com a data inicial de entrega.

Ação: Corrigir as datas do filtro 'Período de Entrega' antes de consultar.

Fonte: source/MRC019/UMRC019.pas:479-484 (TfrmMRC019.btnProcurarClick)

A Empresa não está Cadastrada [ADM002]!​

Causa: O código de empresa informado no filtro não existe na tabela EMPRESA.

Ação: Informar um código de empresa válido ou cadastrá-la na tela ADM002.

Fonte: source/MRC019/UdmMRC019.pas:315-337 (TdmMRC019.tabEMPRESACD_EMPRESAValidate)

A Forma de Pagamento não está Cadastrada [TFC001]!​

Causa: O código de forma de pagamento digitado não existe na tabela FORMAPAGTO.

Ação: Cadastrar a forma de pagamento na tela TFC001 ou informar um código válido.

Fonte: source/MRC019/UdmMRC019.pas:804-824 (TdmMRC019.tabEMPRESACD_FORMAPAGTOValidate)

A Pessoa Física / Jurídica não está Ativa [TFA001]!​

Causa: A pessoa informada no filtro está cadastrada, mas com ST_ATIVA='N'.

Ação: Reativar o cadastro da pessoa na tela TFA001 ou informar outra pessoa.

Fonte: source/MRC019/UdmMRC019.pas:429-451 (TdmMRC019.tabPESSOACD_PESSOAValidate)

A Pessoa Física / Jurídica não está Cadastrada [TFA001]!​

Causa: O código de pessoa informado não existe na tabela PESSOA.

Ação: Cadastrar a pessoa na tela TFA001 ou informar um código válido.

Fonte: source/MRC019/UdmMRC019.pas:429-451 (TdmMRC019.tabPESSOACD_PESSOAValidate)

Já existe um Pedido para este Embarque. Verifique!​

Causa: Já existe uma ORDEMCARREG ativa (não cancelada) para o mesmo pedido/item vinculado a esse embarque.

Ação: Verificar se o pedido já foi lançado em outra ordem de carregamento vinculada a esse embarque antes de tentar novamente.

Fonte: source/MRC019/UMRC019.pas:1216-1228 (TfrmMRC019.btnSalvarClick)

Lançamento de Desconto em conserto Cancelado!​

Causa: O usuário fechou a tela de consertos (UMRC019Consertos) pelo botão Cancelar em vez de Confirmar.

Ação: Repetir a operação de salvar e, na tela de consertos, confirmar (F6) a marcação dos descontos desejados.

Fonte: source/MRC019/UMRC019.pas:1187-1203 (TfrmMRC019.btnSalvarClick)

Não foi Selecionado nenhum Pedido. Verifique!​

Causa: Nenhum pedido/pneu foi marcado (status) na grade antes de salvar.

Ação: Marcar ao menos um pedido/pneu na grade (coluna STATUS) antes de clicar em Salvar.

Fonte: source/MRC019/UMRC019.pas:1265-1266 (TfrmMRC019.btnSalvarClick)

O Código da Região Comercial não está Cadastrado [TFA014]!​

Causa: O código de região comercial informado no filtro não existe.

Ação: Cadastrar a região comercial em TFA014 ou informar um código válido.

Fonte: source/MRC019/UdmMRC019.pas:357-377 (TdmMRC019.tabREGIAOCOMERCIALCD_REGIAOCOMERCIALValidate)

O Embarque %s Está Cancelado!​

Causa: O número de embarque informado corresponde a um embarque com ST_EMBARQUE='C' (cancelado).

Ação: Informar outro número de embarque ou deixar em branco para gerar um novo.

Fonte: source/MRC019/UdmMRC019.pas:960-982 (TdmMRC019.tabEMBARQUENR_EMBARQUEValidate)

O Embarque %s Está Finalizado!​

Causa: O número de embarque informado corresponde a um embarque com ST_EMBARQUE='F' (finalizado), que não aceita mais lançamentos.

Ação: Informar outro número de embarque ou deixar em branco para gerar um novo.

Fonte: source/MRC019/UdmMRC019.pas:960-982 (TdmMRC019.tabEMBARQUENR_EMBARQUEValidate)

O Estado não está Cadastrado [TFA004]!​

Causa: A sigla de estado informada no filtro não existe na tabela ESTADO.

Ação: Informar uma sigla de estado válida ou cadastrá-la em TFA004.

Fonte: source/MRC019/UdmMRC019.pas:525-545 (TdmMRC019.tabEMPRESASG_ESTADOValidate)

O Motorista não está Ativo [TFA001]!​

Causa: O motorista informado está cadastrado, mas inativo (ST_ATIVA='N').

Ação: Reativar o cadastro do motorista em TFA001 ou informar outro motorista.

Fonte: source/MRC019/UdmMRC019.pas:611-633 (TdmMRC019.tabEMBARQUECD_MOTORISTAValidate)

O Motorista não está Cadastrado [TFA001]!​

Causa: O código de motorista informado não existe na tabela PESSOA.

Ação: Cadastrar o motorista em TFA001 ou informar um código válido.

Fonte: source/MRC019/UdmMRC019.pas:611-633 (TdmMRC019.tabEMBARQUECD_MOTORISTAValidate)

O Município não está Cadastrado [TFA003]!​

Causa: O código de município informado no filtro não existe.

Ação: Cadastrar o município em TFA003 ou informar um código válido.

Fonte: source/MRC019/UdmMRC019.pas:481-501 (TdmMRC019.tabMUNICIPIOCD_MUNICIPIOValidate)

O pedido está bloqueado! Verifique [MPD003] ou [MPD081]​

Causa: O pedido de origem do pneu está com status bloqueado (comercial ou financeiro).

Ação: Desbloquear o pedido nas telas MPD003 (bloqueio comercial) ou MPD081 (bloqueio financeiro) antes de incluí-lo na ordem.

Fonte: source/MRC019/UdmMRC019.pas:906-917 (TdmMRC019.tabPEDIDOSTATUSValidate)

O Pedido não está Cadastrado para a Empresa %s [MPD001]!​

Causa: O número de pedido informado não existe para a empresa selecionada.

Ação: Conferir o número do pedido e a empresa, ou cadastrar o pedido em MPD001.

Fonte: source/MRC019/UdmMRC019.pas:407-427 (TdmMRC019.tabEMPRESANR_PEDIDOValidate)

O Transportador não está Ativo [TFA001]!​

Causa: O transportador informado está cadastrado, mas inativo.

Ação: Reativar o cadastro do transportador em TFA001 ou informar outro.

Fonte: source/MRC019/UdmMRC019.pas:635-657 (TdmMRC019.tabEMBARQUECD_TRANSPORTADORValidate)

O Transportador não está Cadastrado [TFA001]!​

Causa: O código de transportador informado não existe na tabela PESSOA.

Ação: Cadastrar o transportador em TFA001 ou informar um código válido.

Fonte: source/MRC019/UdmMRC019.pas:635-657 (TdmMRC019.tabEMBARQUECD_TRANSPORTADORValidate)

O usuário não tem Permissão de Acesso a Empresa [ADM001]!​

Causa: O usuário logado não possui vínculo com a empresa informada na tabela USUARIOEMPRESA.

Ação: Solicitar ao administrador a liberação de acesso à empresa em ADM001.

Fonte: source/MRC019/UdmMRC019.pas:315-337 (TdmMRC019.tabEMPRESACD_EMPRESAValidate)

O usuário não tem Permissão de Acesso a Empresa [ADM004]!​

Causa: O usuário não tem acesso liberado especificamente ao módulo MRC019 para a empresa informada (tabela ACESSO).

Ação: Solicitar ao administrador a liberação de acesso ao módulo MRC019 para essa empresa em ADM004.

Fonte: source/MRC019/UdmMRC019.pas:339-350 (TdmMRC019.tabEMPRESACD_EMPRESAValidate)

O Valor não pode ser maior que a quantidade aplicada nas etapas de produção (%s) !​

Causa: A quantidade de conserto informada para desconto é maior que a quantidade realmente consertada na produção.

Ação: Informar uma quantidade igual ou menor que a exibida entre parênteses.

Fonte: source/MRC019/UdmMRC019.pas:895-904 (TdmMRC019.tabCONSERTOSQTAUXValidate)

O Valor não pode ser menor que zero.​

Causa: A quantidade de conserto informada para desconto é negativa.

Ação: Informar um valor igual ou maior que zero.

Fonte: source/MRC019/UdmMRC019.pas:895-898 (TdmMRC019.tabCONSERTOSQTAUXValidate)

Observação do faturamento salva com sucesso!​

Causa: Confirmação de gravação da observação de faturamento do pedido de pneu.

Ação: Nenhuma ação necessária.

Fonte: source/MRC019/UMRC019.pas:1684-1698 (TfrmMRC019.btnSalvarObsFatClick)

Observação Salva com Sucesso!​

Causa: Confirmação de gravação da observação do pedido de pneu.

Ação: Nenhuma ação necessária.

Fonte: source/MRC019/UMRC019.pas:1668-1682 (TfrmMRC019.btnSalvarObsClick)

Ordem de Produção não Encontrada! Verifique.​

Causa: O código de barras lido/digitado não corresponde a nenhuma linha carregada na grade de pedidos.

Ação: Conferir se a consulta já trouxe esse pedido/pneu e se o código foi lido corretamente.

Fonte: source/MRC019/UMRC019.pas:1633-1666 (TfrmMRC019.edtCD_CODIGOBARRAEit)

Referência Não Cadastrada! [TPO007]​

Causa: O código de subgrupo informado no filtro não existe na tabela SUBGRUPO.

Ação: Cadastrar o subgrupo em TPO007 ou informar um código válido.

Fonte: source/MRC019/UdmMRC019.pas:848-868 (TdmMRC019.tabSUBGRUPOCD_SUBGRUPOValidate)

É Obrigado a informar A Data do Embarque!​

Causa: O campo Data do Embarque não foi preenchido ao tentar salvar.

Ação: Preencher a Data do Embarque na aba Ordem antes de salvar.

Fonte: source/MRC019/UdmMRC019.pas:571-582 (TdmMRC019.tabEMBARQUEBeforePost)

É Obrigatório Informar a Empresa para Validação do Pedido!​

Causa: O usuário informou o número do pedido no filtro sem antes informar a empresa.

Ação: Preencher o campo Empresa antes de informar o número do pedido.

Fonte: source/MRC019/UdmMRC019.pas:407-427 (TdmMRC019.tabEMPRESANR_PEDIDOValidate)

É Obrigatório informar o Motorista / Transportador!​

Causa: Nenhum dos campos motorista, transportador ou nome do motorista foi preenchido ao salvar o embarque.

Ação: Preencher ao menos um dos campos de motorista ou transportador antes de salvar.

Fonte: source/MRC019/UdmMRC019.pas:584-591 (TdmMRC019.tabEMBARQUEBeforePost)

Regras de negócio​

  • MRC019.R001 (ver regras/MRC019/MRC019.R001.md)
  • MRC019.R002 (ver regras/MRC019/MRC019.R002.md)
  • MRC019.R003 (ver regras/MRC019/MRC019.R003.md)
  • MRC019.R004 (ver regras/MRC019/MRC019.R004.md)
  • MRC019.R005 (ver regras/MRC019/MRC019.R005.md)
  • MRC019.R006 (ver regras/MRC019/MRC019.R006.md)
  • MRC019.R007 (ver regras/MRC019/MRC019.R007.md)
  • MRC019.R008 (ver regras/MRC019/MRC019.R008.md)
  • MRC019.R009 (ver regras/MRC019/MRC019.R009.md)
  • MRC019.R010 (ver regras/MRC019/MRC019.R010.md)
  • MRC019.R011 (ver regras/MRC019/MRC019.R011.md)
  • MRC019.R012 (ver regras/MRC019/MRC019.R012.md)
  • MRC019.R013 (ver regras/MRC019/MRC019.R013.md)
  • MRC019.R014 (ver regras/MRC019/MRC019.R014.md)
  • MRC019.R015 (ver regras/MRC019/MRC019.R015.md)
  • MRC019.R016 (ver regras/MRC019/MRC019.R016.md)
  • MRC019.R017 (ver regras/MRC019/MRC019.R017.md)
  • MRC019.R018 (ver regras/MRC019/MRC019.R018.md)
  • MRC019.R019 (ver regras/MRC019/MRC019.R019.md)
  • MRC019.R020 (ver regras/MRC019/MRC019.R020.md)
  • MRC019.R021 (ver regras/MRC019/MRC019.R021.md)

Perguntas frequentes​

P: Por que aparece 'A Consulta não Retornou Registros. Verifique!' ao clicar em Consultar? R: Nenhum pedido/pneu atende aos filtros informados (empresa, período, pessoa, situação de exame final etc.) combinados com as regras de parâmetros do módulo de recapagem. Ajuste ou reduza os filtros da aba 'Dados para Consulta' e consulte novamente. Fonte: source/MRC019/UMRC019.pas:843-851 (TfrmMRC019.btnProcurarClick)

P: Por que o sistema não deixa salvar a ordem sem informar motorista ou transportador? R: A tela exige que ao menos um responsável pelo transporte esteja identificado (motorista cadastrado, transportador cadastrado, ou nome do motorista digitado) antes de gravar o embarque. Fonte: source/MRC019/UdmMRC019.pas:584-591 (TdmMRC019.tabEMBARQUEBeforePost)

P: Deu a mensagem 'O pedido está bloqueado! Verifique [MPD003] ou [MPD081]' ao marcar um pneu, o que fazer? R: O pedido de origem do pneu está com ST_PEDIDO='B' (bloqueado comercial ou financeiro); é preciso desbloquear o pedido nas telas MPD003 ou MPD081 antes de incluí-lo na ordem de carregamento. Fonte: source/MRC019/UdmMRC019.pas:906-917 (TdmMRC019.tabPEDIDOSTATUSValidate)

P: Por que a linha do pedido aparece colorida em verde, ciano, roxo ou azul na grade? R: A cor indica o status do pedido: ciano/roxo/verde-claro = bloqueado (total, financeiro ou comercial), azul = faturado parcialmente, verde = possui observação; a combinação de observação + faturamento parcial usa uma cor mista. Fonte: source/MRC019/UMRC019.pas:1503-1549 (TfrmMRC019.gridPEDIDODrawColumnCell)

P: O que significa 'Já existe um Pedido para este Embarque. Verifique!'? R: Já existe uma ORDEMCARREG não cancelada para o mesmo item de pedido vinculado a esse embarque; o sistema desfaz a gravação até o savepoint e não permite duplicar o lançamento. Fonte: source/MRC019/UMRC019.pas:1216-1228 (TfrmMRC019.btnSalvarClick)

P: Por que ao ler o código de barras da Ordem de Produção o sistema diz 'Ordem de Produção Não Encontrada'? R: O código lido não corresponde a nenhuma linha carregada na grade de pedidos da consulta atual (campo IDORDEMPRODUCAO); confira se a consulta já trouxe esse pedido/pneu ou se o código foi digitado/lido corretamente. Fonte: source/MRC019/UMRC019.pas:1633-1666 (TfrmMRC019.edtCD_CODIGOBARRAEit)

P: Por que ao selecionar 'S' no checkbox de conserto o valor do desconto muda? R: Marcar o conserto zera o valor de desconto padrão e libera a quantidade (QTAUX) para edição manual; desmarcar reaplica o valor total do conserto sem desconto. Fonte: source/MRC019/UdmMRC019.pas:870-885 (TdmMRC019.tabCONSERTOSST_CHECKEDValidate)

P: Por que não consigo digitar uma quantidade de conserto maior que a produzida? R: A quantidade informada em QTAUX não pode ser negativa nem exceder a quantidade de consertos aplicada nas etapas de produção daquele pneu; o sistema recalcula o valor proporcional do desconto ao validar. Fonte: source/MRC019/UdmMRC019.pas:895-904 (TdmMRC019.tabCONSERTOSQTAUXValidate)

P: Por que o botão Imprimir não aparece na tela? R: O parâmetro CD_LAYORDCARREG (layout de impressão da ordem de carregamento) não está cadastrado em PARMFATUR para a empresa; sem layout definido o botão Imprimir e o separador ficam ocultos. Fonte: source/MRC019/UdmMRC019.pas:281-300 (Busca_Parametros)

P: Ao clicar em Consultar, por que a data final de entrega precisa ser maior ou igual à inicial? R: O sistema valida que o período de entrega informado seja coerente (data final não pode ser maior que a final de emissão, nem anterior à inicial) antes de montar a consulta; ajuste as datas dos filtros de emissão/entrega. Fonte: source/MRC019/UMRC019.pas:472-484 (TfrmMRC019.btnProcurarClick)

P: A empresa tem vários vendedores/borracheiros no mesmo pedido — o filtro de Vendedor não retorna nada, por quê? R: Se o parâmetro PARMFATUR.ST_VARIOSVENDEDORES estiver 'S', o filtro de vendedor passa a considerar os borracheiros vinculados via ITEMPEDIDOPNEUBORRACHEIRO em vez do vendedor único do pedido; confira se o código informado é o do borracheiro correto. Fonte: source/MRC019/UMRC019.pas:602-611 (TfrmMRC019.btnProcurarClick)

Dúvidas em aberto (o código não responde)​

  • As procedures Calcula_Valor e Habilita_PesoQtde (declaradas em UdmMRC019.pas e chamadas em vários pontos) estão vazias — é código morto/incompleto ou a lógica foi movida para outro lugar (trigger/procedure no banco)? — UdmMRC019.pas:304-312 define as duas procedures sem nenhum código no corpo, mas são chamadas em tabPEDIDOAfterScroll (linha 670) e tabPEDPRODAfterScroll (linha 801).
  • Qual o efeito de negócio exato dos parâmetros ParamRecap.STSERVICONOPEDIDO, STGERAPEDIDORECUSADO e STGERAPEDFATEMBORRACHAMENTO na consulta de pedidos aptos a carregamento? O briefing só lista PARMFATUR.ST_VARIOSVENDEDORES, mas o código lê vários valores de ParamRecap que alteram o WHERE/JOIN da consulta principal. — UMRC019.pas:688-738, combinações condicionam quais status de exame final (STEXAMEFINAL) e status de ordem (STORDEM) entram na consulta.
  • O que representa exatamente o filtro por 'BLOCO' (NRBLOCO) — é um agrupamento físico de pneus, um lote de produção, ou outra unidade de controle? — UMRC019.pas:644-657 e UdmMRC019.pas — tabela BLOCO/NRBLOCO filtra PN.NRBLOCO, mas não há descrição de negócio no módulo.
  • O parâmetro ParamRecap.STFATCONSERTO='S' abre a tela de consertos (UMRC019Consertos) apenas se houver registros em tabCONSERTOS — qual a consequência de negócio se o usuário cancelar essa tela (btnCancelar) no meio da gravação da ordem, além da mensagem exibida? — UMRC019.pas:1187-1203 e UMRC019Consertos.pas:125-134 — o cancelamento faz rollback da transactionOrdem, mas não está claro se registros já inseridos (ORDEMCARREGRECAP/ITEMRECAPFATUR) ficam órfãos ou se o rollback cobre tudo.