MNF033 — Faturamento Agrupado (enriquecimento)
Menu: Faturamento > Movimentações > Notas Fiscais > Faturamento Agrupado
Objetivo
A tela MNF033 permite selecionar múltiplos pedidos de venda de um mesmo cliente (aba Faturamento) e gerar, de forma agrupada, notas fiscais de produto e de serviço, criando um Embarque/Ordem de Carregamento que controla o que já foi faturado. Na aba Consulta o usuário localiza embarques já gerados para efetivamente faturá-los, reparcelar contas, imprimir documentos e tratar erros de faturamento pendentes.
Fluxo principal
- Marcar (coluna Status) os pedidos que serão agrupados na mesma emissão (ou usar 'Marcar Todos'). (Faturamento) —
source/MNF033/UMNF033.pas:682-739 (TfrmMNF033.gridPEDIDOCellClick) - Preencher Série de Produto, Série de Serviço, Condição de Pagamento, Forma de Pagamento e Vendedor (e Data de Vencimento se exigida). (Faturamento) —
source/MNF033/UMNF033.pas:899-944 (TfrmMNF033.btnEmitirNFClick)
Campos obrigatórios
| Campo | Condição | Mensagem | Fonte |
|---|---|---|---|
| CD_PESSOA (Pessoa/Cliente) — aba Faturamento, filtro | Sempre, para consultar pedidos na aba Faturamento. | É obrigatório informar uma pessoa para consultar. Verifique! | source/MNF033/UMNF033.pas:546-550 (TfrmMNF033.btnConsultarClick) |
| CD_SERIEPRODUTO e CD_SERIESERVICO | Sempre, para Emitir NF ou Faturar. | A Serie da Nota para os Produtos/Serviços deve ser informada. Verifique! | source/MNF033/UMNF033.pas:899-909 (TfrmMNF033.btnEmitirNFClick) |
| CD_CONDPAGTO, CD_FORMAPAGTO, CD_PESSOAVEND (dados de faturamento) | Sempre, ao clicar em Emitir NF. | A Condição de Pagamento / Forma de Pagamento / Vendedor deve ser informado(a). Verifique! | source/MNF033/UMNF033.pas:911-927 (TfrmMNF033.btnEmitirNFClick) |
| DT_VENCIMENTO | Quando a condição de pagamento selecionada tem ST_CONDPAGTO = 'D'. | A Data de Vencimento não pode ser vazia. Verifique! | source/MNF033/UMNF033.pas:929-936 (TfrmMNF033.btnEmitirNFClick) |
Mensagens: causa e ação
A Condição de Pagamento deve ser informada. Verifique!
Causa: O usuário tentou Emitir NF sem preencher o campo Condição de Pagamento na aba Faturamento.
Ação: Preencher o campo Condição de Pagamento (F9 para buscar) e clicar em Emitir NF novamente.
Fonte: source/MNF033/UMNF033.pas:911-915 (TfrmMNF033.btnEmitirNFClick)
A Data de Faturamento Final não pode ser Menor que a Data Inicial. Verifique!
Causa: Usuário preencheu as duas pontas do filtro 'Data de Faturamento' com a final anterior à inicial.
Ação: Corrigir a data final para ser igual ou posterior à inicial.
Fonte: source/MNF033/UdmMNF033.pas:654-660 (TdmMNF033.tabFILTRODT_FATURFIMValidate)
A Data de Faturamento Inicial não pode ser Maior que a Data Final. Verifique!
Causa: Usuário preencheu as duas pontas do filtro 'Data de Faturamento' com a inicial posterior à final.
Ação: Corrigir a data inicial para ser igual ou anterior à final.
Fonte: source/MNF033/UdmMNF033.pas:645-651 (TdmMNF033.tabFILTRODT_FATURINIValidate)
A Data de Vencimento não pode ser menor que a data atual. Verifique
Causa: Condição de pagamento com data definida (ST_CONDPAGTO='D') e o usuário informou vencimento anterior a hoje.
Ação: Informar uma data de vencimento igual ou posterior a hoje.
Fonte: source/MNF033/UMNF033.pas:938-943 (TfrmMNF033.btnEmitirNFClick)
A Data de Vencimento não pode ser Menor que a Data de Emissão. Verifique!
Causa: Na tela de reparcelamento, o usuário digitou uma data de vencimento de parcela anterior a hoje.
Ação: Informar uma data de vencimento igual ou posterior à data atual para a parcela.
Fonte: source/MNF033/UdmMNF033.pas:1608-1616 (TdmMNF033.cdsDESTINODT_VENCIMENTOValidate)
A Data de Vencimento não pode ser vazia. Verifique!
Causa: Condição de pagamento com data definida (ST_CONDPAGTO='D') exige vencimento e o campo ficou em branco.
Ação: Preencher a Data de Vencimento antes de emitir a nota.
Fonte: source/MNF033/UMNF033.pas:929-936 (TfrmMNF033.btnEmitirNFClick)
A Data Inicial não pode ser Maior que a Data Final. Verifique!
Causa: Algum filtro de período (pedido, nota produto/serviço) foi preenchido com a data inicial maior que a final.
Ação: Corrigir a ordem das datas do filtro e consultar novamente.
Fonte: source/MNF033/UMNF033.pas:552-557 (TfrmMNF033.btnConsultarClick)
A Forma de Pagamento %s não está Liberada para a Pessoa %s [TFA001]. Verifique!
Causa: O cliente tem restrição de formas de pagamento cadastrada (PESSOAFORMAPAGTO) e a forma escolhida não está na lista liberada para ele.
Ação: Escolher outra forma de pagamento liberada para o cliente, ou ajustar o cadastro TFA001 do cliente.
Fonte: source/MNF033/UMNF033.pas:1177-1186 (validaPedidos)
A Forma de Pagamento deve ser informada. Verifique!
Causa: Campo Forma de Pagamento vazio ao tentar Emitir NF.
Ação: Preencher a Forma de Pagamento e emitir novamente.
Fonte: source/MNF033/UMNF033.pas:917-921 (TfrmMNF033.btnEmitirNFClick)
A Movimentação do Produto %s Não Confere. Pedido: %s Movimentação.: %s Pedido: %s Movimentação.: %sCD_MOVIMENTACAO%s
Causa: O mesmo item aparece em dois pedidos agrupados com códigos de movimentação de estoque diferentes.
Ação: Revisar os pedidos envolvidos (tipo de movimentação do item) antes de agrupar a emissão; normalmente indica que os pedidos não deveriam ser faturados juntos.
Fonte: source/MNF033/UMNF033.pas:1255-1260 (validaPedidos)
A Pessoa %sI, do pedido %sI está bloqueada. Verifique [TFA049].
Causa: O cliente do pedido está marcado como bloqueado no cadastro de pessoa (ST_BLOQUEADA='S').
Ação: Desbloquear o cliente em TFA001/TFA049 (ou tratar a restrição comercial) antes de faturar.
Fonte: source/MNF033/UMNF033.pas:1161-1163 (validaPedidos)
A Pessoa %sI, do pedido %sI está SCPC igual a "Sim". Verifique [TFA001].
Causa: O cliente está com indicador de restrição SCPC = 'Sim' no cadastro de pessoa.
Ação: Verificar e regularizar a situação de crédito/restrição do cliente em TFA001 antes de faturar.
Fonte: source/MNF033/UMNF033.pas:1165-1167 (validaPedidos)
A Pessoa %sI, do pedido %sI não está ativa. Verifique [TFA001].
Causa: O cadastro do cliente do pedido está inativo (ST_ATIVA='N').
Ação: Reativar o cadastro do cliente em TFA001 antes de faturar o pedido.
Fonte: source/MNF033/UMNF033.pas:1157-1159 (validaPedidos)
A Serie da Nota para os Produtos deve ser informada. Verifique!
Causa: Campo Série (Produto) vazio ao tentar Emitir NF.
Ação: Preencher a série de produto (F9 para buscar) e emitir novamente.
Fonte: source/MNF033/UMNF033.pas:899-903 (TfrmMNF033.btnEmitirNFClick)
A Serie da Nota para os Serviços deve ser informada. Verifique!
Causa: Campo Série (Serviço) vazio ao tentar Emitir NF.
Ação: Preencher a série de serviço (F9 para buscar) e emitir novamente.
Fonte: source/MNF033/UMNF033.pas:905-909 (TfrmMNF033.btnEmitirNFClick)
A Série informada aceita somente Serviços. Verifique! [MFA002]
Causa: O usuário informou, no campo Série de Produto, uma série cadastrada em MFA002 como sendo de serviço.
Ação: Informar no campo de Produto uma série cadastrada para produto, e usar a série de serviço no campo correto.
Fonte: source/MNF033/UdmMNF033.pas:538-539 (TdmMNF033.tabFILTROCD_SERIEPRODUTOValidate)
A Série informada somente aceita Produtos. Verifique! [MFA002]
Causa: O usuário informou, no campo Série de Serviço, uma série cadastrada em MFA002 como sendo de produto.
Ação: Informar no campo de Serviço uma série cadastrada para serviço.
Fonte: source/MNF033/UdmMNF033.pas:680-681 (TdmMNF033.tabFILTROCD_SERIESERVICOValidate)
As ordens selecionadas Já foram ou não precisam ser reparceladas. Verifique!
Causa: As ordens marcadas na aba Consulta já foram reparceladas anteriormente ou não atendem às condições para reparcelamento (ex.: só uma nota, condição não é a prazo).
Ação: Conferir na aba Consulta se o embarque já está reparcelado; não é necessária nova ação.
Fonte: source/MNF033/UMNF033.pas:2108-2109 (TfrmMNF033.btnReparcelarClick)
As ordens selecionadas não possuem pedidos pendentes a serem faturados. Verifique!
Causa: Todas as ordens marcadas já estão totalmente atendidas (sem itens de ORDEMCARREG pendentes de nota).
Ação: Conferir o status de faturamento do embarque; se está 'Encerrado' não há mais nada a faturar.
Fonte: source/MNF033/UMNF033.pas:1949-1950 (TfrmMNF033.btnFaturarClick)
Este pedido já foi gerado Embarque. Verifique na aba "Consulta"!
Causa: O pedido selecionado já possui um embarque/ordem de carregamento vinculado a uma nota.
Ação: Acompanhar e concluir o faturamento desse pedido pela aba Consulta, em vez de tentar emitir de novo pela aba Faturamento.
Fonte: source/MNF033/UMNF033.pas:889-893 (TfrmMNF033.btnEmitirNFClick)
Existem notas de débito (pagamento antecipado) pendentes de vinculação para os clientes: %s Deseja continuar sem registrar a vinculação?
Causa: O cliente do pedido/embarque tem NF-e de débito tipo 06 (pagamento antecipado) pendente de vinculação e o parâmetro de bloqueio não está no modo bloqueante.
Ação: Confirmar para prosseguir sem vincular (a vinculação pode ser feita depois pela MNF002), ou cancelar e vincular antes.
Fonte: source/MNF033/UMNF033.pas:956-968 (TfrmMNF033.btnEmitirNFClick)
Existem notas de débito (pagamento antecipado) pendentes de vinculação para os clientes: %s Neste caso, a emissão deve ser realizada pela tela MNF002.
Causa: O parâmetro PARMFATUR.ST_BLOQPAGANTEC está em modo bloqueante ('B') e o cliente tem antecipação pendente.
Ação: Emitir a nota fiscal desse cliente individualmente pela tela MNF002, onde é possível vincular o pagamento antecipado.
Fonte: source/MNF033/UMNF033.pas:958-963 (TfrmMNF033.btnEmitirNFClick)
Existem notas de débito (pagamento antecipado) pendentes de vinculação para os clientes: %s Somente as notas destes clientes não serão emitidas e devem ser emitidas pela MNF002.
Causa: No faturamento em lote (aba Consulta), um ou mais clientes dos embarques selecionados têm antecipação pendente e o parâmetro está em modo bloqueante ('B').
Ação: As notas dos demais clientes são faturadas normalmente; para os clientes listados, emitir individualmente pela MNF002.
Fonte: source/MNF033/UMNF033.pas:1781-1785 (TfrmMNF033.btnFaturarClick)
Existem parcelas com valor Zero.%sVerifique o número de parcelas escolhido, e faça o reparcelamento novamente!
Causa: Ao confirmar o reparcelamento, alguma parcela calculada ficou com valor documento zero ou negativo.
Ação: Reduzir a quantidade de parcelas ou ajustar os valores manualmente e refazer o reparcelamento.
Fonte: source/MNF033/UMNF033Parcelas.pas:74-80 (TMNF033Parcelas.actionOKExecute)
Faturamento não localizado. Verifique!
Causa: O usuário clicou na coluna de seleção da grade de faturamentos sem a tabela estar ativa/carregada.
Ação: Consultar novamente os embarques (botão Consultar/Procurar) antes de marcar linhas.
Fonte: source/MNF033/UMNF033.pas:1535-1536 (TfrmMNF033.gridFATURAMENTOCellClick)
Forma de Pagamento não Cadastrada! Verifique [TFC001]
Causa: Na tela de reparcelamento, a forma de pagamento digitada na parcela não existe no cadastro FORMAPAGTO.
Ação: Informar uma forma de pagamento cadastrada em TFC001.
Fonte: source/MNF033/UdmMNF033.pas:1650-1656 (TdmMNF033.cdsDESTINOCD_FORMAPAGTOValidate)
Não foi selecionada nenhuma Ordem para Faturar. Verifique!
Causa: Nenhuma linha da grade de faturamentos foi marcada antes de clicar em Faturar.
Ação: Marcar a coluna Status das ordens desejadas antes de clicar em Faturar.
Fonte: source/MNF033/UMNF033.pas:1946-1947 (TfrmMNF033.btnFaturarClick)
Não foi selecionado nenhum Documento para Imprimir. Verifique!
Causa: Nenhuma linha da grade de faturamentos foi marcada antes de clicar em Imprimir Documentos.
Ação: Marcar a coluna Status das ordens desejadas antes de clicar em Imprimir Documentos.
Fonte: source/MNF033/UMNF033.pas:2198-2199 (TfrmMNF033.btnImprimirDocumentosClick)
Não foi Selecionado nenhum Pedido. Verifique!
Causa: Nenhum pedido foi marcado na grade da aba Faturamento antes de clicar em Emitir NF.
Ação: Marcar a coluna Status de ao menos um pedido antes de emitir.
Fonte: source/MNF033/UMNF033.pas:896-897 (TfrmMNF033.btnEmitirNFClick)
Não foi selecionado nenhuma Ordem para Faturar. Verifique!
Causa: Nenhuma linha da grade de faturamentos foi marcada antes de clicar em Reparcelar.
Ação: Marcar a coluna Status das ordens desejadas antes de clicar em Reparcelar.
Fonte: source/MNF033/UMNF033.pas:2105-2106 (TfrmMNF033.btnReparcelarClick)
O Endereço de Entrega do pedido %s é diferente do Pedido %s
Causa: Os pedidos marcados para agrupamento têm endereços de entrega (CD_ENDENTREGA) diferentes.
Ação: Selecionar apenas pedidos com o mesmo endereço de entrega, ou emitir separadamente os que divergem.
Fonte: source/MNF033/UMNF033.pas:1208-1209 (validaPedidos)
O Endereço do pedido %s é diferente do Pedido %s
Causa: Os pedidos marcados para agrupamento têm endereços de cobrança (CD_ENDERECO) diferentes.
Ação: Selecionar apenas pedidos com o mesmo endereço, ou emitir separadamente os que divergem.
Fonte: source/MNF033/UMNF033.pas:1205-1206 (validaPedidos)
O Usuário não Possui Acesso a Consulta de Notas Fiscais [CNF001]!
Causa: Usuário/perfil sem o item de menu CNF001 liberado tentou consultar a nota fiscal pelo menu de contexto.
Ação: Solicitar liberação do item de menu CNF001 ao administrador do sistema.
Fonte: source/MNF033/UMNF033.pas:1566-1568 (TfrmMNF033.ConsultarNotaClick)
O Usuário não possui acesso a tela de Cancelamento de Notas !
Causa: Usuário/perfil sem o item de menu MNF005 liberado tentou abrir a contabilização/cancelamento da nota.
Ação: Solicitar liberação do item de menu MNF005 ao administrador do sistema.
Fonte: source/MNF033/UMNF033.pas:1682-1685 (TfrmMNF033.ConsultarContabilidade1Click)
O Usuário não possui acesso a tela de Consulta de Contas [CFC001]!
Causa: Usuário/perfil sem o item de menu CFC001 liberado tentou consultar as contas geradas pela nota.
Ação: Solicitar liberação do item de menu CFC001 ao administrador do sistema.
Fonte: source/MNF033/UMNF033.pas:1618-1620 (TfrmMNF033.ConsultarContasClick)
O Usuário não possui acesso a tela de Consulta de Reparcelamento [CFC009]!
Causa: Usuário/perfil sem o item de menu CFC009 liberado tentou consultar um reparcelamento gerado.
Ação: Solicitar liberação do item de menu CFC009 ao administrador do sistema.
Fonte: source/MNF033/UMNF033.pas:1636-1638 (TfrmMNF033.ConsultarContasClick)
O valor dos pedidos selecionados em tela (%s) diverge do valor gravado nos pedidos (%s)
Causa: O valor líquido recalculado a partir do banco de dados difere do total exibido em tela (possível alteração concorrente do pedido).
Ação: Clicar em Consultar novamente para atualizar a tela com os valores atuais dos pedidos e tentar emitir de novo.
Fonte: source/MNF033/UMNF033.pas:1286-1288 (validaPedidos)
O Vendedor deve ser informado. Verifique!
Causa: Campo Vendedor vazio ao tentar Emitir NF.
Ação: Preencher o campo Vendedor (F9 para buscar) e emitir novamente.
Fonte: source/MNF033/UMNF033.pas:923-927 (TfrmMNF033.btnEmitirNFClick)
Ocorreu um erro ao faturar os pedidos selecionados. Verfique na aba Consulta!
Causa: A rotina de emissão automática retornou mensagem de erro (procedure GRAVA_NOTAFISCALPEDIDO/GERA_NOTAFISCALPEDIDO ou reparcelamento/caixa) ao processar os pedidos da aba Faturamento.
Ação: Consultar a ordem na aba Consulta e usar 'Verificar Erro' para ver a mensagem detalhada gravada em ERROEMBARQUE.
Fonte: source/MNF033/UMNF033.pas:1108-1109 (TfrmMNF033.btnEmitirNFClick)
Ocorreu um erro ao faturar os pedidos selecionados. Verfique!
Causa: A rotina de emissão automática retornou erro ao processar uma ordem marcada na aba Consulta (botão Faturar).
Ação: Consultar a ordem e usar 'Verificar Erro' para ver a mensagem detalhada gravada em ERROEMBARQUE.
Fonte: source/MNF033/UMNF033.pas:1925-1926 (TfrmMNF033.btnFaturarClick)
Os Parâmetros de Nota Fiscal para a Empresa %s e Operação de Saída não estão Cadastrados. Verifique! [MFA002]
Causa: Não existe cadastro em PARMNOTA para a série informada, empresa atual e tipo de nota 'S' (saída).
Ação: Cadastrar os parâmetros de nota fiscal para essa série/empresa/operação de saída na tela MFA002.
Fonte: source/MNF033/UdmMNF033.pas:536-537 (TdmMNF033.tabFILTROCD_SERIEPRODUTOValidate)
Para alterar o Pedido %s você precisa logado na Empresa %s
Causa: O usuário está logado em uma empresa diferente da empresa do pedido que tentou alterar.
Ação: Trocar a empresa ativa na sessão para a empresa indicada na mensagem e tentar novamente.
Fonte: source/MNF033/UMNF033.pas:848-849 (TfrmMNF033.btnAlterarPedidoClick)
Parcelamento do Pedido Cancelado!
Causa: O usuário cancelou a tela de definição de parcelas (MostraParcela) durante a geração da nota com condição parcelada.
Ação: Refazer a emissão e confirmar as parcelas na tela que se abre, ou ajustar a condição de pagamento antes.
Fonte: source/MNF033/UdmMNF033.pas:1453-1456 (TdmMNF033.gera_Parcelamento)
Pedido %s não foi conferido. Verifique![MPD031, MPD091, MPD097]
Causa: O parâmetro PARMFATUR.ST_BLOQFATNAOCONFERIDOS está ativo e a quantidade/peso conferido do pedido não bate com o pedido.
Ação: Realizar a conferência do pedido nas telas MPD031/MPD091/MPD097 antes de faturar.
Fonte: source/MNF033/UMNF033.pas:1233-1241 (validaPedidos)
Pedido não localizado. Verifique!
Causa: Usuário clicou na coluna de seleção da grade de pedidos sem a tabela de pedidos estar ativa.
Ação: Consultar novamente os pedidos (botão Consultar) antes de marcar linhas.
Fonte: source/MNF033/UMNF033.pas:686-687 (TfrmMNF033.gridPEDIDOCellClick)
Só é possível remover pedido que esteja com status "Não Atendido". Verifique! [CPD001]
Causa: O pedido que o usuário tentou retirar da ordem já está parcial ou totalmente atendido.
Ação: Não retirar pedidos já atendidos; para desfazer o faturamento, usar o cancelamento de nota (MNF005).
Fonte: source/MNF033/UMNF033.pas:2120-2121 (TfrmMNF033.RetirarPedidoClick)
Usuário não Possui Acesso a Consulta de Pedidos [CPD001]!
Causa: Usuário/perfil sem o item de menu CPD001 liberado tentou consultar o pedido.
Ação: Solicitar liberação do item de menu CPD001 ao administrador do sistema.
Fonte: source/MNF033/UMNF033.pas:826-828 (TfrmMNF033.btnConsultarPedidoClick)
É necessário Filtrar as ordens antes. Verifique!
Causa: Usuário clicou em Faturar/Reparcelar/Imprimir Documentos sem antes consultar os embarques na aba Consulta.
Ação: Clicar em Consultar (F3) na aba Consulta antes de acionar essas ações.
Fonte: source/MNF033/UMNF033.pas:1728-1729 (TfrmMNF033.btnFaturarClick)
É obrigatório informar uma pessoa para consultar. Verifique!
Causa: Usuário clicou em Consultar (aba Faturamento) sem preencher o campo Pessoa.
Ação: Preencher o campo Pessoa (Cliente) e consultar novamente.
Fonte: source/MNF033/UMNF033.pas:546-550 (TfrmMNF033.btnConsultarClick)
Regras de negócio
MNF033.R001(verregras/MNF033/MNF033.R001.md)MNF033.R002(verregras/MNF033/MNF033.R002.md)MNF033.R003(verregras/MNF033/MNF033.R003.md)MNF033.R004(verregras/MNF033/MNF033.R004.md)MNF033.R005(verregras/MNF033/MNF033.R005.md)MNF033.R006(verregras/MNF033/MNF033.R006.md)MNF033.R007(verregras/MNF033/MNF033.R007.md)MNF033.R008(verregras/MNF033/MNF033.R008.md)MNF033.R009(verregras/MNF033/MNF033.R009.md)MNF033.R010(verregras/MNF033/MNF033.R010.md)MNF033.R011(verregras/MNF033/MNF033.R011.md)MNF033.R012(verregras/MNF033/MNF033.R012.md)MNF033.R013(verregras/MNF033/MNF033.R013.md)MNF033.R014(verregras/MNF033/MNF033.R014.md)MNF033.R015(verregras/MNF033/MNF033.R015.md)MNF033.R016(verregras/MNF033/MNF033.R016.md)MNF033.R017(verregras/MNF033/MNF033.R017.md)MNF033.R018(verregras/MNF033/MNF033.R018.md)MNF033.R019(verregras/MNF033/MNF033.R019.md)MNF033.R020(verregras/MNF033/MNF033.R020.md)MNF033.R021(verregras/MNF033/MNF033.R021.md)MNF033.R022(verregras/MNF033/MNF033.R022.md)MNF033.R023(verregras/MNF033/MNF033.R023.md)MNF033.R024(verregras/MNF033/MNF033.R024.md)
Perguntas frequentes
P: Por que não consigo clicar em Emitir NF mesmo com pedidos marcados?
R: A tela valida, nesta ordem, Série de Produto, Série de Serviço, Condição de Pagamento, Forma de Pagamento, Vendedor e Data de Vencimento (se a condição exigir); qualquer um vazio bloqueia a emissão.
Fonte: source/MNF033/UMNF033.pas:896-944 (TfrmMNF033.btnEmitirNFClick)
P: Deu a mensagem 'Este pedido já foi gerado Embarque'. O que fazer?
R: O pedido já tem um embarque/ordem de carregamento associado; o acompanhamento e a conclusão do faturamento devem ser feitos pela aba Consulta, não emitindo de novo pela aba Faturamento.
Fonte: source/MNF033/UMNF033.pas:889-893 (TfrmMNF033.btnEmitirNFClick)
P: Por que a tela avisa que há 'notas de débito de pagamento antecipado pendentes' e não deixa emitir?
R: O cliente tem NF-e de débito tipo 06 (pagamento antecipado) ainda não vinculada a uma nota de venda; conforme o parâmetro ST_BLOQPAGANTEC em MFA001, o sistema bloqueia a emissão desse cliente (orientando usar a MNF002) ou apenas alerta e permite prosseguir sem vincular.
Fonte: source/MNF033/UMNF033.pas:951-972 (TfrmMNF033.btnEmitirNFClick)
P: Por que o valor da tela diverge do valor do pedido ao emitir?
R: O sistema recalcula o valor líquido de cada pedido diretamente no banco no momento da emissão e compara com o total mostrado em tela; se alguém alterou o pedido entre a consulta e a emissão, os valores divergem e a emissão é bloqueada até nova consulta.
Fonte: source/MNF033/UMNF033.pas:1268-1288 (validaPedidos)
P: Por que não consigo agrupar dois pedidos do mesmo cliente na mesma emissão?
R: Pedidos agrupados precisam ter o mesmo endereço de cobrança e o mesmo endereço de entrega; se divergirem, a tela bloqueia e é preciso emitir separadamente.
Fonte: source/MNF033/UMNF033.pas:1190-1211 (validaPedidos)
P: Por que a tela pede para 'conferir' o pedido antes de faturar?
R: Quando o parâmetro de bloqueio de faturamento de itens não conferidos está ligado (MFA001), a quantidade/peso pedido precisa bater com o conferido no pedido; caso contrário é preciso concluir a conferência (MPD031/MPD091/MPD097) antes de faturar.
Fonte: source/MNF033/UMNF033.pas:1233-1241 (validaPedidos)
P: Por que não consigo retirar um pedido da ordem na aba Consulta?
R: Só é possível retirar da ordem pedidos com status 'Não Atendido'; pedidos já parcial ou totalmente faturados não podem ser removidos por esse botão.
Fonte: source/MNF033/UMNF033.pas:2120-2121 (TfrmMNF033.RetirarPedidoClick)
P: Cliquei em Faturar/Reparcelar/Imprimir Documentos e nada acontece. Por quê?
R: É preciso primeiro clicar em Consultar na aba Consulta para carregar a grade de embarques, e depois marcar ao menos uma ordem antes de acionar esses botões.
Fonte: source/MNF033/UMNF033.pas:1728-1729 (TfrmMNF033.btnFaturarClick)
P: Por que o filtro 'Data de Faturamento' não traz os pedidos que eu esperava?
R: Esse filtro não usa a data do pedido; ele mostra apenas pedidos de clientes cuja agenda de faturamento (TFA001) tem periodicidade configurada que coincide com algum dia do período informado. Cliente sem periodicidade cadastrada não aparece enquanto o filtro estiver preenchido.
Fonte: source/MNF033/UdmMNF033.pas:550-643 (TdmMNF033.tabFILTROCD_SERIEPRODUTOValidate)
P: O que significa 'Ocorreu um erro ao faturar os pedidos selecionados. Verifique na aba Consulta/Verifique!'?
R: A rotina de geração automática da nota (procedures Firebird de nota/caixa/reparcelamento) retornou um erro; o embarque é salvo com o erro registrado e deve ser consultado na aba Consulta usando o botão/menu 'Verificar Erro' para ver o detalhe.
Fonte: source/MNF033/UMNF033.pas:1108-1109 (TfrmMNF033.btnEmitirNFClick), source/MNF033/UMNF033.pas:2204-2216 (TfrmMNF033.VerificarErroClick)
Dúvidas em aberto (o código não responde)
- Qual o efeito exato dos parâmetros PARMFATUR.ST_ATENDECARREG e PARMFATUR.ST_VARIOSVENDEDORES? — Ambos são apenas repassados como parâmetro literal para a procedure Firebird GRAVA_NOTAFISCALPEDIDO/GERA_NOTAFISCALPEDIDO (source/MNF033/UdmMNF033.pas, ~linhas 716-793); a lógica de negócio deles está na procedure SQL, não lida nesta sessão (fora do escopo dos arquivos .pas do módulo).
- O que exatamente PARMFATUR.CD_HISTORICO representa quando preenchido (fora do fluxo automático de caixa)? — O código só testa se está vazio ou não para decidir entre abrir a tela de Caixa manualmente ou gravar o movimento automaticamente via GRAVA_MOVTOCAIXA usando o valor como histórico (source/MNF033/UdmMNF033.pas, linhas 996-1121); o cadastro/efeito do histórico em si não está nos arquivos lidos.
- Por que a mensagem de vencimento de parcela do reparcelamento cita 'Data de Emissão' mas o código compara com a data atual (Today)? — Em TdmMNF033.cdsDESTINODT_VENCIMENTOValidate (source/MNF033/UdmMNF033.pas, linhas 1608-1617) o texto da mensagem menciona 'Data de Emissão', mas a comparação real é 'cdsDESTINODT_VENCIMENTO.AsDateTime < Today'; possível divergência entre texto e comportamento (mensagem desatualizada), não confirmável sem contexto de origem/histórico da mensagem.
- O checkbox 'Venda Presencial' é decidido automaticamente (CONFIGNFE.ST_VENDAPRESENCIAL e verificação de consumidor final) — existe alguma tela para o usuário alterar essa configuração por empresa? — O valor inicial vem de CONFIGNFE.ST_VENDAPRESENCIAL (source/MNF033/UMNF033.pas, linhas 278-284) e a visibilidade do checkbox depende de o endereço do pedido ser 'Consumidor Final' (source/MNF033/UdmMNF033.pas, HabilitaVendaPresencial, linhas 415-445); a tela de cadastro de CONFIGNFE não foi lida nesta sessão.