602SQL-Úplná dokumentace Index  

Aktualizace číselníku ve formuláři z databáze

XML formuláře často obsahují číselníky, z nichž se vytvářejí například nabídky v combech. Pokud se obsah číselníku může s časem měnit, je účelné propojit číselník s databází tak, aby se při každém otevření formuláře aktualizovaly nabídky založené na číselníku.

V návrhu formuláře lze specifikovat URL, odkud se má přečíst aktuální obsah číselníku. Toto URL má tvar:

http[s]://<host_name>[:<port_number>]/[<path>/]602.php/<server_name>/<schema_name>/DAD/<dad_object_name>[?<parameters>]
dad_object_name je jméno DAD uloženého na serveru server_name ve schématu schema_name. Tento DAD musí vytvářet XML soubor s odpovídající strukturou.

Server, který poskytuje data pro aktualizaci číselníků, by měl umožnit anonymní přístup přes web XML rozhraní.

Příklad:

Nechť číselník je tvořen dvojící Polozka a Id z dotazu SELECT cis_jed+' (žadatel: '+prijmeni+' '+jmeno+')' AS polozka, id, cis_jed FROM Zadosti_tab ORDER BY cis_jed

DAD je navržen takto:

i XML Top: SELECT cis_jed+' (žadatel .... 
E <list> 
  E <listitem> TABLE base_cursor
    At itemtext="polozka"
    At value="id"
  E /<listitem> 
E /<list>
Globálně je pro tento DAD definován jmenný prostor http://software602.cz/forms a prefix fm. Výsledná XML data jsou např.
<?xml version="1.0" encoding="UTF-8" ?>
<fm:list xmlns:fm="http://software602.cz/forms">
 <fm:listitem itemtext="MD-1000 (žadatel: Novák Petr)" value="1000"/>
 <fm:listitem itemtext="MD-1001 (žadatel: Veselý alois)" value="1001"/>
 ...
</fm:list>
V prostředí 602XML Designeru se číselník definuje v okně Možnosti formuláře, záložka Číselníky. V okně Přidat nový do pole Nahrát data ze souboru se zapíše přímo HTTP požadavek podle popisu výše nebo, je-li formulář otevírán přímo z databáze, pomocí výrazu $(Eval(... popsaného na stránce Integrace formulářů s databází.