Pular para o conteúdo principal

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.TPTROCASERVICO Tipo: DOM_CHAR1 — caractere único Valor padrão: N Aceitos: 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​

TelaMóduloEfeito
MRC003RecapagemValidação principal da troca de serviço; carregamento da lista de bandas; validação do serviço auxiliar
MRC006Recapagem (variação)Mesma lógica de validação da troca de serviço
MRC007Recapagem (variação)Mesma lógica de validação da troca de serviço
MRC008Recapagem (variação)Mesma lógica de validação da troca de serviço
REC001ParâmetrosInicializa valor padrão no insert (TdmREC001.qryCadastroAfterInsert)

Campos envolvidos​

Campo / VariávelTipoDescrição
PARAMRECAP.TPTROCASERVICOCHAR(1)Valor persistido do parâmetro
dmMRC003.tpTrocaServicovariável runtimeTipo de troca sendo executada (B = banda, M = medida). Definida automaticamente pelo sistema conforme a alteração feita pelo operador
STMANTEMVALORTROCASERVICOparâmetroComplementar — 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 fazDetalhe
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​

  1. Acesse REC001 e defina TPTROCASERVICO = S.
  2. Abra uma ordem de recapagem em MRC003.
  3. Clique em Troca de Serviço.
  4. Na lista de bandas, selecione qualquer banda ativa do desenho — sem filtro por banda ou medida.
  5. Selecione um serviço auxiliar de medida diferente da atual.
  6. 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 fazDetalhe
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​

  1. Acesse REC001 e defina TPTROCASERVICO = N (valor padrão).
  2. Abra uma ordem de recapagem em MRC003.
  3. Clique em Troca de Serviço.
  4. Na lista de bandas, observe que aparecem apenas bandas cujo serviço esteja associado à mesma medida e à mesma banda atual do pneu.
  5. Tente selecionar um serviço auxiliar cuja medida ou banda difira do pneu.
  6. 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 fazDetalhe
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​

  1. Acesse REC001 e defina TPTROCASERVICO = B.
  2. Abra uma ordem de recapagem em MRC003.
  3. Clique em Troca de Serviço.
  4. Na lista de bandas, observe que aparecem apenas bandas do mesmo desenho cujo serviço esteja associado à banda atual do pneu.
  5. Selecione um serviço auxiliar de medida diferente — isso é permitido.
  6. Tente selecionar um serviço cuja banda difira da banda atual.
  7. 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âmetro STLIBERACONSERVICO (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 de UframeMRC003.pas).


M — Restrito por Medida (banda livre)​

O que fazDetalhe
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​

  1. Acesse REC001 e defina TPTROCASERVICO = M.
  2. Abra uma ordem de recapagem em MRC003.
  3. Clique em Troca de Serviço.
  4. Na lista de bandas, observe que aparecem bandas do desenho sem filtro por banda — apenas filtradas pela medida atual do pneu.
  5. Selecione um serviço auxiliar de banda diferente — isso é permitido.
  6. Tente selecionar um serviço cuja medida difira da medida atual.
  7. 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​

ValorDescriçãoBandaMedidaExemplo de bloqueio
SLivre✅ Qualquer✅ QualquerNenhum
NRestrito total🔒 Deve coincidir🔒 Deve coincidirServiço com banda ou medida diferente → erro
BRestrito por banda🔒 Deve coincidir✅ QualquerServiço com banda diferente → erro
MRestrito por medida✅ Qualquer🔒 Deve coincidirServiço com medida diferente → erro

Interação com outros parâmetros​

ParâmetroTelaInteração
STMANTEMVALORTROCASERVICOREC001Quando 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
STLIBERACONSERVICOREC001Quando 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​

RotinaArquivoLinhaTrecho
TMRC003formTrocaServico.edtIDSERVICOPNEUAUXKeyDownUMRC003formTrocaServico.pas105Verifica <> 'S' antes de validar banda/medida
TdmMRC003.qryOrdemProducaoRecapIDSERVICOPNEUAUXValidateUdmMRC003.pas2428Validação principal: filtra serviços por banda/medida e lança erros conforme valor
TdmMRC003.qryOrdemProducaoRecapIDMEDIDAPNEUValidateUdmMRC003.pas2804Verifica <> 'B' para permitir alteração de medida
TdmMRC003.tabOrdemProducaoRecapIDSERVICOAUXValidateUdmMRC003.pas3174Validação auxiliar similar à IDSERVICOPNEUAUXValidate
TframeMRC003.carregaListaBandaUframeMRC003.pas949Monta SQL da lista de bandas com filtros conforme valor (S/B/N/M)
TframeMRC003.btnSALVARALTClickUframeMRC003.pas5131Impede abertura de tela de troca por medida quando = 'B'
TMRC006formTrocaServico.edtIDSERVICOPNEUAUXKeyDownUMRC006formTrocaServico.pas62Verifica <> 'S' antes de validar
TdmMRC006.tabORDEMPRODUCAOIDSERVICOPNEUAUXValidateUdmMRC006.pas500Verifica <> 'S'
TdmMRC006.tabORDEMPRODUCAOIDSERVICOAUXValidateUdmMRC006.pas732Verifica = 'N' ou = 'B' para filtro de banda
TMRC007formTrocaServico.edtIDSERVICOPNEUAUXKeyDownUMRC007formTrocaServico.pas59Verifica <> 'S'
carregaListaBanda (MRC007)UdmMRC007.pas357Verifica <> 'S'
TdmMRC007.tabORDEMPRODUCAOIDSERVICOAUXValidateUdmMRC007.pas797Verifica = 'N' ou = 'B'
TdmMRC007.tabORDEMPRODUCAOIDSERVICOPNEUAUXValidateUdmMRC007.pas1320Verifica <> 'S'
TMRC008formTrocaServico.edtIDSERVICOPNEUAUXKeyDownUMRC008formTrocaServico.pas59Verifica <> 'S'
TdmMRC008.tabORDEMPRODUCAOIDSERVICOAUXValidateUdmMRC008.pas811Verifica = 'N' ou = 'B'
carregaListaBanda (MRC008)UdmMRC008.pas1354Verifica <> 'S'
TdmMRC008.tabORDEMPRODUCAOIDSERVICOPNEUAUXValidateUdmMRC008.pas1547Verifica <> 'S'
TdmREC001.qryCadastroAfterInsertUdmREC001.pas732Inicializa 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.