[RESOLVIDO] - Calcular diferença entre a data de Validade e a data do sistema

Boa tarde!

Criei um campo chamado {situação} e ele é dado pela diferença entre a {datade_valdiade} - {data do sistema}.
Gostaria de saber como faço pra pegar o valor da data do sistema.

qeria fazer algo do tipo
if ({situação}> {data do sistema})
then ok
else vencido

como faria isso?

O que seria “data do sistema”?

Se for a data atual: $data_atual = date(“Y-m-d”);

Sim, é a data atual.

Eu tentei colocar esse codigo no evento OnApplicationInit
e nao funcionou.
Alguem pode m ajudar ver o que estou fazendo de errado.

Exemplo do campo {CNH_VALIDADE} 21/03/2013 13:14:32

$current_date = date(‘Y-m-d’);
{amount_days} = sc_date_dif( {CNH_VALIDADE}, ‘aaaa-mm-dd’, $current_date, ‘aaaa-mm-dd’);

if({amount_days} > 0)
{
{Validade}= “Ok”;
}
elseif({amount_days} == 0)
{
{Validade}= “Ok”;
}
elseif({amount_days} < 0)
{
{Validade}= “Vencida”;
}

O formato do campo {CNH_VALIDADE} é realmente Y-m-d?

{CNH_VALIDADE} 21/03/2013 13:14:32

Teste {amount_days} = sc_date_dif( {CNH_VALIDADE}, ‘dd/mm/aaaa’, $current_date, ‘aaaa-mm-dd’);

Coloquei esse código no evento OnApplicationInit

$current_date = date(‘Y-m-d’);
{amount_days} = sc_date_dif( {CNH_VALIDADE}, ‘dd/mm/aaaa’, $current_date, ‘aaaa-mm-dd’);

if({amount_days} > 0)
{
{Validade}= “Ok”;
}
elseif({amount_days} == 0)
{
{Validade}= “Ok”;
}
elseif({amount_days} < 0)
{
{Validade}= “Vencida”;
}

Esta dando o seguinte erro

ERRO
Undefined property: Cfe_gri_entrata_saida_veiculo_info_cah_ini::$cnh_validade

OnApplicationInit

Este evento ocorre antes da aplicação executar o SQL. Só é executada ao carregar a aplicação.

Coloquei no Evento OnScriptInit e funcionou.

Muito Obrigada.!


$current_date = date(‘Y-m-d’);
{amount_days} = sc_date_dif( {CNH_VALIDADE}, ‘dd/mm/aaaa’, $current_date, ‘aaaa-mm-dd’);

if({amount_days} > 0)
{
{Validade}= “Ok”;
sc_field_color (“Validade”, “#0000FF”);
}
elseif({amount_days} == 0)
{
{Validade}= “Ok”;
sc_field_color (“Validade”, “#0000FF”);
}
elseif({amount_days} < 0)
{
{Validade}= “Vencida”;
sc_field_color (“Validade”, “#FF0000”);
}

Coloquei no Evento OnRecord o seguinte codigo e funcionou.

$current_date = date(‘Y-m-d’);
echo “$current_date”;
{amount_days} = sc_date_dif( {CNH_VALIDADE},‘aaaa-mm-dd’, $current_date, ‘aaaa-mm-dd’);
{Qtd_dias} = {amount_days};
if ({Qtd_dias} > 0)
{{Validade} = “OK”;
sc_field_color (“Validade”, “#0000FF”);}
else
{{Validade} = “Vencida”;
sc_field_color (“Validade”, “#FF0000”);}

Estou com caso parecido, mas o banco é Firebird, e coloquei dentro do OnScriptInit fiz assim:

$current_date = date('d-m-Y');

$check_sql = ("SELECT datediff (day, date '{DATA_VENCIMENTO}', date $current_date)
FROM
    FIN016
WHERE 
	(CODIGO = '{CODIGO}' ) 

");


$diferenca = "";


sc_lookup(rs, $check_sql);



if (isset({rs[0][0]}))   
{
	{ATRASO} = $diferenca = {rs[0][0]};
	
}

Sendo que {ATRASO} é o campo que recebe a diferença de dias do vencimento com a data atual, mas não está funcionando, este campo está como número.