(Resolvido) Resultado em um campo status na consulta por linha.

Boa noite amigos.

Tenho uma consulta de nome grid_cracha_funcionario e nela tenho um campo cracha_data_vencimento e outro status

gostaria que ao abrir a consulta o campo status verificasse se o campo:

1- cracha_data_vencimento fosse > que a data atual do servidor então retornar ao campo status a palavra “Ativo”
2- cracha_data_vencimento fosse == a data atual do servidor então retornar ao campo status a palavra “Vencendo”
3- cracha_data_vencimento fosse < que a data atual do servidor etão retornar ao campo status a palavra “Vencido”

Fiz alguma coisa tipo no evento onScriptInit da consulta :

$current_date = date(‘Y-m-d’);

if({cracha_data_vencimento}>$current_date);
{
{status} = “Ativo”;
}
elseif({cracha_data_vencimento} == $current_date)
{
{status} = “Vencendo”;
}
elseif({cracha_data_vencimento} < $current_date)
{
{status} = “Vencido”;
};
não deu certo.

Gostaria de contar com a colaboração dos senhores.

desde já agradeço.

Faz assim:

$_Hoje = date(‘Y-m-d’);

if ({cracha_data_vencimento}>$_Hoje) {
{status} = TarjetaCOR(‘Ativo’, ‘VERDE ESCURO’);
}

if ({cracha_data_vencimento}==$_Hoje) {
{status} = TarjetaCOR(‘Vencendo’, ‘LARANJA’);
}

if ({cracha_data_vencimento}<$_Hoje) {
{status} = TarjetaCOR(‘Vencido’, ‘VERMELHO ESCURO’);
}

Adicionar esta função em sua Biblioteca Interna > Pública, ai só marcar a Biblioteca,
quando for usar suas funções.
https://suporte.scriptcase.com.br/index.php?/Knowledgebase/Article/View/272/5/criando-e-utilizando-uma-biblioteca-no-scriptcase

<?php
/*
Função para Criar uma TARJETA com a String do Campo e Cor Selecionada

como usar:

Esta rotina serve tanto para ser usada em Formulários, quanto em consultas
nos Formularios criar um campo virtual: Nomeseucampo_Cor para receber
o campo com a COR se não o SC vai tentar gravar ele com HTML junto.

FORMULARIOS
{Status_Cor} =  TarjetaCOR({Status}, 'VERDE CLARO');


CONSULTAS
FORMULARIOS
{Status_Cor} =  TarjetaCOR({Status}, 'VERDE CLARO');

O SC tem uma macro que configura a COR, ESTILO, etc, especifica
para CONSULTAS: sc_field_style({Operacao}, '#FF0000', '12px', '#FFFFFF', 'Arial, sans-serif', 'bold');

* Mas o SC não tem esta macro para formulários, por isso usamos esta rotina, para facilitar em ambos.


*/

function TarjetaCOR($String, $Cor) {

	$CorSelecionada='style=color:white;background:green';
	if ($Cor=='ROXO') {
		$CorSelecionada='style=color:white;background:#6500CC';
	}
	if ($Cor=='VERDE ESCURO') {
		$CorSelecionada='style=color:white;background:#003300';
	}
	if ($Cor=='ROSA') {
		$CorSelecionada='style=color:white;background:#FF00FF';
	}
	if ($Cor=='BRANCO') {
		$CorSelecionada='style=color:black;background:#FFFFFF';
	}
	if ($Cor=='LARANJA') {
		$CorSelecionada='style=color:white;background:#FF6500';
	}
	if ($Cor=='VERMELHO ESCURO') {
		$CorSelecionada='style=color:white;background:#800000';
	}
	if ($Cor=='VERDE CLARO') {
		$CorSelecionada='style=color:white;background:#008000';
	}
	if ($Cor=='MARROM') {
		$CorSelecionada='style=color:white;background:#993300';
	}
	if ($Cor=='CINZA') {
		$CorSelecionada='style=color:white;background:#808080';
	}
	if ($Cor=='AMARELO') {
		$CorSelecionada='style=color:black;background:#FFFF00';
	}
	if ($Cor=='PRETO') {
		$CorSelecionada='style=color:white;background:#000000';
	}
	if ($Cor=='VERMELHO CLARO') {
		$CorSelecionada='style=color:white;background:#FF0000';
	}
	if ($Cor=='BEGE') {
		$CorSelecionada='style=color:black;background:#FFCC99';
	}
	if ($Cor=='AZUL ESCURO') {
		$CorSelecionada='style=color:white;background:#000080';
	}
	if ($Cor=='AZUL CLARO') {
		$CorSelecionada='style=color:white;background:#3365FF';
	}
	
	$Retorno='<font '.$CorSelecionada.'><b>'.'&nbsp&nbsp'.$String.'&nbsp&nbsp'.'</b></font>';
	
	return $Retorno;	
	
} // Fim da Função: function TarjetaCOR($Tipo, $String, $Cor)

?>

Mais uma vez meu amigo Jailton Obrigado.

Deu tudo certo.

Obrigado