Produto:

Datasul

Ocorrência:

Sintaxe de regras e fórmulas do configurador de produtos

Passo a passo:

A API de interpretação de fórmulas permite a utilização de fórmulas complexas, selecionando a expressão matemática associada a uma regra com valor verdadeiro, realizando então o processamento dessa expressão e retornando o  seu valor correspondente.  

Para a definição de uma fórmula, utiliza-se a seguinte sintaxe:  

[Regra 1] Expressão 1 [Regra 2] Expressão 2 [Regra 3] Expressão 3 ...  

As regras sempre estarão entre colchetes. Sempre deverá haver uma expressão matemática associada a uma regra. Quando uma regra verdadeira for encontrada, a expressão associada a essa regra é processada e o seu valor é retornado. Caso existam mais de uma regra com resultado verdadeiro, será sempre retornado o valor correspondente à primeira expressão associada a uma regra verdadeira, sendo as demais descartadas.  

Não é obrigatória a utilização de regras, caso a fórmula possua apenas um resultado. Neste caso, basta utilizar a própria expressão matemática na fórmula, sem nenhuma regra entre colchetes.

 

Exemplos de fórmulas:

[Cor = “Azul” e Tamanho > (Limite * 3)] Limite * 3  

[Cor = “Verde” ou Modelo = 1] Modelo * 9  

int(substring(var1 1 2)) * 10

 

Para a inserção das regras e das fórmulas, o interpretador de fórmulas permite os seguintes recursos:   

  • Múltiplos níveis de parênteses
  • Utilização das 4 operações aritméticas básicas (+, -, *, /)
  • Utilização de prioridade entre as operações (multiplicação e divisão são executadas antes de soma e subtração)
  • Utilização de potenciação (^)
  • Utilização de divisão inteira (\)
  • Utilização de resto de divisão (MOD)
  • Utilização dos operadores lógicos E (AND), OU (OR) e NÃO (NOT)
  • Utilização dos operadores relacionais =, <>, >=, <=, > e <

 

 Além disso, as seguintes funções também podem ser utilizadas, tanto nas regras quanto nas expressões:   

  • INT (Parâmetro) – Converte um número decimal ou uma sequência de caracteres em um número inteiro.   
  • DEC (Parâmetro) – Converte uma sequência de caracteres em um número decimal.   
  • STR (Parâmetro) – Converte um número inteiro ou decimal em uma sequência de caracteres.  
  • ABS (Parâmetro) – Retorna o valor absoluto de um número, sem sinal.   
  • SQR (Parâmetro) – Retorna a raiz quadrada do número passado como parâmetro.   
  • UCASE (Parâmetro) – Retorna uma sequência de caracteres com todo o seu conteúdo convertido para letras maiúsculas.   
  • LCASE (Parâmetro) – Retorna uma sequência de caracteres com todo o seu conteúdo convertido para letras minúsculas.   
  • LEN (Parâmetro) – Retorna o número de caracteres de uma sequência.   
  • SUBSTRING (Sequência Pos_Inicial Tamanho) – Retorna uma parte da sequência de caracteres, começando por Pos_Inicial, com o Tamanho determinado.   
  • SEARCH (Sequência Busca Pos_Inicial) – Retorna um número indicando a posição onde a sequência de caracteres Busca é encontrada na sequência original, iniciando por  Pos_Inicial. A busca sempre é realizada a partir da esquerda.   
  • REPLACE (Sequência Seq_Origem Nova_Seq) – Retorna a sequência de caracteres original, com todas as ocorrências de Seq_Origem substituídas por Nova_Seq.   
  • ROUND (Parâmetro Casas_Decimais) – Retorna o número passado como parâmetro, arredondado com o número de casas decimais informado.  
  • TRUNC (Parâmetro Casas_Decimais) – Retorna o número passado como parâmetro, truncado com o número de casas decimais informado.   
  • FAT (Parâmetro) – Retorna o fatorial de um número.   
  • PI – Retorna o valor padrão de PI (3,14159...).   
  • ANG (Parâmetro) – Converte um ângulo passado em radianos para graus.   
  • RAD (Parâmetro) – Converte um ângulo passado em graus para radianos.   
  • SIN (Parâmetro) – Retorna o seno natural de um ângulo, passado em radianos.   
  • COS (Parâmetro) – Retorna o cosseno natural de um ângulo, passado em radianos.   
  • TAN (Parâmetro) – Retorna a tangente natural de um ângulo, passado em radianos.   
  • SEC (Parâmetro) – Retorna a secante natural de um ângulo, passado em radianos.   
  • COSSEC (Parâmetro) – Retorna a cossecante natural de um ângulo, passado em radianos   
  • COTAN (Parâmetro) – Retorna a cotangente natural de um ângulo, passado em radianos.  

Observações:

 No caso das funções SUBSTRING, SEARCH, REPLACE, ROUND e TRUNC, os parâmetros devem ser separados por espaços e não por vírgulas ou ponto e vírgulas. Caso algum parâmetro seja composto, ou seja, possuir uma operação que deva ser executada antes da passagem do parâmetro para a função, ele deve ser colocado entre   parênteses.

 Ex.: SUBSTRING(Cor (Posição + 5) Tamanho).