PIS:Forms/Předdefinované dotazy

Z HelpDesk

Co je třeba udělat, aby bylo možné nad blokem formuláře volat předdefinované dotazy:

  • do bloku, nad kterým chci přidat předdefinované dotazy přidat položky LOV_WHERE a LOV_WHERE_BUT (vzor v ES0010.B_STUD)
  • přidat nebo upravit trigger key-entqry nad tímto blokem tak, že místo p_enter_query se dá např.:
:lov_where_blok:='B_PUCH';
p_enter_query_new('b_puch.LOV_WHERE_BUT', :lov_where_blok);
  • případně udělat předchozí úpravu i ve when_new_form_instance
  • přidat LOW_WHERE do LOV(opravit odkaz na blok) a do Skupina záznamů
  • přidat položku B_TEMP.LOV_WHERE_BLOK
  • přidat nebo upravit trigger key-exeqry nad tímto blokem takto:
execute_query;
...
:blok.lov_where := null;
set_item_property('blok.lov_where_but', VISIBLE, property_false);
  • do triggeru pre-query přidat na konec toto:
if :b_puch.lov_where is not null then
	def_where:=add_and(def_where) || :b_puch.lov_where;  
end if; 

V případě dotazu nad blokem, pro který existují předdefinované dotazy, se objeví v toolbaru ikona pro LOV (položka LOV_WHERE_BUT), kliknutím lze vybrat předefinovaný dotaz. Pokud se při dalším dotazu použije dvojí stisk klávesy F7 (vyvolání předchozího dotazu), je předdefinovaný dotaz opakován.