Mostrando a idade no label do campo 'Data de nascimento' em apl FORM

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

Vlw mano

Esta dando o errp:

ERRO
Undefined index: lang_clientes_fld_dtanasc_anami


Coloquei desta forma:

// Cálculo da idade do cliente
$data_nasc = {dtanasc_anami};
$data_atual = Date(“Y-m-d”);

If (sc_date_empty({dtanasc_anami}))
{
$idade_anami = {lang_clientes_fld_dtanasc_anami} . " (Idade: não calculada)";
}
else
{
$diferencas = array();
$diferencas = sc_date_dif_2 ($data_nasc, “aaaa-mm-dd”, $data_atual, “aaaa-mm-dd”, 2);
$idade_anami = $diferencas[2];
if ($idade_anami < 1) {
$idade_anami = {lang_clientes_fld_dtanasc_anami} . " (Idade: " . $idade_anami . " ano)";
}
else
{
$idade_anami = {lang_clientes_fld_dtanasc_anami} . " (Idade: " . $idade_anami . " anos)";
}
}
sc_set_global($idade_anami);


Escondi o campo idade

rrma

Usei seu código e deu certo, obrigado pela ajuda.

Abç.

Amigos,
Sei que este tópico é antigo, porém estava revendo este cálculo e achei um código menor para conseguir o mesmo resultado e gostaria de compartilhar

{cp_idade} = floor((time() - strtotime({nascimento}))/31556926);

Obrigado

1 Curtida

Muito bom Adsoft.

Adeilson,

Valeu mesmo. Obrigado por compartilhar.