TPTROCASERVICO — Tipo de Troca de Serviço
Tela de configuração: REC001 — Parâmetros da Recapadora Localização: Parâmetros (campo no schema, sem aba explícita) Tabela / Coluna:
PARAMRECAP.TPTROCASERVICOTipo:DOM_CHAR1— caractere único Valor padrão:NAceitos:S,N,B,M
Resumo
Controla o nível de restrição aplicado quando o operador troca o serviço de um pneu durante o processo de recapagem (tela MRC003, MRC006, MRC007, MRC008). O parâmetro define se a troca pode ocorrer livremente ou se deve respeitar a medida do pneu, a banda ou ambos.
Telas impactadas
| Tela | Módulo | Efeito |
|---|---|---|
| MRC003 | Recapagem | Validação principal da troca de serviço; carregamento da lista de bandas; validação do serviço auxiliar |
| MRC006 | Recapagem (variação) | Mesma lógica de validação da troca de serviço |
| MRC007 | Recapagem (variação) | Mesma lógica de validação da troca de serviço |
| MRC008 | Recapagem (variação) | Mesma lógica de validação da troca de serviço |
| REC001 | Parâmetros | Inicializa valor padrão no insert (TdmREC001.qryCadastroAfterInsert) |
Campos envolvidos
| Campo / Variável | Tipo | Descrição |
|---|---|---|
PARAMRECAP.TPTROCASERVICO | CHAR(1) | Valor persistido do parâmetro |
dmMRC003.tpTrocaServico | variável runtime | Tipo de troca sendo executada (B = banda, M = medida). Definida automaticamente pelo sistema conforme a alteração feita pelo operador |
STMANTEMVALORTROCASERVICO | parâmetro | Complementar — controla se o valor do serviço é recalculado na troca (configurado em REC001 — Parâmetros da Recapadora) |
Opções disponíveis
S — Livre (sem restrição)
| O que faz | Detalhe |
|---|---|
| Bloqueado? | Não — troca totalmente liberada |
| Filtra banda? | Não — lista todas as bandas ativas do desenho |
| Filtra medida? | Não — serviços de qualquer medida aparecem |
| Exige validação extra? | Nenhuma referência a banda ou medida |
Simulação passo a passo
- Acesse REC001 e defina
TPTROCASERVICO = S. - Abra uma ordem de recapagem em MRC003.
- Clique em Troca de Serviço.
- Na lista de bandas, selecione qualquer banda ativa do desenho — sem filtro por banda ou medida.
- Selecione um serviço auxiliar de medida diferente da atual.
- Salve a alteração.
Resultado esperado: O sistema aceita a troca sem validar medida nem banda. Nenhuma mensagem de restrição é exibida.
N — Restrito Total (medida e banda obrigatórias)
| O que faz | Detalhe |
|---|---|
| Bloqueado? | Sim — restrição máxima |
| Filtra banda? | Sim — somente bandas compatíveis com a banda atual |
| Filtra medida? | Sim — somente serviços da mesma medida do pneu |
| Exige validação extra? | Valida tanto medida quanto banda no serviço auxiliar |
Simulação passo a passo
- Acesse REC001 e defina
TPTROCASERVICO = N(valor padrão). - Abra uma ordem de recapagem em MRC003.
- Clique em Troca de Serviço.
- Na lista de bandas, observe que aparecem apenas bandas cujo serviço esteja associado à mesma medida e à mesma banda atual do pneu.
- Tente selecionar um serviço auxiliar cuja medida ou banda difira do pneu.
- Salve a alteração.
Resultado esperado: O sistema exibe o erro W-0000: "O sistema está parametrizado para não permitir a troca de serviços com medidas e bandas diferentes. Verifique![REC001][TRC007]" e impede a gravação.
B — Restrito por Banda (medida livre)
| O que faz | Detalhe |
|---|---|
| Bloqueado? | Parcial — banda é restrita, medida é livre |
| Filtra banda? | Sim — somente serviços associados à banda atual do pneu |
| Filtra medida? | Não — serviços de qualquer medida aparecem |
| Exige validação extra? | Valida banda; medida pode diferir |
Simulação passo a passo
- Acesse REC001 e defina
TPTROCASERVICO = B. - Abra uma ordem de recapagem em MRC003.
- Clique em Troca de Serviço.
- Na lista de bandas, observe que aparecem apenas bandas do mesmo desenho cujo serviço esteja associado à banda atual do pneu.
- Selecione um serviço auxiliar de medida diferente — isso é permitido.
- Tente selecionar um serviço cuja banda difira da banda atual.
- Salve a alteração.
Resultado esperado: Se a banda do serviço novo difere da atual, o sistema exibe: "O sistema está parametrizado para não permitir a troca de serviços com bandas diferentes. Verifique![REC001][TRC007]". Mudanças de medida são aceitas normalmente.
Exceção / Importante: Quando
TPTROCASERVICO = B, o parâmetroSTLIBERACONSERVICO(configurado em REC001) deixa de ser consultado para a validação — a validação é sempre feita pelo tipo de troca. Além disso, após salvar, o sistema recarrega a ordem automaticamente (linha 5161-5163 deUframeMRC003.pas).
M — Restrito por Medida (banda livre)
| O que faz | Detalhe |
|---|---|
| Bloqueado? | Parcial — medida é restrita, banda é livre |
| Filtra banda? | Não — bandas de qualquer tipo aparecem |
| Filtra medida? | Sim — somente serviços da mesma medida do pneu |
| Exige validação extra? | Valida medida; banda pode diferir |
Simulação passo a passo
- Acesse REC001 e defina
TPTROCASERVICO = M. - Abra uma ordem de recapagem em MRC003.
- Clique em Troca de Serviço.
- Na lista de bandas, observe que aparecem bandas do desenho sem filtro por banda — apenas filtradas pela medida atual do pneu.
- Selecione um serviço auxiliar de banda diferente — isso é permitido.
- Tente selecionar um serviço cuja medida difira da medida atual.
- Salve a alteração.
Resultado esperado: Se a medida do serviço novo difere da atual, o sistema exibe: "O sistema está parametrizado para não permitir a troca de serviços com medidas diferentes. Verifique![REC001][TRC007]". Mudanças de banda são aceitas normalmente.
Tabela Comparativa Resumida
| Valor | Descrição | Banda | Medida | Exemplo de bloqueio |
|---|---|---|---|---|
S | Livre | ✅ Qualquer | ✅ Qualquer | Nenhum |
N | Restrito total | 🔒 Deve coincidir | 🔒 Deve coincidir | Serviço com banda ou medida diferente → erro |
B | Restrito por banda | 🔒 Deve coincidir | ✅ Qualquer | Serviço com banda diferente → erro |
M | Restrito por medida | ✅ Qualquer | 🔒 Deve coincidir | Serviço com medida diferente → erro |
Interação com outros parâmetros
| Parâmetro | Tela | Interação |
|---|---|---|
STMANTEMVALORTROCASERVICO | REC001 | Quando TPTROCASERVICO é B ou M e STMANTEMVALORTROCASERVICO = N, o sistema recalcula o preço do serviço após a troca, consultando a tabela de preços vigente |
STLIBERACONSERVICO | REC001 | Quando TPTROCASERVICO = B, a validação de troca de serviço passa a ser tratada exclusivamente por TPTROCASERVICO, ignorando STLIBERACONSERVICO |
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Trecho |
|---|---|---|---|
TMRC003formTrocaServico.edtIDSERVICOPNEUAUXKeyDown | UMRC003formTrocaServico.pas | 105 | Verifica <> 'S' antes de validar banda/medida |
TdmMRC003.qryOrdemProducaoRecapIDSERVICOPNEUAUXValidate | UdmMRC003.pas | 2428 | Validação principal: filtra serviços por banda/medida e lança erros conforme valor |
TdmMRC003.qryOrdemProducaoRecapIDMEDIDAPNEUValidate | UdmMRC003.pas | 2804 | Verifica <> 'B' para permitir alteração de medida |
TdmMRC003.tabOrdemProducaoRecapIDSERVICOAUXValidate | UdmMRC003.pas | 3174 | Validação auxiliar similar à IDSERVICOPNEUAUXValidate |
TframeMRC003.carregaListaBanda | UframeMRC003.pas | 949 | Monta SQL da lista de bandas com filtros conforme valor (S/B/N/M) |
TframeMRC003.btnSALVARALTClick | UframeMRC003.pas | 5131 | Impede abertura de tela de troca por medida quando = 'B' |
TMRC006formTrocaServico.edtIDSERVICOPNEUAUXKeyDown | UMRC006formTrocaServico.pas | 62 | Verifica <> 'S' antes de validar |
TdmMRC006.tabORDEMPRODUCAOIDSERVICOPNEUAUXValidate | UdmMRC006.pas | 500 | Verifica <> 'S' |
TdmMRC006.tabORDEMPRODUCAOIDSERVICOAUXValidate | UdmMRC006.pas | 732 | Verifica = 'N' ou = 'B' para filtro de banda |
TMRC007formTrocaServico.edtIDSERVICOPNEUAUXKeyDown | UMRC007formTrocaServico.pas | 59 | Verifica <> 'S' |
carregaListaBanda (MRC007) | UdmMRC007.pas | 357 | Verifica <> 'S' |
TdmMRC007.tabORDEMPRODUCAOIDSERVICOAUXValidate | UdmMRC007.pas | 797 | Verifica = 'N' ou = 'B' |
TdmMRC007.tabORDEMPRODUCAOIDSERVICOPNEUAUXValidate | UdmMRC007.pas | 1320 | Verifica <> 'S' |
TMRC008formTrocaServico.edtIDSERVICOPNEUAUXKeyDown | UMRC008formTrocaServico.pas | 59 | Verifica <> 'S' |
TdmMRC008.tabORDEMPRODUCAOIDSERVICOAUXValidate | UdmMRC008.pas | 811 | Verifica = 'N' ou = 'B' |
carregaListaBanda (MRC008) | UdmMRC008.pas | 1354 | Verifica <> 'S' |
TdmMRC008.tabORDEMPRODUCAOIDSERVICOPNEUAUXValidate | UdmMRC008.pas | 1547 | Verifica <> 'S' |
TdmREC001.qryCadastroAfterInsert | UdmREC001.pas | 732 | Inicializa valor padrão no insert |
Referências SQL diretas ao campo
Não foram encontradas referências diretas ao campo TPTROCASERVICO em scripts SQL em Scripts/. A lógica de validação é feita inteiramente em código Delphi.
Candidatas por uso da tabela PARAMRECAP
Diversas procedures SQL fazem FROM PARAMRECAP ou INNER JOIN PARAMRECAP, mas não citam o campo TPTROCASERVICO. Não há impacto funcional direto dessas procedures sobre este parâmetro.