CNF001 — Consulta de Notas Fiscais (enriquecimento)
Menu: Faturamento > Consultas > Notas Fiscais > Consulta de Notas Fiscais
Objetivo
A CNF001 (Consulta de Notas Fiscais) é a tela central do Faturamento para localizar notas fiscais já emitidas ou recebidas e revisar seus dados: cabeçalho, itens, impostos, parcelas, vendedores, embarque, seriais, referências e ajustes fiscais SPED. Apesar do nome "Consulta", ela permite manutenção pós-emissão controlada — alterar dados cadastrais, recalcular impostos, reparcelar, ratear centro de resultado, trocar/excluir vendedor, duplicar a nota e gerenciar GNRe/XML — sempre efetivando as mudanças por meio do botão "Confirma Alteração". Ações que mudam o status jurídico do documento (cancelar, excluir, inutilizar) não são feitas aqui: a tela apenas redireciona para as telas específicas (MNF005/MNF006/MNF020) conforme o status atual da nota.
Fluxo principal
- Clicar em Consultar (F3); o sistema valida datas/faixas de valor e exige ao menos um registro retornado (Dados para Consulta) —
source/CNF001/UCNF001.pas:2456-2475 (TfrmCNF001.btnProcurarClick) - Editar os campos permitidos na aba 'Alteração Nota' (dados principais, adicionais, importação/exportação, NFS-e) ou nas abas auxiliares (Impostos, Vendedores, Parcelas, Centro de Custo, Ajuste SPED) (Dados da Nota > Alteração Nota / Impostos da Nota / Vendedores) —
source/CNF001/UCNF001.pas:4283-4339 (TfrmCNF001.btnAlteraImpostoClick) - Sistema exibe 'Alterações da Nota Efetuadas com Sucesso!' e recarrega a consulta (Dados da Nota) —
source/CNF001/UCNF001.pas:3800-3804 (TfrmCNF001.btnConfirmaClick)
Campos obrigatórios
| Campo | Condição | Mensagem | Fonte |
|---|---|---|---|
| Data Final (faixa de Valor da Nota) no filtro de consulta | Obrigatório sempre que o Valor Inicial da faixa estiver preenchido | Informe um Valor Final para Consulta! | source/CNF001/UCNF001.pas:2962-2966 (TfrmCNF001.btnProcurarClick) |
| Vendedor e Tipo de Vendedor (tela de troca de vendedor) | Obrigatórios para confirmar a troca de vendedor de um item ou de toda a nota | É Obrigatório informar o Vendedor. / É Obrigatório informar o Tipo. | source/CNF001/UVENDCNF001.pas:96-105 (TfrmVENDCNF001.btnOKClick) |
| Nº do Celular, Nº do Contrato e Tipo do Contrato (aba de contrato/celular) | Obrigatórios para gravar os dados de contrato de linha celular vinculados ao serial do item | É Obrigatório informar o Nº do Celular / Nº do Contrato da Operadora / Tipo do Contrato. | source/CNF001/UCELCNF001.pas:88-100 (TfrmCELCNF001.btnOKClick) |
| Centro de Custo, Percentual e Valor do rateio (grade de Rateio de Centro de Resultado) | Obrigatórios em cada linha de rateio lançada para uma conta contábil | O Centro De Resultado deve ser Informado / O Percentual para o Centro De Resultado deve ser Informado / O Valor para o Centro De Resultado deve ser Informado | source/CNF001/UdmCNF001.pas:4584-4604 (TdmCNF001.tabRATEIOBeforePost) |
| Fornecedor do Lote (grade de Lote de Sementes/Produção) | Obrigatório e deve ser Pessoa ativa do tipo Fornecedor | É obrigatório informar o Fornecedor! / A Pessoa não está Cadastrada ou não é do Tipo Fornecedor! [TFA001] | source/CNF001/UdmCNF001.pas:3553-3572 (TdmCNF001.tabLoteCD_FORNECEDORValidate) |
| Código do Ajuste Fiscal SPED e ao menos um valor (Base, Alíquota, Imposto ou Outras) | Obrigatórios ao gravar um ajuste fiscal vinculado a uma Observação Fiscal do item | Informe o Código do Ajuste Fiscal / Para informar um ajuste, pelo menos um dos campos de valor deve ser maior que ZERO. | source/CNF001/UdmCNF001.pas:4301-4346 (TdmCNF001.tabAJUSTESPEDBeforePost) |
| Código da Observação Fiscal (quadro de Ajuste SPED) | Obrigatório antes de entrar no quadro de Ajustes Fiscais do item | Informe o Código da Observação Fiscal | source/CNF001/UAJUSTESPED.pas:165-178 (TfrmAJUSTESPED.grpAJUSTESEnter) |
| Nº Documento de Importação, Data do Documento, Local e Estado do Desembaraço, Data do Desembaraço | Obrigatórios ao gravar os Dados de Importação de uma NCM importado | É Obrigatório Informar o Número/A Data do Documento de Importação / Local de Desembaraço / o Estado do Desembaraço / a Data do Desembaraço | source/CNF001/UdmCNF001.pas:3919-3965 (TdmCNF001.tabDADOSIMPORTBeforePost) |
| Número da Adição, Sequência da Adição e Código do Fabricante (grade de Adição) | Obrigatórios para gravar cada linha de Adição de um item importado | É Obrigado Informar o Número de Adição / A Sequencia de Adição / o Código do Fabricante | source/CNF001/UdmCNF001.pas:3882-3897 (TdmCNF001.tabADICBeforePost) |
Mensagens: causa e ação
A Alteração da nota não pode ser concluida! Alterações de Notas bloqueadas até %s
Causa: PARMCONTABIL.ST_BLOQALTFATDOCNAOCONTAB = 'S' e a Data de Emissão da nota é igual ou anterior à Data de Bloqueio Contábil (DT_BLOQCONTABIL) parametrizada para a empresa.
Ação: A mensagem deveria impedir a confirmação, mas por um defeito de código (falta o comando Raise) a alteração é gravada mesmo assim. Reportar ao suporte técnico se o bloqueio precisa realmente impedir a gravação.
Fonte: source/CNF001/UCNF001.pas:3599-3612 (TfrmCNF001.btnConfirmaClick)
Não foi possível concluir a alteração. Nota Fiscal Nº.: %s está cancelada!
Causa: A nota selecionada está com status Cancelada (ST_NOTA='C') e o usuário tentou 'Confirma Alteração'.
Ação: Não é possível alterar notas canceladas por esta tela; se necessário, gerar uma nova nota (Duplicar) ou tratar via módulo de cancelamento/reemissão.
Fonte: source/CNF001/UCNF001.pas:3614-3624 (TfrmCNF001.btnConfirmaClick), source/CNF001/UCNF001.pas:3806-3808 (TfrmCNF001.btnConfirmaClick)
A Data Inicial não pode ser Maior que a Data Final! / A Data Final não pode ser Menor que a Data Inicial!
Causa: No filtro de período de Emissão ou de Vencimento, a data final informada é anterior à inicial.
Ação: Corrigir o intervalo de datas do filtro antes de consultar.
Fonte: source/CNF001/UCNF001.pas:2456-2475 (TfrmCNF001.btnProcurarClick)
A Consulta não Retornou Registros. Verifique!
Causa: Nenhum lançamento de nota atende à combinação de filtros informada (empresa, série, status, período, vendedor, marca, seção, faixa de valor, etc.).
Ação: Revisar/afrouxar os filtros e consultar novamente.
Fonte: source/CNF001/UCNF001.pas:3036-3041 (TfrmCNF001.btnProcurarClick)
Informe um Valor Final para Consulta!
Causa: Foi preenchido o Valor Inicial da faixa de Valor da Nota sem informar o Valor Final.
Ação: Informar o Valor Final da faixa, ou apagar o Valor Inicial.
Fonte: source/CNF001/UCNF001.pas:2962-2966 (TfrmCNF001.btnProcurarClick)
A Valor Final da faixa está inferior a Valor Inicial! / A Valor Inicial da faixa está superior a Valor Final!
Causa: Na faixa de Valor da Nota do filtro, o valor final é menor que o inicial.
Ação: Corrigir a faixa de valores informada.
Fonte: source/CNF001/UdmCNF001.pas:3574-3606 (TdmCNF001.tabEMPRESAVL_FINALValidate)
A Condição de Pagamento não é permitida para o tipo da nota.
Causa: A condição de pagamento está cadastrada só para Entrada ou só para Saída (CONDPAGTO.TP_NOTA), diferente do tipo da nota atual, e a nota não é do tipo Todos.
Ação: Escolher uma condição de pagamento compatível com o tipo de nota (Entrada/Saída), ou marcar a condição como válida para os dois tipos na FC002.
Fonte: source/CNF001/UdmCNF001.pas:1479-1504 (TdmCNF001.tabEMPRESACD_CONDPAGTOValidate), source/CNF001/UdmCNF001.pas:1983-2011 (TdmCNF001.tabNFCD_CONDPAGTOValidate)
A Condição de Pagamento não está Cadastrada [TFC002]! / A Forma de Pagamento não está Cadastrada [TFC001]!
Causa: O código informado não existe nas tabelas CONDPAGTO/FORMAPAGTO.
Ação: Cadastrar/selecionar uma condição ou forma de pagamento válida (telas TFC002/TFC001).
Fonte: source/CNF001/UdmCNF001.pas:1485-1521 (TdmCNF001.tabEMPRESACD_CONDPAGTOValidate)
A forma de pagamento possui taxa de boleto parametrizada e não pode ser alterada pela CNF001. Verifique! [MFC009].
Causa: A forma de pagamento informada tem VL_TAXABOLETO configurado no cadastro de Boleto para a empresa.
Ação: Fazer essa alteração pela tela MFC009, que trata o recálculo da taxa de boleto.
Fonte: source/CNF001/UdmCNF001.pas:1843-1858 (TdmCNF001.tabNFCD_FORMAPAGTOValidate)
Não é possível alterar a Condição de Pagamento pois a Nota Fiscal possui taxa de boleto informado. / Não é possível alterar as parcelas pois a Nota Fiscal possui taxa de boleto informado.
Causa: A nota já tem VL_TAXABOLETO lançado em alguma parcela/conta (boleto já gerado com taxa).
Ação: Fazer o ajuste financeiro fora da CNF001 (módulo de Contas/Boletos, ex. MFC009).
Fonte: source/CNF001/UdmCNF001.pas:1947-1965 (TdmCNF001.tabNFCD_CONDPAGTOValidate), source/CNF001/UCNF001.pas:3895-3909 (TfrmCNF001.btnParcelaNotaClick)
Existem Parcelas Incobráveis desta Nota. Não é possível fazer a Alteração das Parcelas. / Existem Parcelas Liquidadas desta Nota. Não é possível fazer a Alteração das Parcelas.
Causa: Existem títulos financeiros da nota já marcados como Incobráveis (quando PARMFINANC.ST_BLOQUEIALTERAFINANC='S') ou já Liquidados/Parcialmente pagos (ST_CONTAS in ('L','P')).
Ação: Não reparcelar pela CNF001; qualquer ajuste deve ser feito diretamente no módulo financeiro (Contas a Receber/Pagar).
Fonte: source/CNF001/UCNF001.pas:3911-3946 (TfrmCNF001.btnParcelaNotaClick)
Não é possível fazer a Alteração das Parcelas de nota sem movimentação de financeiro.
Causa: Nenhum item da nota usa uma Movimentação com CD_TIPOCONTA preenchido, ou seja, a nota não gera título financeiro.
Ação: Revisar a Movimentação usada nos itens; o reparcelamento só se aplica quando a nota tem repercussão financeira.
Fonte: source/CNF001/UCNF001.pas:3948-3960 (TfrmCNF001.btnParcelaNotaClick)
Duplicatas Alteradas! Para efetuar as alterações pressione o botão "Confirma Alteração".
Causa: O reparcelamento da nota (via tela de parcelas + GERA_DUPLICATAS) foi concluído com sucesso.
Ação: Clicar em 'Confirma Alteração' para efetivar de fato a mudança.
Fonte: source/CNF001/UCNF001.pas:4052-4064 (TfrmCNF001.btnParcelaNotaClick), source/CNF001/UCNF001.pas:4111-4122 (TfrmCNF001.btnParcelaNotaClick)
Impostos Alterados! Para efetuar as alterações pressione o botão "Confirma Alteração". / Impostos Recalculados! Para efetuar as alterações pressione o botão "Confirma Alteração".
Causa: Os valores de imposto da nota foram editados manualmente (tela de Impostos) ou reprocessados via GERA_IMPOSTONOTA (botão Recalcular Impostos).
Ação: Clicar em 'Confirma Alteração' para gravar definitivamente.
Fonte: source/CNF001/UCNF001.pas:4296-4301 (TfrmCNF001.btnAlteraImpostoClick), source/CNF001/UCNF001.pas:4508-4528 (TfrmCNF001.btnRecalculaImpostoClick)
Alteração de Impostos Cancelada / Alteração de Contrato Cancelada / Alteração de Vendedor Cancelada
Causa: O usuário fechou a tela auxiliar (Impostos, Contrato Celular ou Troca de Vendedor) sem clicar em OK/Confirmar.
Ação: Nenhuma ação necessária; nada foi alterado. Reabrir a tela e confirmar se desejar aplicar a mudança.
Fonte: source/CNF001/UCNF001.pas:4296-4297 (TfrmCNF001.btnAlteraImpostoClick), source/CNF001/UCNF001.pas:4328-4329 (TfrmCNF001.btnAlteraContratoClick), source/CNF001/UCNF001.pas:6363-6364 (TfrmCNF001.btnAlterarVendedorClick)
A Nota Fiscal Empresa:%s Pessoa:%s Numero:%s Serie:%s Especie:%s Data:%s Já está Lançada. Verifique.
Causa: Já existe outra nota de entrada (ST_NOTA<>'E') não cancelada com a mesma Pessoa+Série+Espécie+Número de fornecedor (e, conforme parâmetros da MFA001/pessoa, mesma empresa/mesma data).
Ação: Conferir se a nota do fornecedor já foi lançada antes; se as regras de duplicidade permitida precisam mudar, ajustar PARMFATUR.ST_NUMERONOTA e PESSOA.ST_NFENTRADAMESMONUMERODTDIF.
Fonte: source/CNF001/UCNF001.pas:4537-4600 (Valida_nota_entrada_existe)
Este número de Nota Fiscal já existe no Sistema. / Este número de Nota Fiscal de Fornecedor já existe no Sistema para esta Pessoa.
Causa: Ao alterar manualmente o número da nota (própria ou de fornecedor), já existe outra nota ativa (ST_NOTA<>'E') com o mesmo número para a mesma série (e, no caso de fornecedor, mesma pessoa/espécie).
Ação: Usar outro número, ou verificar se a nota não está duplicada no sistema.
Fonte: source/CNF001/UdmCNF001.pas:2106-2136 (TdmCNF001.tabNFNR_NOTAValidate), source/CNF001/UdmCNF001.pas:2138-2173 (TdmCNF001.tabNFNR_NOTAFORValidate)
Este Vendedor já está lançado para o Produto %s
Causa: O vendedor selecionado já tem uma linha de comissão para esse mesmo item da nota; não é permitido duplicar (violaria a chave primária de ITEMNOTAVENDEDOR).
Ação: Editar a linha já existente do vendedor no item, ou escolher outro vendedor.
Fonte: source/CNF001/UdmCNF001.pas:3188-3206 (TdmCNF001.tabVENDEDORESCD_VENDEDORValidate)
A chave de acesso informada é inválida.
Causa: O dígito verificador (módulo 11) calculado sobre os 43 primeiros dígitos da chave de acesso de 44 posições não confere com o 44º dígito informado.
Ação: Conferir a digitação/cópia da chave de acesso da NF-e original vinculada à devolução.
Fonte: source/CNF001/UdmCNF001.pas:3997-4022 (chaveAcessoValida)
Foram Encontradas Divergências nas Informações da Chave: ... O Código da UF Informado na Chave Difere da UF do Emitente. / O CNPJ Informado na Chave Difere do CNPJ do Emitente.
Causa: O código de UF (2 primeiros dígitos) ou o CNPJ embutido na chave de acesso não batem com a UF/CNPJ do emitente da nota (empresa ou fornecedor), exceto para séries de NF-e avulsa (890 a 899), onde o CNPJ é da Receita Federal e não é validado.
Ação: Conferir se a chave de acesso pertence realmente à nota que está sendo referenciada como devolução/origem.
Fonte: source/CNF001/UdmCNF001.pas:4046-4082 (TdmCNF001.tabNFNR_CHAVEACESSODEVOLValidate)
Este Número da Obra não está Cadastrada [MPD026]!
Causa: O número de romaneio/obra informado não corresponde a um romaneio com status Válido (ST_ROMANEIO='V') — opcionalmente também filtrando pela empresa informada.
Ação: Conferir/cadastrar o romaneio da obra em MPD026.
Fonte: source/CNF001/UdmCNF001.pas:2899-2921 (TdmCNF001.tabEMPRESANR_ROMANEIOValidate)
A pessoa selecionada não possui endereço cadastrado. Verifique! [TFA001]
Causa: Ao duplicar a nota, a pessoa escolhida para a nova nota não possui nenhum registro em ENDERECOPESSOA.
Ação: Cadastrar um endereço para a pessoa em TFA001 antes de duplicar a nota.
Fonte: source/CNF001/UCNF001.pas:4939-4959 (TfrmCNF001.btnDuplicarClick)
Nota Fiscal %s Emitida com Sucesso!
Causa: A duplicação da nota selecionada foi concluída: cabeçalho, itens, parcelas etc. foram copiados e a procedure GERA_NOTAFISCAL atribuiu um novo número.
Ação: Nenhuma; a nova nota já pode ser consultada normalmente.
Fonte: source/CNF001/UCNF001.pas:5272-5357 (TfrmCNF001.btnDuplicarClick)
%s item(ns) da nota fiscal alterado(s). É necessário confirmar a alteração!
Causa: O usuário confirmou a exclusão do vendedor selecionado, junto com a comissão dele, de todos os itens da nota em que ele estava lançado.
Ação: Clicar em 'Confirma Alteração' para gravar definitivamente a exclusão do vendedor.
Fonte: source/CNF001/UCNF001.pas:6422-6441 (TfrmCNF001.mniExcluirVendedorTodosItensClick)
%s É necessário confirmar a alteração!
Causa: A troca de vendedor foi aplicada, para um item ou (se marcado 'Repetir para Todos os Itens') para todos os itens que tinham o vendedor anterior.
Ação: Clicar em 'Confirma Alteração' para efetivar.
Fonte: source/CNF001/UCNF001.pas:6351-6384 (TfrmCNF001.btnAlterarVendedorClick)
A alteração será aplicada a TODOS os itens da nota fiscal em que o Vendedor atual estiver lançado. Confirma?
Causa: O usuário marcou a opção 'Repetir para Todos os Itens' na tela de troca de vendedor.
Ação: Confirmar para propagar o novo vendedor/tipo a todos os itens com o vendedor atual; cancelar para alterar somente o item selecionado.
Fonte: source/CNF001/UVENDCNF001.pas:107-120 (TfrmVENDCNF001.btnOKClick)
Alterações Realizadas Com Sucesso. É necessário confirmar a alteração!
Causa: Aparece após rateio de vendedores agrupado (RateioVendedorAgrupado), após exclusão de vendedor em massa com sobra de linhas alteradas, ou após troca individual de vendedor — em todos os casos os dados já foram gravados na transactionNota, mas ainda pendentes do commit final da nota.
Ação: Clicar em 'Confirma Alteração' para efetivar.
Fonte: source/CNF001/UCNF001.pas:6050-6056 (TfrmCNF001.AlteraVendedoresAgrupado), source/CNF001/UCNF001.pas:6314-6326 (TfrmCNF001.btnAlteraVendedorClick)
Deseja Excluir os dados dessa GNRe para poder gerar novamente? / GNRe Excluida com sucesso!
Causa: O usuário quer refazer a guia GNRe (ex.: dados incorretos) e solicitou a limpeza do recibo/status/PDF gravados.
Ação: Confirmar para liberar a geração de uma nova guia; a data de vencimento volta a ficar editável.
Fonte: source/CNF001/UCNF001.pas:6947-6965 (TfrmCNF001.btnExluirGnreClick)
GNRe não transmitida! Verifique.
Causa: O usuário tentou abrir/imprimir a guia GNRe antes dela ter sido transmitida (sem PDF salvo em banco e sem recibo).
Ação: Transmitir a GNRe primeiro; só depois é possível abrir a guia (PDF salvo ou site da SEFAZ/GNRe).
Fonte: source/CNF001/UCNF001.pas:6908-6940 (TfrmCNF001.btnImprimirGNReClick)
Deseja Alterar a data de vencimento da GNRe selecionada? / Data de vencimento da GNRe Alterada com sucesso!
Causa: Alteração manual da data de vencimento de uma GNRe que ainda não tem recibo (ainda não transmitida).
Ação: Confirmar para gravar a nova data; se a GNRe já tiver recibo, o campo/botão ficam bloqueados antes mesmo dessa confirmação.
Fonte: source/CNF001/UCNF001.pas:7606-7618 (TfrmCNF001.btnAlteraVencGNReClick), source/CNF001/UdmCNF001.pas:4563-4581 (TdmCNF001.tabGNReBeforePost)
A data de Vencimento não pode ser menor que a data atual.
Causa: A nova data de vencimento informada para a GNRe é anterior à data de hoje.
Ação: Informar uma data de vencimento igual ou posterior à data atual.
Fonte: source/CNF001/UdmCNF001.pas:4563-4567 (TdmCNF001.tabGNReBeforePost)
Deseja Excluir a Correção Selcionada da Nota Fiscal ? / Não existem registros para excluir. Verifique!
Causa: Tentativa de excluir uma Carta de Correção da nota que ainda não tem protocolo de transmissão (só é possível excluir CC's não transmitidas); a segunda mensagem ocorre quando não há CC carregada para excluir.
Ação: Confirmar a exclusão apenas de correções pendentes de envio; correções já transmitidas (com protocolo) não podem ser excluídas por aqui.
Fonte: source/CNF001/UCNF001.pas:5989-6017 (TfrmCNF001.btnExcluirClick)
Não foi Possível Encontrar o Arquivo XML da NF-e: %s Por uma dessas razões, verifique: 1) Sem permissão para acessar este arquivo; 2) Diretório ou arquivo inexistentes; 3) O diretório ou nome do arquivo XML foi alterado.
Causa: O XML não foi encontrado no caminho padrão calculado (CNPJ/ano-mês/tipo de operação), nem no arquivo alternativo pela chave de acesso, e o BLOB gravado no banco (NFE.BI_ARQUIVOXML) também estava vazio ou não pôde ser salvo.
Ação: Verificar permissões da pasta compartilhada, se o caminho de arquivos da empresa está correto, e se a nota realmente foi transmitida (gerando o XML).
Fonte: source/CNF001/UCNF001.pas:6608-6658 (TfrmCNF001.btnXML_NotaClick)
Diretório de NFSE não Encontrado: %s
Causa: A pasta de armazenamento de NFS-e para a empresa/ano-mês não existe no caminho configurado (sessao.path).
Ação: Verificar se a NFS-e foi de fato emitida e se o caminho de arquivos está correto/acessível.
Fonte: source/CNF001/UCNF001.pas:6669-6675 (TfrmCNF001.btnXML_NotaClick)
Impressão cancelada, nota está liberada!
Causa: A nota está com status Liberada (ST_NOTA='L'); a rotina de impressão do espelho desta tela recusa notas já liberadas.
Ação: Usar a rotina de impressão do módulo responsável para reimprimir notas já liberadas.
Fonte: source/CNF001/UCNF001.pas:3273-3279 (TfrmCNF001.btnImpNotaClick)
Alguma das Conta Não Possui Rateio. Verifique!
Causa: Existe pelo menos uma conta contábil no quadro de Centro de Resultado sem nenhuma linha de rateio lançada.
Ação: Informar ao menos um rateio (centro de custo + percentual/valor) para cada conta antes de confirmar.
Fonte: source/CNF001/UfrmCRCNF001.pas:118-148 (TfrmCRCNF001.btnOKClick)
O Valor do Rateio da Conta ... Não Pode Ser MAIOR/MENOR que o Valor da Própria conta!
Causa: A soma dos valores rateados (T_VL_CENTRO) para a conta não bate exatamente com o valor total da conta (VL_TOTCONTA).
Ação: Ajustar os valores/percentuais das linhas de rateio até fecharem exatamente 100% do valor da conta.
Fonte: source/CNF001/UfrmCRCNF001.pas:141-151 (TfrmCRCNF001.btnOKClick)
Centro de Resultado Modificado com Sucesso!
Causa: O rateio de Centro de Resultado foi recalculado (RateioCR) após a mudança de Movimentação de um item que altera o histórico contábil vinculado.
Ação: Nenhuma ação necessária.
Fonte: source/CNF001/UdmCNF001.pas:4162-4192 (TdmCNF001.AlteraCentroResult)
Código de Barras Não Cadastrado. Verifique! [TPO001/TPO027]
Causa: O código de barras digitado/lido no filtro de produtos não corresponde a nenhum item nem a nenhuma grade de item cadastrados (procedure VALIDA_CODIGOBARRA não retornou item).
Ação: Cadastrar o código de barras no item (TPO001) ou na grade do item (TPO027).
Fonte: source/CNF001/UdmCNF001.pas:2610-2666 (TdmCNF001.tabITEMCD_CODIGOBARRAValidate)
Atenção! A Data de Movimentação de Estoque foi alterada. O Custo dos produtos devem ser recalculados a partir da nova data.[MEQ005]
Causa: O usuário alterou a Data de Emissão da nota, o que também atualiza a data de lançamento (DT_LANCAMENTO) dos registros de MOVESTOQUE vinculados.
Ação: Recalcular o custo médio dos produtos a partir da nova data usando a tela de custos (MEQ005).
Fonte: source/CNF001/UCNF001.pas:3682-3691 (TfrmCNF001.btnConfirmaClick)
Regras de negócio
CNF001.R001(verregras/CNF001/CNF001.R001.md)CNF001.R002(verregras/CNF001/CNF001.R002.md)CNF001.R003(verregras/CNF001/CNF001.R003.md)CNF001.R004(verregras/CNF001/CNF001.R004.md)CNF001.R005(verregras/CNF001/CNF001.R005.md)CNF001.R006(verregras/CNF001/CNF001.R006.md)CNF001.R007(verregras/CNF001/CNF001.R007.md)CNF001.R008(verregras/CNF001/CNF001.R008.md)CNF001.R009(verregras/CNF001/CNF001.R009.md)CNF001.R010(verregras/CNF001/CNF001.R010.md)CNF001.R011(verregras/CNF001/CNF001.R011.md)CNF001.R012(verregras/CNF001/CNF001.R012.md)CNF001.R013(verregras/CNF001/CNF001.R013.md)CNF001.R014(verregras/CNF001/CNF001.R014.md)CNF001.R015(verregras/CNF001/CNF001.R015.md)CNF001.R016(verregras/CNF001/CNF001.R016.md)CNF001.R017(verregras/CNF001/CNF001.R017.md)CNF001.R018(verregras/CNF001/CNF001.R018.md)
Perguntas frequentes
P: Por que não consigo alterar as parcelas de uma nota fiscal na CNF001?
R: Pode ser por quatro motivos: (1) a nota não está com status Válida; (2) a forma de pagamento tem taxa de boleto parametrizada, ou já existe boleto/taxa lançado na nota; (3) existem parcelas já Liquidadas ou marcadas como Incobráveis; (4) a movimentação usada nos itens da nota não gera título financeiro (sem CD_TIPOCONTA). Qualquer uma dessas condições bloqueia o botão 'Alterar Parcelas'.
Fonte: source/CNF001/UCNF001.pas:3890-3960 (TfrmCNF001.btnParcelaNotaClick)
P: Confirmei a alteração da nota mesmo com o aviso de bloqueio de período contábil, e mesmo assim a alteração foi salva. É normal?
R: Não deveria acontecer, mas acontece: há um defeito no código onde a exceção de bloqueio é criada, mas o comando 'Raise' foi omitido, então a validação nunca interrompe a gravação. Reporte ao time técnico se o bloqueio de período (PARMCONTABIL) precisa realmente impedir a alteração.
Fonte: source/CNF001/UCNF001.pas:3599-3612 (TfrmCNF001.btnConfirmaClick)
P: Por que ao clicar em 'Cancelar/Excluir/Inutilizar Nota' a CNF001 abre outra tela em vez de fazer a ação na hora?
R: A CNF001 é uma tela de consulta/manutenção: ela não executa o cancelamento/exclusão/inutilização diretamente. Conforme o status da nota (Válida, Cancelada ou Inutilizada) ela apenas redireciona para a tela correta — MNF005 (Cancelamento), MNF006 (Exclusão de nota cancelada) ou MNF020 (Inutilização) — passando os parâmetros da nota selecionada.
Fonte: source/CNF001/UCNF001.pas:5908-5987 (TfrmCNF001.btncancelarClick), source/CNF001/UdmCNF001.pas:1572-1579 (TdmCNF001.tabNOTAAfterScroll)
P: Deu a mensagem 'Este Vendedor já está lançado para o Produto X', o que fazer?
R: O vendedor que você está tentando incluir já tem uma linha de comissão para esse mesmo item da nota — não é permitido lançar o mesmo vendedor duas vezes no mesmo item. Edite a linha já existente em vez de tentar duplicá-la, ou escolha outro vendedor.
Fonte: source/CNF001/UdmCNF001.pas:3188-3206 (TdmCNF001.tabVENDEDORESCD_VENDEDORValidate)
P: Por que ao clicar em 'Alterar Vendedor' abriu direto uma tela para a nota inteira, sem pedir item por item?
R: Isso acontece quando o parâmetro da MFA001 PARMFATUR.ST_VARIOSVENDEDORES = 'S' (permite múltiplos vendedores por item) e TP_MOSTRAVENDEDORES = 'A' (Agrupado). Nesse modo, a CNF001 abre o rateio agrupado (uma única operação para a nota toda). Com TP_MOSTRAVENDEDORES = 'N' (Normal), o fluxo é o individual, item a item.
Fonte: source/CNF001/UCNF001.pas:6074-6083 (TfrmCNF001.btnAlteraVendedorClick)
P: Por que o campo de item do Centro de Resultado não aparece na aba de Centro de Custo?
R: Depende do parâmetro PARMFATUR.TP_RARTEIOCC da MFA001: quando está como 'Agrupado' (A), o rateio é feito por conta contábil sem detalhar item, então os campos de item ficam ocultos e o grid ocupa mais espaço na tela; quando está como 'Individual' (I), os campos de item aparecem.
Fonte: source/CNF001/UCNF001.pas:1597-1607 (TfrmCNF001.FormActivate)
P: Não consigo abrir o XML da nota pela CNF001, aparece mensagem de arquivo não encontrado. O que verificar?
R: A tela procura o XML em uma pasta calculada (CNPJ da empresa + ano/mês + Entradas/Saídas) e, se não achar, tenta salvar o XML gravado no banco (campo BLOB da NFE) nesse caminho. O erro aparece quando nenhuma das duas fontes tem o arquivo — verifique se a pasta de arquivos da empresa (sessao.path) está configurada corretamente, se a nota realmente foi transmitida/gravada, e se o diretório não foi movido ou renomeado.
Fonte: source/CNF001/UCNF001.pas:6608-6658 (TfrmCNF001.btnXML_NotaClick)
P: Por que não consigo imprimir a Guia GNRe da nota?
R: A guia só pode ser impressa/aberta depois de transmitida (ST_GNRETRANSMITIDA = 'S'). Se não foi transmitida ainda, a tela recusa com a mensagem 'GNRe não transmitida! Verifique.'.
Fonte: source/CNF001/UCNF001.pas:6908-6945 (TfrmCNF001.btnImprimirGNReClick)
P: Por que não consigo alterar a data de vencimento da GNRe?
R: O campo só é editável enquanto a guia não tem número de recibo (NR_RECIBOGNRE vazio). Assim que a guia é transmitida/tem recibo, o campo trava e o botão 'Alterar Vencimento' fica desabilitado.
Fonte: source/CNF001/UdmCNF001.pas:4570-4581 (TdmCNF001.habilitaAlteracaoVencGNRe)
P: Só o gerente/autorizador consegue ver os botões de alterar/excluir vendedor na CNF001, é normal?
R: Sim. Ao abrir a tela, o sistema só habilita os botões 'Alterar Vendedor', 'Excluir Vendedor' e a edição do grid de Vendedores para usuários cadastrados como Autorizador ativo; para os demais usuários o grid fica somente leitura e os botões ficam ocultos.
Fonte: source/CNF001/UdmCNF001.pas:1278-1292 (ConfigParametros)
Dúvidas em aberto (o código não responde)
- O bloqueio de alteração pela data de PARMCONTABIL.DT_BLOQCONTABIL é para realmente impedir a gravação, ou é intencional deixar a mensagem apenas como aviso? — Em TfrmCNF001.btnConfirmaClick (source/CNF001/UCNF001.pas:3599-3612) o código monta 'JException.Create(...)' mas não executa 'Raise', então a exceção nunca é lançada e a alteração prossegue normalmente mesmo com o período bloqueado. Não há comentário no código que indique se isso é intencional ou um bug introduzido em alguma refatoração.
- Qual a regra de negócio completa por trás de bloquear a reimpressão do espelho de nota quando ST_NOTA='L' (liberada)? — source/CNF001/UCNF001.pas:3273-3279 apenas lança a mensagem 'Impressão cancelada, nota está liberada!' sem comentário explicando por que uma nota liberada não pode ser reimpressa por esta rotina específica.
- Quais são todos os valores possíveis de PARMFATUR.TP_MOSTRAVENDEDORES e TP_RARTEIOCC e qual o efeito de cada um nas telas que os consomem (MRC001, MPD002, MNF002, MNF024)? — Na CNF001 só se observou o efeito de 'N'/'A' (vendedores) e 'I'/'A' (centro de custo). Os rótulos foram confirmados em source/MFA001/UMFA001.dfm, mas o efeito nas outras telas citadas no Hint não foi lido nesta sessão.
- Por que a validação de CNPJ na chave de acesso da nota de devolução é pulada para séries entre 890 e 899? — source/CNF001/UdmCNF001.pas:4059-4071 comenta que é 'NFe avulsa... o cnpj é da RF', mas não há explicação de negócio mais detalhada nem referência a onde essa faixa de série é definida.
- Existe alguma tela ou rotina que reconcilia o parâmetro PARMFATUR carregado em ConfigParametros com mudanças feitas em outra sessão do usuário enquanto a CNF001 está aberta, além do FormActivate recarregar TP_RARTEIOCC? — source/CNF001/UCNF001.pas:1584-1610 apenas comenta que o parâmetro é recarregado no FormActivate 'para evitar que o cliente mude o parâmetro... sem fechar a CNF001', mas TP_MOSTRAVENDEDORES não é recarregado ali, só no load inicial (ConfigParametros).