STMANTEMVALORTROCASERVICO — Manter Valor na Troca de Serviço
Tela de configuração: REC001 — Parâmetros da Recapadora Tabela:
PARAMRECAP.STMANTEMVALORTROCASERVICOTipo:CHAR(1)| Padrão:N| NOT NULL
Controla se, ao realizar uma troca de serviço na ordem de produção de recapagem, o sistema deve manter o valor (preço) do serviço original ou zerar/recalcular o valor com base no novo serviço selecionado.
Telas impactadas
| Tela | Módulo | Uso do parâmetro |
|---|---|---|
| MRC003 | Recapagem | Troca de serviço pneu, validação de banda, form de troca |
| MRC006 | Recapagem (variação) | Troca de serviço pneu, validação de serviço |
| MRC007 | Recapagem (variação) | Troca de serviço pneu, banda, raspagem |
| MRC008 | Recapagem (variação) | Troca de serviço pneu |
| MRC014 | Recapagem (embarcada) | efetuaTrocaServicoMatrizEmb |
| MRC028 | Recapagem (embarcada) | efetuaTrocaDeServico |
| MRC039 | Recapagem (embarcada) | Parâmetros carregados na abertura |
| REC001 | Parâmetros | Configuração do parâmetro |
Campos envolvidos
| Campo | Tabela | Relação |
|---|---|---|
STMANTEMVALORTROCASERVICO | PARAMRECAP | Parâmetro |
VLUNITARIO | ITEMPEDIDOPNEU | Valor do serviço no item — é mantido ou zerado conforme o parâmetro |
IDSERVICOPNEU / IDSERVICOPNEUAUX | ORDEMPRODUCAORECAP | Serviço selecionado na ordem — dispara a lógica de troca |
VLSERVICOITEM | ORDEMPRODUCAORECAP | Valor do serviço na ordem de produção |
Opções disponíveis
| O que faz | Detalhe |
|---|---|
| S | Mantém o valor original do serviço ao trocar — atualiza apenas o código do serviço no pedido, preservando o VLUNITARIO |
| N (padrão) | Não mantém — zera o valor do serviço quando ocorre troca de serviço, banda ou combo; o valor será recalculado pelo novo serviço |
S — Manter Valor do Serviço Original
Simulação passo a passo
- Acesse REC001 (Parâmetros da Recapadora).
- Marque o campo "Mantém Valor Troca Serviço" como
S. - Salve a configuração.
- Abra uma ordem de produção em MRC003 (Recapagem) que já tenha um serviço atribuído com valor, por exemplo, R$ 80,00.
- Realize a troca de serviço (troque o serviço pneu por outro diferente).
- Observe que o valor do item no pedido (
ITEMPEDIDOPNEU.VLUNITARIO) continua sendo R$ 80,00, e apenas o código do serviço (IDSERVICOPNEU) é atualizado para o novo serviço.
Resultado esperado: O preço do serviço original é preservado no pedido. O sistema executa um UPDATE em ITEMPEDIDOPNEU alterando apenas o IDSERVICOPNEU, mantendo o VLUNITARIO anterior.
Exceção / Importante: Essa lógica é aplicada na rotina
efetuaTrocaServicoMatrizEmb(MRC003/MRC014/MRC028). Quando o parâmetro está comoS, o sistema faz umUPDATEdireto noITEMPEDIDOPNEUcom o valor já existente na ordem (VLSERVICOITEM), sem buscar nova tabela de preço.
N — Não Manter / Recalcular Valor (Padrão)
Simulação passo a passo
- Acesse REC001 (Parâmetros da Recapadora).
- Deixe o campo "Mantém Valor Troca Serviço" como
N(ou desmarque). - Salve a configuração.
- Abra uma ordem de produção em MRC003 (Recapagem) que já tenha um serviço atribuído com valor, por exemplo, R$ 80,00.
- Realize a troca de serviço (troque o serviço pneu, a banda, ou o combo).
- Observe que o valor do serviço na ordem (
VLSERVICOITEM) é zerado — o campo fica vazio. - O valor será recalculado com base no novo serviço selecionado (via tabela de preço, se aplicável).
Resultado esperado: Ao trocar serviço, banda ou combo, o sistema zera o VLSERVICOITEM na ordem de produção. O valor do item no pedido também é impactado, pois o preço antigo é descartado e o novo valor dependerá da tabela de preço vigente para o serviço substituto.
Exceção / Importante: O zeramento do valor ocorre nos seguintes cenários (quando
= 'N'):
- Troca de serviço pneu (
IDSERVICOPNEUAUX) — tanto em modo manual (tpTrocaServico = 'M') quanto banda (tpTrocaServico = 'B') quando há mais de 2 serviços- Troca de banda/combo (
flagalterandobandacombo) — validação de banda e serviço auxiliar- Form de troca de serviço (abertura do formulário de troca nas telas MRC003/MRC006/MRC007/MRC008)
Procedures impactadas
Rotinas Delphi com referência direta
| Rotina | Arquivo | Linha | Papel |
|---|---|---|---|
Busca_Parametros | UdmMRC003.pas | 698 | Lê o parâmetro do banco para a variável iSTMANTEMVALORTROCASERVICO |
efetuaTrocaServicoMatrizEmb | UdmMRC003.pas | 4423 | Se S: mantém valor ao efetuar troca matriz/embarcada |
IDSERVICOPNEUAUXValidate | UdmMRC003.pas | 2522 | Se N: zera valor ao trocar serviço pneu |
IDBANDAPNEUValidate | UdmMRC003.pas | 3000 | Se N: zera valor ao trocar banda/combo |
IDSERVICOAUXValidate | UdmMRC003.pas | 3197 | Se N: zera valor ao trocar serviço auxiliar |
TrocaServico (frame) | UframeMRC003.pas | 6729 | Se N: zera VLSERVICOITEM na troca manual |
TMRC006formTrocaServico.FormCreate | UMRC006formTrocaServico.pas | 255 | Configura comportamento do form de troca |
IDSERVICOPNEUAUXValidate | UdmMRC006.pas | 541 | Se N: valida serviço na troca |
TMRC007formTrocaServico.FormCreate | UMRC007formTrocaServico.pas | 297 | Configura comportamento do form de troca |
IDSERVICOAUXValidate | UdmMRC007.pas | 818 | Se N: zera valor ao trocar banda/combo |
IDBANDAPNEUValidate | UdmMRC007.pas | 1161 | Se N: zera valor ao trocar banda |
IDSERVICOPNEUAUXValidate | UdmMRC007.pas | 1368 | Se N: zera valor ao trocar serviço pneu |
TMRC008formTrocaServico.FormCreate | UMRC008formTrocaServico.pas | 277 | Configura comportamento do form de troca |
IDSERVICOPNEUAUXValidate | UdmMRC008.pas | 1595 | Se N: zera valor ao trocar serviço pneu |
efetuaTrocaServicoMatrizEmb | UdmMRC014.pas | 959 | Se S: mantém valor ao efetuar troca matriz/embarcada |
efetuaTrocaDeServico | UdmMRC028.pas | 1153 | Se S: mantém valor ao efetuar troca |
Busca_Parametros | UdmMRC006.pas | 271 | Lê parâmetro |
Busca_Parametros | UdmMRC007.pas | 309 | Lê parâmetro |
Busca_Parametros | UdmMRC008.pas | 323 | Lê parâmetro |
Busca_Parametros | UdmMRC039.pas | 128 | Lê parâmetro |
qryCadastroAfterInsert | UdmREC001.pas | 828 | Define valor padrão N ao inserir novo registro |
Referências SQL diretas ao campo
Não foram encontradas referências diretas ao campo STMANTEMVALORTROCASERVICO em procedures ou views SQL. O campo é consumido exclusivamente pela camada Delphi (Data Modules e Forms das telas MRC).
Candidatas por uso da tabela PARAMRECAP
As procedures abaixo acessam a tabela PARAMRECAP mas não citam o campo STMANTEMVALORTROCASERVICO diretamente — sem impacto funcional direto identificado:
| Procedure | Arquivo |
|---|---|
ATUALIZA_PEDIDONOTA | Scripts/ATUALIZA_PEDIDONOTA.sql |
FECHA_ORDEMPRODUCAORECAP | Scripts/FECHA_ORDEMPRODUCAORECAP.sql |
GERA_ORDEMPRODUCAORECAP | Scripts/GERA_ORDEMPRODUCAORECAP.sql |
GERA_PEDIDOENTRADACARCACA | Scripts/GERA_PEDIDOENTRADACARCACA.sql |
GERA_PEDIDOSAIDACARCACA | Scripts/GERA_PEDIDOSAIDACARCACA.sql |
GERA_NOTAPEDIDO | Scripts/GERA_NOTAPEDIDO.sql |
Parâmetros relacionados
| Parâmetro | Tela | Relação |
|---|---|---|
TPTROCASERVICO | REC001 — Parâmetros da Recapadora | Define o tipo de troca de serviço (N/M/B); interage com STMANTEMVALORTROCASERVICO nas validações |
TPTROCADESENHO | REC001 — Parâmetros da Recapadora | Tipo de troca de desenho; verificado em conjunto nas validações de banda |
ST_TABPRECO | MFA001 — Parâmetros de Faturamento | Tabela de preço consultada quando o valor precisa ser recalculado (modo N) |