TP_NOTA - Tipo de Nota Fiscal (Entrada / Saída)
Tela de configuração: MFA002 — Parâmetros de Nota Fiscal por Série
Tabela: PARMNOTA.TP_NOTA (CHAR(1) NOT NULL)
Campo: Chave primária junto com CD_EMPRESA e CD_SERIE
Valor padrão: E (Entrada)
Descrição
Define se a série de nota fiscal está configurada para Entrada ou Saída. Esse valor é gravado na chave primária de PARMNOTA e não pode ser alterado após o registro ser salvo (o campo cmbTP_NOTA passa para ReadOnly = True).
Campos envolvidos
| Campo | Tabela | Tipo | Observação |
|---|
TP_NOTA | PARMNOTA | CHAR(1) NOT NULL | Chave primária |
CD_SERIE | PARMNOTA | VARCHAR(4) NOT NULL | Chave primária (série da NF) |
CD_EMPRESA | PARMNOTA | INTEGER NOT NULL | Chave primária |
Opções disponíveis
E - Entrada
| O que faz | Detalhe |
|---|
| Configura a série para notas fiscais de entrada | Valor padrão ao incluir novo registro |
| Editável apenas na inclusão | Após salvar, o campo é bloqueado (ReadOnly = True) |
Simulação passo a passo
- Acesse a tela MFA002 — Parâmetros de Nota Fiscal por Série.
- Clique em Novo para incluir um registro.
- No campo Tipo de Nota, selecione Entrada.
- Preencha a Série e a Espécie obrigatórias.
- Complete os demais parâmetros desejados.
- Clique em Salvar (
<Ctrl+F2>).
Resultado esperado: A série fica registrada como entrada (TP_NOTA = 'E') e o tipo de nota não pode mais ser alterado neste registro.
S - Saída
| O que faz | Detalhe |
|---|
| Configura a série para notas fiscais de saída | Utilizado em rotinas de faturamento, frete e comissão |
| Editável apenas na inclusão | Após salvar, o campo é bloqueado (ReadOnly = True) |
Simulação passo a passo
- Acesse a tela MFA002 — Parâmetros de Nota Fiscal por Série.
- Clique em Novo para incluir um registro.
- No campo Tipo de Nota, selecione Saída.
- Preencha a Série e a Espécie obrigatórias.
- Complete os demais parâmetros desejados.
- Clique em Salvar (
<Ctrl+F2>).
Resultado esperado: A série fica registrada como saída (TP_NOTA = 'S') e o tipo de nota não pode mais ser alterado neste registro.
Exceção / Importante: O campo TP_NOTA só é editável durante a inclusão do registro. Após AfterPost, AfterOpen ou AfterCancel, o combo cmbTP_NOTA é automaticamente bloqueado (ReadOnly = True). Para alterar o tipo de nota de uma série já cadastrada, é necessário excluir o registro e incluí-lo novamente.
Regra de bloqueio do campo
| Evento | Estado do campo cmbTP_NOTA |
|---|
AfterInsert (novo registro) | ReadOnly = False (editável) |
AfterOpen (abertura/edição) | ReadOnly = True (bloqueado) |
AfterPost (após salvar) | ReadOnly = True (bloqueado) |
AfterCancel (após cancelar) | ReadOnly = True (bloqueado) |
Telas impactadas
O TP_NOTA da PARMNOTA é utilizado como filtro para determinar quais séries de nota são de entrada ou saída em diversas rotinas:
| Tela / Rotina | Uso |
|---|
| MNF002 — Nota Fiscal | Filtra PARMNOTA.TP_NOTA = 'S' para identificar séries de saída na emissão de NF |
| ADM023 / ADM024 — Configuração Portal | Filtra PN.TP_NOTA = 'S' ao validar série de nota do portal |
| CNF001 — Consulta NF | Permite filtrar notas por tipo (Entrada/Saída/Todos) |
| CFC001 / CFC004 / CFC006 / CFC008 / CFC011 — Financeiro Frete | Referencia TP_NOTA para associação de notas a contas e comissões |
| CFI004 — Financeiro Industrial | Filtra nota por tipo para consulta |
| CEQ001 / CEQ004 / CEQ005 / CEQ009 — Estoque | Usa TP_NOTA para vincular movimento de estoque à nota fiscal |
Procedures impactadas
| Rotina | Arquivo | Observação |
|---|
TdmMFA002.tabPARMNOTAAfterInsert | UdmMFA002.pas | Define padrão 'E' e libera edição do combo |
TdmMFA002.tabPARMNOTAAfterOpen/Post/Cancel | UdmMFA002.pas | Bloqueia cmbTP_NOTA.ReadOnly := True |
TdmADM023.tabSERIENOTAPORTALBeforePost | UdmADM023.pas | Filtra PN.TP_NOTA = 'S' |
TdmADM024.tabSERIENOTAPORTALBeforePost | UdmADM024.pas | Filtra PN.TP_NOTA = 'S' |
TfrmCFC001.btnNovoClick | UCFC001.pas | Inicializa filtro como 'T' (Todos) |
TdmCFC001.tabFILTROAfterEdit | UdmCFC001.pas | Reinicia filtro para 'T' |
Diversas stored procedures recebem TP_NOTA como parâmetro de entrada (I_TP_NOTA) ou variável interna (V_TP_NOTA) para operações como cálculo de impostos, cancelamento de notas, geração de NF-e e comissões. Principais:
| Procedure | Arquivo | Contexto |
|---|
CALCULA_IMPOSTONOTA | Scripts/CALCULA_IMPOSTONOTA.sql | Parâmetro V_TP_NOTA para cálculo de impostos |
GERA_NOTAFISCAL | Scripts/GERA_NOTAFISCAL.sql | Lê PARMNOTA para gerar a nota fiscal |
GERA_NFE | Scripts/GERA_NFE.sql | Lê PARMNOTA para geração de NF-e |
CANCELA_NOTAFISCAL | Scripts/CANCELA_NOTAFISCAL.sql | Parâmetro V_TP_NOTA no cancelamento |
CALCULA_COMISSAO / CALCULA_COMISSAO_V2 | Scripts/CALCULA_COMISSAO*.sql | Filtra itens por TP_NOTA para comissão |
ATUALIZA_NOTACTB | Scripts/ATUALIZA_NOTACTB.sql | Parâmetro I_TP_NOTA para atualização contábil |
GERA_ESTOQUE_NOTAFISCAL | Scripts/GERA_ESTOQUE_NOTAFISCAL.sql | Lê PARMNOTA para movimentação de estoque |
Candidatas por uso da tabela PARMNOTA
Estas procedures leem a tabela PARMNOTA mas não referenciam TP_NOTA diretamente no código visível:
| Procedure | Arquivo |
|---|
EXPORTACAO_SOVIS_COMPLEMENTO | Scripts/EXPORTACAO_SOVIS_COMPLEMENTO.sql |
FECHA_CONTRATOLEITE / _V2 | Scripts/FECHA_CONTRATOLEITE*.sql |
GERA_CHAVEACESSONFE | Scripts/GERA_CHAVEACESSONFE.sql |
GERA_IMPOSTONOTA / _INDIVIDUAL | Scripts/GERA_IMPOSTONOTA*.sql |
GERA_NOTAPEDIDO | Scripts/GERA_NOTAPEDIDO.sql |
GRAVA_NOTACTE | Scripts/GRAVA_NOTACTE.sql |
RETORNA_NFSEQUENCIA | Scripts/RETORNA_NFSEQUENCIA.sql |
RETORNA_IMPRESSORAUSUARIO | Scripts/RETORNA_IMPRESSORAUSUARIO.sql |
VIEW_LIVROFISCAL | Scripts/VIEW_LIVROFISCAL.sql |
Tabela comparativa resumida
| Valor | Descrição | Restrição |
|---|
E | Entrada | Padrão. Editável somente na inclusão do registro |
S | Saída | Editável somente na inclusão do registro |