Autor Tópico: [RESOLVIDO] Comparação de Datas  (Lida 1733 vezes)

aaguiar

  • Novato
  • *
  • Mensagens: 35
[RESOLVIDO] Comparação de Datas
« Online: Julho 04, 2013, 03:52:49 pm »
Olá Pessoal,

Estou precisando da ajuda de vocês para resolver um probleminha!

Preciso que ao abrir uma consulta com os campos Codigo, Nome, DataRetorno, Status

O sistema verifique a dataatual e faça o seguinte.

if(Datatual > DataRetorno)

{

   Campo Status fica vermelho

} else

{

Campo Status Fica Verde

}

« Última modificação: Julho 05, 2013, 10:28:48 pm por Bernhard »

Almeida

  • Expert
  • *****
  • Mensagens: 610
    • Email
Re:Comparação de Datas
« Responder #1 Online: Julho 04, 2013, 05:45:03 pm »
http://downloads.scriptcase.com.br/downloads/v7/manual/pt_br/webhelp/manual_mp/manual_mp.htm

______________________________________________________________________________
sc_field_style({Meu_Campo}, "Background-Color", "Size", "Color", "Family", "Weight")
Esta macro permite que seja modificado o estilo do campo da consulta dinamicamente.

Parâmetro   Descrição
Field   Nome do campo
Background-Color (opcional)   Cor de fundo da célula do campo
Size (opcional)   Tamanho da fonte do campo
Color (opcional)   Cor da fonte
Family (opcional)   Família da fonte
Weight (opcional)   Largura da fonte
Ex. 01:
sc_field_style({data_nasc}, '#33FF99', '15px', '#000000', 'Arial, sans-serif', 'bold');


Escopo da Macro

Aplicação consulta
onRecord
onScriptInit

Att.
Eliezer Almeida
eliezeralmeidago@hotmail.com
www.infotecsoft.com.br - Modernidade e Eficiência

FredKeyster

  • Expert
  • *****
  • Mensagens: 1702
  • DEWENNINMEN
    • Email
Re:Comparação de Datas
« Responder #2 Online: Julho 04, 2013, 05:48:39 pm »
Faz assim:

if(Datatual > DataRetorno)

{

       sc_field_color ("Status", "#669900");

} else

{

    sc_field_color ("Status", "#FF0000");

}
F. A.
Analista de Sistemas

aaguiar

  • Novato
  • *
  • Mensagens: 35
Re:Comparação de Datas
« Responder #3 Online: Julho 05, 2013, 08:34:56 am »
Pessoal,

Acho que acabei me expressando de maneira errada, minha maior dificuldade está em comparar o campo DataRetorno com a Data Atual.

Não estou conseguindo capturar a data atual do sistema.

Almeida

  • Expert
  • *****
  • Mensagens: 610
    • Email
Re:Comparação de Datas
« Responder #4 Online: Julho 05, 2013, 08:56:30 am »
função Date do php.

date('Y-m-d); Y = ano 2013, m = mês 07 e d = dia 05, ficando 2013-07-05

Att.
Eliezer Almeida
eliezeralmeidago@hotmail.com
www.infotecsoft.com.br - Modernidade e Eficiência

aaguiar

  • Novato
  • *
  • Mensagens: 35
Re:Comparação de Datas
« Responder #5 Online: Julho 05, 2013, 09:25:02 am »
Olá Almeida,

A função que me passou funcionou perfeitamente para retornar a data atual, porém não estou conseguindo comparar a data atual com a data existente no registro.

como posso fazer essa comparação

Almeida

  • Expert
  • *****
  • Mensagens: 610
    • Email
Re:Comparação de Datas
« Responder #6 Online: Julho 05, 2013, 09:30:22 am »
1 - A data do registro tem que estar no mesmo formato da funcao date().
2 - Se for direto da grid use no evento onRecord

Ex:
if({nomedocampodata} < date(formato da data)){
 faço isso.
}
else{
 faço isso.
}

Att.
Eliezer Almeida
eliezeralmeidago@hotmail.com
www.infotecsoft.com.br - Modernidade e Eficiência

aaguiar

  • Novato
  • *
  • Mensagens: 35
Re:Comparação de Datas
« Responder #7 Online: Julho 05, 2013, 09:47:24 am »
Olá Almeida,

meu código ficou assim no evento Onrecord


$current_date = date('Y-m-d');
$dias = sc_date_dif({previsaoretorno}, 'aaaa-mm-dd', $current_date, 'aaaa-mm-dd');


if($dias > 0)
{
   
   sc_field_color("status", "GREEN");
   
}
elseif($dias == 0)
{
   
   
   sc_field_color("status", "GREEN");
   
}
elseif($dias < 0)
{
   
   
      sc_field_color("status", "RED");
   
}


porém o campo não está tendo sua cor modificada! testei a leitura da variável dias e ela está retornando a quantidade de dias corretamente.

aaguiar

  • Novato
  • *
  • Mensagens: 35
Re:Comparação de Datas
« Responder #8 Online: Julho 05, 2013, 10:42:21 am »
Valeu pela força ai pessoal!

Consegui resolver o problema já

Celso R.

  • Expert
  • *****
  • Mensagens: 941
Re:[RESOLVIDO] Comparação de Datas
« Responder #9 Online: Julho 06, 2013, 11:39:40 pm »
Seria possível disponibilizar o código que funcionou para ps demais leitores do fórum.
Celso R.
________________________________
SC - V 8

aaguiar

  • Novato
  • *
  • Mensagens: 35
Re:[RESOLVIDO] Comparação de Datas
« Responder #10 Online: Julho 08, 2013, 02:29:16 pm »
Ok, Segue abaixo o código que utilizei!

Código: [Selecionar]


/**
 * Checking the difference between due date to current date.
 */

//getting the current date from php
$current_date = date('Y-m-d');
$dias = sc_date_dif({previsaoretorno}, 'aaaa-mm-dd', $current_date, 'aaaa-mm-dd');


if($dias >= 0)
   {
   
sc_field_style({status}, "#00FF00", "", "", "", "bold");
 
}

if($dias < 0)
{

  sc_field_style({status}, "#FF0000", "", "", "", "bold");
   
}