Pular para o conteúdo principal

MNF008 — Emissão Nota Fiscal de Venda - Obras (enriquecimento)

Menu: Faturamento > Movimentações > Notas Fiscais > Emissão Nota Fiscal de Venda - Obras

Objetivo​

A tela MNF008 emite Notas Fiscais de Venda vinculadas a contratos de obra (construção civil), permitindo lançar itens manualmente ou importá-los de um Pedido de Venda previamente cadastrado. Além dos dados fiscais e tributários padrão de uma nota de saída (impostos, condição/forma de pagamento, embarque/transportador), a tela adiciona campos específicos de obra — Contrato/Romaneio, Código de Obra e Código de ARG de Construção — usados na emissão de NFS-e do segmento de construção civil. Ao salvar, o sistema valida bloqueios cadastrais e financeiros, gera a nota fiscal via procedure e pode disparar impressão, geração de duplicatas e movimento de caixa.

Fluxo principal​

  1. Abrir uma nova nota: o sistema define empresa, série provisória, tipo Saída, status Vendida, data de emissão do dia e pré-carrega condição/forma de pagamento e consumidor padrão dos parâmetros de faturamento. (Aba Nota) — source/MNF008/UdmMNF008.pas:2102-2124 (TdmMNF008.tabNOTAAfterInsert)
  2. Selecionar a Série da Nota Fiscal (define espécie, se é NF-e ou NFS-e, layout, tipo de frete e se aceita produto/serviço). (Aba Nota) — source/MNF008/UdmMNF008.pas:3623-3687 (TdmMNF008.tabNOTACD_SERIENFValidate)
  3. Informar o Cliente (Pessoa): sistema valida cadastro, situação financeira, endereço e pode disparar tela de Histórico do Cliente se houver contas pendentes. (Aba Nota) — source/MNF008/UdmMNF008.pas:2305-2366 (TdmMNF008.tabNOTACD_PESSOAValidate)
  4. Informar o Contrato da Obra (campo Nº Romaneio/Obra, F9 para pesquisar): vincula a nota a uma obra cadastrada e alimenta os campos de NFS-e de construção civil (Obra/ARG). (Aba Nota) — source/MNF008/UMNF008.pas:2777-2804 (TfrmMNF008.edtNR_ROMANEIOKeyDown)
  5. Preencher/conferir os itens da nota (produto, movimentação, tabela de preço, peso/quantidade, valores), inclusive seleção de seriais/garantia quando o produto exigir. (Grade de Produtos) — source/MNF008/UdmMNF008.pas:1206-1284 (Grava_NotaFiscal)
  6. Preencher dados de embarque/transportador quando houver frete (motorista, transportador, placa, valor do frete). (Aba Embarque) — source/MNF008/UdmMNF008.pas:3441-3481 (TdmMNF008.tabEMBARQUECD_MOTORISTAValidate)
  7. Conferir os impostos calculados na aba de Impostos da Nota (recalculados pelas procedures fiscais ao gravar). (Aba Impostos) — source/MNF008/UdmMNF008.pas:3968-3993 (TdmMNF008.tabIMPOSTONOTAAfterScroll)
  8. Clicar em Salvar: o sistema valida obrigatórios e produtos, checa bloqueios (VERIFICA_BLOQUEIO), grava a nota, associa nota complementar se aplicável e gera a nota fiscal (GERA_NOTAFISCAL), podendo imprimir automaticamente. (Barra de botões) — source/MNF008/UMNF008.pas:1300-1374 (TfrmMNF008.btnSalvarClick)

Campos obrigatórios​

CampoCondiçãoMensagemFonte
Data de Emissão da NOTAsempre, ao gravar o cabeçalhoÉ Obrigatório informar a Data de Emissão da Nota Fiscal!source/MNF008/UdmMNF008.pas:2162-2166 (TdmMNF008.tabNOTABeforePost)
Pessoa Física/Jurídica (Cliente)sempre, ao salvar a notaÉ Obrigatório informar a Pessoa Física / Jurídica!source/MNF008/UdmMNF008.pas:2181-2185 (TdmMNF008.tabNOTABeforePost)
Endereço da Pessoasempre, ao salvar a notaÉ Obrigatório informar o Endereço da Pessoa Física / Jurídica!source/MNF008/UdmMNF008.pas:2186-2190 (TdmMNF008.tabNOTABeforePost)
Condição de Pagamentosempre, ao salvar a notaÉ Obrigatório informar a Condição de Pagamento!source/MNF008/UdmMNF008.pas:2191-2195 (TdmMNF008.tabNOTABeforePost)
Forma de Pagamentosempre, ao salvar a notaÉ Obrigatório informar a Forma de Pagamento!source/MNF008/UdmMNF008.pas:2221-2225 (TdmMNF008.tabNOTABeforePost)
Série da Nota Fiscalsempre, ao clicar SalvarÉ Obrigatório informar a Série da Nota Fiscal!source/MNF008/UMNF008.pas:1252-1256 (TfrmMNF008.btnSalvarClick)
Número da Nota Fiscalquando a série não tem numeração sequencial automática (série do tipo simulação)Para a Série do Tipo Simulação é Obrigatório informar o Número da Nota Fiscal!source/MNF008/UMNF008.pas:1257-1261 (TfrmMNF008.btnSalvarClick)
Produto do itemsempre, para cada linha da grade de itensÉ Obrigatório informar o Produto da Nota Fiscal!source/MNF008/UdmMNF008.pas:2244-2248 (TdmMNF008.tabITEMNOTABeforePost)
Movimentação do itemsempre, para cada linha da grade de itensÉ Obrigatório informar a Movimentação do Produto na Nota Fiscal!source/MNF008/UdmMNF008.pas:2249-2253 (TdmMNF008.tabITEMNOTABeforePost)
Tabela de Preço do itemitem digitado manualmente (não veio de pedido) e parâmetro ST_TABPRECO exige tabelaÉ Obrigatório informar a Tabela de Preço do Produto na Nota Fiscal!source/MNF008/UdmMNF008.pas:2254-2261 (TdmMNF008.tabITEMNOTABeforePost)
Peso e Quantidade do itemconforme o produto exige peso e/ou quantidade (campo não fica readonly)É Obrigatório informar o Peso / a Quantidade do Produto na Nota Fiscal!source/MNF008/UdmMNF008.pas:2262-2273 (TdmMNF008.tabITEMNOTABeforePost)
Valor Unitário e Valor Total do itemsempre, para cada linha da grade de itensÉ Obrigatório informar o Valor Unitário / Valor Total do Produto na Nota Fiscal!source/MNF008/UdmMNF008.pas:2274-2283 (TdmMNF008.tabITEMNOTABeforePost)
Local de Armazenagem do itemquando a movimentação selecionada gera baixa de estoque (tem CD_OPERACAO)A Movimentação Gera Estoque e o Produto "%s" não possui Local de Armazenagem Associado ou o Usuário não possui Acesso! Verifique [TPO001, TOF007]source/MNF008/UdmMNF008.pas:2289-2295 (TdmMNF008.tabITEMNOTABeforePost)
Número do RPS de Substituiçãotipo de emissão NFS-e = SubstituiçãoÉ Obrigatório Informar o Número de RPS para Substituição!source/MNF008/UMNF008.pas:1278-1284 (TfrmMNF008.btnSalvarClick)

Mensagens: causa e ação​

A Pessoa está com Situação Financeira Bloqueada!​

Causa: O cliente selecionado está marcado com bloqueio de situação financeira no cadastro de pessoas.

Ação: Regularizar a pendência financeira do cliente (módulo financeiro) ou solicitar liberação do bloqueio antes de emitir a nota.

Fonte: source/MNF008/UdmMNF008.pas:2316-2317 (TdmMNF008.tabNOTACD_PESSOAValidate)

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

Causa: O cadastro do cliente está inativo.

Ação: Reativar o cadastro da pessoa em TFA001 antes de usá-la na nota.

Fonte: source/MNF008/UdmMNF008.pas:2318-2319 (TdmMNF008.tabNOTACD_PESSOAValidate)

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

Causa: O código de pessoa informado não existe no cadastro.

Ação: Cadastrar a pessoa em TFA001 ou corrigir o código informado.

Fonte: source/MNF008/UdmMNF008.pas:2365-2366 (TdmMNF008.tabNOTACD_PESSOAValidate)

O Endereço da Pessoa Física / Jurídica não está Cadastrado [TFA001]!​

Causa: O código de endereço informado não está vinculado ao cliente selecionado.

Ação: Cadastrar o endereço para essa pessoa em TFA001 ou escolher um endereço já existente.

Fonte: source/MNF008/UdmMNF008.pas:2469-2470 (TdmMNF008.tabNOTACD_ENDERECOValidate)

A Condição de Pagamento deve ser do tipo Saída [TFC002]!​

Causa: A condição de pagamento escolhida está cadastrada como tipo Entrada.

Ação: Selecionar uma condição de pagamento cadastrada como tipo Saída em TFC002.

Fonte: source/MNF008/UdmMNF008.pas:2500-2501 (TdmMNF008.tabNOTACD_CONDPAGTOValidate)

A Movimentação não está Ativa!​

Causa: A movimentação de estoque selecionada para o item está marcada como inativa no cadastro.

Ação: Escolher outra movimentação ativa ou reativar a movimentação em TCB001.

Fonte: source/MNF008/UdmMNF008.pas:2915-2916 (TdmMNF008.tabITEMNOTACD_MOVIMENTACAOValidate)

A Movimentação Gera Estoque e o Produto "%s" não possui Local de Armazenagem Associado ou o Usuário não possui Acesso! Verifique [TPO001, TOF007]​

Causa: A movimentação exige baixa de estoque, mas o produto não tem local de armazenagem cadastrado ou o usuário logado não tem permissão de acesso a esse local.

Ação: Cadastrar o local de armazenagem do produto em TPO001 ou liberar o acesso do usuário ao local em TOF007.

Fonte: source/MNF008/UdmMNF008.pas:2289-2295 (TdmMNF008.tabITEMNOTABeforePost)

Este Número da Obra não está Cadastrada [MPD026]!​

Causa: O número informado no campo Contrato da Obra não corresponde a nenhum romaneio com status Vigente para a empresa.

Ação: Conferir ou cadastrar o contrato de obra em MPD026 (Romaneio) antes de vinculá-lo à nota.

Fonte: source/MNF008/UdmMNF008.pas:4102-4108 (TdmMNF008.tabNOTANR_ROMANEIOValidate)

Nenhum Pedido Pendente foi encontrado. Verifique [CPD001]!​

Causa: O número de pedido informado não corresponde a nenhum pedido de venda com status Normal ou Parcial na empresa consultada.

Ação: Conferir o status do pedido em CPD001; se já estiver totalmente atendido ou cancelado, não pode ser importado.

Fonte: source/MNF008/UdmMNF008.pas:3877-3879 (TdmMNF008.tabNOTANR_PEDIDOValidate)

A Nota Fiscal %s Série %s da Empresa %s já foi Lançada. Verifique!​

Causa: Já existe outra nota, não excluída, com o mesmo número, série e empresa.

Ação: Informar outro número de nota fiscal ou verificar se essa nota já foi digitada anteriormente no sistema.

Fonte: source/MNF008/UdmMNF008.pas:3372-3375 (TdmMNF008.tabNOTANR_NOTAFISCALValidate)

A Quantidade do Produto da Nota não pode ser Menor que a Selecionada no Pedido.​

Causa: O item veio de um pedido de venda e o usuário reduziu a quantidade abaixo do que foi selecionado/atendido no pedido de origem.

Ação: Ajustar a quantidade para ser igual ou maior à do pedido, ou remover/reduzir a quantidade atendida diretamente na tela do pedido.

Fonte: source/MNF008/UdmMNF008.pas:3176-3178 (TdmMNF008.tabITEMNOTAQT_ITEMNOTAValidate)

A Quantidade para Atender não pode ser Maior que o Saldo do Pedido.​

Causa: Na grade de importação de pedido, a quantidade informada para atender excede o saldo ainda pendente daquele item no pedido.

Ação: Reduzir a quantidade a atender para não ultrapassar o saldo disponível do pedido.

Fonte: source/MNF008/UdmMNF008.pas:3407-3408 (TdmMNF008.tabPEDIDOQT_ATENDERValidate)

Não foi informado os Dados da Nota Mestra. Pressione o botão Nota Mestra para preencher os dados da Nota!​

Causa: O item usa uma movimentação do tipo Geral/Mestra, mas a nota mestra de origem ainda não foi selecionada na tela.

Ação: Clicar no botão "Nota Mestra" e informar a nota de origem antes de continuar lançando o item.

Fonte: source/MNF008/UdmMNF008.pas:2986-2988 (TdmMNF008.tabITEMNOTACD_MOVIMENTACAOValidate)

O Produto %s já foi Informado na Nota Fiscal!​

Causa: O produto já existe como outro item já lançado nesta mesma nota.

Ação: Editar a linha já existente do produto em vez de criar um novo item duplicado.

Fonte: source/MNF008/UdmMNF008.pas:2662-2663 (TdmMNF008.tabITEMNOTACD_ITEMValidate)

Este Embarque está com Status/Situação Atendido!​

Causa: O número de embarque informado já foi finalizado/atendido em outra nota.

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

Fonte: source/MNF008/UdmMNF008.pas:3803-3804 (TdmMNF008.tabEMBARQUENR_EMBARQUEValidate)

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

Causa: O código informado no embarque não corresponde a uma pessoa cadastrada.

Ação: Cadastrar a pessoa como motorista/transportador em TFA001 ou corrigir o código informado.

Fonte: source/MNF008/UdmMNF008.pas:3455-3456 (TdmMNF008.tabEMBARQUECD_MOTORISTAValidate), source/MNF008/UdmMNF008.pas:3476-3477 (TdmMNF008.tabEMBARQUECD_TRANSPORTADORValidate)

O RPS não está Cancelado!​

Causa: O usuário está tentando gerar uma NFS-e de substituição referenciando um RPS cuja NFS-e de origem ainda não foi cancelada.

Ação: Cancelar a NFS-e/RPS de origem antes de emitir a nota de substituição.

Fonte: source/MNF008/UdmMNF008.pas:4240-4241 (TdmMNF008.tabNOTANR_RPSSUBSTValidate)

O RPS já foi Associado a outra NFS-e para Substituição!​

Causa: O RPS informado já está vinculado como origem de outra nota de substituição.

Ação: Verificar qual nota já substituiu esse RPS ou informar outro número.

Fonte: source/MNF008/UdmMNF008.pas:4242-4243 (TdmMNF008.tabNOTANR_RPSSUBSTValidate)

O Contrato da Obra deste Pedido não foi informado. Deseja Gravar o Pedido ?​

Causa: A nota está sendo salva sem o campo Contrato da Obra (Romaneio) preenchido, o que é atípico neste módulo voltado a obras.

Ação: Informar o contrato de obra (F9 no campo Nº Romaneio) ou confirmar que realmente deseja gravar a nota sem vínculo com obra.

Fonte: source/MNF008/UMNF008.pas:1263-1268 (TfrmMNF008.btnSalvarClick)

A Nota Fiscal não possui Produtos. Verifique! / A Nota Fiscal não possui Valor!​

Causa: A nota está sendo salva sem nenhum item lançado, ou o valor líquido total calculado está vazio.

Ação: Incluir ao menos um item com valor válido antes de salvar a nota.

Fonte: source/MNF008/UMNF008.pas:1300-1306 (TfrmMNF008.btnSalvarClick)

O Cliente Ultrapassou a Quantidade Máxima de Compra do Produto "%s" Qtde Permitida %s Qtde Adquirida %s​

Causa: A soma das quantidades já compradas pelo cliente naquele produto no mês corrente, somada à quantidade deste item, ultrapassa o limite cadastrado em Item Controlado.

Ação: É apenas um aviso informativo (não bloqueia o salvamento); avaliar se a venda deve prosseguir ou se o limite do cliente precisa ser revisado.

Fonte: source/MNF008/UdmMNF008.pas:3198-3201 (TdmMNF008.tabITEMNOTAQT_ITEMNOTAValidate)

Frete Incluso no Valor da Nota Fiscal?​

Causa: Foi informado um valor de frete maior que zero no embarque vinculado à nota.

Ação: Responder Sim para que o valor do frete seja somado ao total da nota fiscal, ou Não para mantê-lo fora do valor da NF.

Fonte: source/MNF008/UdmMNF008.pas:3757-3763 (TdmMNF008.tabEMBARQUEVL_FRETEValidate)

CNPJ/CPF Inválido​

Causa: O número de CNPJ/CPF digitado no cadastro do embarque não passou na validação de dígitos verificadores.

Ação: Conferir e corrigir o número de CNPJ/CPF informado.

Fonte: source/MNF008/UMNF008.pas:2299-2306 (TfrmMNF008.edtNR_CGCCPFExit)

Este Produto está Associado a um Pedido e não pode ser Excluído.​

Causa: O usuário tentou excluir da nota um item que tem peso ou quantidade vindos de um pedido de venda vinculado.

Ação: Fazer o ajuste (reduzir/cancelar) diretamente na tela do pedido de origem, não excluindo o item na nota.

Fonte: source/MNF008/UMNF008.pas:1987-1989 (TfrmMNF008.btnExcluirClick)

Não foi Selecionado nenhum Serial para este Produto. Verifique!​

Causa: O produto tem controle de número de série e nenhum serial foi marcado na tela de seleção obrigatória.

Ação: Selecionar na tela de seriais os números correspondentes à quantidade lançada do item antes de confirmar.

Fonte: source/MNF008/UMNF008SERIAL2.pas:133-133 (TfrmSERIAL.btnOKClick)

A Quantidade de Produtos da Nota não Confere com a Quantidade de Seriais Selecionados! Qtde NF.: %s Qtde Selecionada.: %s​

Causa: A quantidade de seriais marcados na tela é diferente da quantidade lançada no item da nota.

Ação: Selecionar exatamente a mesma quantidade de seriais que foi informada na quantidade do item.

Fonte: source/MNF008/UMNF008SERIAL2.pas:139-139 (TfrmSERIAL.btnOKClick)

Regras de negócio​

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

Perguntas frequentes​

P: Por que não consigo salvar a nota se não informar o cliente ou o endereço dele? R: A tela exige Pessoa e Endereço preenchidos antes de gravar o cabeçalho da nota; sem eles o sistema recusa o salvamento. Fonte: source/MNF008/UdmMNF008.pas:2181-2190 (TdmMNF008.tabNOTABeforePost)

P: Deu a mensagem 'A Pessoa está com Situação Financeira Bloqueada!', o que fazer? R: O cadastro do cliente está com bloqueio financeiro; é preciso regularizar a situação (financeiro/cadastro de pessoas) antes de emitir a nota. Fonte: source/MNF008/UdmMNF008.pas:2316-2317 (TdmMNF008.tabNOTACD_PESSOAValidate)

P: Por que a tela pede um local de armazenagem para o produto? R: A movimentação de estoque escolhida gera baixa de estoque; o produto precisa ter um local de armazenagem cadastrado e o usuário precisa ter acesso a esse local. Fonte: source/MNF008/UdmMNF008.pas:2289-2295 (TdmMNF008.tabITEMNOTABeforePost)

P: Deu 'Este Número da Obra não está Cadastrada [MPD026]!', como resolvo? R: O número digitado no campo Contrato da Obra não existe como romaneio vigente; cadastre ou selecione (F9) um contrato de obra válido em MPD026. Fonte: source/MNF008/UdmMNF008.pas:4102-4108 (TdmMNF008.tabNOTANR_ROMANEIOValidate)

P: Por que não consigo lançar uma quantidade menor que a do pedido no item? R: Quando o item vem de um pedido de venda, o sistema não permite gravar peso/quantidade abaixo do que foi selecionado/atendido no pedido de origem. Fonte: source/MNF008/UdmMNF008.pas:3176-3178 (TdmMNF008.tabITEMNOTAQT_ITEMNOTAValidate)

P: A nota diz que já foi lançada, mas eu não a vejo na lista. O que houve? R: Já existe outra nota (não excluída) com o mesmo número, série e empresa; verifique se ela foi digitada em outro lançamento ou por outro usuário. Fonte: source/MNF008/UdmMNF008.pas:3365-3375 (TdmMNF008.tabNOTANR_NOTAFISCALValidate)

P: Por que o campo Vendedor aparece travado para edição? R: Quando o endereço do cliente já tem um vendedor vinculado e o parâmetro de faturamento ST_VENDEDOR está configurado como 'A' (após pedido/endereço) ou 'F' (fixo), o campo Vendedor fica somente leitura. Fonte: source/MNF008/UdmMNF008.pas:2462-2463 (TdmMNF008.tabNOTACD_ENDERECOValidate)

P: Deu 'Não foi informado os Dados da Nota Mestra...', o que preciso fazer? R: O item usa uma movimentação do tipo Geral/Mestra; é necessário clicar no botão "Nota Mestra" e selecionar a nota de origem antes de continuar lançando esse item. Fonte: source/MNF008/UdmMNF008.pas:2986-2988 (TdmMNF008.tabITEMNOTACD_MOVIMENTACAOValidate)

P: Por que o sistema abre uma telinha pedindo para escolher os números de série do produto? R: O produto tem controle de número de série (ou é linha de celular) e a movimentação gera estoque; a seleção dos seriais é obrigatória e a quantidade selecionada precisa bater com a quantidade do item. Fonte: source/MNF008/UdmMNF008.pas:1206-1263 (Grava_NotaFiscal)

P: Deu 'O RPS não está Cancelado!' ao tentar emitir uma nota de substituição de NFS-e, por quê? R: Para gerar uma NFS-e de Substituição, o RPS da nota original precisa estar com status Cancelado; cancele a NFS-e de origem antes de emitir a substituta. Fonte: source/MNF008/UdmMNF008.pas:4240-4241 (TdmMNF008.tabNOTANR_RPSSUBSTValidate)

P: Por que não consigo excluir um item da nota? R: Se o item tem peso ou quantidade vinda de um pedido de venda vinculado, ele não pode ser excluído diretamente na nota; o ajuste precisa ser feito no pedido de origem. Fonte: source/MNF008/UMNF008.pas:1987-1989 (TfrmMNF008.btnExcluirClick)

P: A nota foi salva, mas ficou com status Bloqueada. Por quê? R: Ao salvar, o sistema roda a validação de bloqueio (VERIFICA_BLOQUEIO); se houver algum motivo de bloqueio (ex.: limite de crédito, pedido bloqueado), a nota é gravada mas fica com status Bloqueada e não é impressa automaticamente. Fonte: source/MNF008/UMNF008.pas:1338-1346 (TfrmMNF008.btnSalvarClick)

P: Alterei a condição de pagamento e os preços dos itens não mudaram. É normal? R: O reprocessamento automático dos preços depende do parâmetro ST_REPROCESSATABPRECO; se ele não estiver configurado para reprocessar (ou se a nota veio de pedido e ST_ALTERANOTA não permite alterar), os preços não são recalculados. Fonte: source/MNF008/UMNF008.pas:2913-2931 (TfrmMNF008.edtCD_CONDPAGTOExit)

P: Deu aviso que o cliente ultrapassou a quantidade máxima de compra do produto; a nota é bloqueada? R: Não, é apenas um aviso informativo sobre o limite mensal cadastrado em Item Controlado; o usuário pode confirmar e seguir com a venda normalmente. Fonte: source/MNF008/UdmMNF008.pas:3198-3201 (TdmMNF008.tabITEMNOTAQT_ITEMNOTAValidate)

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

  • A licença 'erpObras' indicada para este módulo é verificada em algum ponto do código lido, ou o controle de acesso por licença é feito fora dele (ex.: no menu/sessão)? — Não foi encontrada nenhuma checagem explícita de 'erpObras' nos arquivos .pas do módulo MNF008; o controle pode estar em uma camada de sessão/licenciamento não incluída no briefing.
  • Qual a diferença de negócio entre os valores 'S', 'L' e 'V' do parâmetro PARMFATUR.ST_PEDVENDA além do cálculo técnico de extração de IPI observado no código? — O código trata 'L' e 'V' com fórmulas diferentes de extração do IPI embutido ao importar itens do pedido (UMNF008.pas linhas 928-948), mas não há comentário explicando a motivação de negócio de cada modo.
  • De onde vêm exatamente os Códigos de Obra (CD_OBRACONSTRUCAO) e de ARG (CD_ARGCONSTRUCAO) digitados manualmente — existe uma tela de cadastro/consulta para eles dentro do sistema? — Os campos são apenas validados quanto a não serem negativos (UdmMNF008.pas 4186-4198) e gravados na tabela NFSE; não há F9/consulta vinculada a esses dois campos nos arquivos lidos.
  • Por que existe um bloco de validação de Série/Data de Vencimento duplicado e comentado (morto) em TdmMNF008.tabNOTABeforePost, enquanto a validação equivalente ativa está em TfrmMNF008.btnSalvarClick? É resíduo de manutenção ou intencional? — UdmMNF008.pas linhas 2167-2220 contêm um bloco de comentário Pascal ({...}) que desativa a checagem de Série e de Data de Vencimento; a mesma regra de Série está ativa em UMNF008.pas linhas 1252-1256.