ČVUT PRAHA
Fakulta elektrotechnická
Diplomová práce
Jednoduchý ekonomický systém pro malého podnikatele
Prohlášení
Prohlašuji, že jsem zadanou diplomovou práci zpracoval sám s přispěním vedoucího diplomové práce a používal jsem pouze literaturu v diplomové práci uvedenou. Dále prohlašuji, že nemám námitek využití této práce katedrou počítačů na ČVUT Praha FEL.
Poděkování
Rád bych na tomto místě poděkoval všem, bez kterých by nemohla tato práce vzniknout. Především mým rodičům za jejich obrovskou podporu při mém studiu a nejen při něm. Dále bych chtěl poděkovat mému vedoucímu diplomové práce ing. Michalu Valentovi za vedení mé práce. V neposlední řadě bych také rád poděkoval všem, kteří přispěli svými kritickými připomínkami k vylepšení této práce.
Anotace
Cílem této diplomové práce bylo vytvořit systém, který by zjednodušil činnost soukromých podnikatelů při vedení jednoduchého účetnictví a vyplňování daňových i jiných formulářů spjatých s jednoduchým účetnictvím. Systém byl navržen pro plátce DPH. Tento systém bude také nabízet možnost časového sledování cen vybraného zboží z elektronických ceníků.
Celá diplomová práce se dá rozdělit do čtyř základních bloků. Nejdříve se na základě prvního průzkumu náročnosti práce určí vhodné metodologie a technologie. Ve druhé části se provede důkladná analýza problematiky související s vedením jednoduchého účetnictví a analýzy ceníků. Třetí část je implementační a ve čtvrté části jsou popsány postupy testování systému a jeho instalace.
Annotation
The goal of this thesis was to create a system to simplify the functioning of private enterprisers on single-entry bookkeeping and filling the tax and other forms tied to single-entry bookkeeping. This system was projected for payers of Value Added Tax. The system will also offer the monitoring of prices chosen from the electronic pricelists.
Whole thesis can be divided to four basic blocks. At first we will determine appropriate methodologies and technologies, based on the first study of demanding ness of work. In the second part we will carry out thorough analysis of problems related with single-entry bookkeeping and pricelists analysis. The third part is implementary and in the fourth part are described the procedures of testing of the system and its installation.
2. Použité metodologie a technologie
3.5 Hardwarové a softwarové požadavky
4.1 Analýza problematiky jednoduchého účetnictví
4.1.1 Slovníček pojmů a zkratek:
4.1.3 Pomocná kniha drobného majetku
4.1.4 Pomocná kniha služeb, oprav a režie
4.1.5 Pomocná kniha investičního majetku
Doklad vydaný resp. přijatý vstupní:
Doklad vydaný resp. přijatý globální:
Globální proměnné pro nastavení systému
Globální proměnné pro nastavení systému
DFD úroveň 2 – Nastavení systému JU / Převod do dalšího období:
4.5 Dynamický model dat - stavové diagramy
STD úroveň 1 – Záznamy spojené s peněžním deníkem:
STD úroveň 1 – Záznamy peněžního deníku a knihy dokladů:
STD úroveň 2 – Ukončení záznamu knihy
5. Návrh uživatelského rozhraní
Zpracování a konvence uživatelského rozhraní
6.2 Seznam použitých komponent
A.1.1.2 Speciální menu vertikální
A.1.1.3 Speciální menu horizontální
A.1.2.1 Vstupní formulář pro peněžní deník
A.1.2.2 Malý peněžní deník (jen vstupní údaje)
A.1.2.4 Správa kódů pro peněžní deník
A.1.2.5 Formulář pro zaplacení dokladu
A.1.3.1 Vstupní formulář knihy dokladů
A.1.4.1 Vstupní formulář pro knihu drobného majetku
A.1.4.2 Formulář pro správu odpisů DM a režie DM
A.1.5 Kniha služeb, oprav a režie
A.1.5.1 Vstupní formulář pro knihu služeb, oprav a režie
A.1.6 Kniha investičního majetku
A.1.6.1 Vstupní formulář pro knihu investičního majetku
A.1.7.1 Vstupní formulář pro adresář
A.1.9 Formulář pro odstraňování souvisejících záznamů
A.3 Ukázkový výpis funkce Tracer systému JU
A.4 Ukázkový výpis funkce Tracer systému AnaCen
A.5 Doporučené postupy účtování v JU pro uživatele
A.5.1.2 Vydání dokladu za provedené služby – zaplaceno ihned
A.5.1.3 Vydání dokladu za provedené služby – zaplaceno později
A.5.1.4 Pozdější zaplacení dokladu
A.5.1.5 Přijetí dokladu za provedené služby – zaplaceno ihned
A.6 Uživatelská příručka systému JESpMP AnaCen
A.6.1 Nastavení a správa ceníků
A.6.3 Hromadný import ceníků z adresáře
Při studiu vysoké školy jsem se stal živnostníkem, abych si tak mohl přivydělávat. K tomu jsem potřeboval nějakým způsobem vést jednoduché účetnictví. A protože mé „podnikání“ mělo charakter občasných zakázek, stačilo mi jen pár „inteligentních“ listů v tabulkovém procesoru. Inteligenci těchto listů jsem postupně z roku na rok, dle potřeby, zvyšoval. Až mě jednou napadlo, že by stálo za to, vytvořit si vlastní program na jednoduché účetnictví. A jelikož v mé rodině a v mém okolí je několik živnostníků začal jsem pomalu tuto myšlenku zdokonalovat. Až jsem dospěl k rozhodnutí, že ji zrealizuji a to v podobě diplomové práce.
K jednomu ze svých podnikatelských oborů často nahlížím do různých ceníků s počítačovými komponenty a proto jsem se rozhodl vytvořit i analýzu ceníku. Elektronika a počítačové komponenty obzvláště však mají oproti jiným druhům zboží jednu podstatnou nevýhodu. A to, že rychle „stárnou“ a ceny rychle klesají. Avšak na první pohled je patrná jistá periodicita a pravidelnost. Trend, který platí teď pro nový „výkonnostní“ model, bude s největší pravděpodobností platit i pro ten příští. Z tohoto důvodu jsem se rozhodl analýzu pojmout spíše jako vývoj cen v čase.
Pro vývoj rozsáhlých systémů je zapotřebí použít nějakou metodologii nebo-li soustavu metod, která přesně stanoví, jak bychom měli analyzovat, jak implementovat apod. Takovýchto metodologií je celá řada. Dají se však rozdělit do dvou velkých skupin. První skupina v sobě skrývá metodologie jako SSADM, Informační inženýrství od J.Martina, metodologii od De Marca nebo E.Yourdona nebo známou metodologii vodopád. Všechny tyto metodologie však mají něco společného. A tím je strukturovaný pohled na věc, který v sobě skrývá několik zásadních výhod a nevýhod. Tou největší nevýhodou je právě jejich rozdělení do tématických bloků. Pokud to pracovní kolektiv pojme doslova, nemůže pak takovýto projekt dopadnout dobře. Rozdělení do bloků totiž nabádá k tomu, aby se po jeho dokončení prohlásil za hotový a neměnný. V některých případech může dojít i k izolaci bloku od ostatních. Což je samozřejmě špatně. I když tyto metodologie předepisují konkrétní bloky, tak zajisté neříkají nic o jejich izolaci či nemožnosti se vrátit k blokům předcházejícím. A proto si pracovníci při práci na konkrétním bloku musí uvědomit nejen komplexnost problému a poohlížet se tak i po dřívější práci, nejen využívat její výsledky a závěry. Stejně tak by měli mít na paměti i kroky budoucí, jelikož každý návrat je velice pracný a stojí mnoho sil a prostředků. Rozhodně by to neměl být důvod, který by zamezil vrátit se zpět k nějakému bloku a provést v něm potřebné změny. Paradoxem je, že právě tato nevýhoda, toto rozdělení do neměnných bloků, je i výhodou. Můžete zákazníkovi přesně říci v jaké fázi se jeho projekt nachází a co všechno již máte hotovo. To je však nedostatečná výhoda oproti negativním důsledkům, které mohou nastat.
Druhá skupina, která vznikla na počátku 90-tých let minulého století, by se dala nazvat objektová nebo novodobá. Po rozvoji objektově orientovaných jazyků se začala orientace na objekty objevovat i v dalších odvětvích. A ne jinak tomu je u metodologií pro informační inženýrství. Velice častým případem je předělání a úprava nějaké strukturované metodologie na objektovou. Také se nestává výjimkou, že se jedná o ty samé autory, kteří vymysleli nějakou tu strukturovanou metodologii. Do této skupiny patří například OOA/OOD od Coada a E.Yourdona, BOOCH od Gradyho Boocha, OMT od Jamese Rumbaucha či v poslední době hodně známá metodologie UML od Jamese Rumbaucha, Gradyho Boocha a Ivara Jacobsona. Objektově orientované metodologie kladou oproti strukturovaným důraz na souhru a komunikaci mezi jednotlivými úseky vývoje systému. Samozřejmě k tomu napomohly dnes již detailně propracované systémy pro správu projektů.
Z předešlého textu by se dalo očekávat, že pro tento projekt zvolím nějakou novodobou objektově orientovanou metodologii. Avšak já jsem zvolil metodologii strukturovanou. K tomuto rozhodnutí mě vedl především fakt, že tento projekt není tak rozsáhlý a že na něm budu pracovat sám, tudíž nemůže vzniknout problém zaviněný komunikací v týmu.
Vzhledem k rozsahu tohoto projektu jsem také nepoužil v plném rozsahu některou z výše uvedených metodologií, které jsou stavěny na velké projekty. V projektu jsem postupoval podle metodologie Moderní strukturované analýzy E.Yourdona. Pro ER diagram jsem použil notaci J.Martina.
Pro implementaci mého projektu jsem si vybral za vývojový nástroj Borland C++ Builder a to ve verzi 5.0. Jak již je z názvu patrné nástroj používá objektový jazyk C++. K jeho výběru mě vedlo několik jeho vlastností. Tento nástroj má velice pěkně propracován tzv. design editor, ve kterém lze jednoduše vytvořit formuláře i s jejich základním nastavením. A jelikož v systému JESpMP je formulářů více než dost bral jsem na tuto vlastnost největší zřetel. C++Builder má však i další pěkné vlastnosti, které mi usnadnily implementaci. Například propracovanou nápovědu a code insight, který výrazně urychluje práci svojí rychlou a interaktivní nápovědou funkčních parametrů, proměnných, dostupných metod apod. Stejné vlastnosti má i vývojový nástroj Delphi od stejné firmy. Vlastně oba tyto nástroje jsou totožné až na to, že Delphi používá jako programovací jazyk objektový Pascal. V neposlední řadě bylo výhodou, že je tento vývojový nástroj nainstalován i v učebnách na katedře počítačů FEL.
Cílem projektu je vytvořit jednoduchý ekonomický systém pro malého podnikatele (dále jen JESpMP). JESpMP bude mít dvě na sobě nezávislé podčásti. A to systém jednoduchého účetnictví (dále jen JU) a systém pro analýzu a stahování ceníků (dále jen AnaCen). JU by pomocí počítače vyřešilo potřebné transakce probíhající v malé firmě, respektive JU bude navrženo pro živnostníky. V rámci systému AnaCen je pak kladen důraz na dvě funkce. Stažení ceníku z internetu na lokální počítač a porovnávání položek v čase.
Systém bude založen na architektuře Client – Server. Server jako databázový stroj a klient bude na kvalitním grafickém rozhraní.
Systém JU bude podporovat vedení jednoduchého účetnictví živnostníkovi dle příslušných zákonů platných k 1.1.2002. Není nutné, aby byl systém víceuživatelský a postačí, že bude chráněn proti neoprávněnému vstupu k jeho datům v globálním přístupu. Hlavní částí jednoduchého účetnictví je peněžní deník, k němuž se připojují jednotlivé pomocné knihy. Především pak kniha drobného majetku, kniha služeb, oprav a režie, kniha investičního majetku, kniha daňových dokladů apod. Vedle těchto pomocných knih je třeba uchovávat si přehled o zásobách a materiálu, přehled o pohledávkách a závazcích, objednávkách a zakázkách, o přijatých a vydaných fakturách a paragonech. V systému JU nesmí scházet kvalitní adresář firem a celkový přehled o účetním stavu firmy, který by měl i mimo jiné svými údaji napomoci při vyplňování formulářů pro finanční a sociální úřad i zdravotní pojišťovnu. Především pak pro formuláře jako: přiznání k dani z přidané hodnoty, přiznání k dani z příjmů, přehled o příjmech a výdajích ze samostatné výdělečné činnosti a úhrnu záloh na pojistné a přehled o příjmech a výdajích osoby samostatně výdělečně činné a dalších údajích pro sociální zabezpečení a příspěvek na státní politiku zaměstnanosti.
U všech vstupů bude kontrola taková, aby nemohlo dojít k nějaké chybě (max.délka, neplatné znaky, neplatné čísla apod.). U všech číselných vstupů se bude kontrolovat, zda-li je zadáno číslo ve správné formě (jen číslice a jen jedna desetinná čárka apod.), bude ale připuštěno zapsat matematický výraz s operátory +,-,*,/ , který se okamžitě vyhodnotí a přepíše na platné číslo (vzorec se nebude uchovávat). U všech datumových vstupů bude kontrolována správnost datumu.
JU však bude mít některá omezení vyplývající především z potřeb živnostníka. JU nebude nabízet skladové hospodářství, vést mzdové listy či finanční majetek, karty rezerv a opravných položek a vše co je s tím spojeno. Taktéž JU nebude brát v úvahu podnikatelskou činnost se zahraničím a peníze či bankovní účty v cizích měnách.
V systému JU se bude nacházet menu podobné hlavnímu menu v DOSovém programu MRP JU naprogramovaném v jazyce FoxPro [13]. Veškerý text by měl být dobře čitelný, což má za následek zvýšení velikosti textu o jeden stupeň než je obvyklé.
Systém AnaCen na příkaz uživatele stáhne z internetové adresy (http) určený ceník ve formátu MS Excel 97/2000, a to v nekomprimované či komprimované (ZIP, RAR) podobě. Ceník musí mít sloupcový formát. Sloupec s názvem/popisem položky a sloupec s cenou položky popřípadě s několika sloupci dle cenové kategorie. Popis a cena konkrétní položky musí být na stejném řádku. V případě, že jeden z těchto údajů chybí, je řádek ignorován. V jednom sloupci se nachází vždy stejný typ informace (popis nebo cena dané kategorie). Sloupce s popisem a cenami se mohou periodicky opakovat vedle sebe.
AnaCen po stažení a případném rozbalení ceníku uloží určené sloupce s popisem a s jednou cenou z vybraného listu do své databáze a umožní uživateli náhled na vybraný ceník či graf časového vývoje ceny vybrané položky.
Systém JESpMP bude využívat databázi MS Access 2000, ke které bude přistupovat přes standardní rozhraní ODBC nainstalované v operačním systému. Nadstandardní Borland Database Engine (BDE) se nainstaluje společně se systémem, pokud již v operačním systému nebude přítomno. Je však nutná verze BDE 5.01 a vyšší (ODBC Microsoft Access Driver (*.mdb) 4.0 a vyšší). Pro chod podsystému AnaCen je nutné mít nainstalován MS Excel 97/2000.
Instalace systému JESpMP bude možná na systém Windows 98 SE CZ či Windows 2000 Professional CZ a to v administrátorském režimu. Systém JESpMP bude možné odinstalovat. Tisk ze systému JESpMP bude prováděn na výchozí tiskárně systému Windows. Testování tisku bude provedeno na tiskárně HP DeskJet 930C.
Struktura členění prací na projektu se dá rozdělit do tří základních bloků – analýza, implementace a testování systému včetně jeho instalace. Tyto základní bloky se pak dají ještě rozdělit:
· Analýza
o Vytvoření úvodní studie
o Vytvoření analýzy problematiky JU a AnaCen
o Vytvoření návrhu
Na první pohled je největším určujícím požadavkem na HW operační systém Windows 98SE či Windows 2000. Systém JESpMP a především JU, však může pracovat v „módu okamžité změny“, což znamená, že veškeré změny ve formuláři se okamžitě promítnou i do dalších formulářů a především do databáze (změny však nejsou trvalé, takže je lze pak jednorázově i hromadně zrušit pomocí klasické transakční a cachovací technologie). To má za následek častou práci s databází a s diskem, tudíž práce s JESpMP je mnohem náročnější než v případě „módu rychlé práce“.
Pro funkčnost systému JESpMP je třeba ze SW pouze operační systém Windows 98SE či Windows 2000 Professional. Systém JESpMP AnaCen potřebuje ke své funkčnosti nainstalován MS Excel 97/2000.
Problematika jednoduchého účetnictví je obsáhlá a netriviální. Na následujících stránkách jsem se snažil o popis těch nejdůležitějších položek tak, jak jsou uvedeny v příslušných zákonech či odborné literatuře [5], [6] a [7]. Jedná se především o popis povinných a potřebných dat, které je nucen podnikatel zaznamenávat vzhledem k již zmíněným zákonům. Postupy účtování však musí každý uživatel znát, jelikož nejsou přesně stanoveny a lze je provádět několika způsoby či různě kombinovat. Pokud by systém JESpMP JU diktoval nějaké pevně stanovené postupy, bylo by to určitě jen na škodu. A jelikož tento systém nemá za úkol naučit správnému účtování, je stěžejní pro tento projekt právě datová analýza.
JESpMP – Jednoduchý Ekonomický Systém pro Malého Podnikatele
JU – Jednoduché Účetnictví
PD – Peněžní Deník nebo také jen Deník, také je to zkratka pro Pokladní Doklad což se, ale pozná díky věcnému použití
DM – Drobný Majetek – zahrnuje v sobě i dřívější DKP
DDHM – Drobný Dlouhodobý Hmotný Majetek v ceně 3000-40000 Kč s dobou použitelnosti delší než 1 rok
DDNM – Drobný Dlouhodobý Nehmotný Majetek v ceně 7000-60000 Kč s dobou použitelnosti delší než 1 rok
DHM – Dlouhodobý Hmotný Majetek v ceně nad 40000 Kč s dobou použitelnosti delší než 1 rok
DNM – Dlouhodobý Nehmotný Majetek v ceně nad 60000 Kč s dobou použitelnosti delší než 1 rok
IM – Investiční Majetek hmotný i nehmotný – hmotný se odpisuje (i v případě drobného hmotného IM)
DPH – Daň z Přidané Hodnoty se sníženou sazbou 5% a se základní sazbou 22%
BÚ – Běžný Účet nebo také Bankovní Účet pro podnikání
FÚ – Finanční Úřad
ZD – Základ Daně pro výpočet daně z příjmů ap.
AUTO – automaticky doplňovaná data systémem JESpMP JU
je základní částí jednoduchého účetnictví. V deníku jsou zaznamenávány veškeré finanční pohyby firmy. Ať již se jedná o příjmy či výdaje hotovostního či bezhotovostního styku firmy.
Číslo řádku: AUTO zvyšující se pořadové číslo posledního záznamu = položky = řádku
Datum: změna možná přepsáním či pomocí speciálních kláves
Typ a číslo dokladu: Běžně používané: paragony P, pokladní doklady PD, faktury FA, zálohové faktury ZFA,výpisy z VYP a jejich vzestupná čísla, která se budou generovat AUTO.
Kód – text: Přednastavený kód, dle kterého se bude AUTO JU rozhodovat, kam záznam patří.
Popis: Bližší specifikace kódu pro rychlejší identifikaci záznamu (za II.čtvrtletí, FA5, za rok 2001 ap.)
Částka: Uživatel zadá částku a vybere zda to bylo s DPH/bez DPH, DPH je 0/5/22 % , AUTO se pak číslo buďto rozloží nebo se dopočítají částky (Základ daně,DPH,s DPH). Toto bude jen při vstupu. V deníku pak bude vždy uvedena částka s DPH.
Způsob platby:
Poplatek: Clearingový poplatek, poplatek u složenek apod., který nemá složku DPH a je zařazován do kategorie režie.
Daňová sazba: 0 ; 5 ; 22 % - tyto tři typy daně se dají modifikovat uživatelem v INI. Zadáváno zároveň s částkou.
Ze vstupních údajů:
Zdanitelné příjmy: Příjmy ovlivňující základ daně z příjmů, částka bez DPH, AUTO dle kódu.
Nezdanitelné příjmy: Příjmy neovlivňující základ daně z příjmů, AUTO dle kódu.
Výdaje na dosažení, zajištění a udržení příjmu: Částka bez DPH, AUTO dle kódu.
Výdaje neovlivňující základ daně: AUTO dle kódu.
Průběžné položky: Převod hotovosti na BÚ a naopak, převod mezi BÚ, AUTO dle kódu.
registruje drobný hmotný a nehmotný majetek nakoupený do firmy za účelem jejího dalšího rozvoje a získávání zisku. Přičemž majetek má životnost kratší než jeden rok nebo delší než jeden rok a zároveň jeho cena je 3000-40000 Kč v případě hmotného a 7000-60000 Kč v případě nehmotného majetku. Pokud je firma plátcem DPH tak se samozřejmě jedná o částku bez DPH. Tato kniha však bude registrovat i nakoupené zboží ve smyslu režijních nákladů (kancelářské potřeby apod. – zboží se sledováním počtu zbylých jednotek). Dříve se toto zboží nazývalo DKP. Ve všech případech se jedná o přímý náklad ovlivňující základ daně z příjmů a tudíž se majetek neodpisuje.
Číslo řádku: AUTO zvyšující se pořadové číslo posledního záznamu = položky = řádku
Datum: změna možná přepsáním či pomocí speciálních kláves
Typ a číslo dokladu: Běžně používané: paragony P, pokladní doklady PD, faktury FA, zálohové faktury ZFA a jejich vzestupná čísla, která se budou generovat AUTO
Název: Přednastavený či nový, určující globální pojmenování DM, dle kterého se bude provádět globální analýza
Celková částka: Součet všech položek na dokladu, není součástí DB – dopočítává se.
Rozpis jednotlivých položek:
Pozn.: Vstup nového záznamu bude buď samostatným přístupem z hlavního menu. Pak bude na konci vstupu uživatel požádán o doplňující informace, aby mohl být záznam přidán i do deníku, nebo automaticky vyvolán z deníku. JU pak vyplní data, která má a uživatel vyplní potřebné doplňující informace. Bude-li číslo dokladu již existovat v knize DM, tak se JU přeptá zda-li nedošlo k chybě při zadání dokladu a popřípadě přidá data do již existujícího záznamu.
Číslo řádku: AUTO zvyšující se pořadové číslo posledního záznamu = položky = řádku
Ze vstupních údajů:
je podobná knize DM. Obě knihy budou zaznamenávat totožné údaje. Jen v knize služeb, oprav a režie nebudou údaje, které mají nějaký vztah k počtu jednotek. Také v ní nebude rozdělován majetek na hmotný a nehmotný a sledovány jakékoliv cenové rozsahy. Režií jsou myšleny služby či zboží, u kterých nesledujeme počet zbylých jednotek (benzin apod.) a bere se v úvahu jako jeden celek. Ve všech případech se jedná o přímý náklad ovlivňující základ daně z příjmů a tudíž se nic neodpisuje.
Číslo řádku: AUTO zvyšující se pořadové číslo posledního záznamu = položky = řádku
Datum: změna možná přepsáním či pomocí speciálních kláves
Typ a číslo dokladu: Běžně používané: paragony P, pokladní doklady PD, faktury FA, zálohové faktury ZFA a jejich vzestupná čísla, která se budou generovat AUTO
Název: Přednastavený či nový, určující globální pojmenování režie či opravy, dle kterého se bude provádět globální analýza
Celková částka: Součet všech položek na dokladu, není součástí DB – dopočítává se.
Rozpis jednotlivých položek:
Pozn.: Vstup nového záznamu bude buď samostatným přístupem z hlavního menu. Pak bude na konci vstupu uživatel požádán o doplňující informace, aby mohl být záznam přidán i do deníku, nebo automaticky vyvolán z deníku. JU pak vyplní data, která má a uživatel vyplní potřebné doplňující informace. Bude-li číslo dokladu již existovat v knize režie a oprav, tak se JU přeptá zda-li nedošlo k chybě při zadání dokladu a popřípadě přidá data do již existujícího záznamu.
Pozn.: Totéž jako kniha DM, ale bez všech položek, které počítají s jednotkami. Jedná se vždy jen o služby nebo jednorázové materiálové hodnoty (benzin apod.), ohodnocené jako jeden celek.
Číslo řádku: AUTO zvyšující se pořadové číslo posledního záznamu = položky = řádku
Ze vstupních údajů:
· Název
nebo taktéž inventární kniha registruje hmotný a nehmotný majetek nakoupený do firmy za účelem jejího dalšího rozvoje a získávání zisku. Přičemž majetek má životnost delší než jeden rok a zároveň jeho cena je větší něž 40000 Kč v případě hmotného a 60000 Kč v případě nehmotného majetku. Pokud je firma plátcem DPH tak se samozřejmě jedná o částku bez DPH. Hmotný investiční majetek se odpisuje a tudíž se nejedná o náklad ovlivňující základ daně. Nehmotný majetek se daňově neodepisuje, takže u něho půjde jen o registraci v JU. V tomto případě se jedná o přímý náklad, který ovlivňuje základ daně. Do této knihy bude taktéž řazen drobný IM, o kterém firma rozhodla, že bude odpisován (daňové odpisy jsou v tomto případě stejné s účetními !!!). Kniha bude registrovat i technická zhodnocení příslušného dlouhodobého hmotného majetku, odprodej jednotlivých částí ap.
Číslo řádku: u nového záznamu AUTO se zvyšující pořadové číslo posledního záznamu = položky = řádku, nebo se vyplní číslo dle vybraného existujícího záznamu.
Název: Existující či nový, určující globální pojmenování IM, propojeno s číslem řádku.
Celková pořizovací cena: Součet všech položek daného IM, není součástí DB – dopočítává se.
Cena s DPH
Zůstatková hodnota: Účetní cena IM v aktuálním roce dle odpisů, není součástí DB – dopočítává se.
Typ IM – hmotný či nehmotný – default je hmotný
Počet odpisových let: Kolik let se bude IM odpisovat.
Datum pořízení –změna možná přepsáním či pomocí speciálních kláves (jen v roce pořízení)
Datum uvedení do provozu – od tohoto roku se začíná odpisovat pořizovací cena
Způsob odpisu: Lze měnit jen před prvním odpisem, pak již ne.
N-tý odpisový rok
Odpisová částka: z pořizovací ceny i z technických zhodnocení dalších období, vyplní AUTO JU, není součástí DB
· Za 1.rok
· Za 2.rok
· Za 3.rok
· Za 4.rok
· Za N.rok
Vyřazení:
· Způsob
o Prodej
o Opotřebení
o Zničení
o Ztráta
o Likvidace
o Jinak
· Likvidační cena – cena s DPH kladná pro případ prodeje, záporná při dalších nákladech na likvidaci
Poznámka – zřízené zástavní právo apod.
Rozpis jednotlivých položek: u existujícího záznamu se zobrazí již existující položky
Pozn.: Vstup nového záznamu bude buď samostatným přístupem z hlavního menu, pak na konci vstupu bude uživatel požádán o doplňující informace, aby mohl být záznam přidán i do deníku, nebo automaticky vyvolán z deníku, pak JU vyplní data, která má a uživatel vyplní potřebné doplňující informace.
Ze vstupních údajů:
Doklady mohou být buď přijaté nebo vydané. Faktury FA, zálohové faktury ZFA, paragony P a pokladní doklady PD budou mít každý svou číselnou řadu počítanou od jedné. Paragony budou speciálním případem faktur, rozlišující se pouze v položce odběratel resp. dodavatel. Na místo osoby z adresáře zde bude uvedeno slovo PARAGON. Podobně tomu bude i u pokladního dokladu, kde budou uvedena slova POKLADNI DOKLAD. Pokladní doklad nebude vydáván při placení FA v hotovosti, jak je tomu běžně zvykem, jelikož FA má již všechny náležitosti daňového dokladu.
Hlavička:
· Typ dokladu
o Faktura
o Zálohová faktura
o Paragon
o Pokladní doklad
· Číslo dokladu – AUTO zvyšující se pořadové číslo s rozlišením na FA, ZFA, P a PD
· Odběratel resp. Dodavatel: výběr z adresáře, jedná-li se o paragon/pokladní doklad uvede se jen ve jménu slovo PARAGON/POKLADNI DOKLAD.
o Osobní kontakt:
§ Jméno
§ Ulice
§ Město
§ PSČ
§ Telefon
§ Fax
§ Mobilní telefon
o Bankovní spojení:
§ Banka
§ Číslo účtu
§ Kód banky
o IČO
o DIČ
· Počet příloh
· Datum:
o Vystavení
o Zdanitelného plnění
o Splatnosti
· Variabilní symbol – identifikace pro spárování dokladu s platbou přes BÚ
· Forma úhrady:
o Hotově
o Běžný účet
· Způsob dodání resp. odebrání:
o Osobně
o Dopravou – zajistí si ji druhá strana sama (odběratel resp. dodavatel)
o Dopravou – zajistí ji firma-uživatel (dodavatel resp. odběratel)
o Poštou
o Na dobírku
o Zásilkovou službou
o Jinak
· Zakázka resp. Objednávka:
o Číslo
o Datum
Rozpis jednotlivých položek:
· Popis – možnost výběru ze seznamu, do kterého si uživatel bude moci přidávat texty
Celková částka: Součet všech položek na dokladu, není součástí DB – dopočítává se.
Zaplaceno: údaje nejsou součástí DB – dopočítávají se z DENIKu
Pozn.: Vstup nového záznamu bude buď samostatným přístupem z hlavního menu. Pak na konci vstupu bude uživatel požádán o doplňující informace, aby mohl být záznam přidán i do deníku nebo automaticky vyvolán z deníku. JU pak vyplní data, která má a uživatel vyplní potřebné doplňující informace. Při novém záznamu odběratele resp. dodavatele nebo opravě stávajícího bude záznam přenesen i do adresáře a zobrazí se o tomto zpráva pro uživatele. Při opravě nutné potvrzení změny.
Číslo řádku: AUTO zvyšující se pořadové číslo posledního záznamu = položky = řádku
Hlavička:
· Typ dokladu
o Faktura
o Zálohová faktura
o Paragon
o Pokladní doklad
· Číslo dokladu – AUTO zvyšující se pořadové číslo s rozlišením na FA, ZFA, P a PD
· Jméno odběratele resp. dodavatele
· Počet příloh
· Datum:
o Zdanitelného plnění
o Splatnosti
Celková částka: Součet všech položek na dokladu, není součástí DB – dopočítává se.
Zaplaceno:
jsou podobného vzhledu jako doklady.
Hlavička:
· Číslo objednávky – AUTO zvyšující se pořadové číslo.
· Dodavatel: výběr z adresáře.
o Osobní kontakt:
§ Jméno
§ Ulice
§ Město
§ PSČ
§ Telefon
§ Fax
§ Mobilní telefon
o Bankovní spojení:
§ Banka
§ Číslo účtu
§ Kód banky
o IČO
o DIČ
· Datum:
o Objednávky
o Dodání
Rozpis jednotlivých položek:
· Popis – možnost výběru ze seznamu, do kterého si uživatel bude moci přidávat texty
Celková částka: Součet všech položek na dokladu, není součástí DB – dopočítává se.
Pozn.: Vstup nového záznamu bude samostatným přístupem z hlavního menu. Při novém záznamu dodavatele nebo opravě stávajícího bude záznam přenesen i do adresáře a zobrazí se o tomto zpráva pro uživatele, při opravě nutné potvrzení změny.
Číslo řádku: AUTO zvyšující se pořadové číslo posledního záznamu = položky = řádku
Hlavička:
· Číslo objednávky -AUTO zvyšující se pořadové číslo.
· Jméno dodavatele
· Datum:
o Objednávky
o Dodání
Celková částka: Součet všech položek na dokladu, není součástí DB – dopočítává se.
jsou podobného vzhledu jako objednávky.
Hlavička:
· Číslo zakázky – AUTO zvyšující se pořadové číslo.
· Odběratel: výběr z adresáře.
o Osobní kontakt:
§ Jméno
§ Ulice
§ Město
§ PSČ
§ Telefon
§ Fax
§ Mobilní telefon
o Bankovní spojení:
§ Banka
§ Číslo účtu
§ Kód banky
o IČO
o DIČ
· Číslo objednávky
· Datum:
o Objednávky
o Dodání
Rozpis jednotlivých položek:
· Popis – možnost výběru ze seznamu, do kterého si uživatel bude moci přidávat texty
Celková částka: Součet všech položek na dokladu, není součástí DB – dopočítává se.
Pozn.: Vstup nového záznamu bude samostatným přístupem z hlavního menu. Při novém záznamu odběratele nebo opravě stávajícího bude záznam přenesen i do adresáře a zobrazí se o tomto zpráva pro uživatele. Při opravě nutné potvrzení změny.
Číslo řádku: AUTO zvyšující se pořadové číslo posledního záznamu = položky = řádku
Hlavička:
· Číslo zakázky -AUTO zvyšující se pořadové číslo.
· Jméno odběratele
· Číslo objednávky – identifikace objednávky odběratele této zakázky
· Datum:
o Objednávky
o Dodání
Celková částka: Součet všech položek na dokladu, není součástí DB – dopočítává se.
slouží k uchování všech informací potřebných k osobnímu či účetnímu kontaktování fyzických či právnických osob spolupracujících s firmou.
Osobní kontakt:
· Jméno
· Ulice
· Město
· PSČ
· Telefon
· Fax
· Mobilní telefon
· www adresa
Bankovní spojení:
· Banka
· Číslo účtu
· Kód banky
IČ
DIČ
Poznámka
Pozn.: Vstup nového záznamu bude buď samostatným přístupem z hlavního menu, nebo při novém záznamu odběratele resp. dodavatele popřípadě opravě stávajícího bude záznam přenesen i do adresáře a zobrazí se o tomto zpráva pro uživatele. Při opravě nutné potvrzení změny.
bude sloužit uživateli k jednoduchému a přehlednému znázornění stavu firmy, ke kontrole správnosti, úplnosti mezi doklady a záznamy v jednotlivých modulech. Bude mu pomáhat svými údaji při vyplňování formulářů pro finanční a sociální úřad i zdravotní pojišťovnu. Především pak pro formuláře jako: přiznání k dani z přidané hodnoty, přiznání k dani z příjmů, přehled o příjmech a výdajích ze samostatné výdělečné činnosti a úhrnu záloh na pojistné a přehled o příjmech a výdajích osoby samostatně výdělečně činné a dalších údajích pro sociální zabezpečení a příspěvek na státní politiku zaměstnanosti.
Všechny údaje v této sekci se čerpají z DB, data jsou zde jen pro čtení.
registruje veškeré pohledávky a závazky podnikatele (tedy všechny FA). Taktéž registruje pohledávky a závazky k finančnímu úřadu z titulu platby DPH (tedy i paragony od plátců), platby daní a záloh na ně.
Kniha pohledávek a závazků globální: je podobného vzhledu jako doklady globální
Číslo řádku: AUTO zvyšující se pořadové číslo posledního záznamu = položky = řádku
Hlavička:
· Typ dokladu
o Faktura
o Zálohová faktura
o Paragon
· Číslo dokladu – AUTO zvyšující se pořadové číslo s rozlišením na FA, ZFA a Paragony
· Jméno odběratele resp. dodavatele
· Datum:
o Zdanitelného plnění
o Splatnosti
Celková částka: Součet všech položek na dokladu, není součástí DB – dopočítává se.
Zaplaceno:
se provádí z knihy DPH, která může být zastoupena knihou dokladů, jelikož kniha DPH je podmnožinou knihy dokladů. Stejné informace se, ale dají zjistit i z peněžního deníku. Vzhledem k tomu, že kniha dokladů a peněžní deník nemusí v daný okamžik obsahovat vzájemně konzistentní data mělo by JU tuto situaci řešit.
Časové období pro výpočet:
Pozn.:Uživatel může vybrat i více měsíců či kvartálů. AUTO se budou vybírat měsíce, kvartály a vyplňovat rozsah. Př. Uživatel si vybere 2.kvartál – AUTO se vybere 4.-6. měsíc a doplní rozsah 1.4.-30.6.
Přijatá zdanitelná plnění za dané období:
Uskutečněná zdanitelná plnění za dané období:
Nadměrný odpočet resp. Daňová povinnost: Rozdíl celkem přijatá DPH – celkem uskutečněná DPH
Entita |
Atribut |
Datový typ |
Key |
Null |
Def. |
Popis |
_DB_INFO |
JMENO |
TEXT(20) |
PK |
Ne |
|
jmeno promenne |
_DB_INFO |
INT |
INTEGER |
|
Ano |
|
ciselna hodnota promenne |
_DB_INFO |
STRING |
TEXT(50) |
|
Ano |
|
textova hodnota promenne |
ADRESAR |
ID_ADR |
INTEGER |
PK |
Ne |
|
ID cislo ADRESARe |
ADRESAR |
FK_BAN |
INTEGER |
FK |
Ano |
|
ID cislo BANKAy |
ADRESAR |
JMENO |
TEXT(50) |
|
Ne |
|
prijmeni, jmeno, tituly |
ADRESAR |
C_UCTU |
LONG |
|
Ano |
|
cislo uctu bez kodu banky |
ADRESAR |
DIC |
TEXT(14) |
|
Ano |
|
DIC osoby |
ADRESAR |
E_MAIL |
TEXT(30) |
|
Ano |
|
e-mailove adresy |
ADRESAR |
FAX |
TEXT(30) |
|
Ano |
|
FAXova cisla i s predvolbou |
ADRESAR |
IC |
LONG |
|
Ano |
|
IC osoby, drive ICO |
ADRESAR |
M_TEL |
TEXT(30) |
|
Ano |
|
mobilni telefony i s predvolbou |
ADRESAR |
MESTO |
TEXT(50) |
|
Ano |
|
jmeno mesta, popripade i se statem |
ADRESAR |
POZN_ADR |
MEMO |
|
Ano |
|
poznamka k dane osobe v ADRESARi |
ADRESAR |
PSC |
LONG |
|
Ano |
|
PSC mesta |
ADRESAR |
TEL |
TEXT(30) |
|
Ano |
|
telefony i s predvolbou |
ADRESAR |
ULICE |
TEXT(50) |
|
Ano |
|
jmeno ulice i s popisnym cislem |
ADRESAR |
WWW |
TEXT(100) |
|
Ano |
|
www adresy firmy ci osoby |
BANKA |
KOD |
INTEGER |
PK |
Ne |
|
kod banky |
BANKA |
JMENO_BAN |
TEXT(30) |
|
Ne |
|
jmeno banky |
DENIK |
C_RADKU_DEN |
INTEGER |
PK |
Ne |
|
ID cislo polozky (cislo radku) DENIKu |
DENIK |
FK_KOD |
INTEGER |
FK |
Ne |
|
ID cislo KODu |
DENIK |
FK_DM |
INTEGER |
FK |
Ano |
|
ID cislo polozky DM |
DENIK |
FK_DOK |
INTEGER |
FK |
Ano |
|
ID cislo DOKLADu |
DENIK |
FK_IM |
INTEGER |
FK |
Ano |
|
ID cislo polozky IM |
DENIK |
FK_SLU |
INTEGER |
FK |
Ano |
|
ID cislo polozky z knihy sluzeb, oprav a rezie |
DENIK |
C_DOK |
INTEGER |
|
Ne |
|
unikatni cislo dokladu dle typu dokladu a VYD_PRI |
DENIK |
CASTKA |
CURRENCY |
|
Ne |
|
castka polozky v KC s DPH |
DENIK |
DATUM_DEN |
DATE |
|
Ne |
|
datum polozky v deniku |
DENIK |
DPH |
INTEGER |
|
Ne |
0 |
sazba DPH v % |
DENIK |
PLATBA |
BOOLEAN |
|
Ne |
false |
zpusob platby: Hotovostni=false/ naBeznyUcet=true |
DENIK |
TYP_DOK |
TEXT(3) |
|
Ne |
|
typ dokladu: FAktura/ZalohovaFAktura/Paragon/VYPis/PokladniDoklad/--- |
DENIK |
VYD_PRI |
BOOLEAN |
|
Ne |
|
castka je Vydej=false/Prijem=true |
DENIK |
PLATBA_DOK |
INTEGER |
|
Ano |
|
cislo dokladu, ktery je placen timto zaznamem |
DENIK |
POPIS |
TEXT(30) |
|
Ano |
|
blizsi popis kodu |
DENIK |
POPLATEK |
CURRENCY |
|
Ano |
0 |
poplatek pri manipulaci s penezy (clearingovy,postovni ap.) |
DENIK |
STORNO_DATUM |
DATE |
|
Ano |
|
kdy uzivatel zaznam stornoval |
DM |
C_RADKU_DM |
INTEGER |
PK |
Ne |
|
ID cislo polozky DM |
DM |
NAZEV_DM |
TEXT(50) |
|
Ne |
|
Globalni/hromadny nazev DM |
DM_POL |
ID_DM |
INTEGER |
PK |
Ne |
|
ID cislo polozky DM |
DM_POL |
FK_DM |
INTEGER |
FK |
Ne |
|
ID cislo radku DM |
DM_POL |
FK_JED |
INTEGER |
FK |
Ne |
|
ID cislo JEDNOTKAy |
DM_POL |
CASTKA |
CURRENCY |
|
Ne |
|
castka s DPH za zustatek |
DM_POL |
CENAJ |
CURRENCY |
|
Ne |
|
Cena za jednotku s DPH |
DM_POL |
DPH |
INTEGER |
|
Ne |
0 |
sazba DPH v % |
DM_POL |
HMOTNY_DM |
BOOLEAN |
|
Ne |
true |
majetek hmotny=true/nehmotny=false |
DM_POL |
JMENO_DM |
TEXT(100) |
|
Ne |
|
jmeno DM |
DM_POL |
POČET |
DOUBLE |
|
Ne |
1 |
pocet jednotek |
DM_POL |
ZMĚNA |
DATE |
|
Ne |
|
datum posledni zmeny |
DM_POL |
ZUSTATEK |
DOUBLE |
|
Ne |
|
Zbyly pocet jednotek |
DM_POL |
ID_CISLO_DM |
TEXT(30) |
|
Ano |
|
ID cislo, seriove cislo ap. |
DM_POL |
STORNO_DATUM |
DATE |
|
Ano |
|
kdy uzivatel zaznam stornoval |
DOKLAD |
C_RADKU_DOK |
INTEGER |
PK |
Ne |
|
ID cislo v knize DOKLADu |
DOKLAD |
FK_ADR |
INTEGER |
FK |
Ne |
|
ID cislo dodavatele/odberatele v ADRESARi |
DOKLAD |
FK_OBJ |
INTEGER |
FK |
Ano |
|
ID cislo OBJEDNAVKy |
DOKLAD |
FK_ZAK |
INTEGER |
FK |
Ano |
|
ID cislo ZAKAZKAy |
DOKLAD |
C_DOK |
INTEGER |
|
Ne |
|
unikatni cislo dokladu dle typu dokladu a VYD_PRI |
DOKLAD |
DATUM_PLN |
DATE |
|
Ne |
|
datum zdanitelneho plneni |
DOKLAD |
DATUM_SPL |
DATE |
|
Ne |
|
datum splatnosti |
DOKLAD |
DATUM_VYS |
DATE |
|
Ne |
|
datum vystaveni |
DOKLAD |
PLATBA |
BOOLEAN |
|
Ne |
false |
zpusob platby: Hotovostni=false/BezHotovostni=true |
DOKLAD |
TYP_DOK |
TEXT(3) |
|
Ne |
|
typ dokladu: FAktura/ZalohovaFAktura/Paragon/PokladniDoklad |
DOKLAD |
VYD_PRI |
BOOLEAN |
|
Ne |
|
vydany doklad=false/prijaty doklad=true |
DOKLAD |
PRILOH |
INTEGER |
|
Ano |
0 |
pocet priloh |
DOKLAD |
STORNO_DATUM |
DATE |
|
Ano |
|
kdy uzivatel zaznam stornoval |
DOKLAD |
SYMBOL |
TEXT(20) |
|
Ano |
|
variabilni symbol |
DOKLAD |
Z_DODANI |
TEXT(30) |
|
Ano |
|
zpusob odebrani/dodani |
IM |
C_RADKU_IM |
INTEGER |
PK |
Ne |
|
ID cislo (cislo radku) celeho IM |
IM |
HMOTNY_IM |
BOOLEAN |
|
Ne |
true |
IM hmotny=true/nehmotny=false |
IM |
NAZEV_IM |
TEXT(50) |
|
Ne |
|
globalni/hromadny nazev IM |
IM |
ODPIS_LET |
INTEGER |
|
Ne |
|
pocet odpisovych let |
IM |
ZPUSOB_ODP |
BOOLEAN |
|
Ne |
true |
zpusob odpisu: Rovnomerny=false/Zrychleny=true |
IM |
CENA_V |
CURRENCY |
|
Ano |
|
likvidacni cena, prodej +, likvidace - |
IM |
DATUM_U |
DATE |
|
Ano |
|
datum uvedeni do provozu |
IM |
DATUM_V |
DATE |
|
Ano |
|
datum vyrazeni IM |
IM |
NTY_ROK |
INTEGER |
|
Ano |
|
N-ty odpisovy rok |
IM |
POZN_IM |
MEMO |
|
Ano |
|
poznamka k IM |
IM |
STORNO_DATUM |
DATE |
|
Ano |
|
kdy uzivatel zaznam stornoval |
IM |
ZPUSOB_V |
TEXT(20) |
|
Ano |
|
zpusob vyrazeni |
IM_POL |
ID_IM |
INTEGER |
PK |
Ne |
|
ID cislo polozky IM |
IM_POL |
FK_IM |
INTEGER |
FK |
Ne |
|
ID cislo celeho IM |
IM_POL |
JMENO_IM |
TEXT(50) |
|
Ne |
|
jmeno polozky IM |
IM_POL |
ID_CISLO_IM |
TEXT(30) |
|
Ano |
|
ID cislo, seriove cislo ap. |
IM_POL |
STORNO_DATUM |
DATE |
|
Ano |
|
kdy uzivatel zaznam stornoval |
JEDNOTKA |
ID_JED |
INTEGER |
PK |
Ne |
|
ID cislo JEDNOTKAy |
JEDNOTKA |
JMENO_JED |
TEXT(10) |
|
Ne |
|
jmeno jednotky ci jeji zkratka |
KOD |
ID_KOD |
INTEGER |
PK |
Ne |
|
ID cislo KODu do DENIKu |
KOD |
FORM |
TEXT(1) |
|
Ne |
- |
formular, ktery patri k tomuto kodu D=DM/S=Sluzba/I=IM/-=zadny |
KOD |
CHOVANI |
TEXT(200) |
|
Ne |
|
urceni chovani systemu vuci tomuto kodu - rozdeleni do sloupcu |
KOD |
TEXT_KOD |
TEXT(50) |
|
Ne |
|
text kodu do DENIKu |
KOD |
VYD_PRI_KOD |
TEXT(1) |
|
Ne |
O |
urcuje u kodu V=Vydej/P=Prijem/O=Oboji |
LOG_DM |
ID_LOG |
INTEGER |
PK |
Ne |
|
ID cislo LOG_DM |
LOG_DM |
FK_DM_POL |
INTEGER |
FK |
Ne |
|
ID cislo DM_POL |
LOG_DM |
DATUM |
DATE |
|
Ne |
|
datum zmeny |
LOG_DM |
ZUSTATEK |
DOUBLE |
|
Ne |
|
pocet jednotek, ktere zbyly |
OBJEDNAVKA |
C_OBJ |
INTEGER |
PK |
Ne |
|
ID cislo OBJEDNAVKAy |
OBJEDNAVKA |
FK_ADR |
INTEGER |
FK |
Ne |
|
ID cislo dodavatele v ADRESARi |
OBJEDNAVKA |
FK_DOK |
INTEGER |
FK |
Ano |
|
ID cislo DOKLADu |
OBJEDNAVKA |
DATUM_OBJ |
DATE |
|
Ne |
|
datum objednavky |
OBJEDNAVKA |
DATUM_DOD |
DATE |
|
Ano |
|
datum dodani |
OBJEDNAVKA |
STORNO_DATUM |
DATE |
|
Ano |
|
kdy uzivatel zaznam stornoval |
POLOZKA |
ID_POL |
INTEGER |
PK |
Ne |
|
ID cislo POLOZKAy dokladu/objednavky/zakazky |
POLOZKA |
FK_JED |
INTEGER |
FK |
Ne |
|
ID cislo JEDNOTKAy |
POLOZKA |
FK_DOK |
INTEGER |
FK |
Ano |
|
ID cislo DOKLADu |
POLOZKA |
FK_OBJ |
INTEGER |
FK |
Ano |
|
ID cislo OBJEDNAVKAy |
POLOZKA |
FK_ZAK |
INTEGER |
FK |
Ano |
|
ID cislo ZAKAZKAy |
POLOZKA |
JEN_POPIS |
BOOLEAN |
|
Ne |
false |
polozka ma jen popis=true a castka, pocet a DPH nejsou dulezite |
POLOZKA |
POPIS |
TEXT(250) |
|
Ne |
|
popis polozky |
POLOZKA |
CASTKA |
CURRENCY |
|
Ano |
|
castka za jednotku s DPH |
POLOZKA |
DPH |
INTEGER |
|
Ano |
0 |
sazba DPH v % |
POLOZKA |
POČET |
DOUBLE |
|
Ano |
|
pocet jednotek |
POLOZKA |
STORNO_DATUM |
DATE |
|
Ano |
|
kdy uzivatel zaznam stornoval |
SLUZBA |
C_RADKU_SLU |
INTEGER |
PK |
Ne |
|
ID cislo (cislo radku) SLUZBAy |
SLUZBA |
NAZEV_SLU |
TEXT(50) |
|
Ne |
|
globalni/hromadny nazev sluzby, opravy ci rezie |
SLUZBA_POL |
ID_SLU |
INTEGER |
PK |
Ne |
|
ID cislo polozky SLUZBAy |
SLUZBA_POL |
FK_SLU |
INTEGER |
FK |
Ne |
|
ID cislo SLUZBA |
SLUZBA_POL |
CASTKA |
CURRENCY |
|
Ne |
|
castka za sluzbu s DPH |
SLUZBA_POL |
DPH |
INTEGER |
|
Ne |
0 |
sazba DPH v % |
SLUZBA_POL |
JMENO_SLU |
TEXT(100) |
|
Ne |
|
jmeno sluzby |
SLUZBA_POL |
STORNO_DATUM |
DATE |
|
Ano |
|
kdy uzivatel zaznam stornoval |
ZAKAZKA |
C_ZAK |
INTEGER |
PK |
Ne |
|
ID cislo ZAKAZKAy |
ZAKAZKA |
FK_ADR |
INTEGER |
FK |
Ne |
|
ID cislo odberatele v ADRESARi |
ZAKAZKA |
FK_DOK |
INTEGER |
FK |
Ano |
|
ID cislo DOKLADu |
ZAKAZKA |
DATUM_ZAK |
DATE |
|
Ne |
|
datum zakazky |
ZAKAZKA |
C_OBJ |
TEXT(20) |
|
Ano |
|
cislo/identifikace objednavky odberatele teto zakazky |
ZAKAZKA |
DATUM_DOD |
DATE |
|
Ano |
|
datum dodani |
ZAKAZKA |
STORNO_DATUM |
DATE |
|
Ano |
|
kdy uzivatel zaznam stornoval |
Jméno Entity / Relace |
Typ |
Popis / Kardinalita |
_DB_INFO |
ENTITA |
Informace spojene s touto konkretni DB |
ADRESAR |
ENTITA |
Adresar |
BANKA |
ENTITA |
seznam bank |
DENIK |
ENTITA |
penezni denik |
DM |
ENTITA |
kniha DM |
DM_POL |
ENTITA |
polozka DM |
DOKLAD |
ENTITA |
kniha VYDANYCH faktur a paragonu |
IM |
ENTITA |
kniha investicniho majetku |
IM_POL |
ENTITA |
položka investicního majetku |
JEDNOTKA |
ENTITA |
seznam jednotek |
KOD |
ENTITA |
seznam kodu pro penezni denik |
LOG_DM |
ENTITA |
zaznamy o postupnych zmenach poctu danych DM |
OBJEDNAVKA |
ENTITA |
kniha objednavek |
POLOZKA |
ENTITA |
polozka na dokladu/objednavce/zakazce |
SLUZBA |
ENTITA |
kniha Sluzeb, oprav a rezii |
SLUZBA_POL |
ENTITA |
polozka knihy Sluzeb, oprav a rezii |
ZAKAZKA |
ENTITA |
kniha zakazek (na zaklade objednavky odberatele) |
ADRESAR_BANKA |
RELACE |
1:1---0:N |
DENIK_DM |
RELACE |
0:1---1:N |
DENIK_IM_POL |
RELACE |
0:1---1:N |
DENIK_KOD |
RELACE |
1:1---0:N |
DENIK_SLUZBA |
RELACE |
0:1---1:N |
DM_DM_POL |
RELACE |
1:N---1:1 |
DM_POL_JEDNOTKA |
RELACE |
1:1---0:N |
DM_POL_LOG_DM |
RELACE |
0:N---1:1 |
DOKLAD_ADRESAR |
RELACE |
1:1 --- 0:N |
DOKLAD_DENIK |
RELACE |
0:N---0:1 |
DOKLAD_OBJEDNAVKA |
RELACE |
0:1---0:1 |
DOKLAD_POLOZKA |
RELACE |
1:N---0:1 |
DOKLAD_ZAKAZKA |
RELACE |
0:1---0:1 |
IM_POL_IM |
RELACE |
1:1---1:N |
OBJEDNAVKA_ADRESAR |
RELACE |
1:1---0:N |
OBJEDNAVKA_POLOZKA |
RELACE |
1:N---0:1 |
POLOZKA_JEDNOTKA |
RELACE |
1:1---0:N |
SLUZBA_SLUZBA_POL |
RELACE |
1:N---1:1 |
ZAKAZKA_ADRESAR |
RELACE |
1:1---0:N |
ZAKAZKA_POLOZKA |
RELACE |
1:N---0:1 |
Promena |
Def. |
Obor hodnot |
Popis |
Zaokrouhleni |
2 |
int od 0 |
pocet desetinych mist na ktere se zaokrouhluje pro zobrazeni |
ZpozdeniChyby |
0,1 |
kladne double |
cas v sec. zpozdeni pri chybnem zadani do pole |
STORNO |
true |
boolean |
false=zaznam se smaze fyzicky z DB;true=zaznam se stornuje zapisem do DB pole STORNO_DATUM |
PosFFN |
poOwnerFormCenter |
Borland TPosition |
Pozice formulare pro vyber nahradniho zaznamu za mazany |
ZmenyOkamzite |
true |
boolean |
jestli se maji po zmacknuti klavesy a tim zmeny dat projevit zmeny okamzite v ostatnich formularich => pomale, jelikoz pracuje s DB=s diskem |
HintPause |
20 |
int od 0 |
cas v ms, za ktery se zobrazi HINT |
HintTime |
10000 |
int od 0 |
Delka zobrazeni HINTu v ms |
Barva |
Default |
Popis |
CChybaPole |
clRed |
Barva pri chybnem zadani do pole |
CKontrola |
clRed |
Barva pole, ktere neproslo kontrolou |
CZkontroluj |
clTeal |
Barva pro pole, ktere si ma uzivatel prekontrolovat |
CNezaplacenoPohl |
clRed |
Barva pro zaznam, ktery jeste nebyl proplacen – pohledavka |
CNezaplacenoZav |
clLime |
Barva pro zaznam, ktery jeste nebyl proplacen – zavazek |
CNezaplacenoPohlSel |
clWhite |
Barva pisma pro vybrany zaznam, ktery jeste nebyl proplacen - pohledavka |
CNezaplacenoZavSel |
clWhite |
Barva pisma pro vybrany zaznam, ktery jeste nebyl proplacen - zavazek |
CSmazane |
0x005A5A5A |
Barva stornovanych zaznamu |
CSmazaneSel |
clBlack |
Barva pisma stornovanych zaznamu, ktere jsou vybrany |
CVycerpane |
0x00C5C5C5 |
Barva zaznamu s poctem jednotek zustatku=0 -u DM |
CVycerpaneSel |
clWhite |
Barva zaznamu s poctem jednotek zustatku=0, ktere jsou vybrany -u DM |
CNepristupne |
clSilver |
Barva needitovatelnych poli |
CFFN |
clInfoBk |
Barva pozadi formulare pro vyber nahradniho zaznamu za mazany |
CDenikPO |
0x00B7B765 |
Barva pozadi sloupcu PO v peneznim deniku |
CDenikPN |
0x008383B7 |
Barva pozadi sloupcu PN v peneznim deniku |
CDenikVO |
0x0096B765 |
Barva pozadi sloupcu VO v peneznim deniku |
CDenikVN |
0x008383B7 |
barva pozadi sloupcu VN v peneznim deniku |
CDenikPrubezne |
0x00B765B7 |
barva pozadi sloupcu prubeznych polozek v peneznim deniku |
*Barva ma format Borland TColor: 0x00BBGGRR; Blue-Green-Red nebo definovane |
Promena |
Def. |
Obor hodnot |
Popis |
EMPTY |
|
string do delky 50 |
„ano“ urcuje prazdnou-novou DB |
HESLO |
|
string do delky 50 |
zasifrovane heslo DB |
ROK |
2003 |
int 1000-9999 |
zpracovavany rok |
DPH_L |
5 |
int 1-99 |
nizka sazba DPH 5% |
DPH_H |
22 |
int 1-99 |
vysoka sazba DPH 22% |
FK_DM |
1 |
int od 1 |
ID kodu pro nakup DM |
FK_SLUZBA |
2 |
int od 1 |
ID kodu pro nakup sluzby |
FK_IM |
3 |
int od 1 |
ID kodu pro nakup IM |
FK_JED |
1 |
int od 1 |
ID defaultni jednotky |
U_SPLATNOST |
14 |
int od 0 |
o kolik dni se zvysi datum splatnosti na FA oproti datumu zdanitelneho plneni |
U_OBDOBIDPH |
false |
string true/false |
zdanovaci obdobi, true=mesicne, false=ctvrtletne |
U_JMENO |
|
string do delky 50 |
Jmeno uzivatelske firmy |
U_ULICE |
|
string do delky 50 |
FA adresa uzivatelske firmy |
U_MESTO |
|
string do delky 50 |
Město |
U_PSC |
|
string do delky 50 |
PSC |
U_TEL |
|
string do delky 50 |
Telefony |
U_FAX |
|
string do delky 50 |
faxova cisla |
U_M_TEL |
|
string do delky 50 |
mobilni telefony |
U_E_MAIL |
|
string do delky 50 |
e-mailove adresy |
U_WWW |
|
string do delky 50 |
www stranky |
U_C_UCTU |
|
string do delky 50 |
cislo uctu |
U_KOD_BANKY |
|
string do delky 50 |
kod banky |
U_IC |
|
string do delky 50 |
IC |
U_DIC |
|
string do delky 50 |
DIC |
U_ZAPIS1 |
|
string do delky 50 |
kde a pod jakym cislem je firma zapsana u Zivnost.uradu,OR ap. pro FA |
U_ZAPIS2 |
|
string do delky 50 |
kde a pod jakym cislem je firma zapsana u Zivnost.uradu,OR ap. pro FA |
U_ZAPIS3 |
|
string do delky 50 |
kde a pod jakym cislem je firma zapsana u Zivnost.uradu,OR ap. pro FA |
Entita |
Atribut |
Datový typ |
Key |
Null |
Def. |
Popis |
CASTKA |
PK |
DB_TEXT(30) |
PK |
Ne |
|
Automaticky pomocny primarni klic pro kontrolu unikatnosti zaznamu; sklada se z FK_POL;FK_DAT;FK_CEN |
CASTKA |
FK_CEN |
DB_INTEGER |
FK |
Ne |
|
|
CASTKA |
FK_DAT |
DB_INTEGER |
FK |
Ne |
|
|
CASTKA |
FK_POL |
DB_LONG |
FK |
Ne |
|
|
CASTKA |
CENA |
DB_CURRENCY |
|
Ne |
|
cena z vybraneho sloupce |
CENIK |
ID_CEN |
DB_INTEGER |
PK |
Ne |
|
|
CENIK |
CESTA |
DB_TEXT(150) |
|
Ne |
|
cesta k souboru s cenikem, ktery se stahuje z http |
CENIK |
FIRMA |
DB_TEXT(100) |
|
Ne |
|
jmeno firmy, pobocka, cenova skupina ... |
CENIK |
LIST |
DB_INTEGER |
|
Ne |
|
cislo listu v xls |
CENIK |
SL_CENA |
DB_TEXT(30) |
|
Ne |
|
cisla sloupcu s cenou oddelena ; |
CENIK |
SL_NAZEV |
DB_TEXT(30) |
|
Ne |
|
cisla sloupcu s nazvem oddelena ; |
CENIK |
SOUBOR |
DB_TEXT(30) |
|
Ne |
|
jmeno souboru (v archivu jich muze byt vice) |
CENIK |
TYP_CEN |
DB_INTEGER |
|
Ne |
|
typ ceniku - nastavuje se automaticky dle unikatni trojice CESTA,SOUBOR a LIST |
CENIK |
WWW |
DB_TEXT(100) |
|
Ano |
|
www adresa firmy, el.obchodu, ... |
DATUM |
ID_DAT |
DB_INTEGER |
PK |
Ne |
|
|
DATUM |
DATUM |
DB_DATE |
|
Ne |
|
|
POLOZKA |
ID_POL |
DB_LONG |
PK |
Ne |
|
|
POLOZKA |
FK_TYPCEN |
DB_INTEGER |
FK |
Ano |
|
pro rychlejsi hledani a zarazovani - pokud patri do vice ceniku, tak je =NULL |
POLOZKA |
NAZEV |
DB_TEXT(250) |
|
Ne |
|
jmeno, popis ... |
Jméno Entity / Relace |
Typ |
Popis / Kardinalita |
CASTKA |
ENTITA |
cena polozky v danem datu |
CENIK |
ENTITA |
Urceni ceniku |
DATUM |
ENTITA |
-jen pro usporu velikosti dat v cele DB |
POLOZKA |
ENTITA |
polozka v ceniku |
CASTKA_CENIK |
RELACE |
1:1 --- 1:N |
CASTKA_DATUM |
RELACE |
1:1 --- 1:N |
CASTKA_POLOZKA |
RELACE |
1:1 --- 1:N |
CENIK_POLOZKA |
RELACE |
1:N --- 0:1 -pokud patri polozka do vice ceniku, tak je =NULL |
Promena |
Def. |
Obor hodnot |
Popis |
Zaokrouhleni |
2 |
int od 0 |
pocet desetinych mist na ktere se zaokrouhluje pro zobrazeni |
ZpozdeniChyby |
0,1 |
kladne double |
cas v sec. zpozdeni pri chybnem zadani do pole |
Poslednich |
20 |
int od 1 |
pocet automaticky nastavujicich se poslednich datumu pro graf |
MaxSerii |
20 |
int od 1 do 20 |
maximalni pocet serii v grafu |
DelkaNazvuLegenda |
30 |
int od 0 |
maximalni delka nazvu zobrazovana v legende |
HintPause |
20 |
int od 0 |
cas v ms, za ktery se zobrazi HINT |
HintTime |
10000 |
int od 0 |
delka zobrazeni HINTu v ms |
CChybaPole |
clRed |
Barva |
barva pri chybnem zadani do pole |
CKontrola |
clRed |
Barva |
barva pole, ktere neproslo kontrolou |
*Barva ma format Borland TColor: 0x00BBGGRR; Blue-Green-Red nebo definovane |
Paměti: |
|
Nastavení: · _DB_INFO
Kontakty:
Deník:
|
Databáze
Pomocné knihy:
|
Knihy: |
|
Peněžní deník:
Kniha DM:
Kniha služby, opravy a režie:
Kniha IM: · IM
|
Kontakty:
Kniha dokladů:
Kniha objednávek:
Kniha zakázek:
|
Databáze
Copy
Databáze
· Všechny tabulky v databázi
Neoznačené přechody jsou podmíněny aktivací daného prvku. Po této aktivaci dojde k zobrazení a přechodu do daného formuláře.
· Peněžní deník
· Kniha DM
· Kniha služeb, oprav a režie
· Kniha IM
· Kniha dokladů
· Kniha zakázek
· Adresář
Nejlepší užitečné programy se vyznačují příjemným, přehledným a jednoduchým uživatelským rozhraním, které se snadno ovládá. V tomto projektu je nejdůležitější především přehlednost uživatelského rozhraní, jelikož v problematice účetnictví je spousta různých položek a chyba při práci s účetním programem může mít nepříjemné a závažné důsledky. Bohužel o jednoduchosti v účetním programu asi ani nejde hovořit. Typ uživatelského rozhraní bude standardního typu programů pod operačním systémem Windows (98, NT, 2000 – ne XP). A to jak ve struktuře dialogů, použitých komponent, barevnosti či ovládání. Toto uživatelské rozhraní však bude mít jisté zvláštnosti dle požadavků jednoho z budoucích uživatelů. Jedná se především o požadavek na dobrou čitelnost, z toho důvodu použiji v uživatelském rozhraní vždy o jeden stupeň větší písmo či komponentu než je obvyklé. Standardní velikost písma tedy bude 10 bodů namísto 8 či 12 na místo 10 apod. . Dalším požadavkem je mírná kompatibilita prostředí s DOSovým programem [13] , který doposavad využívá jeden z budoucích uživatelů. Tento požadavek vede k tomu, že kromě standardních globálních ovládacích-strukturalizačních prvků windows programů, jako jsou roletové menu a lišta s ikonkami, zde bude speciální dialogové okno s podobnou strukturou již zmiňovaného DOSového programu.
Jednotlivá dialogová okna budou optimalizována na minimální velikost obrazové plochy 1024x768 bodů s přihlédnutím na rozměr 800x600, zejména pro systém AnaCen. Jak již bylo řečeno, software pro účetnictví se vyznačuje značným počtem položek. Ty se často objevují postupně v několika dialozích tak, jak jsou automaticky či uživatelem, dle smyslu účetního záznamu, volány. Proto se pro větší přehlednost v uživatelském prostředí jednotlivé skupiny položek musí od sebe vzájemně oddělit. K tomuto účelu se použijí standardní grafické prvky uživatelských rozhraní jako jsou skupinové boxy ap. Navíc se tyto standardní prvky rozšíří o podporu různobarevného pozadí položek, které jasně odliší převzatá data položek z dřívějšího dialogu od nových dat. Případně pro rozlišení položek neumožňující zadání dat.
Všechna dialogová okna - formuláře jsem navrhl tak, aby byla široká maximálně 800 bodů, pokud si je uživatel sám nezvětší. Všechny dialogy, vyjma dialogů pro záznam IM a záznam dokladů, budou mít minimální výšku menší jak 500 bodů. Takže se pohodlně vejdou i do rozlišení 800x600. Veškeré změny základní velikosti (pokud je povolena) či pozice dialogu uživatelem se budou pamatovat do následující změny (zatím není implementováno).
Všechny tabulky, kterých se v tomto uživatelském prostředí vyskytuje hodně, se budou řídit dle následujících pravidel:
Všechny knihy (globální dialogy) se budou vyznačovat stejným vzhledem. Jsou to jednoduché dialogy s tabulkou přes celou šíři dialogu a s tlačítky pro nový záznam, opravu stávajícího vybraného záznamu, stornování vybraného záznamu a tlačítko pro aktivaci a přepnutí do speciálního menu programu. U těchto dialogů bude možnost měnit jejich velikost, avšak minimální šířka bude 800 bodů a minimální výška 5 řádků v tabulce.
Veškeré zadávání hodnot bude mít svůj komfort. Při zadávání datumů si bude moci uživatel vypomoci šipkami nahoru resp. dolů nebo + resp. -, které zvýší resp. sníží dané datum o jeden den. Klávesy PageUp resp. PageDown nebo * resp. / budou mít podobný účinek avšak na změnu měsíce. Při zadávání číselných hodnot bude moci uživatel napsat vzorec, který se automaticky přepočítá na výslednou hodnotu. K použití budou operátory +, -, *, /. V případě nepovoleného vstupu, chybné hodnoty, bude okamžitá odezva a návrat k původní hodnotě.
Při zadávání ceny (částky) uživatel zadá hodnotu a pak určí jestli tato hodnota byla s DPH či bez DPH a také určí sazbu DPH. Ve formulářích s počtem jednotek si bude moci uživatel vybrat zadání ceny za jednotku či celkovou cenu. Ta druhá cena se vždy okamžitě přepočte dle počtu zadaných jednotek.
Zadávání typu a čísla dokladu bude řešeno následujícím způsobem. Pro zadání nového dokladu se vybere jeho typ z daných možností (---,P,FA,ZFA,VYP,PD viz. kap 4.1) a číslo se přiřadí automaticky. Bude to maximum z peněžního deníku a knihy dokladů pro daný typ a výdejový či příjmový doklad. Pro zadání již existujícího dokladu se provede výběr z knihy dokladů resp. z peněžního deníku při výběru pro záznam knihy dokladů.
Stejně jako u tabulek bude platit, že se zobrazení hodnoty, která se nevejde do vymezené položky celá zobrazit, zobrazí formou nápovědy, když se nad danou položkou na chviličku zastaví kurzor myši (zatím není implementováno). Hodnota se přidá nakonec opravdové nápovědy, která bude u většiny položek aktivní. Tato nápověda bude stručně vysvětlovat danou položku, aby tak uživateli pomohla k jejímu správnému vyplnění.
Hlavní menu programu se bude sestávat z jednoho plovoucího formuláře, který bude vždy navrchu. Formulář bude mít vlastně jen roletové menu, které bude obsahovat veškeré položky pro ovládání programu. Některé příkazy budou mít i klávesovou zkratku. Zobrazení jednotlivých knih bude možno přes klávesovou zkratku ALT + dané písmeno knihy. Zobrazení dialogů nového záznamu konkrétní knihy bude možno přes klávesovou zkratku CTRL + ALT + dané písmeno knihy.
Tento dialog - menu vznikl díky požadavku na menší zpětnou kompatibilitu prostředí s DOSovým programem. Díky větším programátorským možnostem bude mít systém toto menu ve dvou typech. Uživatel si bude moci vybrat mezi vertikálním a horizontálním uspořádáním. Menu bude obsahovat tlačítka pro vyvolání nejčastěji používaných formulářů. Přepínání mezi těmito menu bude kliknutím na nápis JESpMP. (Horizontální menu je vyobrazeno v 70% své velikosti.)
Jak již bylo zmíněno, globální formuláře budou mít stejný vzhled. U knihy dokladů budou navíc barevně odlišeny záznamy dokladů, které ještě nebyly zaplaceny – pohledávky a závazky. Taktéž v knize DM záznamy s nulovým zůstatkovým počtem jednotek. (Kniha DM je vyobrazen v 70% své velikosti.)
U vstupních formulářů bude taktéž dodržována jistá podobnost – konvence, samozřejmě podle toho, jak to dané položky formuláře dovolí. Dolní část vstupního formuláře bude přes celou svoji šíři zobrazovat tabulku s položkami. Pro úpravu položky bude vyhrazena prostřední část formuláře. V levém dolním rohu této sekce budou umístěna tlačítka při přidání nové položky a stornování stávající. Horní část formuláře bude sloužit pro globální data záznamu, která jsou pro všechny položky stejná. V pravém horním rohu budou umístěna tlačítka pro potvrzení všech změn a uložení záznamu do DB či pro odchod z formuláře bez uložení všech změn. Nalevo od těchto tlačítek bude umístěn souhrnný sumář všech položek. (Záznam DM je vyobrazen v 70% své velikosti.)
Poznámka: Všechny formuláře JESpMP JU jsou uvedeny v příloze 1.
Analýza ceníků je oproti jednoduchému účetnictví nenáročná na počet formulářů a datových či ovládacích prvků v nich. I potřebná velikost plochy je velmi flexibilní. Pro většinu formulářů bude stačit jen malá obrazová plocha, jelikož se jedná o různá nastavení funkcí. Největší plocha bude třeba pro zobrazení ceníku a zobrazení grafu časového vývoje ceny vybraných položek. V obou těchto případech však bude případné zmenšení obrazové plochy jen na úkor komfortu práce. U prohlížení ceníku se prostě jen zmenší počet zobrazovaných řádků a v druhém případě se zmenší vykreslovaný graf. Ten však bude mít funkci zoom a možnost posunu v grafu, takže si uživatel bude moci zvolit měřítko, které mu nabídne potřebný detail grafu. Systém JESpMP AnaCen bude tedy navržen tak, aby šel použít i na rozlišení 800x600.
Ovládání bude podobné systému JESpMP JU. Přes hlavní roletové menu programu či přes klávesové zkratky se uživatel dostane ke všem funkcím programu. Klávesové zkratky budou voleny stejnou filosofií jako v systému JESpMP JU. Formuláře se tedy budou vyvolávat přes klávesu ALT a příslušné písmeno. Ukázkové formuláře níže jsou vyobrazeny v 70% své velikosti.
Poznámka: Všechny formuláře JESpMP AnaCen jsou uvedeny v příloze 2.
V rámci implementace jsem dodržoval následující konvence při pojmenování:
Také je dodrženo pravidlo, že všechna globální data, proměnné, konstanty a funkce se nacházejí v Datamodulu DB společně se všemi tabulkami a dotazy.
Formulář |
Popis |
DB |
datamodul, se všemi tabulkami, dotazy a globálními proměnnými a funkcemi |
FAdresar |
kniha kontaktů / adresář |
FAdresarIN |
zobrazení a úprava záznamu adresáře |
FBanka |
zobrazení a úprava záznamů o bankách |
FDenik |
peněžní deník |
FDenikIN |
zobrazení a úprava záznamu peněžního deníku |
FDialogIN |
dialog s jedním vstupním polem |
FDM |
kniha DM |
fDMIN |
zobrazení a úprava záznamu DM |
fDoklad |
kniha dokladů - paragony,faktury, zálohové faktury a pokladní doklady |
fDokladIN |
zobrazení a úprava záznamu dokladu |
fDPH |
výpočet DPH |
fIMIN |
kniha IM |
fIMIN |
zobrazení a úprava záznamu IM |
fJednotka |
zobrazení a úprava záznamů o jednotkách |
fKod |
zobrazení a úprava záznamů o kódech do peněžního deníku |
fLogDM |
zobrazení změn DM |
fMain |
hlavní formulář s roletovým menu |
fMenu |
vertikální menu |
fMenuH |
horizontální menu |
fMessageDelete |
formulář při mazání jednotky, banky, kódu |
fNastaveni |
zobrazení a úprava nastavení systému |
fSluzba |
kniha služeb, oprav a režie |
fSluzbaIN |
zobrazení a úprava záznamu služby, opravy či režie |
fZaplatitDOK |
formulář pro přiřazení dokladu k peněžnímu deníku a naopak |
Formulář |
Popis |
DB |
datamodul, se všemi tabulkami, dotazy a globálními proměnnými a funkcemi |
fCenik |
formulář pro správu ceníků |
fMain |
hlavní formulář s roletovým menu |
fProhlizeni |
prohlížení vybraných položek vybraného ceníku |
fStahuj |
načtení ceníku ze souboru či z internetu nebo hromadný import ceníků z adresáře |
fVyvoj |
časový vývoj vybraných položek |
Komponenta |
Popis |
Standard |
standardní formulářové prvky: Button, EditBox, Memo, ComboBox,RadioGroup,CheckBox aj. |
Additional |
rozšiřující formulářové prvky: Bevel, ScrollBox, Chart ap. |
Data Access |
Prvky pro přístup k DB: Database, DataSource, Table, Query ap. |
Data Controls |
Standardní prvky napojené na DB: DBEditBox, DBComboBox, DBRadioGroup, DBCheckBox, DBChart ap. |
Dialogs |
Různé dialogy ve stylu windows: Open, Save, Print ap. |
FastNET |
Prvky pro podporu síťových operací: NMHTTP, NMFTP ap. |
ZTVDecompress |
Prvky pro podporu dekomprimace: UnZip, UnRar ap. |
Pro instalaci systému JESpMP jsem chtěl využít profesionální program pro podporu instalace, ale vzhledem k určitým obtížím při jeho použití a především nemožnosti se odchýlit od jeho daného scénáře (i když je malinko flexibilní) jsem se rozhodl raději pro implementaci vlastního instalačního programu (viz. kapitola 8).
Instalační program se tak nese v duchu systému JESpMP i když na druhou stranu není „kompatibilní“ s klasickými instalátory v systému Windows. Umožňuje však jednoduše instalovat systém. Sám si dokáže zjistit, zda je potřeba do systému nainstalovat BDE a také umožní výběr rozdílného adresáře pro uživatelské databáze od instalačního adresáře. Toto považuji za výhodné, jelikož při odinstalaci systému se uživatelské databáze nesmažou. Jelikož jsem sám implementoval instalační program, tak jsem samozřejmě byl nucen implementovat i program pro odinstalování. Jedinou nevýhodu mého instalačního programu vidím v tom, že zatím neumí vytvořit zástupce programů na plochu a do Start menu systému Windows.
Existuje spousta literatury, která se snaží uvést člověka do složité problematiky testování softwaru. Já jsem se s problematikou testování seznámil v předmětech 36SI1 a 36SI2 pomocí [1] a [10] spíše v teoretické rovině. Trošku praktického pohledu na věc mi pak dodal předmět 36SI3 a především předmět 33KTS, ve kterém jsme se učili praktický proces testování za pomocí nástroje Rational Rose. Především z posledně jmenovaných předmětů plyne podstatný závěr ohledně testování. Testování softwaru vlastně začíná již před implementací, jelikož již v analytické části se musí brát v potaz. A pokud bychom to vzali do důsledků, tak se testování promítne již v úvodní studii a to nejen při plánování a časové struktuře projektu. Jedním z nejdůležitějších závěrů je pak fakt, že v rámci testování jsou asi největší rozdíly mezi skutečnými profesionály a řekněme méně ambiciózními programátory. Jinak řečeno, na testování se v rámci projektu může hodně ušetřit, ale to se posléze promítne do mnohem větší a častější „údržby“. A také důležitým závěrem je skutečnost, že 100%-ně otestovaný software vlastně ani neexistuje. Z toho vyplývá, že testování se po předání projektu zákazníkovi přesouvá od vývojáře k zákazníkovi.
Metod a postupů testování je několik, ty základní jsou uvedeny v [1] a [10]. V praxi se samozřejmě různé metody kombinují, používají se různé podpůrné či specializované programy či se většinou napíší vlastní podpůrné funkce a skripty.
Testování systému JESpMP by se dalo rozdělit do čtyř částí. Nejprve jsem testoval jednotlivé naprogramované funkce a zkoušel jejich správnou funkci pro případy typické i v krajních mezích. Prostě tak, abych otestoval danou funkci ve všech větvích jejího kódu. Tomuto testování se říká white-box testing. V druhé fázi testování, black-box testing, jsem testoval funkčnost jednotlivých uživatelských funkcí společně s jejich vzájemnou provázaností. První fáze se samozřejmě s druhou navzájem prolínají. S těmito fázemi je spojena i ta třetí a to, testování uživatelského rozhraní. Prověřil jsem správné chování každého prvku ve formulářích, aby neumožňoval zadat nějaká zbytečně chybná data apod. Taktéž se v této fázi musí prověřit zda fungují všechny klávesové zkratky a především, zda-li se uživatel dostane ke všem uživatelským funkcím. Naproti tomu poslední čtvrtá fáze začala teprve až když byl systém hotov, přesněji řečeno, když byly implementovány všechny moduly této fáze projektu. Ve čtvrté fázi se testoval systém na konkrétních a typických datech a typických postupech, které budou uživatelé systému provádět.
Pro podporu black-box testování jsem do systému JESpMP JU implementoval pomocnou funkci, která vytváří seřazený seznam jednotlivých funkcí, které jsou postupně volány při fungování programu. Pro větší přehlednost a snadnější orientaci lze do seznamu ručně přidat záznam s komentářem. Typicky vždy před nějakým uživatelským zásahem či voláním funkce uživatelem. Jelikož se několik funkcí volá opakovaně za sebou (vykreslování tabulkové mřížky - gridu, výpočet počítaných sloupců - calcfields) nebo se opakuje vždy stejná dvojice funkcí tak se do seznamu zaznamenává volaná funkce či dvojice pouze jednou zároveň s počtem jejího volání (viz. ukázkové výpisy v přílohách A.3 a A.4). Tuto funkci v této fázi projektu naleznete v hlavním menu programu pod záložkou Přehledy/Tracer. Ukázkový výpis naleznete v příloze. Z konečného produktu bude tato funkce odstraněna podobně jako funkce pro výpis aktuálních záznamů všech tabulek databáze, která se nalézá pod záložkou Přehledy/SQL. Funkce pro výpis aktuálních záznamů databáze je velmi nápomocná při white-box testování, ale i při black-box testování. Stejnou pomocnou funkci jsem použil i v systému JESpMP AnaCen.
Pro systém JESpMP jsem vyvinul i instalační program, který nainstaluje systém JU či AnaCen. Po jeho spuštění a nastavení všech potřebných cest a vstupního zip souboru, stačí jen zmáčknout tlačítko INSTALUJ. Instalátor pak dekomprimuje soubory v rootu a v adresáři DB vstupního zip souboru pro systém JU resp. AnaCen a překopíruje je do zvolené složky. Do zvoleného adresáře pro databáze se budou kopírovat pouze uživatelské databáze vytvořené systémem. V případě, že v operačním systému není nainstalován BDE, instalátor dekomprimuje z adresáře BDE v zip souboru potřebné soubory a překopíruje je do adresáře BDE v instalačním adresáři, který jste si zvolili. Pro instalaci BDE je nutné být v administrátorském režimu. Instalátor taktéž zapíše do registrů následující klíče s potřebnými hodnotami:
Instalátor začne instalovat JU v případě, že najde vstupní soubor *.zip pro JU. Stejně tak pro AnaCen. Pokud najde oba, začne instalovat oba systémy. V případě, že máte nainstalovanou verzi BDE nižší než je potřeba (systém se nedá spustit), nainstalujte update BDE, který lze zdarma stáhnout na www.borland.com. Nebo použijte soubor BDE511EngUpgrade.exe na přiloženém CD.
Deinstalační program odstraní všechny zápisy do registrů, všechny soubory v adresářích zvolených při instalaci, mimo deinstalačního programu. Deinstalátor nesmaže uživatelské databáze pokud jsou mimo instalační adresář!
JESpMP jednoduché účetnictví spusťte programem ju.exe, JESpMP analýzu ceníku programem anacen.exe. Pro korektní spuštění systému JESpMP je nutný přístup zápisu a čtení k souboru c:\PDOXUSRS.NET.
Cílem tohoto projektu bylo vytvořit jednoduchý ekonomický systém pro malého podnikatele (JESpMP), složený ze dvou na sobě nezávislých částí. Hlavní část pro podporu vedení jednoduchého účetnictví (JU) a vedlejší část pro analýzu cen (AnaCen) z elektronických ceníků. Celý projekt byl rozdělen do několika bloků. Nejdůležitějším blokem byla analýza problému jednoduchého účetnictví spojena se studiem příslušných zákonů a odborné literatury. Při návrhu uživatelského rozhraní jsem kladl největší důraz na přehlednost a snadnou čitelnost všech položek, kterých se v jednoduchém účetnictví vyskytuje veliké množství. Systém JESpMP JU jsem navrhl tak, aby neomezoval uživatele při vlastních, zažitých postupech v účtování. Na druhou stranu se snaží uživatele maximálně omezit při zadávání dat a tím snížit počet chyb, kterých se uživatel může dopustit. Systém se taktéž snaží vyplňovat co nejvíce položek automaticky, z již známých dat. Tím se nejen snižuje možnost výskytu chyby, ale také rychlost vyplňování formulářů. Díky použité technologii, která nabízí transakční operace, lze předcházet nekonzistenci dat v důsledku nečekané hardwarové či softwarové chyby. Vzhledem k modulárnosti implementace bude v budoucnu možnost ke snadnému rozšíření systému JESpMP.
Z důvodu velikosti problému a především rozmanitosti dat a počtu formulářů (již nyní je implementováno 21 formulářů) jsem nestihl do této chvíle implementovat všechny moduly JU a některé funkce pro ještě komfortnější práci se systémem JESpMP JU (viz. kapitola 5.1.1). Nepodařilo se mi implementovat modul pro správu objednávek a zakázek, modul investičního majetku a především tiskový modul a analýzu dat (mimo výpočtu DPH). Po dokončení tiskového modulu, který je nyní v rozpracovaném stavu, se však systém bude moci začít používat. Již nyní se se systémem seznamují dva uživatelé, kteří ho po dokončení tiskového modulu chtějí využívat. Také se díky tomuto seznamování dostává systém do vyšší fáze testování na skutečných, typických datech a především je ovládán typickými uživateli. Systém JESpMP AnaCen je na rozdíl od JU kompletně implementovaný a tak ho mohou uživatelé využívat již nyní.
[1] Richta K., Sochor J.: Softwarové inženýrství I, Vydavatelství ČVUT, Praha 1998
[2] Pokorný J., Halaška I.: Databázové systémy, Vydavatelství ČVUT, Praha 1999
[3] Šimůnek M.: SQL kompletní kapesní průvodce, Vydavatelství Grada, Praha 1999
[4] Virius M.: C++ Builder 4.0, Vydavatelství Grada, Praha 1999
[5] ÚZ: Účetnictví 2002 podle stavu k 1.1.2002, Vydavatelství Sagit, Ostrava 2002
[6] Ryneš P.: Jednoduché účetnictví pro podnikatele, Vydavatelství Anag, Praha 2002
[7] Ryneš P.: Podvojné účetnictví a účetní závěrka, Vydavatelství Anag, Praha 2002
[8] fy. Borland: El. nápověda k systému C++ Builder 5.0 a dalších komponent
[9] fy. Microsoft: El. nápověda k systému Windows a Access
[10] Vosátka K.: http://cs.felk.cvut.cz/vyuka-si2/si2.htm ,Internet, 1999
[11] Internet – problematika účetnictví a programování v C++, komponenty do C++Builder
[12] Babušík J.: Diplomová práce, ČVUT – FEL, Praha 2002
[13] MRP - Electronics, Software Jednoduché účetnictví, Slušovice
Všechny knihy jsou vyobrazeny se zapnutým filtrem, který je implicitně vypnutý. Horizontální menu, knihy DM, služeb, dokladů, adresář, malý peněžní deník a vstupní formuláře DM, služeb, dokladů a IM jsou vyobrazeny v 70% své velikosti. Celý peněžní deník je vyobrazen v 49% své velikosti. Vstupní formulář pro IM není aktivní – napojen na DB a proto v něm nejsou uvedena data.
A.1.1.2 Speciální menu vertikální
Kliknutím na nápis JESpMP se přepne vertikální menu na horizontální.
A.1.1.3 Speciální menu horizontální
Kliknutím na nápis JESpMP se přepne horizontální menu na vertikální.
A.1.2.1 Vstupní formulář pro peněžní deník
Zvolený kód pevně určil, že se jedná o výdej a tak je výběr nepřístupný. Stejně tak volba typu dokladu na paragon znepřístupnila nastavení způsobu platby.
A.1.2.2 Malý peněžní deník (jen vstupní údaje)
Takto vypadá peněžní deník ve své nejužší podobě, pouze se vstupními údaji. Formulář lze libovolně zvětšovat dle velikosti pracovní plochy až do podoby celého peněžního deníku (viz. obr. níže).
A.1.2.4 Správa kódů pro peněžní deník
A.1.2.5 Formulář pro zaplacení dokladu
Formulář je volán z peněžního deníku, ve kterém je právě přidáván záznam o příjmu peněz přes doklad FA 1. Tudíž je možnost výběru dokladu, kterým bylo placeno, nepřístupná a doklad je vyplněn na FA 1. Doklad, který se tímto záznamem v peněžním deníku bude platit, je automaticky předvyplněn a označen tmavozelenou barvou návrhu.
V knize dokladů jsou jasně patrné nezaplacené pohledávky (červené řádky) a závazky (zelené řádky). Při bližším pohledu lze vyvodit, že se zřejmě uživatel dopustil v případě řádků 9 a 12 chyby při zadávání. A to zvolením jiné sazby DPH v peněžním deníku a knize dokladů. Tato chyba by se při volbě automatického převodu z knihy dokladů do peněžního deníku nemohla stát.
A.1.3.1 Vstupní formulář knihy dokladů
A.1.4.1 Vstupní formulář pro knihu drobného majetku
A.1.4.2 Formulář pro správu odpisů DM a režie DM
V tomto formuláři je filtr zapnut implicitně a to s nastavením na vybraný DM.
A.1.5 Kniha služeb, oprav a režie
A.1.5.1 Vstupní formulář pro knihu služeb, oprav a režie
Pokud se ve formuláři vyskytuje jen jedna položka, nelze ji smazat z tohoto formuláře. Položku lze smazat pouze s celým záznamem o službě, opravě či režii. Stejně tomu je i v knize DM, IM a dokladů.
A.1.6 Kniha investičního majetku
A.1.6.1 Vstupní formulář pro knihu investičního majetku
A.1.7.1 Vstupní formulář pro adresář
A.1.9 Formulář pro odstraňování souvisejících záznamů
Tento formulář se volá při příkazu Smaž ve formulářích Banka, Jednotka, Kód. Pokud existuje na mazaný záznam odkaz v jiném záznamu, má uživatel možnost mazaný záznam nahradit jiným záznamem či v případě nepovinnosti záznamu nahradit prázdným záznamem. V případě neexistence souvisejícího záznamu jsou ve formuláři nahrazena tři speciální tlačítka tlačítkem jedním s funkcí Smaž.
Popisky červenou barvou znázorňují nekonzistenci knihy dokladů a peněžního deníku. Hodnoty ve formuláři jsou vypočítány z knihy dokladů. Hodnoty z peněžního deníku jsou obsaženy v kontextové nápovědě.
Obrázky v sekcích 2.4 a 2.5 jsou vyobrazeny v 70% své velikosti. Obrázek exportu znázorňuje bitmapu *.bmp, do které je uložen graf ve své aktuální velikosti a podobě. Stejně je tomu i při příkazu tisk. Zde je obrázek vyobrazen v 55% své velikosti.
A.3 Ukázkový výpis funkce Tracer systému JU
Tento výpis zaznamenal spuštění programu a přidání nového záznamu do knihy služeb:
0001;TDB::ReadIni
0001;TDB::ReadInfoDB
0027;TDB::QuerySet
0001;TfMenu::TfMenu
0001;TfMenu::FormActivate
0004;TDB::TableDenikCalcFields
0002;TDB::DatumFormat
0001;TfKod::DBeID_KODChange
0001;TfSluzbaIN::TfSluzbaIN
0001;TfDM::TfDM
0001;TfDMIN::TfDMIN
0001;TfDokladIN::TfDokladIN
0001;TfDoklad::TfDoklad
0001;TfMenuH::TfMenuH
0001;TfMain::AddActionToTraceClick
0001;Uzivatel::Akce;Volba N - nový záznam do knihy služeb
0001;TfMenu::bNSluzbaClick
0001;TfMain::NSLUClick
0001;TfSluzba::FormActivate
0001;TDB::TableSluzba_POLAfterScroll
0001;TfSluzba::bNovyClick
0001;TDB::Transaction
0001;TDB::TableSluzba_POLNewRecord
0002;TDB::QueryMax;2
0012;TDB::TableDenikCalcFields
0002;TDB::DatumFormat
0001;TDB::TableSluzba_POLCalcFields
0001;TDB::QueryMax
0004;TDB::TableSluzba_POLCalcFields;2
0003;TDB::TableDenikCalcFields
0001;TfKod::DBeID_KODChange
0009;TDB::TableDenikCalcFields;2
0003;TDB::TableSluzba_POLCalcFields;2
0001;TDB::TableSluzba_POLAfterScroll
0001;TDB::TableSluzba_POLGridAfterScroll
0001;TDB::TableSluzba_POLCalcFields
0001;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLGridAfterScroll
0003;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0001;TDB::TableDenikCalcFields
0001;TfSluzbaIN::FormActivate
0001;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLGridAfterScroll
0008;TDB::TableDenikCalcFields;2
0002;TDB::TableSluzba_POLCalcFields;2
0001;TDB::TableSluzba_POLAfterScroll
0001;TfSluzbaIN::Nastaveni
0001;TDB::Souhrn
0002;TDB::TableSluzba_POLCalcFields;2
0002;TDB::TableSluzba_POLGridAfterScroll;2
0001;TfSluzbaIN::ComboNazevEnter
0001;TDB::QuerySet
0001;TDB::DatumFormat
0001;TfSluzbaIN::eDatum_denChange
0001;TfSluzbaIN::RadioDPHClick
0001;TfSluzbaIN::SetDPH
0001;TfSluzbaIN::MemoCASTKAChange
0001;TDB::CountRecords
0003;TDB::TableSluzba_POLCalcFields;2
0003;TDB::TableSluzba_POLGridAfterScroll;2
0001;TDB::TableDenikCalcFields
0001;TfSluzbaIN::ComboNazevEnter
0001;TDB::QuerySet
0006;TfSluzbaIN::DBGridSluzba_POLDrawColumnCell
0008;TfSluzbaIN::DBGridSluzba_POLMouseMove
0003;TfSluzbaIN::DBGridSluzba_POLDrawColumnCell;2
0026;TfSluzbaIN::GroupBoxPolozkaMouseMove
0019;TfSluzbaIN::ComboNazevKeyDown
0001;TfMain::AddActionToTraceClick
0001;Uzivatel::Akce;Nastavení Názvu
0006;TfSluzbaIN::DBGridSluzba_POLMouseMove
0002;TfSluzbaIN::GroupBoxPolozkaMouseMove
0002;TfSluzbaIN::DBGridSluzba_POLDrawColumnCell
0002;TfSluzbaIN::GroupBoxPolozkaMouseMove
0001;TfSluzbaIN::ComboNazevKeyDown
0001;TfSluzbaIN::GroupBoxPolozkaMouseMove
0001;TfSluzbaIN::ComboNazevChange
0001;TfSluzbaIN::GroupBoxPolozkaMouseMove
0001;TfSluzbaIN::Updates
0002;TfSluzbaIN::GroupBoxPolozkaMouseMove;2
0003;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::ComboNazevKeyDown
0001;TfSluzbaIN::ComboNazevChange
0001;TfSluzbaIN::Updates
0003;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::ComboNazevKeyDown
0001;TfSluzbaIN::ComboNazevChange
0001;TfSluzbaIN::Updates
0003;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::ComboNazevKeyDown
0001;TfSluzbaIN::ComboNazevChange
0001;TfSluzbaIN::Updates
0003;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::ComboNazevKeyDown
0001;TfSluzbaIN::ComboNazevChange
0001;TfSluzbaIN::Updates
0003;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::ComboNazevKeyDown
0001;TfSluzbaIN::ComboNazevChange
0001;TfSluzbaIN::Updates
0003;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::ComboNazevKeyDown
0001;TfSluzbaIN::ComboNazevChange
0001;TfSluzbaIN::Updates
0003;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::ComboNazevKeyDown
0001;TfSluzbaIN::ComboNazevChange
0001;TfSluzbaIN::Updates
0003;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::ComboNazevKeyDown
0001;TfSluzbaIN::ComboNazevChange
0001;TfSluzbaIN::Updates
0003;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::ComboNazevKeyDown
0001;TfSluzbaIN::ComboNazevChange
0001;TfSluzbaIN::Updates
0003;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::ComboNazevKeyDown
0001;TfSluzbaIN::ComboNazevChange
0001;TfSluzbaIN::Updates
0003;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::ComboNazevKeyDown
0001;TfSluzbaIN::ComboNazevChange
0001;TfSluzbaIN::Updates
0003;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::ComboNazevKeyDown
0001;TfSluzbaIN::ComboNazevChange
0001;TfSluzbaIN::Updates
0003;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::ComboNazevKeyDown
0001;TfSluzbaIN::ComboNazevChange
0001;TfSluzbaIN::Updates
0003;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0002;TfSluzbaIN::ComboNazevKeyDown
0001;TfMain::AddActionToTraceClick
0001;Uzivatel::Akce;Nastaveni nového dokladu FA
0008;TfSluzbaIN::DBGridSluzba_POLMouseMove
0002;TfSluzbaIN::GroupBoxPolozkaMouseMove
0001;TfSluzbaIN::DBGridSluzba_POLDrawColumnCell
0002;TfSluzbaIN::GroupBoxPolozkaMouseMove
0001;TfSluzbaIN::ComboNazevExit
0001;TfSluzbaIN::GroupBoxPolozkaMouseMove
0001;TfSluzbaIN::ComboTYP_DOKChange
0001;TfSluzbaIN::GroupBoxPolozkaMouseMove
0001;TfDMIN::ComboTYP_DOKChange
0002;TfSluzbaIN::GroupBoxPolozkaMouseMove;2
0002;TDB::QuerySet;2
0005;TDB::TableDenikCalcFields
0001;TfSluzbaIN::Updates
0005;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0002;TDB::TableDenikCalcFields
0001;TfKod::DBeID_KODChange
0002;TDB::TableDenikCalcFields;2
0002;TDB::DatumFormat;2
0001;TfSluzbaIN::ComboTYP_DOKExit
0001;TfSluzbaIN::eDatum_denEnter
0006;TfSluzbaIN::GroupBoxPolozkaMouseMove
0002;TfSluzbaIN::eDatum_denKeyDown
0001;TfMain::AddActionToTraceClick
0001;Uzivatel::Akce;Nastavení jména položky na AAA
0006;TfSluzbaIN::DBGridSluzba_POLMouseMove
0018;TfSluzbaIN::GroupBoxPolozkaMouseMove
0001;TfSluzbaIN::eDatum_denExit
0011;TfSluzbaIN::eJMENO_SLUKeyDown
0001;TfSluzbaIN::eJMENO_SLUChange
0002;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::Updates
0003;TDB::TableSluzba_POLCalcFields
0001;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0001;TfKod::DBeID_KODChange
0002;TDB::TableSluzba_POLCalcFields;2
0002;TDB::TableDenikCalcFields;2
0002;TDB::TableSluzba_POLCalcFields;2
0006;TfSluzbaIN::DBGridSluzba_POLDrawColumnCell
0001;TfSluzbaIN::eJMENO_SLUKeyDown
0001;TfSluzbaIN::eJMENO_SLUChange
0002;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::Updates
0004;TDB::TableSluzba_POLCalcFields;2
0003;TDB::TableDenikCalcFields
0002;TDB::TableSluzba_POLCalcFields;2
0006;TfSluzbaIN::DBGridSluzba_POLDrawColumnCell
0001;TfSluzbaIN::eJMENO_SLUKeyDown
0001;TfSluzbaIN::eJMENO_SLUChange
0002;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::Updates
0004;TDB::TableSluzba_POLCalcFields;2
0003;TDB::TableDenikCalcFields
0002;TDB::TableSluzba_POLCalcFields;2
0006;TfSluzbaIN::DBGridSluzba_POLDrawColumnCell
0002;TfSluzbaIN::eJMENO_SLUKeyDown
0001;TfMain::AddActionToTraceClick
0001;Uzivatel::Akce;Nastavení ceny na 100 bez 22%DPH
0010;TfSluzbaIN::DBGridSluzba_POLMouseMove
0003;TfSluzbaIN::GroupBoxPolozkaMouseMove
0001;TfSluzbaIN::eJMENO_SLUExit
0001;TfSluzbaIN::MemoCASTKAEnter
0001;TfSluzbaIN::eJMENO_SLUKeyDown
0001;TfSluzbaIN::MemoCASTKAKeyPress
0002;TfSluzbaIN::MemoCASTKAChange
0002;TDB::Kalkul
0002;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::Updates
0004;TDB::TableSluzba_POLCalcFields;2
0003;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0001;TDB::Souhrn
0004;TDB::TableSluzba_POLCalcFields;2
0002;TDB::TableSluzba_POLGridAfterScroll;2
0006;TfSluzbaIN::DBGridSluzba_POLDrawColumnCell
0001;TfSluzbaIN::eDatum_denKeyUp
0001;TfSluzbaIN::eJMENO_SLUKeyDown
0001;TfSluzbaIN::MemoCASTKAKeyPress
0001;TfSluzbaIN::MemoCASTKAChange
0002;TDB::Kalkul
0002;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::Updates
0004;TDB::TableSluzba_POLCalcFields;2
0003;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0001;TDB::Souhrn
0004;TDB::TableSluzba_POLCalcFields;2
0002;TDB::TableSluzba_POLGridAfterScroll;2
0006;TfSluzbaIN::DBGridSluzba_POLDrawColumnCell
0001;TfSluzbaIN::eDatum_denKeyUp
0001;TfSluzbaIN::eJMENO_SLUKeyDown
0001;TfSluzbaIN::MemoCASTKAKeyPress
0001;TfSluzbaIN::MemoCASTKAChange
0002;TDB::Kalkul
0002;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::Updates
0004;TDB::TableSluzba_POLCalcFields;2
0003;TDB::TableDenikCalcFields
0001;TDB::TableSluzba_POLCalcFields
0001;TDB::Souhrn
0004;TDB::TableSluzba_POLCalcFields;2
0002;TDB::TableSluzba_POLGridAfterScroll;2
0006;TfSluzbaIN::DBGridSluzba_POLDrawColumnCell
0001;TfSluzbaIN::eDatum_denKeyUp
0001;TfSluzbaIN::MemoCASTKAExit
0001;TDB::Kalkul
0001;TfSluzbaIN::RadioHodnotaClick
0002;TDB::TableSluzba_POLCalcFields
0001;TDB::Souhrn
0004;TDB::TableSluzba_POLCalcFields;2
0002;TDB::TableSluzba_POLGridAfterScroll;2
0001;TfSluzbaIN::Updates
0002;TDB::TableSluzba_POLCalcFields
0003;TDB::TableDenikCalcFields
0002;TDB::TableSluzba_POLCalcFields;2
0006;TfSluzbaIN::DBGridSluzba_POLDrawColumnCell
0001;TfSluzbaIN::RadioDPHClick
0001;TfSluzbaIN::SetDPH
0003;TDB::TableSluzba_POLCalcFields
0001;TDB::Souhrn
0004;TDB::TableSluzba_POLCalcFields;2
0002;TDB::TableSluzba_POLGridAfterScroll;2
0001;TfSluzbaIN::Updates
0002;TDB::TableSluzba_POLCalcFields
0003;TDB::TableDenikCalcFields
0002;TDB::TableSluzba_POLCalcFields;2
0006;TfSluzbaIN::DBGridSluzba_POLDrawColumnCell
0001;TfMain::AddActionToTraceClick
0001;Uzivatel::Akce;OK - potvrzení změn
0006;TfSluzbaIN::DBGridSluzba_POLMouseMove
0003;TfSluzbaIN::DBGridSluzba_POLDrawColumnCell
0001;TfSluzbaIN::GroupBoxPolozkaMouseMove
0001;TfSluzbaIN::bOKClick
0001;TfSluzbaIN::Kontrola
0002;TfSluzbaIN::KontrolaBarvy
0001;TfSluzbaIN::Updates
0002;TDB::TableSluzba_POLCalcFields
0001;TfSluzbaIN::DoDeniku
0001;TDB::Souhrn
0002;TDB::TableSluzba_POLCalcFields;2
0002;TDB::TableSluzba_POLGridAfterScroll;2
0001;TDB::Souhrn
0002;TDB::TableSluzba_POLCalcFields;2
0002;TDB::TableSluzba_POLGridAfterScroll;2
0001;TDB::Souhrn
0002;TDB::TableSluzba_POLCalcFields;2
0002;TDB::TableSluzba_POLGridAfterScroll;2
0004;TDB::TableDenikCalcFields
0001;TfSluzbaIN::Updates
0006;TDB::TableDenikCalcFields;2
0004;TDB::DatumFormat
0001;TDB::TableDenikCalcFields
0001;TDB::TableDenikAfterScroll
0002;TDB::TableDenikCalcFields;2
0006;TfSluzbaIN::DBGridSluzba_POLDrawColumnCell
0004;TDB::TableDenikCalcFields;2
0002;TDB::DatumFormat;2
0001;TDB::QuerySet
0001;TDB::Kalkul
0002;TDB::TableDenikCalcFields;2
0008;TDB::DatumFormat
0001;TfZaplatitDOK::RadioVYD_PRIClick
0001;TfZaplatitDOK::FormShow
0001;TfZaplatitDOK::FormActivate
0001;TfZaplatitDOK::bOKClick
0001;TfZaplatitDOK::Kontrola
0001;TfZaplatitDOK::KontrolaBarvy
0001;TDB::QuerySet
0001;TDB::TableDenikCalcFields
0004;TDB::DatumFormat
0001;TDB::TableDenikAfterScroll
0004;TDB::TableDenikCalcFields;2
0012;TDB::DatumFormat
0001;TDB::TableDenikAfterScroll
0001;TfZaplatitDOK::FormClose
0001;TfZaplatitDOK::KontrolaBarvy
0001;TDB::Transaction
0001;TfSluzbaIN::FormDeactivate
0001;TfSluzba::FormActivate
0001;TDB::TableSluzba_POLAfterScroll
0002;TDB::TableSluzba_POLCalcFields;2
0002;TDB::TableSluzba_POLGridAfterScroll;2
0009;TfSluzba::DBGridSluzbaDrawColumnCell;2
0018;TfSluzba::DBGridSluzbaMouseMove
0004;TfSluzba::DBGridSluzbaDrawColumnCell;2
0005;TfSluzba::FormMouseMove
0001;TfMain::FormActivate
0001;TfMain::TraceToClipboardClick
A.4 Ukázkový výpis funkce Tracer systému AnaCen
Tento výpis zaznamenal spuštění programu a nastavení prohlížení ceníku:
0001;TfMain::TfMain
0001;TfStahuj::TfStahuj
0001;TfProhlizeni::TfProhlizeni
0001;TfProhlizeni::FormResize
0001;TfProhlizeni::GridReset
0001;TDB::QuerySet
0001;TfProhlizeni::FormResize
0001;TfProhlizeni::GridReset
0001;TDB::QuerySet
0001;TfVyvoj::TfVyvoj
0001;TfMain::FormActivate
0001;TfMain::AddActionToTraceClick
0001;Uzivatel::Akce;Volba Prohlížení ceníku
0001;TfMain::CenikClick
0002;TDB::QuerySet
0001;TfProhlizeni::FormActivate
0001;TDB::QueryList
0001;TDB::QuerySet
0001;TfProhlizeni::QueryViewSet
0002;TDB::QuerySet
0001;TfProhlizeni::GridReset
0002;TDB::QuerySet
0001;TfProhlizeni::ComboDatumEnter
0001;TDB::QuerySet
0001;TfProhlizeni::FormResize
0001;TDB::QuerySet
0001;TfProhlizeni::GridReset
0002;TDB::QuerySet
0001;TfMain::AddActionToTraceClick
0001;TDB::QuerySet
0001;Uzivatel::Akce;Změna datumu
0001;TDB::QuerySet
0001;TfProhlizeni::ComboDatumChange
0001;TDB::QuerySet
0001;TfProhlizeni::QueryViewSet
0003;TDB::QuerySet
0001;TfProhlizeni::GridReset
0002;TDB::QuerySet
0001;TfMain::AddActionToTraceClick
0001;TDB::QuerySet
0001;Uzivatel::Akce;Změna ceníku
0001;TDB::QuerySet
0001;TfProhlizeni::ComboDatumEnter
0001;TDB::QuerySet
0001;TfProhlizeni::ComboDatumChange
0001;TDB::QuerySet
0001;TfProhlizeni::QueryViewSet
0003;TDB::QuerySet
0001;TfProhlizeni::GridReset
0002;TDB::QuerySet
0001;TfMain::AddActionToTraceClick
0001;TDB::QuerySet
0001;Uzivatel::Akce;Nastavení Název obsahuje na amd
0001;TDB::QuerySet
0001;TfProhlizeni::eNazevKeyPress
0001;TDB::QuerySet
0001;TfProhlizeni::ComboDatumChange
0001;TDB::QuerySet
0001;TfProhlizeni::QueryViewSet
0003;TDB::QuerySet
0001;TfProhlizeni::GridReset
0002;TDB::QuerySet
0001;TfProhlizeni::eSloupec1KeyUp
0001;TDB::QuerySet
0001;TfProhlizeni::eNazevKeyPress
0001;TDB::QuerySet
0001;TfProhlizeni::ComboDatumChange
0001;TDB::QuerySet
0001;TfProhlizeni::QueryViewSet
0003;TDB::QuerySet
0001;TfProhlizeni::GridReset
0002;TDB::QuerySet
0001;TfProhlizeni::eSloupec1KeyUp
0001;TDB::QuerySet
0001;TfProhlizeni::eNazevKeyPress
0001;TDB::QuerySet
0001;TfProhlizeni::ComboDatumChange
0001;TDB::QuerySet
0001;TfProhlizeni::QueryViewSet
0003;TDB::QuerySet
0001;TfProhlizeni::GridReset
0002;TDB::QuerySet
0001;TfProhlizeni::eSloupec1KeyUp
0001;TDB::QuerySet
0001;TfMain::AddActionToTraceClick
0001;TDB::QuerySet
0001;Uzivatel::Akce;Nastavení ceny od 5000
0001;TDB::QuerySet
0001;TfProhlizeni::eSloupec1KeyPress
0001;TDB::QuerySet
0001;TfProhlizeni::ComboDatumChange
0001;TDB::QuerySet
0001;TfProhlizeni::QueryViewSet
0003;TDB::QuerySet
0001;TfProhlizeni::GridReset
0002;TDB::QuerySet
0001;TfProhlizeni::eSloupec1KeyUp
0001;TDB::QuerySet
0001;TfProhlizeni::eSloupec1KeyPress
0001;TDB::QuerySet
0001;TfProhlizeni::ComboDatumChange
0001;TDB::QuerySet
0001;TfProhlizeni::QueryViewSet
0003;TDB::QuerySet
0001;TfProhlizeni::GridReset
0002;TDB::QuerySet
0001;TfProhlizeni::eSloupec1KeyUp
0001;TDB::QuerySet
0001;TfProhlizeni::eSloupec1KeyPress
0001;TDB::QuerySet
0001;TfProhlizeni::ComboDatumChange
0001;TDB::QuerySet
0001;TfProhlizeni::QueryViewSet
0003;TDB::QuerySet
0001;TfProhlizeni::GridReset
0002;TDB::QuerySet
0001;TfProhlizeni::eSloupec1KeyUp
0001;TDB::QuerySet
0001;TfProhlizeni::eSloupec1KeyPress
0001;TDB::QuerySet
0001;TfProhlizeni::ComboDatumChange
0001;TDB::QuerySet
0001;TfProhlizeni::QueryViewSet
0003;TDB::QuerySet
0001;TfProhlizeni::GridReset
0002;TDB::QuerySet
0001;TfProhlizeni::eSloupec1KeyUp
0001;TDB::QuerySet
0001;TfMain::AddActionToTraceClick
0001;TDB::QuerySet
0001;Uzivatel::Akce;Zavření okna Prohlížení ceníku
0001;TDB::QuerySet
0001;TfProhlizeni::eSloupec1KeyUp
0001;TDB::QuerySet
0001;TfProhlizeni::bZavritClick
0001;TDB::QuerySet
0001;TfMain::FormActivate
0001;TDB::QuerySet
0001;TfMain::TraceToClipboard
A.5 Doporučené postupy účtování v JU pro uživatele
Postupy účtování v jednoduchém účetnictví jsou různé. Tento program nemá pevně dané postupy účtování, které by uživatele výrazně svazovaly. To ale znamená, že jednu věc lze dělat několika způsoby. Pro uživatele, kteří nejsou navyklí na určitý postup při účtování, jsou zde popsány doporučené postupy pro několik typických akcí.
a. Otevřít knihu dokladů (ALT+D, z menu, z hlavního menu/Zobrazit knihy)
b. Vytvořit nový doklad v knize dokladů (rovnou bez bodu 1 – CTRL+ALT+D, z menu)
c. Potvrdit automatické přenesení údajů z knihy dokladů do peněžního deníku
d. Doplnit požadované informace (pole mají odlišnou barvu) v peněžním deníku
e. Zaplatit doklad (řádek/řádky peněžního deníku) dokladem z knihy dokladů
f. Vytvořit nový záznam v pomocné knize DM nebo v knize Služeb či v knize IM
A.5.1.2 Vydání dokladu za provedené služby – zaplaceno ihned
1. Otevřít knihu dokladů (ALT+D, z menu, z hlavního menu/Zobrazit knihy)
2. Vytvořit nový vydaný doklad v knize dokladů (rovnou bez bodu 1 – CTRL+ALT+D, z menu)
3. Vyplnit potřebné a požadované údaje ve formuláři
4. Potvrdit a uložit změny tlačítkem OK
5. Potvrdit přenesení údajů z knihy dokladů do peněžního deníku
6. Doplnit požadované informace (pole mají odlišnou barvu) v peněžním deníku
7. Potvrdit a uložit změny tlačítkem OK
8. Zaplatit doklad (řádek/řádky peněžního deníku) dokladem z knihy dokladů
A.5.1.3 Vydání dokladu za provedené služby – zaplaceno později
1. Otevřít knihu dokladů (ALT+D, z menu, z hlavního menu/Zobrazit knihy)
2. Vytvořit nový vydaný doklad v knize dokladů (rovnou bez bodu 1 – CTRL+ALT+D, z menu)
3. Vyplnit potřebné a požadované údaje ve formuláři
4. Potvrdit a uložit změny tlačítkem OK
5. Potvrdit přenesení údajů z knihy dokladů do peněžního deníku
6. Doplnit požadované informace (pole mají odlišnou barvu) v peněžním deníku
7. Potvrdit a uložit změny tlačítkem OK
Namísto provedených služeb se může jednat o prodej zboží či jinou aktivitu firmy uživatele. Placeno ihned většinou znamená placení v hotovosti, ale nemusí to býti pravidlem. Stejně tak, placení přes BÚ není vždy spojeno s pozdějším zaplacením dokladu.
A.5.1.4 Pozdější zaplacení dokladu
1. Vybrat z hlavního menu Zobrazit knihy/Zaplacení dokladu
2. Vybrat požadovaný doklad z knihy dokladů
3. Vybrat požadovaný doklad (řádek peněžního deníku) z peněžního deníku (použijí se všechny řádky peněžního deníku s daným dokladem)
4. Zmáčknout tlačítko OK
A.5.1.5 Přijetí dokladu za provedené služby – zaplaceno ihned
1. Otevřít knihu dokladů (ALT+D, z menu, z hlavního menu/Zobrazit knihy)
2. Vytvořit nový přijatý doklad v knize dokladů (rovnou bez bodu 1 – CTRL+ALT+D, z menu)
3. Vyplnit potřebné a požadované údaje ve formuláři
4. Potvrdit a uložit změny tlačítkem OK
5. Potvrdit přenesení údajů z knihy dokladů do peněžního deníku
6. Doplnit požadované informace (pole mají odlišnou barvu) v peněžním deníku
7. Potvrdit a uložit změny tlačítkem OK
8. Zaplatit doklad (řádek/řádky peněžního deníku) dokladem z knihy dokladů
9. Otevřít pomocnou knihu služeb (ALT+S, z menu, z hlavního menu/Zobrazit knihy)
10. Vytvořit nový záznam v knize služeb (rovnou bez bodu 1 – CTRL+ALT+S, z menu)
11. Vyplnit potřebné a požadované údaje ve formuláři
12. Potvrdit a uložit změny tlačítkem OK
13. Potvrdit automatickou opravu údajů v peněžním deníku
Pro záznam do pomocných knih DM a IM je postup stejný jako pro záznam služby. Klávesové zkratky však končí písmenem M pro knihu DM a I pro knihu IM. Při pozdějším placení např. na BÚ se postupuje podobně jako u vydaného dokladu s pozdější platbou. V praxi to znamená vynechat bod 8 zmáčknutím tlačítka STORNO na automaticky vyvolaném formuláři pro zaplacení dokladu.
A.6 Uživatelská příručka systému JESpMP AnaCen
A.6.1 Nastavení a správa ceníků
Nový ceník lze vytvořit tak, že začnete psát jeho název s popisem do ComboBoxu. Pokud vybraný ceník nemá načtena žádná data v databázi tak ho lze smazat pomocí tlačítka SMAZAT. Pokud je tlačítko ULOŽIT tučně napsáno tak byly v nastavení ceníku provedeny změny, které se musí pomocí tohoto tlačítka uložit. Jinak budou veškeré změny v nastavení ceníku zapomenuty při zvolení jiného ceníku či opuštění formuláře.
Funkci Nastavení a správa ceníku lze aktivovat z menu Nastavení/Ceníky nebo pomocí klávesové zkratky ALT+S.
Aby bylo možno prohlížet ceníky či sledovat vývoj ceny, musí se nejprve načíst nějaké ceníky do databáze. Před vlastním načtením ceníku musíte vybrat v ComboBoxu typ ceníku, který se bude načítat a také datum, pro které je ceník platný. Poté máte na výběr načíst ceník ze souboru či ho stáhnout ze zadané www adresy v nastavení ceníku. Pro stahování z internetu je možnost nastavit adresu a port proxy serveru.
Jelikož stahování souboru a vlastní načtení souboru může trvat i několik desítek sekund až minut (v závislosti na počtu položek načítaného ceníku, velikosti aktuální DB a výkonu počítače), zobrazuje se na tlačítku procento již uskutečněného převodu - načtení.
Načítaní ceníku funguje pouze pokud je v systému Windows korektně nainstalován MS Excel 97/2000. Funkci Načtení ceníku lze aktivovat z menu Zobrazit/Načtení ceníku nebo pomocí klávesové zkratky ALT+N.
A.6.3 Hromadný import ceníků z adresáře
Hromadný import ceníků načte najednou několik ceníků stejného typu do databáze. Ze zvoleného adresáře vezme všechny soubory s koncovkou XLS, ZIP či RAR a pokud mají správný formát jména začnou se soubory postupně načítat do databáze. Soubory musejí mít na konci svého jména (před koncovkou) uvedeno datum platnosti ceníku ve formátu RRMMDD, kde R je rok, M je měsíc a D je den (např. cenikXY020527.zip). Před importem ceníků si musíte vybrat v ComboBoxu typ ceníku. Jedná-li se o archivní soubor tak se načte soubor z archivu se jménem dle nastavení v typu ceníku. Datum platnosti ceníku se ani nedá nastavit, jelikož se automaticky vyplňuje ze jména zpracovávaného souboru. Díky této změně, která je vidět i ve formuláři, máte přehled, který soubor se zrovna zpracovává. Formulář je identický s formulářem pro načtení ceníku A.6.2, samozřejmě s mírnými odlišnostmi.
Funkci Import lze aktivovat z menu Soubor/Import nebo pomocí klávesové zkratky ALT+I.
V prohlížení ceníku si nejprve zvolíte datum a typ ceníku, který si chcete prohlédnout. Pokud jsou k vybranému datu a ceníku nějaká data v databázi, zobrazí se položky s cenou v tabulce ve formuláři. V záhlaví prvního sloupce s názvem položky je vždy uváděn počet položek, které jsou právě zobrazovány v tabulce. Tabulku lze řadit vzestupně či sestupně dle jednotlivých sloupců, kliknutím levým tlačítkem myši na záhlaví vybraného sloupce. Vedle sloupců s názvem položky a cenou z databáze je možné rozšířit tabulku i o další dva sloupce. Tyto sloupce obsahují vypočtenou cenu dle nastavených konstant Cena 1 a Cena 2. Dvojklikem na tyto nápisy lze určit, zda se cena z databáze bude konstantou násobit či dělit. Pokud je pole pro zadání konstanty prázdné, příslušný sloupec se v tabulce nezobrazuje.
Položky ve vybraném ceníku lze i omezit filtrem. Můžete nastavit cenový rozsah položek, které se mají zobrazovat. Nebo jen minimální či maximální cenu zobrazovaných položek. Položky lze také filtrovat podle jejich názvu. Do příslušného pole napíšete řetězec, který mají mít vybrané položky a dvojklikem na nápis tohoto pole zvolíte pozici v názvu. Jde o to, jestli obsahují položky tento řetězec kdekoli, jen na začátku či jen na konci svého názvu. Do řetězce můžete napsat i tzv. zástupné znaky. Znak _ zastupuje právě jeden znak (jako ? v MS aplikacích) a znak % zastupuje žádný až několik znaků (jako * v MS aplikacích).
Nastavení filtru stejně jako nastavení cenových konstant se promítne do zobrazení v tabulce až po potvrzení klávesou ENTER v některém z těchto polí. Změna datumu či ceníku se promítne v zobrazení tabulky okamžitě.
Funkci Prohlížení ceníku lze aktivovat z menu Zobrazit/Ceník nebo pomocí klávesové zkratky ALT+C.
Hlavní funkcí tohoto systému je vytvořit graf cenového vývoje vybrané položky. To právě zajišťuje tato funkce. Stačí si jen zvolit od kdy do kdy si chcete nechat vykreslit graf, vybrat si z ComboBoxu požadovanou položku a zmáčknout tlačítko PŘIDEJ. Jelikož položek bude v databázi několik tisíc, lze je filtrovat a tím omezit jejich počet. Aktuální počet názvů v ComboBoxu je znázorňován ve formuláři pod datumovým rozsahem.
Výběrem konkrétního ceníku se budou zobrazovat jen názvy položek daného ceníku a položky, které mají stejný název pro více než jeden ceník. Podobně jako v prohlížení ceníku si lze nastavit jen názvy, které obsahují příslušný řetězec (i se zástupnými znaky _ a %). Dvojklikem pak měnit pozici hledaného řetězce z obsahuje kdekoliv v názvu na začíná či končí zadaným řetězcem. Nastavení filtru se projeví až po stisknutí klávesy ENTER v poli pro zadání řetězce či zmáčknutím tlačítka FILTRUJ.
Funkci Vývoj ceny lze aktivovat z menu Zobrazit/Vývoj ceny nebo pomocí klávesové zkratky ALT+V.
Do grafu lze, přes tlačítko PŘIDEJ, přidat až 20 různých sérií položek. Přes zaškrtávací políčka lze přidat či odebrat součet všech položek v grafu jako další sérii s osou Y napravo nebo zobrazit či skrýt legendu a rozšiřující informace o vybrané sérii. V kontextové nápovědě legendy se dozvíte co všechno a jak můžete dělat s grafem.
Rozšiřující informace – tabulka nabízí informaci o počtu záznamů vybrané série, minimální, maximální i průměrnou hodnotu. Také nabízí tabulku se všemi body (den a cena) v grafu. Vše samozřejmě jen v datumovém rozpětí vybrané série. U minimální a maximální ceny je znázorněno i poslední datum dané hodnoty.
Výběr série pro rozšiřující informace se provede kliknutím levého tlačítka myši nad danou sérií (kurzor je ručička). Dvojklikem v grafu mimo série (kurzor je šipka) můžete smazat všechny série z grafu. Kliknutím pravého tlačítka myši nad danou sérií (kurzor je ručička) můžete odstranit sérii z grafu (pouze pokud je neaktivní série součet). Graf také podporuje funkci ZOOM, tedy zvětšení vybrané oblasti grafu. Kliknutím a držením levého tlačítka myši nakreslíte v grafu obdélníkovou výseč, kterou
chcete zvětšit. Výseč musíte kreslit od levého horního rohu do pravého dolního rohu. Pokud nakreslíte v grafu obdélníkovou výseč jiným postupem, zrušíte funkci ZOOM a graf se zobrazí v nezvětšené podobě. Pohybem myši se stisknutým pravým tlačítkem se můžete posunovat po grafu.
Funkce jsou dostupné jen v případě, že je v grafu vývoje ceny přítomná alespoň jedna série cen. Je-li tomu tak, pak si můžete graf vytisknout na primární tiskárně systému Windows či si jej uložit jako obrázek ve formátu BMP. Graf se vytiskne či uloží přesně tak, jak je vidět na obrazovce. S legendou či bez legendy, v daném zvětšení, v dané velikosti a posunutí.
Funkci Export lze aktivovat z menu Soubor/Export nebo pomocí klávesové zkratky ALT+E. Funkci Tisk lze aktivovat z menu Soubor/Tisk nebo pomocí klávesové zkratky ALT+P.