Evaluate
Avalia uma expressão como um cálculo.
Formato
Evaluate ( expressão {; [campo1 ; campo2 ;...]}
Parâmetros
expressão
- qualquer expressão de texto ou campo de texto.
campos
- uma lista dos campos de que esta função depende. Quando esses campos forem modificados, o cálculo atualizará seu resultado.
Os parâmetros entre chaves { } são opcionais. Observe que a lista de campos opcionais fica entre colchetes [ ].
Tipo de dados retornado
texto, número, data, hora, carimbo de data/hora, container
Originada na versão
7.0
Descrição
O parâmetro campos
opcional é uma lista de campos de que esse cálculo depende. Se um campo necessário não estiver listado, a modificação desse campo não atualizará o resultado do cálculo.
Notas
- Se o script no lado do servidor tiver a função Evaluate (Avaliar), use os nomes de função em inglês no cálculo de Avaliar. Avaliar não reconhece os nomes de função localizados quando é avaliada em um script no lado do servidor. Consulte Sobre a execução de scripts no FileMaker Server e no FileMaker Cloud.
Exemplo 1
Evaluate(CampodeTexto)
retorna 4 quando CampodeTexto contém 2 + 2.
Evaluate("campodetexto")
retorna 2 + 2 quando campodetexto contém 2 + 2.
Evaluate(GetField("campodetexto"))
retorna 4 quando campodetexto contém 2 + 2.
Evaluate(CampodeTexto;[Valor])
retorna .80 quando CampodeTexto contém .08 * Valor, e o campo Valor contém 10.00.
Exemplo 2
Evaluate("Let(Alíquota=,05;"& Cálculo de alíquota &")")
retorna ,50 quando o campo Cálculo de alíquota contém SubTotal * Alíquota, em que SubTotal é um campo numérico que contém 10,00.
Exemplo 3
O seguinte exemplo mostra como passar parâmetros nomeados usando as funções Evaluate
, Let
e Get(ScriptParameter)
, permitindo o acesso somente à variável "a"
(o exemplo retorna 6):
ScriptParameter = "a = 5; b = 10"
Evaluate("Let ( [" & Get(ScriptParameter) & "]; a + 1 )" )
Exemplo 4
O seguinte exemplo mostra como passar parâmetros nomeados, permitindo o acesso às variáveis "a"
e "b"
. O primeiro parâmetro simplificado torna o segundo parâmetro mais complexo (o exemplo retorna 6, 12):
ScriptParameter = "a = 5; b = 10"
Evaluate("Let ( [" & Get(ScriptParameter) & "]; a + 1 & \", \" & b + 2 )")
Exemplo 5
O seguinte exemplo mostra como passar parâmetros nomeados, mantendo a capacidade de verificar a sintaxe do segundo parâmetro da função Let
(o exemplo retorna 6, 12):
ScriptParameter = "a = 5; b = 10"
Let( [a = Evaluate("Let( [" & Get(ScriptParameter) & "]; a )"),
b = Evaluate("Let( [" & Get(ScriptParameter) & "]; b )")]; a + 1 & ", " & b + 2 )
Exemplo 6
A função Evaluate avalia uma expressão, incluindo valores de campo a serem avaliados como uma fórmula de cálculo. Ela também permite especificar as dependências de campo de forma que um cálculo que use a função de avaliação possa ser acionado devido a mudanças em outros campos do mesmo registro. Essa função avalia as fórmulas definidas pelo usuário. Por exemplo, é possível criar uma fórmula no campo Total que calcule o imposto estadual:
Evaluate(FórmulaImpostoEstadual) + CustoEnvio
em que o campo FórmulaImpostoEstadual contém:
SubTotal * 1.0875
e o campo SubTotal contém o subtotal sem incluir o imposto e a taxa de envio.
A função Evaluate tem um segundo parâmetro opcional, que é um campo de que o cálculo depende. Quando o conteúdo do campo dependente muda, o FileMaker Pro reavalia o cálculo. No seguinte exemplo, o cálculo Total será reavaliado quando o SubTotal mudar:
Evaluate(FórmulaImpostoEstadual; SubTotal) + CustoEnvio
O parâmetro dependente pode também ser útil em outros casos. Por exemplo,
Evaluate("Get(CurrentTimeStamp)"; [CampoB; CampoC])
armazenará um carimbo de data/hora no campo de cálculo sempre que CampoB ou CampoC mudar.