Skip to main content

Finalidade

A regra define automaticamente qual tabela de preço o cliente deve utilizar com base na UF (estado) de cadastro.

  • Quando a empresa possui filial na mesma UF do cliente, ele passa a usar a tabela de preço regional (BuscarPreco = 1).
  • Caso contrário, o cliente utiliza a tabela de preço padrão (BuscarPreco = 2).

Essa lógica garante que a política comercial seja coerente com a presença da empresa nos estados, evitando divergências de preços entre regiões.

Lógica da Regra

  1. Recebe o código do cliente pelo parâmetro :PCHAR1.
  2. Verifica se existe filial com a mesma UF do cliente (FILIAIS.UFFilial = CLI_FOR.UfCliFor).
  3. Se existir filial na UF:
    • Atualiza o campo CLI_FOR.BuscarPreco = 1.
  4. Se não existir filial na UF:
    • Atualiza o campo CLI_FOR.BuscarPreco = 2.
  5. A variável @OK é inicializada como 'N', mas não influencia no resultado.

Resultado

  • BuscarPreco = 1 → Cliente passa a usar a tabela de preço da mesma UF.
  • BuscarPreco = 2 → Cliente passa a usar a tabela de preço padrão.


REGRA

--REGRA DE NEGÓCIO CRIADA POR EDSON JUNIOR - 22/07/2025
--REGRA QUE ALTERA A TABELA DE PREÇO DO CLIENTE COM BASE NA UF
--REGRA SOLICITADA POR CDH
DECLARE @OK VARCHAR(1) = 'N'
DECLARE @CODCF VARCHAR(10) = :PCHAR1 

IF EXISTS (
    SELECT 1 
    FROM CLI_FOR CF
    INNER JOIN FILIAIS F ON F.UFFilial = CF.UfCliFor
    WHERE CF.CODCLIFOR = @CODCF
)
BEGIN
    UPDATE CLI_FOR 
    SET BuscarPreco = 1 
    WHERE CodCliFor = @CODCF
END 
ELSE
BEGIN 
    UPDATE CLI_FOR 
    SET BuscarPreco = 2 
    WHERE CodCliFor = @CODCF
END