NR_UPDATE - Número da Versão (Update) do Banco de Dados
Tela de configuração: ADM010 - Parâmetros do Sistema Tabela:
PARMSISTEMA.NR_UPDATETipo:DOM_INTEGER(inteiro, anulável) Valor padrão: nenhum (campo inicialmenteNULL)
Descrição
NR_UPDATE armazena o número majoritário da versão do banco de dados do JunsoftERP. Junto com NR_FIX (configurado em ADM010 - Parâmetros do Sistema, mesmo campo tabela), forma a versão completa exibida ao usuário no formato NR_UPDATE.NR_FIX (ex.: 350.02).
Este campo não é editado manualmente pelo usuário na tela ADM010. Ele é atualizado automaticamente pelo sistema de atualização (PacManager) e pelo módulo de atualização remota (FER003).
Telas impactadas
| Tela / Rotina | Impacto |
|---|---|
| ADM010 - Parâmetros do Sistema | O campo faz parte do dataset tabPARMSISTEMA, sendo incluído em SELECT, INSERT e UPDATE, mas não possui controle visual dedicado |
Tela principal do Junsoft (UmainForm) | Exibe a versão formatada NR_UPDATE.NR_FIX na barra de status (painel 4) |
| FER003 - Atualização Remota | Lê NR_UPDATE do servidor e replica no cliente ao final da atualização |
| PAC002 - Gerador de Pacotes (PacManager) | Grava NR_UPDATE com o número sequencial do pacote ao gerar scripts de atualização |
| PAC010 - Distribuição (PacManager) | Valida se a versão da base de distribuição confere com a versão esperada do pacote |
Registro do Sistema (UformRegistro) | Lê NR_UPDATE para compor dados de registro/licença |
| Integração Scanntech | Envia `NR_UPDATE |
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|---|---|---|
NR_UPDATE | PARMSISTEMA | DOM_INTEGER | Número majoritário da versão do banco |
NR_FIX | PARMSISTEMA | DOM_INTEGER | Número minoritário (fix) da versão do banco |
Comportamento
Como a versão é exibida
Na tela principal do JunsoftERP, o método TmainForm.FormCreate monta a string de versão:
select coalesce(nr_update, 0), coalesce(nr_fix, 0), dt_venctochave from parmsistema
O resultado é formatado como Versão XXX.YY na barra de status (painel 4), onde XXX = NR_UPDATE e YY = NR_FIX.
Como a versão é atualizada
1. Pelo PacManager (geração de pacote)
Quando um pacote de atualização é gerado no PAC002, o script final inclui automaticamente:
UPDATE PARMSISTEMA SET
NR_UPDATE = <número_sequencial_do_pacote>,
NR_FIX = <número_sequencial_fix>;
2. Pela Atualização Remota (FER003)
Ao final de uma atualização remota, o sistema:
- Lê
NR_UPDATEeNR_FIXdo servidor. - Replica os mesmos valores no cliente via
UPDATE PARMSISTEMA.
3. Pela validação de distribuição (PAC010)
O PAC010 verifica se a base de distribuição está na versão correta antes de prosseguir:
SELECT PADLEFT(NR_UPDATE, 3, '0') || '_' || PADLEFT(NR_FIX, 2, '0')
FROM PARMSISTEMA
Se a versão não conferir com a esperada, uma exceção é gerada impedindo a continuidade.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Descrição |
|---|---|---|
TfrmFER003.btnSalvarClick | source/FER003/UFER003.pas | Lê versão do servidor e replica no cliente |
gerarContraChave | source/Junsoft/UformRegistro.pas | Lê NR_UPDATE para compor dados de registro |
TmainForm.FormCreate | source/Junsoft/UmainForm.pas | Exibe versão na barra de status |
TdmUpdate.DataModuleCreate | source/JunsoftAtualizacao/UdmUpdate.pas | Lê versão da base para controle de atualização |
TdmIntegracaoScanntech.StartScanntech | source/JunsoftIntegracao/.../UdmIntegracaoScanntech.pas | Envia versão do ERP na integração |
TfrmPAC002.popGeraScriptPacoteClick | source/PacManeger/src/PAC002/UPAC002.pas | Grava número do pacote em NR_UPDATE |
TfrmPAC010.btnGerarClick | source/PacManeger/src/PAC010/UPAC010.pas | Valida versão da base de distribuição |
Referências SQL diretas ao campo
Nenhuma procedure/view SQL em Scripts/ referencia NR_UPDATE diretamente.
Candidatas por uso da tabela
As procedures abaixo utilizam a tabela PARMSISTEMA mas não referenciam NR_UPDATE:
| Procedure/View | Arquivo |
|---|---|
ARRUMA_MASCARACONTA | Scripts/ARRUMA_MASCARACONTA.sql |
ATUALIZA_CONTACONTABIL | Scripts/ATUALIZA_CONTACONTABIL.sql |
CALCULA_TEMPOPERMANENCIA | Scripts/CALCULA_TEMPOPERMANENCIA.sql |
CONTABILIZA_CUPOMFISCAL | Scripts/CONTABILIZA_CUPOMFISCAL.sql |
ENDERECOPESSOA_BI0 | Scripts/ENDERECOPESSOA_BI0.sql |
GERA_CONTACLIFOR | Scripts/GERA_CONTACLIFOR.sql |
GERA_DARF | Scripts/GERA_DARF.sql |
GERA_PLANOFILIAL | Scripts/GERA_PLANOFILIAL.sql |
GERA_SPEDBLOCOL | Scripts/GERA_SPEDBLOCOL.sql |
GERA_SPEDCONTABIL | Scripts/GERA_SPEDCONTABIL.sql |
GERA_SPEDCONTABIL_0000 | Scripts/GERA_SPEDCONTABIL_0000.sql |
GERA_SPEDECF | Scripts/GERA_SPEDECF.sql |
GERA_SPEDECFBLOCOJ | Scripts/GERA_SPEDECFBLOCOJ.sql |
GERA_SPEDECFBLOCOK155 | Scripts/GERA_SPEDECFBLOCOK155.sql |
GERA_SPEDECFBLOCOK355 | Scripts/GERA_SPEDECFBLOCOK355.sql |
GERA_SPEDECFBLOCOL210 | Scripts/GERA_SPEDECFBLOCOL210.sql |
GERA_SPEDECFBLOCOY | Scripts/GERA_SPEDECFBLOCOY.sql |
GRAVA_REGISTROSPED0500 | Scripts/GRAVA_REGISTROSPED0500.sql |
IMPORTA_ARQUIVOMAGNETICO | Scripts/IMPORTA_ARQUIVOMAGNETICO.sql |
INCLUI_IMPOSTONOTACTB | Scripts/INCLUI_IMPOSTONOTACTB.sql |
Nota: As procedures acima acessam
PARMSISTEMApara ler outros parâmetros (comoTP_PLANOCONTABIL). Não há impacto funcional direto deNR_UPDATEnessas rotinas.
Observações
NR_UPDATEé um campo somente leitura do ponto de vista do usuário final. Sua alteração é feita exclusivamente pelos processos de atualização do sistema.- O campo trabalha em conjunto com
NR_FIXpara compor a versão completa do banco de dados no formatoMAJOR.MINOR(ex.:350.02). - Quando
NR_UPDATEéNULL, oCOALESCEna tela principal trata como0.