Trigger When Validate Item - estou com um probleminha...

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
dariocervino
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Qui, 03 Set 2009 8:50 am
Localização: Olinda - PE

tenho uma tela onde só possui um campo habilitado para ser inserido os dados, os demais estou desabilitados, e possuo dois botões, cancelar e confirmar, neste campo caso o produto n exista deve aparecer uma msg de erro... ai é que está meu problema, se eu informar um produto errado e clicar em confirmar blza a msg aparece normal, só que... se eu quizer cancelar a sair da tela ela não sai, fica mostrando a msg sempre pois não sai da trigger de when validate item do campo. Algem sabe como fazer sair da tela mesmo estando com o protudo errado.

OBS: Esta validação tem que ser no item, da certo se esta validação seja feita no botão confirmar, só que por criterios de processo e a lógica do negócio esta validação TEM que ser no campo!!

desde já agradeco!!!
SergioLBJr
Rank: Oracle Guru
Rank: Oracle Guru
Mensagens: 448
Registrado em: Ter, 16 Jun 2009 3:07 pm
Localização: Parobé - RS
Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS

[]s

tenta colocar no seu botão de cancelar

Selecionar tudo

CLEAR_FORM(NO_VALIDATE)
teste e veja se serve para sua tela
dariocervino
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Qui, 03 Set 2009 8:50 am
Localização: Olinda - PE

não, não da certo. porque ele nem chega a fazer as ações no botao. ele ta parando na msg no when validate item! quando ele sai (tenta) do item aí aparece a msg e não posso fazer mais nada a não ser fiquar recebendo a msg ou apagar o que tem no item pra poder fechar!
SergioLBJr
Rank: Oracle Guru
Rank: Oracle Guru
Mensagens: 448
Registrado em: Ter, 16 Jun 2009 3:07 pm
Localização: Parobé - RS
Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS

[]s

Posta o código do teu botão de cancelar e da tua when validate no fórum
Diego_Mello
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 229
Registrado em: Sex, 05 Set 2008 2:59 pm
Localização: Igrejinha - RS
Diego Mello
Igrejinha - RS
www.twitter.com/diegolmello

O teu botão provavelmente está no mesmo bloco.
Ou não. :P

Se tiver, experimenta colocar em um bloco diferente.
Com um:

Selecionar tudo

 exit_form(no_validate);
ou

Selecionar tudo

 clear_form(no_validate); 
Outra forma seria 'enganar' a trigger de validação do item:

Selecionar tudo

set_item_property('bloco.campo', item_is_valid, property_true);
dariocervino
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Qui, 03 Set 2009 8:50 am
Localização: Olinda - PE

consegui fazer uma coisa... não intendi bem o que é mais...

alterei a propriedade Mouse Navegation do botão cancelar para NO e funcionou... extranho!!! ...
Diego_Mello
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 229
Registrado em: Sex, 05 Set 2008 2:59 pm
Localização: Igrejinha - RS
Diego Mello
Igrejinha - RS
www.twitter.com/diegolmello

Não é estranho, não.

Quando essa propriedade fica setada para YES, o foco fica no botão.
Mas como a validação te prende no campo, não deixa navegar.
SergioLBJr
Rank: Oracle Guru
Rank: Oracle Guru
Mensagens: 448
Registrado em: Ter, 16 Jun 2009 3:07 pm
Localização: Parobé - RS
Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS

[]s

já tive problemas com esta propriedade também, desde então eu sempre a deixo com NO em qualquer botão que eu crie.

Alias não entendo o porque da existencia desta propriedade, já que mesmo quando ela esta igual a NO a ação de clicar no botão ainda funciona.
Diego_Mello
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 229
Registrado em: Sex, 05 Set 2008 2:59 pm
Localização: Igrejinha - RS
Diego Mello
Igrejinha - RS
www.twitter.com/diegolmello

A propriedadade "Mouse Navigate" serve para navegar para o item clicado com o mouse (quando setado para YES).

O que é muito útil quando tu queres ativar ou não as triggers de navegação de item.

Ex.: Considere um botão com a propriedade setada para NO.
Ao clicar no botão, a navegação permanecerá no item em que tu estavas antes da ação. Nenhuma trigger de navegação será afetada, já que o cursor continua no mesmo lugar.

Espero ter ajudado, qualquer duvida posta ai.
Responder
  • Informação