Generátor sestav: Porovnání verzí
m (→Kódy) |
m |
||
Řádek 147: | Řádek 147: | ||
|Pro export do CSV lze definovat globální výraz ''CSV_SEPAR'', který určuje oddělovač znaků pro CSV soubor (např. CSV_Separ="/") | |Pro export do CSV lze definovat globální výraz ''CSV_SEPAR'', který určuje oddělovač znaků pro CSV soubor (např. CSV_Separ="/") | ||
|} | |} | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==Globální proměnné generátoru sestav== | ||
+ | |||
+ | {| border=1 style="background:#ddddff; color:black" class = "wikitable" | ||
+ | |- | ||
+ | |'''Proměnná''' || '''Popis''' | ||
+ | |- | ||
+ | |INI_Jmeno || | ||
+ | |- | ||
+ | |INI_Jmeno2 || | ||
+ | |- | ||
+ | |INI_Ulice || | ||
+ | |- | ||
+ | |INI_Mesto || | ||
+ | |- | ||
+ | |INI_PSC || | ||
+ | |- | ||
+ | |INI_ICO || | ||
+ | |- | ||
+ | |INI_DIC || | ||
+ | |- | ||
+ | |INI_Ucet || | ||
+ | |- | ||
+ | |KFG_Datum || | ||
+ | |- | ||
+ | |G_Vystavil || | ||
+ | |- | ||
+ | |INI_Sklad || | ||
+ | |- | ||
+ | |INI_KodSkl || | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | Použití těchto proměnných je stejné jako u jiných ručně definovaných proměnných v sestavě. Redefinováním proměnné v [Texty a proměnné] lze změnit popisky. |
Verze z 24. 5. 2010, 11:38
Modul generátor sestav je určen pro zpracování libovolných sestav, které uživatel potřebuje ze skladového systému zjistit. Pro vytváření nových sestav je potřebné znát mnoho věcí z oblasti programování, logiky a zpracování relačních databází.
Proto je nutné konzultovat vytváření sestav s programátory a běžní uživatelé by se měli omezit pouze na úpravu výběrové podmínky a na spuštění vytváření sestavy. Přesto je modul Generátor sestav velmi důležitý, protože umožňuje během pár minut vytvořit značně složité sestavy podle momentálních potřeb uživatele.
Obsah
Spuštění vytvoření sestavy
- Vyberte z nabízeného seznamu skupin sestav skupinu, ve které se nachází vámi požadovaná sestava a stiskněte Enter
- Po zvolení skupiny sestav program nabídne všechny sestavy ze zvolené skupiny. Vyberte si tu, jež vás zajímá. Výběrovou podmínku lze měnit v rámci opravy definice sestavy (klávesa F2) po stisknutí F6 na údaji "Výběrová podmínka" nebo přímo v textu výrazu pro výběrovou podmínku. Výpočet sestavy se spustí stisknutím Enter na požadované sestavě. Vzhledem k tomu, že program může zpracovávat rozsáhlé databáze, může výpočet trvat dlouhou dobu.
Při vytváření sestav je potřeba znát některé důležité vztahy v databázích. Mezi nejsložitější patří způsob vyhodnocování nákupních cen a s tím související způsob vyhodnocování zisku (nebo lépe řečeno marže z prodeje). Připomínáme, že ke každé operaci, která není nákupní, existuje tzv. nákupní operace. Tuto nákupní operaci program vyhledá při evidování dokladu. Cena v nákupní operaci určuje tzv. nákupní cenu operace, která se v globále za více operací označuje jako prodej v NC (spotřeba).
Schéma vyhodnocování nákupní ceny za jednu operaci
NÁKUPNÍ CENA | ||
Operace je nákupní | Pokud operace je příjmová | Pokud operace je dodací (dobropis) |
Operace.Cena | Operace.NakupniCena | |
Operace není nákupní tzn. exist. odpovídající nákupní operace | Pokud nákupní operace je příjmová | Pokud nákupní operace je dodací |
NakupniOperace.Cena | NakupniOperace.NakupniCena |
V jazyku generátoru sestav by příslušná položka záhlaví vyjadřující nákupní cenu mohla vypadat takto :
if ( Nakupni, if ( Prijem, Cena, NakupniCena), if ( NAKUP.Prijem, NAKUP.Cena, NAKUP.NakupniCena)
Poznámka |
---|
V uvedeném příkladě by měl být soubor operací zaveden jako hlavní soubor a zároveň by měl být soubor operací jako relační soubor s alias NAKUP s použitím interního klíče 3 a klíčovou položkou Nakup. |
U účtů není nákupní cena sledována (NC=0), proto by účty neměly být dle výše uvedeného schématu vypočítávány |
Schéma vyhodnocování zisku za jednu operaci :
ZISK Z OPERACE | ||
Operace je nákupní | Pokud operace je příjmová | Pokud operace je dodací (dobropis) |
- | Operace.NakupniCena-Operace.Cena | |
Operace není nákupní tzn. exist. odpovídající nákupní operace | Pokud nákupní operace je příjmová nebo operace je příjmová(vrubopis) | Pokud nákupní operace je dodací |
Operace.Cena-NakupniOperace.Cena | Operace.Cena-NakupniOperace.NakupniCena |
V jazyku generátoru sestav by příslušná položka záhlaví vyjadřující zisk za jednu operaci mohla vypadat takto :
if ( Nakupni, if ( Prijem, 0, NakupniCena - Cena ), if ( NAKUP.Prijem OR Prijem, Cena - NAKUP.Cena, Cena - NAKUP.NakupniCena)
Poznámka | ||||
---|---|---|---|---|
V uvedeném příkladě by měl být soubor operací zaveden jako hlavní soubor a zároveň by měl být soubor operací jako relační soubor s alias NAKUP s použitím interního klíče 3 a klíčovou položkou Nakup. | ||||
U účtů není nákupní cena sledována (NC=0)
Zisk u účtů by tedy neměl být dle výše uvedeného schematu vypočítáván |
Poznámka | |
---|---|
V definici relace v generátoru sestav je možné použít neúplné definování klíčové hodnoty pro dohledání relačního záznamu (může chybět definice výrazů pro vyhodnocení koncových segmentů indexu) - v tomto případě se provede dohledání prvního záznamu vyhovující počáteční části klíče (využití pro zrychlení výpočtu např. při sestavách z dokladů v průvodkách). | |
Při definici segmentu klíče v relačních souborech a omezeních dle indexu není nutné pomocí funkce chr() převádět číselné hodnoty na jednoznakové textové klíčové hodnoty - konverze se provede automaticky (např. místo ...;chr(TypDokladu); ... lze použít jen ...;TypDokladu,...) |
Přenos sestav
Z vybrané skupiny sestav určíme konkrétní sestavu pro přenos
Položka | Popis |
Uložit sestavu | |
Načíst sestavu | |
Načíst sestavu do nové skupiny |
Kódy a přepínače
V generátoru sestav lze pro exporty do CSV definovat globální výraz CSV_HDRCP, který určuje kódovou stránku pro hlavičku CSV souboru (např. CSV_HDRCP=4 ).
Kód | Popis |
0 | ASCII |
1 | Kamenický |
2 | ASCII2 |
3 | LATIN2 |
4 | Windows |
Výchozí hodnotou je kód ASCII. Kódovou stránku v ostatních řádcích CSV souboru lze měnit pomocí funkce conv(s,cp) formou výrazů v definici sestavy.
V generátoru sestav existuje funkce FileExists(f), která vrací hodnotu true, pokud specifikovaný soubor existuje. Vhodné využití této funkce je např. pro tisky ceníků s obrázky pro testování existence souboru s obrázkem.
Přepínač Netisknout záhlaví sestav umožňuje vytvářet textové databáze s pevnou strukturou věty.
Technická poznámka |
Pro export do CSV lze definovat globální výraz CSV_SEPAR, který určuje oddělovač znaků pro CSV soubor (např. CSV_Separ="/") |
Globální proměnné generátoru sestav
Proměnná | Popis |
INI_Jmeno | |
INI_Jmeno2 | |
INI_Ulice | |
INI_Mesto | |
INI_PSC | |
INI_ICO | |
INI_DIC | |
INI_Ucet | |
KFG_Datum | |
G_Vystavil | |
INI_Sklad | |
INI_KodSkl |
Použití těchto proměnných je stejné jako u jiných ručně definovaných proměnných v sestavě. Redefinováním proměnné v [Texty a proměnné] lze změnit popisky.