NR_FIX — Número de Correção da Versão do Banco
Tela de configuração: ADM010 — Parâmetros do Sistema
Tabela:PARMSISTEMA.NR_FIX
Tipo:DOM_INTEGER(inteiro, anulável)
Valor padrão: Nenhum (campo anulável; assumeNULLquando ainda não recebeu correção)
Descrição
NR_FIX armazena o número de correção (patch/fix) da versão do banco de dados do JunsoftERP. Ele complementa NR_UPDATE (configurado em ADM010 — Parâmetros do Sistema, campo NR_UPDATE), formando a versão completa no formato NR_UPDATE.NR_FIX.
Por exemplo, se NR_UPDATE = 350 e NR_FIX = 2, a versão do banco é 350.2.
Esse campo não é editado manualmente pelo usuário final. Ele é atualizado automaticamente pelos processos internos de atualização e publicação de pacotes.
Telas impactadas
| Tela | Arquivo | Uso |
|---|---|---|
| FER003 — Atualização de Versão | source/FER003/UFER003.pas | Lê NR_FIX e grava valor atualizado na base local |
| Junsoft — Registro/Licença | source/Junsoft/UformRegistro.pas | Utiliza nr_fix na geração da contra-chave de licença |
| Junsoft — Formulário Principal | source/Junsoft/UmainForm.pas | Lê nr_fix junto com nr_update e data de validade da chave |
| JunsoftAtualização — Módulo de Update | source/JunsoftAtualizacao/UdmUpdate.pas | Identifica a versão da base antes de aplicar atualização |
| Integração Scanntech | source/JunsoftIntegracao/IntegracaoScanntech/DataModule/UdmIntegracaoScanntech.pas | Envia versão (NR_UPDATE.NR_FIX) para a integração |
| PAC001 a PAC010 (PacManager) | source/PacManeger/src/PAC*/U*.pas | Gerencia pacotes de atualização usando NR_FIX como sequencial de correção |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
NR_FIX | PARMSISTEMA | Número da correção (patch) da versão do banco |
NR_UPDATE | PARMSISTEMA | Número principal da versão do banco (configurado em ADM010 — Parâmetros do Sistema) |
DT_VENCTOCHAVE | PARMSISTEMA | Data de validade da chave de licença |
CD_CHAVE | PARMSISTEMA | Código da chave de licença |
Comportamento
NR_FIX é um campo somente de sistema, sem opções configuráveis pelo usuário. Abaixo, o ciclo de vida do campo:
| O que faz | Detalhe |
|---|---|
| Leitura automática na inicialização | O formulário principal (UmainForm.pas) lê NR_FIX ao criar a aplicação para compor a versão exibida e validar a licença |
| Atualização por pacote de correção | Quando um pacote de correção é aplicado via FER003, o campo NR_FIX é incrementado na tabela PARMSISTEMA |
| Uso na versão completa | A integração Scanntech monta a versão como `NR_UPDATE |
| Uso na contra-chave de licença | O registro do sistema inclui nr_fix no cálculo da contra-chave enviada ao suporte |
| Publicação de pacote | No PacManager (PAC003), ao fixar um pacote, NR_FIX é atribuído como NR_SEQFIX + 1 |
Simulação passo a passo — Ciclo de atualização
- Acesse a tela de atualização (FER003).
- Clique em "Salvar" para aplicar a atualização recebida.
- O sistema consulta os valores atuais de
NR_UPDATEeNR_FIXna tabelaPARMSISTEMA. - O sistema grava os novos valores retornados pelo servidor de atualização.
- Resultado esperado: O campo
NR_FIXpassa a refletir o número da correção mais recente aplicada ao banco de dados.
Resultado esperado: A versão do banco exibida no sistema (e enviada a integrações) corresponde a NR_UPDATE.NR_FIX.
Exceção / Importante:
- O campo não pode ser editado diretamente pelo usuário na tela ADM010; ele é atualizado apenas pelos processos internos de atualização.
- Se
NR_FIXestiverNULL, o sistema trata como ausência de correção (versão sem patch). Na integração Scanntech,COALESCE('.' || NR_FIX, '')garante que o ponto não aparece quando não há fix.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Evidência |
|---|---|---|---|
TfrmFER003.btnSalvarClick | source/FER003/UFER003.pas | 547 | Lê NR_UPDATE, NR_FIX e atualiza ambos |
gerarContraChave | source/Junsoft/UformRegistro.pas | 185 | Inclui ps.nr_fix na consulta para gerar contra-chave |
TmainForm.FormCreate | source/Junsoft/UmainForm.pas | 976 | Lê coalesce(nr_fix, 0) na inicialização |
TdmUpdate.DataModuleCreate | source/JunsoftAtualizacao/UdmUpdate.pas | 202 | Lê nr_fix para identificar versão da base |
TdmIntegracaoScanntech.StartScanntech | source/JunsoftIntegracao/.../UdmIntegracaoScanntech.pas | 806 | Monta versão como `NR_UPDATE |
TfrmPAC003.btnFixClick | source/PacManeger/src/PAC003/UPAC003.pas | 209 | Atribui NR_SEQFIX + 1 ao publicar fix |
Referências SQL diretas ao campo
Não foram encontradas referências diretas ao campo NR_FIX em scripts SQL dentro da pasta Scripts/. As procedures listadas na seção "Candidatas por uso da tabela" acessam PARMSISTEMA para outros campos e não utilizam NR_FIX.
Candidatas por uso da tabela (sem referência direta ao campo)
| Procedure/View | Arquivo | Observação |
|---|---|---|
GERA_SPEDCONTABIL | Scripts/GERA_SPEDCONTABIL.sql | Usa PARMSISTEMA para TP_PLANOCONTABIL |
GERA_SPEDBLOCOL | Scripts/GERA_SPEDBLOCOL.sql | Usa PARMSISTEMA para TP_PLANOCONTABIL |
GERA_SPEDECFBLOCOJ | Scripts/GERA_SPEDECFBLOCOJ.sql | Usa PARMSISTEMA para TP_PLANOCONTABIL |
CONTABILIZA_CUPOMFISCAL | Scripts/CONTABILIZA_CUPOMFISCAL.sql | Usa PARMSISTEMA para outros parâmetros |
GERA_CONTACLIFOR | Scripts/GERA_CONTACLIFOR.sql | Usa PARMSISTEMA para outros parâmetros |
Sem impacto direto identificado no código das procedures acima — elas referenciam a tabela
PARMSISTEMAmas não o campoNR_FIX.
Relação com outros parâmetros
| Parâmetro | Descrição | Configurado em |
|---|---|---|
NR_UPDATE | Número principal da versão do banco | ADM010 — Parâmetros do Sistema, campo NR_UPDATE |
NR_METADATA | Número do metadata | ADM010 — Parâmetros do Sistema, campo NR_METADATA |
CD_CHAVE | Código da chave de licença | ADM010 — Parâmetros do Sistema, campo CD_CHAVE |
DT_VENCTOCHAVE | Data de validade da chave | ADM010 — Parâmetros do Sistema, campo DT_VENCTOCHAVE |