Pular para o conteúdo principal

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_RECALCULASERVICOS Tipo: 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​

TelaComentário
MRC001 — Pedido de RecapagemAo 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 RecapadoraTela onde o parâmetro é configurado (campo cmbST_RECALCULASERVICO).

Campos envolvidos​

CampoTabelaFunção
ST_RECALCULASERVICOSPARAMRECAPFlag que define o comportamento do recálculo

Opções disponíveis​

N — Não Recalcula​

O que fazDetalhe
Nenhum recálculo ao trocar vendedorO 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​

  1. Acesse REC001 → Parâmetros → Opção 1.
  2. No campo "Utiliza Serviço de 2ª e 3ª Linha na Produção", selecione Não.
  3. Salve os parâmetros.
  4. Abra um pedido de recapagem em MRC001 com itens de serviço já incluídos.
  5. Altere o vendedor principal do pedido.
  6. 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 fazDetalhe
Recalcula preços automaticamenteAo 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​

  1. Acesse REC001 → Parâmetros → Opção 1.
  2. No campo "Utiliza Serviço de 2ª e 3ª Linha na Produção", selecione Automático.
  3. Salve os parâmetros.
  4. Abra um pedido de recapagem em MRC001 com itens de serviço (ex: serviço com valor R$ 100,00).
  5. Altere o vendedor principal do pedido para outro vendedor associado a uma tabela de preço diferente.
  6. 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 fazDetalhe
Pergunta antes de recalcularAo 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​

  1. Acesse REC001 → Parâmetros → Opção 1.
  2. No campo "Utiliza Serviço de 2ª e 3ª Linha na Produção", selecione Confirmar.
  3. Salve os parâmetros.
  4. Abra um pedido de recapagem em MRC001 com itens de serviço já incluídos.
  5. Altere o vendedor principal do pedido.
  6. 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 (cdMovtoContrato preenchido ou flagContratoPessoaAnt = True), o recálculo não é disparado, independente do valor do parâmetro.
  • A variável de controle flagAlteraVendSalvar impede o recálculo durante o processo de salvamento do pedido, evitando efeitos colaterais.

Tabela Comparativa Resumida​

ValorDescriçãoComportamento ao trocar vendedor
NNão RecalculaPreços mantidos inalterados
SAutomáticoRecalcula sem perguntar
AConfirmarPergunta e recalcula apenas se o usuário confirmar

Procedures impactadas​

Rotinas Delphi com referência direta ao parâmetro​

RotinaArquivoLinha
TdmMRC001.qryPedidoPneuIDVENDEDORValidateUdmMRC001.pas689
TdmMRC001.recalculaServicoUdmMRC001.pas476
iniciarUformMRC001.pas85
TdmREC001.qryCadastroAfterInsertUdmREC001.pas729

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.