Pular para o conteúdo principal

ST_QUARTA — Checkbox Quarta-feira (TFA079)

Tela de configuração: TFA079 — Parâmetros de Visita
Tipo de controle: Checkbox (TDBCheckBox)
Tabela: PARMVISITA.ST_QUARTA
Valor padrão: N (desmarcado)
Data source: dmTFA079.dsPARMVISITA

Resumo​

O parâmetro ST_QUARTA define se quarta-feira é um dia válido para a visita programada de uma pessoa dentro de uma rota. Quando marcado (S), o sistema considera as quartas-feiras nos cálculos de programação e rotação de visitas técnicas.

Telas impactadas​

TelaDescriçãoImpacto
TFA079Parâmetros de VisitaConfiguração principal do parâmetro
TFA073Valores de Hora TécnicaLê O_ST_QUARTA da VIEW_HORATECNICO para exibir e gerir valores por dia

Campos envolvidos​

CampoTabelaTipoDefaultObrigatório
ST_QUARTAPARMVISITACHAR(1)'N'Sim

Opcoes disponiveis​

O que fazDetalhe
Marcado (S)Habilita quarta-feira como dia de visita na rota
Desmarcado (N)Desabilita quarta-feira como dia de visita na rota

S — Marcado (Quarta-feira habilitada)​

Simulacao passo a passo​

  1. Acesse TFA079 — Parâmetros de Visita.
  2. Selecione a rota desejada na grade de rotas.
  3. Na linha da pessoa/parâmetro, marque o checkbox Quarta.
  4. Salve o registro (<Ctrl+S> ou botão Salvar).
  5. Acesse TFA073 — Valores de Hora Técnica e edite os valores: a coluna Qua estará habilitada com valor S (ponteiro de dia ativo).

Resultado esperado: O sistema registra ST_QUARTA = 'S' na tabela PARMVISITA. A procedure RETORNA_ROTAVISITA passará a considerar quarta-feira (dia 3) como dia válido ao calcular datas de visita. Na view VIEW_HORATECNICO, a coluna O_ST_QUARTA retorna 'S', permitindo a definição de valores de hora técnica para quartas-feiras.

Excecao / Importante: Pelo menos um dia da semana deve estar marcado na grade (domingo a sábado). Se todos os checkboxes de dia ficarem desmarcados, o sistema bloqueia o salvamento com a mensagem W-0976.

N — Desmarcado (Quarta-feira desabilitada — padrão)​

Simulacao passo a passo​

  1. Acesse TFA079 — Parâmetros de Visita.
  2. Selecione a rota desejada na grade de rotas.
  3. Desmarque o checkbox Quarta.
  4. Salve o registro.

Resultado esperado: O sistema registra ST_QUARTA = 'N' na tabela PARMVISITA. A procedure RETORNA_ROTAVISITA ignora quartas-feiras ao calcular a próxima data de visita. Na VIEW_HORATECNICO, a coluna O_ST_QUARTA retorna 'N' e a tela TFA073 desabilita o dia para aquele registro.

Regras de negocio​

Validação de ao menos um dia (W-0976)​

No BeforePost da PARMVISITA, o sistema verifica se todos os checkboxes de dia estão 'N'. Se todas as colunas ST_DOMINGO, ST_SEGUNDA, ST_TERCA, ST_QUARTA, ST_QUINTA, ST_SEXTA e ST_SABADO forem 'N', um erro é disparado (W-0976) impedindo o salvamento.

Posicionamento na grade (Copy / Paste)​

Os valores de ST_QUARTA são preservados nas operações de copiar/colar e mover registros para cima/para baixo na grade (btnUPClick, btnDOWNClick), sendo armazenados nas estruturas PosicaoAtual e PosicaoAcima antes da movimentação e restaurados depois.

Inclusao de novo registro​

Ao inserir um novo registro (AfterInsert), todos os dias da semana — incluindo ST_QUARTA — são inicializados com 'N'.

Impacto na procedure RETORNA_ROTAVISITA​

A procedure RETORNA_ROTAVISITA utiliza V_ST_QUARTA para determinar se quarta-feira é dia de visita:

IF ((V_DIA = 3) AND (V_ST_QUARTA = 'S')) THEN
BEGIN
V_ST_ENCONTROUDATA = 'S';
END

O dia da semana 3 corresponde a quarta-feira. Quando ST_QUARTA = 'S', um encontro é encontrado e a data de visita agendada recai numa quarta-feira.

Impacto na VIEW_HORATECNICO​

A view popula O_ST_QUARTA com base nos dias configurados:

  • Padrão: O_ST_QUARTA = 'N'
  • Se POSITION('3', V_ST_AUX) > 0, então O_ST_QUARTA = 'S'

Essa coluna é consumida pela tela TFA073 para habilitar ou desabilitar o dia na manutenção de valores hora técnica.

Tabelas comparativas​

Comportamento resumido​

OpcaoDia habilitadoCalculo de rotaHora tecnica (TFA073)
S (Marcado)SimConsidera quarta-feiraColuna Qua ativa
N (Desmarcado)NaoIgnora quarta-feiraColuna Qua inativa

Procedures impactadas​

Rotinas Delphi​

RotinaArquivoLinhaComportamento
TdmTFA079.tabPARMVISITABeforePostsource/TFA079/UdmTFA079.pas557Valida se todos os dias (incluindo ST_QUARTA) estão 'N'; dispara W-0976 se nenhum marcado
TdmTFA079.tabPARMVISITAAfterInsertsource/TFA079/UdmTFA079.pas583Inicializa ST_QUARTA = 'N' ao criar novo registro
TdmTFA079.tabPARMVISITAAfterScrollsource/TFA079/UdmTFA079.pas634Força ST_QUARTA = 'N' em contexto de scroll (fallback)
TdmTFA079.tabPARMVISITADT_VISITAValidatesource/TFA079/UdmTFA079.pas764Força ST_QUARTA = 'N' em contexto de validação de data
TfrmTFA079.btnUPClicksource/TFA079/UTFA079.pas923Lê ST_QUARTA para PosicaoAtual.stQuarta (mover para cima)
TfrmTFA079.btnDOWNClicksource/TFA079/UTFA079.pas1047Lê ST_QUARTA para PosicaoAtual.stQuarta (mover para baixo)
TfrmTFA073.btnEditarValorHoraClicksource/TFA073/UTFA073.pas443Popula campo UI a partir de O_ST_QUARTA da VIEW_HORATECNICO
TfrmTFA073.removeRegistrosource/TFA073/UTFA073.pas555Usa O_ST_QUARTA = 'S' para decidir remoção (case 3)

Scripts SQL​

Procedure/ViewArquivoImpacto
RETORNA_ROTAVISITAScripts/RETORNA_ROTAVISITA.sqlUsa V_ST_QUARTA para determinar se quarta-feira é dia válido de visita (dia 3)
VIEW_HORATECNICOScripts/VIEW_HORATECNICO.sqlPopula O_ST_QUARTA para consumo pela tela TFA073 (hora técnica)