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.