sc_set_focus()

Bom dia!

No evento onValidate de um formulário estou fazendo essa verificação onde se o campo InformarAlteracao não foi preenchido dou o comando sc_set_focus() para o mesmo campo e exibe uma mensagem sc_error_message(), na sequencia o comando sc_error_exit() para abortar a execução, tudo está funcionado corretamente o foco vai para o campo a mensagem é exibida e a execução é abortada.

Porem quando pressiono o botão fechar da mensagem o foco sai do campo onde consequentemente tenho que ir com o mouse e focar o campo novamente.

Existe alguma forma de fechar a mensagem e o foco continuar no campo ?

if(empty({InformarAlteracao}))
{
	sc_set_focus('InformarAlteracao');
	sc_error_message('É necessário informar o motivo da alteração!');
	sc_error_exit();
}

Obrigado

Somente com uma mensagem temporizada.

Ja tentou obrigar o campo e marcar focar campos com erro?

Teste assim
if(empty({InformarAlteracao}))
{
sc_set_focus(‘InformarAlteracao’);
sc_error_message(‘É necessário informar o motivo da alteração!’);
//sc_error_exit();
}

é importante usar o sc_error_exit() em controles, nos demais casos nem sempre existe essa necessidade.

Olá Haroldo!

O ideal pra mim seria realmente colocar esse campo como o obrigatório, porem ele só poderia ser obrigatório em modo de alteração e não de inserção, como no SC não existe a possibilidade de alterar essa propriedade em tempo de execução por isso tenho que fazer essa verificação no onValidate.

De qualquer forma muito obrigado pela resposta.

Olá Rodrigo!

Mesmo comentando ou removendo a linha //sc_error_exit(); o foco continua saindo do campo ‘InformarAlteracao’ quando pressiono o botão fechar da mensagem.

De qualquer forma muito obrigado pela resposta.