ST_RECALCULASERVICOS - Recálculo de Serviços ao Trocar Vendedor
Tela de configuração: REC001 — Parâmetros da Recapadora Localização: Parâmetros → Opção 1 Tabela:
PARAMRECAP.ST_RECALCULASERVICOSTipo:CHAR(1)Valor padrão:N
Descrição
Controla se o sistema deve recalcular automaticamente o preço dos serviços (via RETORNA_PRECOITEM / RETORNA_TABPRECO) quando o vendedor principal do pedido de recapagem (MRC001) é alterado. A recuperação do preço considera a tabela de preço associada ao novo vendedor, condição de pagamento, tipo de pessoa, região comercial e estado do cliente.
Telas impactadas
| Tela | Comentário |
|---|---|
| MRC001 — Pedido de Recapagem | Ao alterar o vendedor principal, dispara o recálculo dos preços dos itens de serviço conforme o valor do parâmetro. |
| REC001 — Parâmetros da Recapadora | Tela onde o parâmetro é configurado (campo cmbST_RECALCULASERVICO). |
Campos envolvidos
| Campo | Tabela | Função |
|---|---|---|
ST_RECALCULASERVICOS | PARAMRECAP | Flag que define o comportamento do recálculo |
Opções disponíveis
N — Não Recalcula
| O que faz | Detalhe |
|---|---|
| Nenhum recálculo ao trocar vendedor | O preço dos serviços permanece inalterado; o sistema ignora a mudança de vendedor para fins de preço |
Simulação passo a passo
- Acesse REC001 → Parâmetros → Opção 1.
- No campo "Utiliza Serviço de 2ª e 3ª Linha na Produção", selecione Não.
- Salve os parâmetros.
- Abra um pedido de recapagem em MRC001 com itens de serviço já incluídos.
- Altere o vendedor principal do pedido.
- Observe que os preços dos serviços não são alterados.
Resultado esperado: Os valores unitários dos serviços permanecem os mesmos que foram informados antes da troca de vendedor.
S — Automático
| O que faz | Detalhe |
|---|---|
| Recalcula preços automaticamente | Ao trocar o vendedor, o sistema recalcula os preços de todos os serviços do pedido sem pedir confirmação |
Simulação passo a passo
- Acesse REC001 → Parâmetros → Opção 1.
- No campo "Utiliza Serviço de 2ª e 3ª Linha na Produção", selecione Automático.
- Salve os parâmetros.
- Abra um pedido de recapagem em MRC001 com itens de serviço (ex: serviço com valor R$ 100,00).
- Altere o vendedor principal do pedido para outro vendedor associado a uma tabela de preço diferente.
- Observe que os preços dos serviços são recalculados imediatamente sem nenhum diálogo.
Resultado esperado: Os valores unitários dos serviços são atualizados automaticamente conforme a tabela de preço do novo vendedor (ex: de R$ 100,00 para R$ 85,00).
A — Confirmar
| O que faz | Detalhe |
|---|---|
| Pergunta antes de recalcular | Ao trocar o vendedor, exibe a mensagem "Deseja Reprocessar os Preços dos Produtos?" e só recalcula se o usuário confirmar |
Simulação passo a passo
- Acesse REC001 → Parâmetros → Opção 1.
- No campo "Utiliza Serviço de 2ª e 3ª Linha na Produção", selecione Confirmar.
- Salve os parâmetros.
- Abra um pedido de recapagem em MRC001 com itens de serviço já incluídos.
- Altere o vendedor principal do pedido.
- O sistema exibe a mensagem: "Deseja Reprocessar os Preços dos Produtos?"
- Clique Sim → os preços são recalculados conforme a tabela do novo vendedor.
- Clique Não → os preços permanecem inalterados.
Resultado esperado: Se confirmado, os valores unitários dos serviços são recalculados. Se negado, nada muda.
Exceção / Importante:
- Quando o pedido possui contrato (
cdMovtoContratopreenchido ouflagContratoPessoaAnt = True), o recálculo não é disparado, independente do valor do parâmetro.- A variável de controle
flagAlteraVendSalvarimpede o recálculo durante o processo de salvamento do pedido, evitando efeitos colaterais.
Tabela Comparativa Resumida
| Valor | Descrição | Comportamento ao trocar vendedor |
|---|---|---|
N | Não Recalcula | Preços mantidos inalterados |
S | Automático | Recalcula sem perguntar |
A | Confirmar | Pergunta e recalcula apenas se o usuário confirmar |
Procedures impactadas
Rotinas Delphi com referência direta ao parâmetro
| Rotina | Arquivo | Linha |
|---|---|---|
TdmMRC001.qryPedidoPneuIDVENDEDORValidate | UdmMRC001.pas | 689 |
TdmMRC001.recalculaServico | UdmMRC001.pas | 476 |
iniciar | UformMRC001.pas | 85 |
TdmREC001.qryCadastroAfterInsert | UdmREC001.pas | 729 |
Referências SQL diretas ao campo em Scripts/
Nenhuma referência direta a ST_RECALCULASERVICOS foi encontrada em procedures SQL em Scripts/. O campo é lido via consulta Delphi no momento da validação do vendedor (linha 689 de UdmMRC001.pas).
Candidatas por uso da tabela (PARAMRECAP)
Procedures que fazem JOIN ou SELECT na tabela PARAMRECAP sem citar o campo ST_RECALCULASERVICOS diretamente. Não há impacto funcional documentado sobre este parâmetro nessas rotinas:
ATUALIZA_PEDIDONOTA, ATUALIZA_PREVISAOORDEMPROD, ATUALIZA_STFATURAAUTO, ATUALIZA_TIPOPESSOARECAP, CANCELA_ESTOQUERECAP, CANCELA_NOTAFISCAL, CONFIRMA_PNEURECUSADO, EXCLUSAO_BANDA, FECHA_ORDEMPRODUCAORECAP, FECHA_ORDEMPRODUCAORECAPNOTA, GERA_NOTAPEDIDO, GERA_ORDEMPRODUCAORECAP, GERA_PEDIDOENTRADACARCACA, GERA_PEDIDOSAIDACARCACA, GERA_PRODACABAMENTO, GERA_PRODAPLICACAOCOLA, GERA_PRODAPLICACAOCONSERTO, GERA_PRODBANDA, GERA_PRODCONFERENCIAPNEU, GERA_PRODDESENVELOPAMENTO.