Mestre Detalhe + sc_error_exit();

Boa tarde pessoal, estou utilizando um formulário com um Mestre Detalhe e está ocorrendo um erro quando faço uma verificação para não deixar inserir sem ser atendida a mesma…

tenho o seguinte código no onValidate

[code]$current_date = date(‘Y-m-d’);
{amount_days} = sc_date_dif({data_saida}, ‘aaaa-mm-dd’, $current_date, ‘aaaa-mm-dd’);

if({amount_days} < 15)
{
sc_error_message(“A solicitação deve ser realizada com no mínimo 15 dias de antecedência!!”);
sc_error_exit();
}[/code]

a verificação funciona numa boa, não insere no banco mas acontece o seguinte erro no formulário mestre detalhe

como posso solucionar esse problema…

Coloque o formulário em Modo DEBUG, execute novamente e veja como ficou montado o SQL que está gerando o erro. Qualquer coisa posta a imagem do SQL aqui.

code: SELECT count() from “public”.req_viagem_servidores where id_req_viagem =
-1: ERRO: erro de sintaxe no fim da entrada LINE 1: …) from “public”.req_viagem_servidores where id_req_viagem = ^
ADOConnection._Execute(SELECT count(
) from “public”.req_viagem_servidores where id_req_viagem = , false) % line 1085, file: adodb.inc.php
ADOConnection.Execute(SELECT count(*) from “public”.req_viagem_servidores where id_req_viagem = ) % line 3268, file: form_public_req_viagem_servidores_apl.php
form_public_req_viagem_servidores_apl.nm_select_banco() % line 1100, file: form_public_req_viagem_servidores_apl.php
form_public_req_viagem_servidores_apl.controle() % line 1521, file: form_public_req_viagem_servidores.php[/code]

o sql do mestre detalhe ta sendo montado assim

Pelo que estou entendendo, a tabela req_viagem_servidores ou está com a definição de conexão errada ou não existe. Veja no formulário detalhe esta informação.

a tabela existe sim… se eu realizo o cadastro seguindo as regras o mestre detalhes aparece normalmente, insiro os dados e grava ok…

só quando faço a verificação das datas é uso o sc_error_exit() é que dá esse erro…

Gabriel,

Realmente tá estranho. Eu já tive problemas ao usar o SC_ERROR_MESSAGE() junto com o SC_ERROR_EXIT(). Experimente trocar o SC_ERROR_MESSAGE por um simples ECHO só pra testar e veja se funciona.
Uma outra alternativa seria criar um evento Ajax no campo {data_saida} e colocar o teste lá. Como nunca usei essas macros com mestre-detalhe, fiquei sem muitas opções.

Kleyber… eu também já realizo a verificação no onchange do data saida… mas apenas mostro a mensagem… eu não queria era que o usuário ignorasse a mensagem e inserisse mesmo assim…

vou tentar do modo como você falou… apenas com o echo… e posto o resultado…