ST_DATABLOQUEADA — Data de Emissão Bloqueada (Não Retroativa)
Tela de configuração: MFA002 — Parâmetros de Nota Fiscal por Série Tabela:
PARMNOTA.ST_DATABLOQUEADATipo de controle: Combobox (cmbST_DATABLOQUEADA) Valor padrão:'N'(Não) — Definido no schema do banco de dados
Valor sugerido pela aplicação:'S'(Sim) quando a série possui Cupom Fiscal ativado (ST_CUPOMFISCAL = 'S').
Descrição Resumida
Controla se a data de emissão da nota fiscal pode ser informada manualmente pelo usuário ou se deve ser travada automaticamente no dia corrente, impedindo a emissão retroativa de documentos fiscais para uma determinada série.
Quando ativo (
'S'), o sistema garante que a nota fiscal seja emitida sempre com a data atual do computador, bloqueando qualquer tentativa de alteração da data de emissão.
Campos Envolvidos
| Campo na Tela | Tipo | Banco de Dados | Descrição |
|---|---|---|---|
cmbST_DATABLOQUEADA | TwwDBComboBox | PARMNOTA.ST_DATABLOQUEADA | Sim ('S') / Não ('N') |
Telas Impactadas
| Tela | Módulo | Efeito quando ST_DATABLOQUEADA = 'S' |
|---|---|---|
| MNF002 | Faturamento | Data de emissão travada no dia atual (campo edtDT_EMISSAO fica ReadOnly); caso contrário o campo é liberado. |
| MNF008 | Faturamento | Data de emissão travada no dia atual (campo edtDT_EMISSAO fica ReadOnly); caso contrário o campo é liberado. |
| MNF017 | PDV / Faturamento | Data de emissão travada no dia atual (campo edtDT_EMISSAO na tela de configuração de pedido fica ReadOnly). |
| MNF034 | Faturamento | Data de recebimento (DT_RECEBIMENTO) fica ReadOnly quando ST_DATABLOQUEADA = 'S'. |
| MNF026 | Faturamento | Consulta ao parâmetro durante validação da série de devolução. Não aplica bloqueio direto de data no trecho identificado. |
| MNF001 | Faturamento | Carrega o campo durante a seleção da série para emissão. |
| MRC020 (NF Ordem) | Oficina | Carrega o campo durante a validação da série da nota fiscal de serviço. |
Opções Disponíveis
S — Sim (Data Travada / Emissão Não Retroativa)
| O que faz | Detalhe |
|---|---|
| Travar data | O campo Data de Emissão é preenchido automaticamente com o dia atual (Date) e fica bloqueado para edição (ReadOnly = True). |
| Combinatório | Se ST_CUPOMFISCAL = 'S' (configurado também em MFA002), o sistema força automaticamente ST_DATABLOQUEADA = 'S'. |
Simulação passo a passo
- Acesse MFA002 e localize a série desejada.
- No campo Data Bloqueada, selecione Sim.
- Salve o registro (
<Ctrl+Enter>). - Abra qualquer rotina de emissão de nota fiscal que utilize essa série (ex.: MNF002).
- Informe a série configurada no campo Série.
- Observe que o campo Data de Emissão recebe automaticamente a data de hoje e não permite alteração (cinza/bloqueado).
- Tente digitar uma data anterior ou posterior e pressione
<Tab>.
Resultado esperado: O sistema não aceita a alteração. A data permanece fixa no dia corrente e o campo não pode ser editado pelo usuário.
Exceção / Importante:
Durante a configuração em MFA002, se o usuário marcar Cupom Fiscal = Sim (ST_CUPOMFISCAL = 'S'), o sistema atribui automaticamente Data Bloqueada = Sim (ST_DATABLOQUEADA = 'S'), independentemente do valor anteriormente informado.
N — Não (Data Livre / Permite Emissão Retroativa)
| O que faz | Detalhe |
|---|---|
| Liberar data | O campo Data de Emissão fica editável (ReadOnly = False), permitindo que o usuário informe uma data anterior ou posterior. |
Simulação passo a passo
- Acesse MFA002 e localize a série desejada.
- No campo Data Bloqueada, selecione Não.
- Certifique-se de que Cupom Fiscal = Não (caso contrário o sistema forçará o bloqueio).
- Salve o registro (
<Ctrl+Enter>). - Abra a rotina de emissão de nota fiscal (ex.: MNF002).
- Informe a série configurada.
- Clique no campo Data de Emissão, apague a data atual e digite uma data no passado (ex.:
15/01/2023). - Pressione
<Tab>ou clique em outro campo.
Resultado esperado: O sistema aceita a nova data sem restrições. A nota fiscal poderá ser emitida com a data retroativa informada, respeitando as demais regras fiscais e contábeis do período.
Regra de Interdependência
| Condição | Efeito em ST_DATABLOQUEADA |
|---|---|
ST_CUPOMFISCAL = 'S' | O sistema obriga ST_DATABLOQUEADA = 'S' no evento OnValidate do campo Cupom Fiscal em MFA002. |
Tabela Comparativa Resumida
| Opção | Data Editável? | Emissão Retroativa? | Observação |
|---|---|---|---|
| S — Sim | ❌ Não | ❌ Não | Padrão quando Cupom Fiscal está ativo. Recomendado para séries de uso rotineiro/cupom. |
| N — Não | ✅ Sim | ✅ Sim | Permite correções, notas complementares ou lançamentos retroativos manuais. |
Procedures Impactadas
Rotinas Delphi (referência direta ao campo)
| Rotina | Arquivo | Linha | Função |
|---|---|---|---|
tabPARMNOTAAfterInsert | source/MFA002/UdmMFA002.pas | 86 | Define valor padrão 'N' para novos registros. |
tabPARMNOTAST_CUPOMFISCALValidate | source/MFA002/UdmMFA002.pas | 278 | Força ST_DATABLOQUEADA = 'S' quando Cupom Fiscal é ativado. |
tabNOTACD_SERIEFORValidate | source/MNF001/UdmMNF001.pas | 5213 | Seleciona o campo ST_DATABLOQUEADA durante validação da série. |
edtCD_SERIEFOCOKeyDown | source/MNF002/UMNF002.pas | 7600 | Recupera ST_DATABLOQUEADA na pesquisa da série de emissão. |
CalculaFreteAutomatico | source/MNF002/UdmMNF002.pas | 834 | Declara variável local iST_DATABLOQUEADA. |
tabNOTACD_SERIENFValidate | source/MNF002/UdmMNF002.pas | 7904 / 7942 | Lê ST_DATABLOQUEADA e aplica bloqueio na data de emissão (ReadOnly). |
tabFocoCD_SERIEValidate | source/MNF002/UdmMNF002.pas | 8636 | Recupera ST_DATABLOQUEADA na validação do foco da série. |
transactionAfterRollback | source/MNF008/UdmMNF008.pas | 483 | Declara variável local iST_DATABLOQUEADA. |
tabNOTACD_SERIENFValidate | source/MNF008/UdmMNF008.pas | 3625 / 3682 | Lê ST_DATABLOQUEADA e aplica bloqueio na data de emissão (ReadOnly). |
Gera_Parcelas | source/MNF017/UdmMNF017.pas | 280 | Declara variável local iST_DATABLOQUEADA. |
tabCABECALHOCD_SERIEValidate | source/MNF017/UdmMNF017.pas | 2005 / 2019 / 2022 | Lê ST_DATABLOQUEADA e bloqueia data de emissão (ReadOnly). |
tabFocoCD_SERIEValidate | source/MNF017/UdmMNF017.pas | 2486 | Recupera ST_DATABLOQUEADA na validação do foco. |
Lista_Serie | source/MNF017/uMNF017ConfPedido.pas | 496 | Recupera ST_DATABLOQUEADA via Resultado.getParam(6) e aplica bloqueio. |
edtCD_SERIEFOCOKeyDown | source/MNF017/uMNF017ConfPedido.pas | ~2008 | Pesquisa a série incluindo o campo ST_DATABLOQUEADA. |
tabFILTROCD_SERIEDEVValidate | source/MNF026/UdmMNF026.pas | 4467 | Seleciona ST_DATABLOQUEADA na consulta da série de devolução (TP_NOTA = 'E'). |
tabNOTACD_SERIENFValidate | source/MNF026/UdmMNF026.pas | 4883 | Seleciona ST_DATABLOQUEADA na consulta da série de nota (TP_NOTA = 'S'). |
Lista_Serie | source/MNF034/UMNF034.pas | 582 | Consulta ST_DATABLOQUEADA para definir DT_RECEBIMENTO.ReadOnly. |
tabNOTACD_SERIENFValidate | source/MRC020/UdmMRC020NFORDEM.pas | 5206 | Seleciona ST_DATABLOQUEADA durante validação da série da nota fiscal de serviço (Oficina). |
Referências SQL Diretas ao Campo em Scripts/
Não foram identificadas referências diretas ao campo ST_DATABLOQUEADA nos scripts SQL do diretório Scripts/. O campo é consumido exclusivamente pela camada Delphi das rotinas de emissão.
Candidatas por Uso da Tabela (PARMNOTA)
As procedures/views abaixo utilizam a tabela PARMNOTA, mas não citam o campo ST_DATABLOQUEADA literalmente. Não foi verificado impacto funcional direto sobre o comportamento de bloqueio de data:
ATUALIZA_NOTACTBCALCULA_IMPOSTONOTAEXPORTACAO_SOVIS_COMPLEMENTOFECHA_CONTRATOLEITE/FECHA_CONTRATOLEITE_V2GERA_CHAVEACESSONFEGERA_ESTOQUE_NOTAFISCALGERA_IMPOSTONOTA/GERA_IMPOSTONOTA_INDIVIDUALGERA_NFEGERA_NOTAFISCALGERA_NOTAPEDIDOGRAVA_AVISOSGRAVA_NOTACTERETORNA_IMPMOVRETORNA_IMPRESSORAUSUARIORETORNA_NFSEQUENCIAVIEW_LIVROFISCAL