Pular para o conteúdo principal

MRC020 — Confirmação de Ordem de Carregamento Recapadora (enriquecimento)

Menu: Recapadora > Movimentações > Confirmação de Ordem de Carregamento Recapadora

Objetivo​

O MRC020 é a tela onde o usuário confirma/encerra as ordens de carregamento geradas na produção da recapadora (MRC019), edita dados do embarque (motorista, transportador, frete, pedágio) e emite as notas fiscais de venda para os clientes da ordem. Ao emitir a nota, o sistema valida cabeçalho e itens conforme os parâmetros de faturamento da empresa (MFA001/PARMFATUR) e da recapadora (PARAMRECAP), podendo aplicar desconto de laudo, exigir autorização para alterações e bloquear a nota por regras de crédito/pedido. Ao confirmar/encerrar a ordem, o sistema gera automaticamente as movimentações de estoque e os lançamentos de contas a receber e muda o status da ordem para Confirmada/Atendida. É a etapa final de expedição/faturamento do fluxo de recapagem de pneus.

Fluxo principal​

  1. Na grade de ordens retornadas, marcar (espaço ou clique na coluna Status, ou botão Marcar Todos) as ordens de carregamento que serão trabalhadas. (pagORDEM) — source/MRC020/UMRC020.pas:1488-1528 (TfrmMRC020.gridOrdemKeyDown)
  2. (Opcional) Clicar em Ordem (F11) para abrir a tela de Embarque e ajustar motorista, transportador, frete, pedágio, data de embarque, ou incluir/excluir produtos da ordem. (MRC020Embarque) — source/MRC020/UMRC020.pas:1400-1440 (TfrmMRC020.btnOrdemClick)
  3. (Alternativa) Clicar em Excluir (F7) para cancelar a ordem selecionada, somente se ainda não houver nota fiscal emitida para ela. (pagORDEM) — source/MRC020/UMRC020.pas:987-1058 (TfrmMRC020.btnExcluirClick)
  4. Clicar em Imprimir (F8) ou Fechamento para reimprimir o layout da ordem de carregamento. (pagORDEM) — source/MRC020/UMRC020.pas:1061-1082 (TfrmMRC020.btnImprimirClick)

Campos obrigatórios​

CampoCondiçãoMensagemFonte
Pessoa (Cliente) da Nota FiscalSempre, ao salvar a nota (quando a nota não vem só de leitura da ordem)É Obrigatório informar a Pessoa Física / Jurídica!source/MRC020/UdmMRC020NFORDEM.pas:3158-3162 (TdmMRC020NFORDEM.tabNOTABeforePost)
Endereço da PessoaSempre, ao salvar a notaÉ Obrigatório informar o Endereço da Pessoa Física / Jurídica!source/MRC020/UdmMRC020NFORDEM.pas:3164-3168 (TdmMRC020NFORDEM.tabNOTABeforePost)
Condição de PagamentoSempre, ao salvar a notaÉ Obrigatório informar a Condição de Pagamento!source/MRC020/UdmMRC020NFORDEM.pas:3170-3174 (TdmMRC020NFORDEM.tabNOTABeforePost)
Data de VencimentoQuando a condição de pagamento é do tipo 'Vencto Digitado' (ST_CONDPAGTO = 'D')É Obrigatório informar a Data de Vencimento para a Condição de Pagamento do Tipo Vencto Digitado!source/MRC020/UdmMRC020NFORDEM.pas:3176-3181 (TdmMRC020NFORDEM.tabNOTABeforePost)
Forma de PagamentoSempre, ao salvar a notaÉ Obrigatório informar a Forma de Pagamento!source/MRC020/UdmMRC020NFORDEM.pas:3191-3195 (TdmMRC020NFORDEM.tabNOTABeforePost)
Produto do Item da NotaAo gravar cada linha de itemÉ Obrigatório informar o Produto da Nota Fiscal!source/MRC020/UdmMRC020NFORDEM.pas:3236-3241 (TdmMRC020NFORDEM.tabITEMNOTABeforePost)
Movimentação do ItemAo gravar cada linha de itemÉ Obrigatório informar a Movimentação do Produto na Nota Fiscal!source/MRC020/UdmMRC020NFORDEM.pas:3242-3247 (TdmMRC020NFORDEM.tabITEMNOTABeforePost)
Tabela de Preço do ItemQuando PARMFATUR.ST_TABPRECO = 'T', ou 'S' com o item marcado como de tabela, e o item tem conta/valor > 0É Obrigatório informar a Tabela de Preço do Produto na Nota Fiscal!source/MRC020/UdmMRC020NFORDEM.pas:3248-3257 (TdmMRC020NFORDEM.tabITEMNOTABeforePost)
Peso do ItemQuando a unidade de cálculo do item é por peso (TP_UNIDADE = 'P')É Obrigatório informar o Peso do Produto na Nota Fiscal!source/MRC020/UdmMRC020NFORDEM.pas:3258-3264 (TdmMRC020NFORDEM.tabITEMNOTABeforePost)
Quantidade do ItemQuando a unidade de cálculo do item é por quantidade (TP_UNIDADE = 'Q')É Obrigatório informar a Quantidade do Produto na Nota Fiscal!source/MRC020/UdmMRC020NFORDEM.pas:3265-3271 (TdmMRC020NFORDEM.tabITEMNOTABeforePost)
Valor Unitário do ItemAo gravar cada linha de itemÉ Obrigatório informar o Valor Unitário do Produto na Nota Fiscal!source/MRC020/UdmMRC020NFORDEM.pas:3272-3277 (TdmMRC020NFORDEM.tabITEMNOTABeforePost)
Valor Total do ItemAo gravar cada linha de itemÉ Obrigatório informar o Valor Total do Produto na Nota Fiscal!source/MRC020/UdmMRC020NFORDEM.pas:3278-3283 (TdmMRC020NFORDEM.tabITEMNOTABeforePost)
CFO (Código Fiscal de Operação) do ItemDerivado da movimentação escolhida; se a movimentação não tem CFO associado, bloqueiaA Movimentação não possui Código Fiscal de Operação(CFO) Associado [TCB001]!source/MRC020/UdmMRC020NFORDEM.pas:3284-3289 (TdmMRC020NFORDEM.tabITEMNOTABeforePost)
Data de EmbarqueAo confirmar a tela de dados do embarque (motorista/transportador)É Obrigatório informar a Data de MRC020Embarque!source/MRC020/UMRC020Embarque.pas:175-179 (TfrmMRC020Embarque.btnConfirmarClick)
Motorista ou TransportadorAo confirmar a tela de dados do embarqueÉ Obrigatório informar o Motorista / Transportador!source/MRC020/UMRC020Embarque.pas:181-187 (TfrmMRC020Embarque.btnConfirmarClick)

Mensagens: causa e ação​

W-0153​

Causa: A pessoa tem restrição cadastrada de formas de pagamento (tabela PESSOAFORMAPAGTO) e a forma de pagamento escolhida na nota não está entre as liberadas para ela.

Ação: Selecionar uma forma de pagamento liberada para o cliente, ou incluir a forma desejada no cadastro de formas de pagamento da pessoa (TFA001).

Fonte: source/MRC020/UdmMRC020NFORDEM.pas:3846-3867 (TdmMRC020NFORDEM.tabNOTACD_FORMAPAGTOValidate)

A ordem de carregamento %s já foi cancelada, não sendo mais permitida a emissão da nota. Verifique [MRC019]!​

Causa: Entre a abertura da tela de emissão e o salvamento da nota, a ordem de carregamento recap foi cancelada (por outra operação/usuário, ex.: MRC019/MRC021).

Ação: Fechar a tela de emissão sem salvar e reconsultar a ordem no MRC020 para verificar a situação atual.

Fonte: source/MRC020/UMRC020NFORDEM.pas:1350-1361 (TfrmMRC020NFORDEM.btnSalvarClick)

A Nota Fiscal %s já foi Emitida. A Tela de Emissão será Fechada.​

Causa: A nota já estava gravada e confirmada no banco (ex.: uma falha de impressão anterior deixou a tela aberta) e o usuário tentou salvar novamente.

Ação: Nenhuma ação necessária além de fechar a tela; conferir a nota já emitida na consulta de notas.

Fonte: source/MRC020/UMRC020NFORDEM.pas:843-868 (TfrmMRC020NFORDEM.btnSalvarClick)

Existem Notas Fiscais Pendentes para esta Ordem que não foram Emitidas.​

Causa: Há produtos da ordem marcada para confirmação sem nota fiscal gerada (NR_LANCAMENTO nulo).

Ação: Emitir as notas pendentes antes de confirmar; se o parâmetro (MFA001) ST_BLOQCONFIRMACAO permitir, é possível confirmar mesmo assim respondendo Sim à pergunta de confirmação.

Fonte: source/MRC020/UMRC020.pas:844-868 (TfrmMRC020.btnSalvarClick)

Existem Notas Fiscais Bloqueadas para esta Ordem que não foram Liberadas.​

Causa: Existe uma nota fiscal da ordem com status Bloqueada ('B') ou em Liberação ('L').

Ação: Liberar a nota bloqueada (na tela de liberação de notas/MRC021) antes de confirmar/encerrar a ordem.

Fonte: source/MRC020/UMRC020.pas:871-889 (TfrmMRC020.btnSalvarClick)

Existem Notas Fiscais Emitidas para esta Ordem de Carregamento. Para Cancelar use o Programa MRC021!​

Causa: A ordem selecionada para exclusão/cancelamento já possui nota fiscal emitida.

Ação: Usar o módulo MRC021 para cancelar a ordem/nota já emitida.

Fonte: source/MRC020/UMRC020.pas:1013-1022 (TfrmMRC020.btnExcluirClick)

A Ordem de Carregamento está Bloqueada para Faturamento. Verifique!​

Causa: A ordem está com liberação de venda negada (ST_VENDALIBERADA = 'N') e o parâmetro MFA001 ST_BLOQUEIAORDEMCARREG está ativo para a empresa.

Ação: Liberar a venda da ordem de carregamento antes de tentar emitir a nota fiscal.

Fonte: source/MRC020/UMRC020.pas:1131-1139 (TfrmMRC020.btnAtualizarClick)

Não Foi Possível Gerar a Nota Fiscal Pois o Embarque Possui Somente Pneus Recusados. Verifique!​

Causa: Todos os pneus do embarque foram reprovados no exame final de recapagem (nenhum item aprovado a faturar).

Ação: Revisar o resultado do exame/recapagem; não há produto disponível para faturamento nesse embarque.

Fonte: source/MRC020/UMRC020.pas:1141-1151 (TfrmMRC020.btnAtualizarClick)

Existem Pneus da Casa com a Carcaça Não Faturada para o cliente %s:%s.​

Causa: Parâmetro PARAMRECAP.STOBRIGAFATURACARCACA = 'S' exige que a carcaça (pneu de propriedade da recapadora) tenha nota de entrada vinculada antes de faturar o serviço de recapagem.

Ação: Faturar/vincular a nota de entrada da carcaça correspondente antes de emitir a NF do serviço.

Fonte: source/MRC020/UMRC020.pas:1203-1222 (TfrmMRC020.btnAtualizarClick)

Existem Pneus Recusados Para a Pessoa %s. Deseja Continuar?​

Causa: Há pneus recusados no exame final para essa pessoa dentro do embarque.

Ação: Confirmar se deseja prosseguir emitindo a nota mesmo com pneus recusados presentes no embarque.

Fonte: source/MRC020/UMRC020.pas:1245-1247 (TfrmMRC020.btnAtualizarClick)

O Cliente possui Laudos a serem descontados. Deseja Descontá-los?​

Causa: Parâmetro PARAMRECAP.STBONIFICACAOLAUDO = 'S' e o cliente tem laudos com saldo de garantia/bonificação disponível para compensar na nota.

Ação: Escolher Sim para abrir a tela de seleção de laudos e aplicar o desconto na nota, ou Não para seguir sem descontar.

Fonte: source/MRC020/UMRC020NFORDEM.pas:907-914 (TfrmMRC020NFORDEM.btnSalvarClick)

O Valor utilizado não pode ser maior que o valor Habilitado para Desconto!​

Causa: O valor informado para desconto de um laudo específico excede o valor de garantia disponível para aquele laudo.

Ação: Reduzir o valor utilizado do laudo até o limite habilitado (VL_GARANTIA).

Fonte: source/MRC020/UdmMRC020NFORDEM.pas:5821-5828 (TdmMRC020NFORDEM.tabCOMPENSACAOVL_UTILIZADOValidate)

Não existe Local de Estoque Válido para o Item %s. Verifique!​

Causa: O produto não tem local de armazenagem cadastrado com faturamento liberado (ITEMLOCAL.ST_FATURAMENTO = 'S').

Ação: Cadastrar/liberar um local de armazenagem para o produto (TPO001) com permissão de faturamento.

Fonte: source/MRC020/UdmMRC020NFORDEM.pas:3352-3365 (TdmMRC020NFORDEM.tabITEMNOTABeforePost)

CNPJ/CPF Inválido​

Causa: O dígito verificador do CNPJ/CPF informado manualmente para o motorista/transportador no embarque não confere.

Ação: Corrigir o número de CNPJ/CPF digitado.

Fonte: source/MRC020/UMRC020Embarque.pas:130-146 (TfrmMRC020Embarque.edtNR_CGCCPFExit)

A Senha Deve Ser Informado!​

Causa: A alteração feita no cabeçalho da nota exigiu autorização (PARMFATUR.ST_ALTERACABECALHONOTA = 'A') e o campo de senha do autorizador ficou em branco.

Ação: Informar login e senha de um usuário cadastrado como autorizador ativo para confirmar a alteração.

Fonte: source/MRC020/UMRC020AUTORIZACAO.pas:48-51 (TfrmAUTORIZACAO.btnConfirmarClick)

Regras de negócio​

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

Perguntas frequentes​

P: Por que não consigo confirmar/encerrar a ordem de carregamento? R: Provavelmente existem notas fiscais pendentes de emissão nessa ordem e o parâmetro de faturamento (MFA001) está configurado para bloquear a confirmação nesse caso (ST_BLOQCONFIRMACAO), ou existe uma nota bloqueada/liberação pendente associada à ordem. Fonte: source/MRC020/UMRC020.pas:844-889 (TfrmMRC020.btnSalvarClick)

P: Deu a mensagem 'Existem Notas Fiscais Emitidas para esta Ordem de Carregamento. Para Cancelar use o Programa MRC021!' — o que fazer? R: O MRC020 só cancela ordens que ainda não têm nota fiscal emitida. Se já existe NF gerada para a ordem, o cancelamento precisa ser feito no módulo MRC021 (Cancelamento de Nota Fiscal/Ordem). Fonte: source/MRC020/UMRC020.pas:1013-1022 (TfrmMRC020.btnExcluirClick)

P: Por que não consigo emitir a nota fiscal da ordem — apareceu 'A Ordem de Carregamento está Bloqueada para Faturamento'? R: A ordem está com liberação de venda negada (ST_VENDALIBERADA = 'N') e o parâmetro de faturamento MFA001 (ST_BLOQUEIAORDEMCARREG) exige que essa liberação esteja ativa para faturar. É preciso liberar a venda da ordem antes de emitir a NF. Fonte: source/MRC020/UMRC020.pas:1131-1139 (TfrmMRC020.btnAtualizarClick)

P: Por que a tela pede a nota de entrada da carcaça antes de emitir a nota do serviço de recapagem? R: O parâmetro PARAMRECAP.STOBRIGAFATURACARCACA está ativo ('S') para a empresa: pneus da casa (carcaça de propriedade da recapadora) precisam ter uma nota de entrada vinculada ao pedido de compra da carcaça antes que o serviço de recapagem possa ser faturado para o cliente. Fonte: source/MRC020/UMRC020.pas:1203-1242 (TfrmMRC020.btnAtualizarClick)

P: Deu a mensagem W-0153 'A Forma de Pagamento X não está Liberada para a Pessoa Y'. Como resolver? R: Essa pessoa tem restrição cadastrada de formas de pagamento permitidas (tabela PESSOAFORMAPAGTO) e a forma escolhida não está entre elas. Escolha uma forma de pagamento liberada para o cliente, ou ajuste o cadastro de formas de pagamento da pessoa (TFA001). Fonte: source/MRC020/UdmMRC020NFORDEM.pas:3846-3867 (TdmMRC020NFORDEM.tabNOTACD_FORMAPAGTOValidate)

P: Por que o sistema pede login e senha de um autorizador ao salvar a nota? R: O cabeçalho da nota foi alterado (ex.: dados que normalmente vêm do pedido/ordem) e o parâmetro PARMFATUR.ST_ALTERACABECALHONOTA está configurado como 'A' (exige autorização). É preciso informar um usuário cadastrado como autorizador ativo. Fonte: source/MRC020/UMRC020NFORDEM.pas:958-980 (TfrmMRC020NFORDEM.btnSalvarClick), source/MRC020/UMRC020AUTORIZACAO.pas:43-83 (TfrmAUTORIZACAO.btnConfirmarClick)

P: A nota fiscal 'já foi emitida' e a tela fechou sozinha ao clicar em Salvar de novo — perdi a nota? R: Não. A nota já havia sido gravada e confirmada no banco anteriormente (por exemplo, uma falha de impressão deixou a tela aberta antes). Ao tentar salvar de novo, o sistema detecta que já existe registro com essa chave e evita duplicar, apenas avisando e fechando a tela. A nota já está emitida normalmente. Fonte: source/MRC020/UMRC020NFORDEM.pas:839-868 (TfrmMRC020NFORDEM.btnSalvarClick)

P: Por que a quantidade/peso do item não pode ser menor que a do pedido? R: Quando o produto tem mais de um local de estoque com controle habilitado, o sistema não permite informar na nota uma quantidade/peso menor do que a quantidade selecionada originalmente no pedido de recapagem, para não gerar diferença de saldo não rastreada. Fonte: source/MRC020/UdmMRC020NFORDEM.pas:4581-4583 (TdmMRC020NFORDEM.tabITEMNOTAPS_ITEMNOTAValidate), source/MRC020/UdmMRC020NFORDEM.pas:4765-4770 (TdmMRC020NFORDEM.tabITEMNOTAQT_ITEMNOTAValidate)

P: Não consigo retirar um produto da ordem de carregamento — deu erro que está associado a uma nota fiscal válida. R: O produto/pedido já tem uma nota fiscal válida gerada para ele nessa ordem. Para retirá-lo, é necessário cancelar a nota fiscal correspondente primeiro (fora do MRC020, via cancelamento de nota). Fonte: source/MRC020/UMRC020Exclui.pas:119-126 (TfrmMRC020Exclui.btnConfirmarClick)

P: O CNPJ/CPF do motorista ou transportador não é aceito no embarque. R: O sistema valida o dígito verificador do CNPJ/CPF informado manualmente no campo de identificação do motorista; se o dígito não confere, é preciso corrigir o número digitado. Fonte: source/MRC020/UMRC020Embarque.pas:130-146 (TfrmMRC020Embarque.edtNR_CGCCPFExit)

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

  • O efeito completo de PARMFATUR.ST_TABPRECO, ST_REPROCESSATABPRECO, ST_REPROCESSAVEND, ST_OBSCLIENTE, ST_OBSPEDIDONOTA e TP_OBSNOTA não foi totalmente rastreado nesta sessão (apenas alguns pontos de leitura foram vistos, ex.: TP_OBSNOTA em UMRC020SaldoLaudo.pas:334). — Esses parâmetros aparecem na lista do briefing mas o código que efetivamente aplica seu efeito completo está em rotinas de UdmMRC020NFORDEM.pas não lidas integralmente (arquivo tem 6917 linhas; apenas trechos foram cobertos).
  • Por que o atendimento em lote do saldo do pedido (Atende_Pedido) só executa quando PARMFATUR.ST_ATENDECARREG = 'N', e não quando está vazio/outro valor? O nome do parâmetro sugere o contrário do que o código faz. — UdmMRC020.pas:725 'if (ParmFatur.Values[''ST_ATENDECARREG''] = ''N'') then' controla o atendimento em lote na confirmação da ordem; já em UMRC020NFORDEM.pas:1342 o atendimento por nota individual roda quando o parâmetro é 'S'. Não há comentário explicando o valor vazio/outros.
  • PARAMRECAP.ST_VALIDAPEDIDOMESMOCLIENTE (lido em UMRC020.pas:1094-1098) não está na lista de parâmetros do briefing — deve ser incluído na documentação de parâmetros do módulo? — Controla se o sistema avisa sobre produtos/serviços pendentes do cliente fora da ordem de carregamento ao emitir NF.
  • Qual o efeito exato dos parâmetros PARMFATUR.ST_FILTROPESSOA = 'T' vs 'S' vs outro valor sobre os tipos de pessoa aceitos na nota? — UdmMRC020NFORDEM.pas:3400-3413 diferencia 'S' (Cliente/Cliente-Fornecedor) de outro valor (Cliente/Vendedor/Cliente-Fornecedor), mas o valor 'T' (todos?) e outros não ficaram claros no trecho lido.