Filtro na aplicação calendário não filtra

Na aplicação menu tenho a seguinte instrução no onExecute

// AGENDA - BEBÊS
if ({sc_menu_item} == “item_11”)
{
[var_tipo] = ‘B’;
}

// AGENDA - GESTANTES
if ({sc_menu_item} == “item_10”)
{
[var_tipo] = ‘G’;
}

Na aplicação calendario se eu coloco no SQL

tipo = ‘[var_tipo]’ funfa legal

Mas se eu coloco no evento onScriptInit

$where = ‘’;
if ([var_tipo] != ‘’){
$where = " tipo = ‘[var_tipo]’ ";
}

if (!empty($where)) {
if (empty({sc_where_atual})) {
sc_select_where(add) = " WHERE " . $where;
} else {
sc_select_where(add) = " AND " . $where;
}
}

Ele simplesmente ignora o filtro…

Alguem tem uma explicação ou estou fazendo errado esse trem ?

Valeu

Carlos

Experimente colocar no OnApplicationInit

Segundo o manual do SC a macro sc_select_where(add) só funciona em Aplicação Gráfico no evento onScriptInit e em Aplicação Consulta
nos eventos onHeader e onScriptInit.

acrescente um código aqui:

$where = ‘’;
if ([var_tipo] != ‘’){
echo ‘var_tipo ok’;
$where = " tipo = ‘[var_tipo]’ ";
}
else
{
echo ‘var_tipo não ok’;
}

se aparecer var_tipo não ok, problema esta na passagem do parametro.

Acho mesmo que problema esta no que o George Carvalho disse. Ele passa as variaveis porem não filtra.

eu também acredito que o George esta certo.

Construa via global direto na where do select da aplicação, da na mesma.

Como diria o poeta…“que merd*”…rs**