STOBRIGATAREFA - Obrigatoriedade de Tarefa Adicional na Recapadora
Tela de configuração: REC001 - Parâmetros da Recapadora Tabela / Coluna:
PARAMRECAP.STOBRIGATAREFATipo:CHAR(1)| Default:N| NOT NULL
Define se o sistema exige o registro de tarefas adicionais (ATALHO ALT + T) ao finalizar uma etapa de produção na recapadora. A validação é aplicada nas telas MRC006 a MRC015, no momento da finalização da etapa (finalizaEtapa).
Telas impactadas
| Tela | Módulo | Validação em |
|---|---|---|
| MRC006 | Exame Inicial | finalizaEtapa |
| MRC007 | Escareação | finalizaEtapa |
| MRC008 | Conferência | btnFinalizaEtapaClick |
| MRC009 | Preparação Banda | finalizaEtapa |
| MRC010 | Limpeza/Mancha | finalizaEtapa |
| MRC011 | Aplicação Cola | finalizaEtapa |
| MRC012 | Aplicação Conserto | finalizaEtapa |
| MRC013 | Vulcanização | btnFinalizaEtapaClick |
| MRC014 | Desenvolvimento | finalizaEtapa |
| MRC015 | Acabamento | btnFinalizaEtapaClick |
Campos envolvidos
| Campo / Tabela | Função |
|---|---|
PARAMRECAP.STOBRIGATAREFA | Parâmetro (esta tela) |
TAREFARECAPPROD | Tabela de tarefas registradas por etapa — o sistema faz COUNT(ID) para verificar se há ao menos 1 tarefa vinculada à etapa corrente |
Opções disponíveis
N - Não Obrigatória (padrão)
| O que faz | Detalhe |
|---|---|
| Comportamento | Tarefa adicional não é exigida em nenhuma etapa |
| Bloqueio | Nenhum |
Simulação passo a passo
- Acesse REC001 e deixe
STOBRIGATAREFA = N. - Abra uma ordem de produção (qualquer tela MRC006–MRC015).
- Execute o trabalho da etapa normalmente, sem registrar tarefa adicional.
- Clique em Finalizar Etapa.
Resultado esperado: A etapa é finalizada com sucesso, sem mensagens de bloqueio.
S - Obrigatória para Todos os Casos
| O que faz | Detalhe |
|---|---|
| Comportamento | Exige ao menos 1 tarefa adicional (qualquer tipo) em toda finalização de etapa |
| Bloqueio | Se COUNT(TAREFARECAPPROD) = 0 para a etapa, o sistema impede a finalização |
| Mensagem | "É Obrigatório informar ao menos uma Tarefa Adicional! (ALT + T)" |
Simulação passo a passo
- Acesse REC001 e configure
STOBRIGATAREFA = S. - Abra uma ordem de produção em MRC006 (Exame Inicial).
- Execute o trabalho da etapa, mas não registre nenhuma tarefa (ATALHO
ALT + T). - Clique em Finalizar Etapa.
Resultado esperado: O sistema exibe a mensagem "É Obrigatório informar ao menos uma Tarefa Adicional! (ALT + T)" e impede a finalização.
- Agora pressione
ALT + T, registre ao menos 1 tarefa e salve. - Clique novamente em Finalizar Etapa.
Resultado esperado: A etapa é finalizada com sucesso.
Excecao / Importante: Quando a etapa corrente é uma etapa de retrabalho (
ST_ETAPA = 'R'), o sistema valida tarefas do tipoSTTAREFA = 'R'. Ou seja, paraS, a validação ocorre tanto em etapas normais quanto em retrabalhos.
R - Obrigatória Apenas em Retrabalhos
| O que faz | Detalhe |
|---|---|
| Comportamento | Exige tarefa adicional somente quando a etapa corrente é de retrabalho (ST_ETAPA = 'R') |
| Bloqueio | Em etapas normais, nenhuma validação é feita. Em retrabalho, se COUNT = 0, bloqueia |
| Mensagem | "É Obrigatório informar ao menos uma Tarefa Adicional! (ALT + T)" |
Simulação passo a passo
Cenário A — Etapa normal (não bloqueia):
- Acesse REC001 e configure
STOBRIGATAREFA = R. - Abra uma ordem de produção em MRC006 e execute uma etapa normal (não retrabalho).
- Não registre tarefas. Clique em Finalizar Etapa.
Resultado esperado: A etapa é finalizada com sucesso (sem exigência).
Cenário B — Etapa de retrabalho (bloqueia):
- Na mesma configuração (
R), abra uma ordem que esteja em retrabalho. - Não registre tarefas. Clique em Finalizar Etapa.
Resultado esperado: O sistema exibe "É Obrigatório informar ao menos uma Tarefa Adicional! (ALT + T)" e impede a finalização.
- Registre ao menos 1 tarefa via
ALT + Te finalize.
Resultado esperado: Etapa finalizada com sucesso.
Excecao / Importante: A condição no código é
iSTOBRIGATAREFA = 'S' OR iSTOBRIGATAREFA = 'R'para o bloco de retrabalho, ou seja, tantoSquantoRexigem tarefas em retrabalhos. A diferença é queStambém exige em etapas normais.
Tabela Comparativa Resumida
| Valor | Etapa Normal | Etapa de Retrabalho | Quando valida STTAREFA = 'P' | Quando valida STTAREFA = 'R' |
|---|---|---|---|---|
N | Livre | Livre | Não | Não |
S | Obrigatória | Obrigatória | Sim (etapas normais) | Sim (etapas retrabalho) |
R | Livre | Obrigatória | Não | Sim (etapas retrabalho) |
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Trecho |
|---|---|---|---|
finalizaEtapa (MRC006) | UMRC006.pas | 1195 | if ((iSTOBRIGATAREFA = 'S') and (Resultado[0] = '0')) |
finalizaEtapa (MRC006) | UMRC006.pas | 1351 | if ((iSTOBRIGATAREFA = 'S') or (iSTOBRIGATAREFA = 'R')) |
finalizaEtapa (MRC007) | UMRC007.pas | 414 | if ((iSTOBRIGATAREFA = 'S') and (Resultado[0] = '0')) |
finalizaEtapa (MRC007) | UMRC007.pas | 532 | if ((iSTOBRIGATAREFA = 'S') or (iSTOBRIGATAREFA = 'R')) |
btnFinalizaEtapaClick (MRC008) | UMRC008.pas | 1567 | if ((iSTOBRIGATAREFA = 'S') and (Resultado[0] = '0')) |
btnFinalizaEtapaClick (MRC008) | UMRC008.pas | 1639 | if ((iSTOBRIGATAREFA = 'S') or (iSTOBRIGATAREFA = 'R')) |
finalizaEtapa (MRC009) | UMRC009.pas | 419 | if ((iSTOBRIGATAREFA = 'S') and (Resultado[0] = '0')) |
finalizaEtapa (MRC009) | UMRC009.pas | 521 | if ((iSTOBRIGATAREFA = 'S') or (iSTOBRIGATAREFA = 'R')) |
finalizaEtapa (MRC010) | UMRC010.pas | 494 | if ((iSTOBRIGATAREFA = 'S') and (Resultado[0] = '0')) |
finalizaEtapa (MRC010) | UMRC010.pas | 694 | if ((iSTOBRIGATAREFA = 'S') or (iSTOBRIGATAREFA = 'R')) |
finalizaEtapa (MRC011) | UMRC011.pas | 343 | if ((iSTOBRIGATAREFA = 'S') and (Resultado[0] = '0')) |
finalizaEtapa (MRC011) | UMRC011.pas | 423 | if ((iSTOBRIGATAREFA = 'S') or (iSTOBRIGATAREFA = 'R')) |
finalizaEtapa (MRC012) | UMRC012.pas | 324 | if ((iSTOBRIGATAREFA = 'S') and (Resultado[0] = '0')) |
btnFinalizaEtapaClick (MRC013) | UMRC013.pas | 915 | if ((iSTOBRIGATAREFA = 'S') and (Resultado[0] = '0')) |
finalizaEtapa (MRC014) | UMRC014.pas | 721 | if ((iSTOBRIGATAREFA = 'S') and (Resultado[0] = '0')) |
btnFinalizaEtapaClick (MRC015) | UMRC015.pas | 708 | if ((iSTOBRIGATAREFA = 'S') and (Resultado[0] = '0')) |
Cada datamodule (UdmMRC006..UdmMRC015) possui Busca_Parametros que lê STOBRIGATAREFA do banco e atribui à variável iSTOBRIGATAREFA.
Referências SQL diretas ao campo
Não foram encontradas referências diretas a STOBRIGATAREFA em procedures/views SQL. O campo é lido exclusivamente pelo código Delphi via Busca_Parametros dos datamodules.
Candidatas por uso da tabela
As procedures que fazem FROM PARAMRECAP ou INNER JOIN PARAMRECAP (ex: ATUALIZA_PEDIDONOTA, FECHA_ORDEMPRODUCAORECAP, GERA_ORDEMPRODUCAORECAP, entre outras) não utilizam o campo STOBRIGATAREFA — elas acessam outros parâmetros da mesma tabela.