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
| Tela | Descrição | Impacto |
|---|---|---|
| TFA079 | Parâmetros de Visita | Configuração principal do parâmetro |
| TFA073 | Valores de Hora Técnica | Lê O_ST_QUARTA da VIEW_HORATECNICO para exibir e gerir valores por dia |
Campos envolvidos
| Campo | Tabela | Tipo | Default | Obrigatório |
|---|---|---|---|---|
ST_QUARTA | PARMVISITA | CHAR(1) | 'N' | Sim |
Opcoes disponiveis
| O que faz | Detalhe |
|---|---|
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
- Acesse TFA079 — Parâmetros de Visita.
- Selecione a rota desejada na grade de rotas.
- Na linha da pessoa/parâmetro, marque o checkbox Quarta.
- Salve o registro (
<Ctrl+S>ou botão Salvar). - 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
- Acesse TFA079 — Parâmetros de Visita.
- Selecione a rota desejada na grade de rotas.
- Desmarque o checkbox Quarta.
- 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ãoO_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
| Opcao | Dia habilitado | Calculo de rota | Hora tecnica (TFA073) |
|---|---|---|---|
S (Marcado) | Sim | Considera quarta-feira | Coluna Qua ativa |
N (Desmarcado) | Nao | Ignora quarta-feira | Coluna Qua inativa |
Procedures impactadas
Rotinas Delphi
| Rotina | Arquivo | Linha | Comportamento |
|---|---|---|---|
TdmTFA079.tabPARMVISITABeforePost | source/TFA079/UdmTFA079.pas | 557 | Valida se todos os dias (incluindo ST_QUARTA) estão 'N'; dispara W-0976 se nenhum marcado |
TdmTFA079.tabPARMVISITAAfterInsert | source/TFA079/UdmTFA079.pas | 583 | Inicializa ST_QUARTA = 'N' ao criar novo registro |
TdmTFA079.tabPARMVISITAAfterScroll | source/TFA079/UdmTFA079.pas | 634 | Força ST_QUARTA = 'N' em contexto de scroll (fallback) |
TdmTFA079.tabPARMVISITADT_VISITAValidate | source/TFA079/UdmTFA079.pas | 764 | Força ST_QUARTA = 'N' em contexto de validação de data |
TfrmTFA079.btnUPClick | source/TFA079/UTFA079.pas | 923 | Lê ST_QUARTA para PosicaoAtual.stQuarta (mover para cima) |
TfrmTFA079.btnDOWNClick | source/TFA079/UTFA079.pas | 1047 | Lê ST_QUARTA para PosicaoAtual.stQuarta (mover para baixo) |
TfrmTFA073.btnEditarValorHoraClick | source/TFA073/UTFA073.pas | 443 | Popula campo UI a partir de O_ST_QUARTA da VIEW_HORATECNICO |
TfrmTFA073.removeRegistro | source/TFA073/UTFA073.pas | 555 | Usa O_ST_QUARTA = 'S' para decidir remoção (case 3) |
Scripts SQL
| Procedure/View | Arquivo | Impacto |
|---|---|---|
RETORNA_ROTAVISITA | Scripts/RETORNA_ROTAVISITA.sql | Usa V_ST_QUARTA para determinar se quarta-feira é dia válido de visita (dia 3) |
VIEW_HORATECNICO | Scripts/VIEW_HORATECNICO.sql | Popula O_ST_QUARTA para consumo pela tela TFA073 (hora técnica) |