Cálculos para configuração do produto
Você pode usar cálculos para operações aritméticas ou lógicas. Eles complementam as restrições de expressão nos modelos de configuração de produtos. É possível definir cálculos na página Detalhes do modelo de configuração do produto baseada em restrições e criar expressões para os cálculos no editor de expressões.
Um cálculo é um elemento que pode ser usado em um modelo de configuração de produto. Os cálculos complementam as restrições ao permitir o uso de números decimais para calcular valores ao configurar um produto. Além disso, os cálculos têm um conjunto maior de operadores disponíveis do que as restrições.
Semelhante a uma restrição, o sistema associa um cálculo a um componente específico em um modelo de configuração de produto. Da mesma forma, outro componente não pode reutilizar um cálculo e você não pode compartilhá-lo com outro componente. Uma diferença importante entre os cálculos e as restrições é que os cálculos são imperativos (unidirecionais), enquanto as restrições são declarativas (bidirecionais).
Um cálculo consiste em um atributo de destino e uma expressão de cálculo.
Atributo de destino
Um atributo de destino é um atributo que recebe o resultado da expressão de cálculo.
Na expressão a seguir, o atributo de destino é uma medida de toalha de mesa.
Expressão: If [decimalAttribute1 <= decimalAttribute2, True, False]
Nessa expressão, DecimalAttribute1 é o comprimento da mesa e decimalAttribute2 é o comprimento da toalha de mesa. A expressão retorna o valor Verdadeiro ao atributo de destino se decimalAttribute2 é maior ou igual a decimalAttribute1. Caso contrário, a expressão retorna Falso. Portanto, a medida da toalha de mesa será aceitável se o comprimento da toalha for o mesmo que ou exceder o comprimento da mesa.
Você pode definir todos os tipos de atributo aos quais o configurador de produtos oferece suporte como atributos de destino, exceto texto sem uma lista fixa.
O valor de um atributo de destino não pode restringir os valores dos atributos de entrada porque os cálculos são unidirecionais. Portanto, o valor do atributo de destino é definido com base nas alterações no valor dos atributos de entrada, mas uma alteração no valor do destino não afeta o valor dos atributos de entrada. Esse comportamento difere do comportamento das restrições. As restrições ocorrem em ambas as direções.
Exemplo
Na expressão a seguir, o destino para o cálculo é o comprimento de um fio elétrico e o valor de entrada é uma cor.
Expressão: [If Color == "Green", 1.5, 1.0]
Quando você configura o item, o comprimento do cabo de alimentação é definido como 1,5 se você especifica Verde como o valor do atributo de cor. Se você especificar qualquer outra cor, o comprimento será definido como1,0. No entanto, como os cálculos são unidirecionais, o cálculo não define o valor do atributo de cor como Verde se você especifica um comprimento de 1,5.
Se um atributo de destino for do tipo inteiro, mas um cálculo gerar um número decimal, o sistema retornará apenas a parte inteira do resultado calculado, removerá a parte decimal e não arredondará o resultado. Por exemplo, um resultado de 12,70 será mostrado como 12.
Os cálculos ocorrem quando todos os atributos de entrada têm um valor. É possível substituir o valor que o sistema calcula para o atributo de destino, a menos que ele esteja definido como oculto ou somente leitura.
Configurar um atributo de destino como oculto ou somente leitura
Para definir um atributo como oculto ou somente leitura, siga estas etapas.
Selecione Gerenciamento de informações sobre o produto > Produtos > Modelos de configuração do produto.
Selecione um modelo de configuração do produto. Depois, no Painel de Ações, selecione Editar.
Na página Detalhes do modelo de configuração do produto baseado em restrições, selecione o atributo a ser usado como um atributo de destino.
Na FastTab Atributos, selecione Oculto ou Somente leitura.
Um cálculo não pode substituir os valores definidos por você. Os valores definidos ao configurar um produto são os valores que o sistema usa. O cálculo que ocorre quando você altera os valores de entrada em um cálculo não pode substituir os valores fornecidos para um atributo específico.
Se você remover um valor de entrada em um cálculo, o sistema removerá também o valor do atributo de destino.
Mensagem de erro - O modelo está em contradição
A mensagem de erro O modelo está em contradição é exibida quando um cálculo inclui um erro ou quando há uma contradição em uma ou mais restrições.
Situações em que os erros podem ocorrer em cálculos são quando:
Um valor é dividido por 0 (zero).
Existe um conflito entre os dois elementos a seguir:
Os valores que estão disponíveis para um atributo e são limitados por uma restrição
Um valor gerado por um cálculo
Os valores que o cálculo retorna estão fora do domínio do atributo, por exemplo, um inteiro de
[1..10]
calculado para zero (0).
Mensagem de erro – Após a validação bem-sucedida de um modelo de produto
Se você receber uma mensagem de erro Após a validação bem-sucedida de um modelo de produto, o sistema não incluiu os cálculos na validação. Você deve testar o modelo de configuração de produto para localizar erros nos cálculos. Para testar um modelo de configuração de produto, siga estas etapas:
Selecione Gerenciamento de informações sobre o produto > Produtos > Modelos de configuração do produto.
Selecione um modelo de configuração do produto. Em seguida, no Painel de ações, no grupo Executar, selecione Teste.