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