XDS příklad

Definujme si nyní dokument faktury, který bude vazbu initial obsahovat nejen u odběratele, ale také u jednotlivých položek, kde faktura čerpá z dokumentů artikl.

<DocumentDef>
<label>Faktura</label>
<name>faktura</name>
<group>obchod</group>
<content>
<area label="Identifikace faktury" name="identif_faktury" short="idfak">
<element label="Číslo faktury" name="cislo_faktury" short="cifa" based-on="cislo"/>
<element label="Datum vystavení" name="datum_vystaveni" short="dtmvst" based-on="datum"/>
<element label="Datum splatnosti" name="datum_vystaveni" short="dtmspl" based-on="datum"/>
<element label="Datum zdnan. plnění" name="datum_zdan_plneni" short="dtmzp" based-on="datum"/>
</area>
<area label="Odběratel" name="odberatel" short="odb" source="initial:subjekt:/sidlo">
<element label="Bonita odběratele" name="bonita_odberatele" short="bnt" appear-if="input" initial="3" source="::/bonita_subjektu_jako_zakaznika"/>
</area>
<area label="Položky faktury" name="polozky_faktury" short="plzky">
<area name="polozka" short="plzka" repetition="type:user" source="initial:artikl:/polozka_prodeje"/>
</area>
<area label="Suma faktury" name="suma_faktury" short="smfa">
<element label="Cena celkem bez DPH" name="cena_celkem_bez_dph" short="ccbd" based-on="castka" source="count::sum(/polozky_faktury/polozka/cena_bez_dph)"/>
<element label="DPH celkem" name="dph_celkem" short="dphc" based-on="castka" source="count::sum(/polozky_faktury/polozka/dph)"/>
<element label="Celkem k úhradě" name="celkem_k_uhrade" short="ckuh" based-on="castka" source="count::../cena_celkem_bez_dph + ../dph_celkem"/>
</area>
</content>
<services>
<area name="identifikace_faktury_s_polozkami" descr="slouží pro reklamační protokol">
<element name="cislo_faktury" take-from="/identif_faktury/cislo_faktury"/>
<element name="datum_vystaveni_faktury" take-from="/identif_faktury/datum_vystaveni"/>
<area name="polozky" take-from="/polozky_faktury/polozka">
<element name="kod"/>
<element name="nazev"/>
</area>
</area>
</services>
</DocumentDef>

V této definici jsou použity výpočtové prvky, které sčítají položky faktury a počítají DPH a s tím související částky. Za povšimnutí stojí, že zde je také použit mechanismus initial, který má ovšem zdroj ve výpočtu hodnoty a nepropojují se tedy žádné dokumenty. Zde je klíčovým slovem initial určeno pouze to, že se bude vypočítávaná hodnota rovněž i ukládat a že je tím pádem opravitelná (pokud by blo nežádoucí umožňovat ruční opravení hodnoty, je možné nastavit tomuto prvku či celé oblasti výpočtů přístup read-only pomocí secrecy-lev).


XDS příkladDAD příkladu