HR_FREQUENCIA - Intervalo de Envio de Lotes Scanntech
Tela de configuração: MFA015 — Parâmetros de Integração Localização: Aba Scanntech → campo "Intervalo envio" Tabela:
PARMSCANNTECH.HR_FREQUENCIATipo:DOM_TIME(hh:mm:ss) Valor padrão:01:00:00(1 hora) Obrigatório: Sim — a validaçãoBeforePostimpede salvar com o campo vazio.
Telas impactadas
| Tela | Contexto |
|---|---|
| MFA015 | Tela de configuração onde o valor é definido. |
| JunsoftIntegracao (Scanntech) | Serviço de integração que lê o valor para configurar o timer de envio automático. |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
HR_FREQUENCIA | PARMSCANNTECH | Intervalo de tempo entre envios automáticos de lotes ao portal Scanntech. |
Comportamento
HR_FREQUENCIA define com que frequência o serviço de integração Scanntech envia lotes de dados ao portal. O valor é interpretado como uma duração em formato de hora (hh:mm:ss) e convertido internamente para milissegundos para alimentar um timer.
Detalhes técnicos
| Propriedade | Valor |
|---|---|
| Componente na tela | TwwDBDateTimePicker (formato hh:mm:ss) |
| Campo Delphi | TTimeField |
| Default na inserção | 01:00:00 (setado em tabPARMSCANNTECHAfterInsert) |
Validação BeforePost | Impede gravação se vazio, com SetFocus no campo |
| Conversão p/ timer | SecondOfTheDay(HR_FREQUENCIA) * 1000 → timerEnvio.Interval |
Opções disponíveis
O campo não possui opções discretas (lista fixa). Trata-se de um valor de tempo livre, porém obrigatório.
| O que faz | Detalhe |
|---|---|
| Intervalo de envio | Editável. Aceita qualquer horário válido no formato hh:mm:ss. |
| Campo obrigatório | Não é possível salvar a aba Scanntech com o valor vazio. |
| Default ao criar registro | Preenchido automaticamente com 01:00:00 (1 hora). |
Simulação passo a passo
- Acesse a tela MFA015 — Parâmetros de Integração.
- Selecione a aba Scanntech.
- Localize o campo Intervalo envio (
edtHR_FREQUENCIA). - Ajuste o valor desejado — exemplo:
00:30:00para envio a cada 30 minutos, ou02:00:00para envio a cada 2 horas. - Preencha também os demais campos obrigatórios da aba (usuário, senha, empresa).
- Salve o registro.
Resultado esperado: O serviço JunsoftIntegracao lê o valor ao habilitar o timer de envio e passa a disparar o envio de lotes Scanntech no intervalo configurado.
Exceção / Importante: Se o campo estiver vazio ao tentar salvar, a validação
BeforePostexibe alerta e posiciona o foco no campo, bloqueando a gravação. A tabelaPARMSCANNTECHpossui apenas um registro (SELECT FIRST 1), portanto há sempre uma única configuração ativa.
Regra de validação (BeforePost)
No evento tabPARMSCANNTECHBeforePost (DataModule UdmMFA015.pas), os campos obrigatórios são verificados na seguinte ordem:
DS_USUARIO— se vazio, foco no campo e raise.DS_SENHA— se vazio, foco no campo e raise.CD_EMPRESA— se vazio, foco no campo e raise.HR_FREQUENCIA— se vazio, foco no campo (edtHR_FREQUENCIA) e raise.
Ou seja, o preenchimento de todos os quatro campos é obrigatório para gravar.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Descrição |
|---|---|---|
TdmMFA015.tabPARMSCANNTECHAfterInsert | UdmMFA015.pas:510 | Atribui valor default 01:00:00 ao criar novo registro. |
TdmMFA015.tabPARMSCANNTECHBeforePost | UdmMFA015.pas:477-479 | Valida preenchimento obrigatório; exibe alerta e posiciona foco se vazio. |
TdmIntegracaoScanntech.actHabilitaTimerEnvioExecute | UdmIntegracaoScanntech.pas:156 | Converte o valor para segundos e configura o timerEnvio.Interval. |
Referências SQL diretas ao campo
O campo aparece em instruções SELECT e UPDATE dentro dos DataModules (UdmMFA015.dfm, UdmIntegracaoScanntech.dfm), utilizado para leitura e persistência padrão.
Candidatas por uso da tabela
| Procedure/View | Arquivo | Observação |
|---|---|---|
GRAVA_NOTAENVIOSCANNTECH | Scripts/GRAVA_NOTAENVIOSCANNTECH.sql | Usa a tabela PARMSCANNTECH mas não referencia HR_FREQUENCIA diretamente. Sem impacto funcional direto no parâmetro. |
Não foi encontrada referência direta ao campo HR_FREQUENCIA em Scripts/ (SQL stored procedures/views).