Datas Especiais - Como validar ??

Quando se faz um filtro por data, e se opta por aquelas datas especiais, tipo: Ultimo Ano, Ultimo 24 meses, etc… o SC acaba gerando um intervalo de datas automaticamente, mesmo quando temos um único campo de data no filtro, como podemos ter acesso as duas datas, data inicial e final, do intervalo gerado por esse recurso de datas especiais, para podermos validarmos e até mesmo usá-las por exemplo num cabeçalho da consulta ???

Ola Ronaldo sim e possível sim.
Abaixo explicação de como obter.

Eu tenho um campo Manual do tipo data “Especial/Normal” se chama fecha esta em espanhol.
No Evento OnValidate do Filtro o SC “disponibiliza” uma variavel que tem o mesmo nome do seu campo fecha seguido de _cond ficando assim fecha_cond
Dentro do OnValidate tenho 2 Variáveis que são minhas as cuais eu utilizarei onde quiser transformando-as em Globais, elas são
$fecha_inicial y $fecha_final
O resto você já poderá deduzir…


switch ($fecha_cond) {
    case "eq": //igual
        $fecha_inicial = $fecha;
        $fecha_final   = $fecha;
        break;
    case "bw": //between
        $fecha_inicial = $fecha_ano.$fecha_mes.$fecha_dia;
        $fecha_final   = $fecha_input_2_ano.$fecha_input_2_mes.$fecha_input_2_dia;
        break;
    case "HJ": //hoje
        $fecha_inicial = $fecha_ano.$fecha_mes.$fecha_dia;
        $fecha_final   = $fecha_ano.$fecha_mes.$fecha_dia;
        break;
    case "OT": //Ontem
        $fecha_inicial = $fecha_ano.$fecha_mes.$fecha_dia;
        $fecha_final   = $fecha_ano.$fecha_mes.$fecha_dia;
        break;
    case "U7": //ultimos 7
        $fecha_inicial = $fecha_ano.$fecha_mes.$fecha_dia;
        $fecha_final   = $fecha_input_2_ano.$fecha_input_2_mes.$fecha_input_2_dia;
        break;
    case "MM": //Este mes
        $fecha_inicial = $fecha_ano.$fecha_mes.$fecha_dia;
        $fecha_final   = $fecha_input_2_ano.$fecha_input_2_mes.$fecha_input_2_dia;
        break;
    case "M6": //Ultimo 6 meses
        $fecha_inicial = $fecha_ano.$fecha_mes.$fecha_dia;
        $fecha_final   = $fecha_input_2_ano.$fecha_input_2_mes.$fecha_input_2_dia;
        break;
    case "M3": //Ultimo 3 meses
        $fecha_inicial = $fecha_ano.$fecha_mes.$fecha_dia;
        $fecha_final   = $fecha_input_2_ano.$fecha_input_2_mes.$fecha_input_2_dia;
        break;
    break;
}

Para obter o valor dos outros tipos especias basta inspecionar o elemento y você vera os valores do Combo

Willian,

Quer dizer que o nome da variável da primeira data é igual a nome que temos para o campo no filtro, e o da 2a. data é o mesmo nome acrescido de input_2 ???

Considerando que o meu campo chama-se DTFiltro, então eu teria isso:

$dt1 = $DTFiltro
$dt2 = $DTFiltro_input2

Correto ???

Ou teria que atribuir separadamente o ano,mes e dia como está no seu exempo ??

Bom no seu caso seria

DTFiltro – seu campo

Variáveis disponibilizadas

$DTFiltro --> para apenas data tipo “Igual a”
$DTFiltro_ano , $DTFiltro_dia, $DTFiltro_mes --> para tipos especias data 1
$DTFiltro_input_2_ano, $DTFiltro_input_2_dia, $DTFiltro_input_2_mes --> para tipos especias data 2

As datas são separadas por isso você deve juntalas