Pular para o conteúdo principal

NR_UPDATE - Número da Versão (Update) do Banco de Dados

Tela de configuração: ADM010 - Parâmetros do Sistema Tabela: PARMSISTEMA.NR_UPDATE Tipo: DOM_INTEGER (inteiro, anulável) Valor padrão: nenhum (campo inicialmente NULL)

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 / RotinaImpacto
ADM010 - Parâmetros do SistemaO 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 RemotaLê 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 ScanntechEnvia `NR_UPDATE

Campos envolvidos​

CampoTabelaTipoDescrição
NR_UPDATEPARMSISTEMADOM_INTEGERNúmero majoritário da versão do banco
NR_FIXPARMSISTEMADOM_INTEGERNú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:

  1. Lê NR_UPDATE e NR_FIX do servidor.
  2. 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​

RotinaArquivoDescrição
TfrmFER003.btnSalvarClicksource/FER003/UFER003.pasLê versão do servidor e replica no cliente
gerarContraChavesource/Junsoft/UformRegistro.pasLê NR_UPDATE para compor dados de registro
TmainForm.FormCreatesource/Junsoft/UmainForm.pasExibe versão na barra de status
TdmUpdate.DataModuleCreatesource/JunsoftAtualizacao/UdmUpdate.pasLê versão da base para controle de atualização
TdmIntegracaoScanntech.StartScanntechsource/JunsoftIntegracao/.../UdmIntegracaoScanntech.pasEnvia versão do ERP na integração
TfrmPAC002.popGeraScriptPacoteClicksource/PacManeger/src/PAC002/UPAC002.pasGrava número do pacote em NR_UPDATE
TfrmPAC010.btnGerarClicksource/PacManeger/src/PAC010/UPAC010.pasValida 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/ViewArquivo
ARRUMA_MASCARACONTAScripts/ARRUMA_MASCARACONTA.sql
ATUALIZA_CONTACONTABILScripts/ATUALIZA_CONTACONTABIL.sql
CALCULA_TEMPOPERMANENCIAScripts/CALCULA_TEMPOPERMANENCIA.sql
CONTABILIZA_CUPOMFISCALScripts/CONTABILIZA_CUPOMFISCAL.sql
ENDERECOPESSOA_BI0Scripts/ENDERECOPESSOA_BI0.sql
GERA_CONTACLIFORScripts/GERA_CONTACLIFOR.sql
GERA_DARFScripts/GERA_DARF.sql
GERA_PLANOFILIALScripts/GERA_PLANOFILIAL.sql
GERA_SPEDBLOCOLScripts/GERA_SPEDBLOCOL.sql
GERA_SPEDCONTABILScripts/GERA_SPEDCONTABIL.sql
GERA_SPEDCONTABIL_0000Scripts/GERA_SPEDCONTABIL_0000.sql
GERA_SPEDECFScripts/GERA_SPEDECF.sql
GERA_SPEDECFBLOCOJScripts/GERA_SPEDECFBLOCOJ.sql
GERA_SPEDECFBLOCOK155Scripts/GERA_SPEDECFBLOCOK155.sql
GERA_SPEDECFBLOCOK355Scripts/GERA_SPEDECFBLOCOK355.sql
GERA_SPEDECFBLOCOL210Scripts/GERA_SPEDECFBLOCOL210.sql
GERA_SPEDECFBLOCOYScripts/GERA_SPEDECFBLOCOY.sql
GRAVA_REGISTROSPED0500Scripts/GRAVA_REGISTROSPED0500.sql
IMPORTA_ARQUIVOMAGNETICOScripts/IMPORTA_ARQUIVOMAGNETICO.sql
INCLUI_IMPOSTONOTACTBScripts/INCLUI_IMPOSTONOTACTB.sql

Nota: As procedures acima acessam PARMSISTEMA para ler outros parâmetros (como TP_PLANOCONTABIL). Não há impacto funcional direto de NR_UPDATE nessas 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_FIX para compor a versão completa do banco de dados no formato MAJOR.MINOR (ex.: 350.02).
  • Quando NR_UPDATE é NULL, o COALESCE na tela principal trata como 0.