Como fiz:
No form, meu campo de data de nascimento chama-se {data_nascimento}
No label do campo, apenas a global:
[cliente_idade]
No evento onNavigate:
sc_label(“data_nascimento”) = [cliente_idade];
No evento onLoad:
// Cálculo da idade do cliente
$data_nasc = {data_nascimento};
$data_atual = Date(“Y-m-d”);
If (sc_date_empty({data_nascimento}))
{
$cliente_idade = {lang_clientes_fld_data_nascimento} . " (Idade: não calculada)";
}
else
{
$diferencas = array();
$diferencas = sc_date_dif_2 ($data_nasc, “aaaa-mm-dd”, $data_atual, “aaaa-mm-dd”, 2);
$cliente_idade = $diferencas[2];
if ($cliente_idade < 1) {
$cliente_idade = {lang_clientes_fld_data_nascimento} . " (Idade: " . $cliente_idade . " ano)";
}
else
{
$cliente_idade = {lang_clientes_fld_data_nascimento} . " (Idade: " . $cliente_idade . " anos)";
}
}
sc_set_global($cliente_idade);
Idade calculada na hora, na carga inicial e navegação do form.
Abraço a todos.
Rodrigo