Vedení malého skladu a fakturace.

program: Oldřich Bukáček

Jako ukázku jednoduchého využití malého počítače ATARI uvádíme původní program dřívějšího člena prostějovského Atari klubu Oldy Bukáčka.

Jeho technickým vybavením je:

Program neřeší celé jednoduché účetnictví, (držme se při zemi) umožňuje pouze vedení malého skladu a automatizuje tisk dodacích listů. Zjednodušeně řečeno, ty se liší od faktur tím, že zákazníci platí ihned v hotovosti.

Je vhodné podotknout, že Olda není žádný školený programátor, počítač používá jako většina z nás ze zájmu. Jinak je vyučený soustružník. Proto mu v podstatě zbýval jen programovací jazyk BASIC, v němž si pro svoji potřebu narychlo sestavil funkční program. Zkušený programátor by jej jistě byl schopný optimalizovat a vylepšit.

Velkým problémem je nedostatek paměti malého počítače. Například v této nejnovější verzi Olda vypustil nápovědné menu, aby mohl spravit vedení skladových opoložek. Nemůže také dodělat některé původně plánované funkce.

Potichu si myslím, že program napsaný ve strojáku se zaměřením na využívání ramdisku by mohl skutečně zvládnout jednoduché účetnictví menšího rozsahu. Jenže ani komerčně prodávané programy nepřekračují využití jazyka TURBOBASIC.

Tento program používají i Oldovi kolegové, kteří se jinak o počítače nezajímají. Proto jej používají v sestavě umožňující samočinné nastartování celého systému. Použitým Dosem je BIBODOS, který si při startu samočinně naformátuje ramdisk č.8, pokud nebyl dosud formátován. (výhoda před DOS 2.5) Automaticky se spustí TURBOBASIC nazvaný AUTORUN.SYS. Vlastní program je samozřejmě pojmenován AUTORUN.BAS. Do ramdisku si ihned rozbalí položky uložené ve zhuštěné formě na disketě ve dvou shodných souborech. Překopíruje si také soubor s číslem poslední faktury.

Samotný program nyvyužívá žádné speciální příkazy Turbobasicu a tak by fungoval i bez něj. S ním je však rychlejší a také by zde měla být k dispozici větší paměť.

Po zdržení daném zaváděním české znakové sady se objeví seznam všech dvaceti druhů položek a program je ihned v režimu odepisování materiálu. Prvních deset položek se volí stiskem klávesy s daným číslem, pro druhou desítku se musí nejprve stisknout klávesa "A" a potom opět číslo od jedné do deseti. Na spodním okraji obrazovky se vypisuje nápověda ve tvaru A = 10. Další podivný údaj zobrazuje volnou paměť počítače.

Každý typ materiálu obsahuje deset kartiček na jednotlivé druhy. To je dohromady 20 * 10 = 200 kartiček materiálu. Zdá se to být málo, a také Olda skutečně průběžně může používat pro svoji práci daleko více druhů. Jejich podchycení tímto programem je umožněno jednorázovým vyčerpáváním některých druhů. Například jestliže na natření jednoho auta je potřeba několik kilogramů žádaného odstínu barvy za několik tisíc pěněz, nemá Olda na skladě desítky možných odstínů, ale koupí množství právě na jedno auto.

Mimo odepisování materiálu má program ještě tyto funkce:

    S = Nahrávání na disk,tisk skladu
    D = Doplnit sklad
    P = Tisk dodacích listů
    O = Napsat adresu a cenu
    N = Nový dodací list

Volí se stiskem příslušné klávesy, ale jejich seznam se již nevypisuje, uživatel si je prostě musí pamatovat.

Po provedení odpisu materiálu se v přípravě dodacího listu pokračuje funkcí "Napsat adresu a cenu". Po svém vyvolání nabídne formulář na adresu zákazníka a cenu provedené práce. Je zde také uvedeno číslo dodacího listu.

Konečný tisk se provede pomocí funkce "Tisk účtu". Na dodacím listu je uveden seznam dříve odepsaných položek, adresa + cena práce a výsledný součet peněz. Není zde rozpočítání na DHP, protože Olda není plátcem daně, ale není celkem nic jednoduššího, než tento výpočet dodělat. Dodací list se automaticky vytiskne dvakrát, jednou pro založení, a pak je nabídnuta možnost tisku skladových karet také pro založení. To je vhodné provést na závěr pracovního dne. protože se musí také zakládat.

Před psaním nového dodacího listu je potřeba stisknout klávesu "N", po níž se provede výmaz adresy a zruší se přičítání dříve odepsaných položek ze skladu. Vymaže se ale také číslo faktury, protože je použitý globální příkaz CLEAR. Proto je nutné jej doplnit pak ručně, naštěstí se nemusí pamatovat, protože je uvedeno na předchozím tisku. (samozřejmě se musí přičíst jednička)

Funkce "Doplnit sklad" slouží samozřejmě pro přijímání nového materiálu. Má jednu chybičku, že se musí od zvolené položky projet všech deset kartiček, i když mají zůstat prázdné. V takovém případě se prostě odklepají Returnem.

Poslední funkcí je "Nahrávání na disk, tisk skladu". Slouží k uložení stavu materiálu na disketu po ukončení práce. Ti, kteří nemají záložní zdroj by ji měli zřejmě využívat po každé změně. Dále je zde k dispozici tisk stavu skladu pro založení.

Mimo zdvojené ukládání stavu skladu na disketu nemá program žádné zajištění proti chybě. Při vypisování adresy se prostě nemá udělat chyba, nebo se musí pak psát znova. Při havárii programu zachraňuje Olda svoje data díky orientaci v programu. Jednoduchý způsob je zrušit na řádku 25 volání načítání skladu a pak spustit program znovu. V paměti zůstanou aktuální data ve stavu před přerušením.

V použitém ovladači češtiny vytaženém kdoví odkud chybí někdy potřebná pomlčka. Možná nechybí, ale je důkladně ukrytá pod divokou kombinací kláves.

Popis programu jsem napsal sám podle konzultací s autorem. Dokonce i jméno jsem sám vymyslel, nešlo přece napsat manuál k programu AUTORUN.BAS. Olda sám jako začínající podnikatel nemá čas na méně důležité věci. (Proto také již nechodí k nám do klubu) Možná jsem něco napsal špatně a něco vynechal, ale stejně nepočítám s tím, že by program v této podobě chtěl někdo používat. Nic tomu však nebrání, protože jej Olda pustil jako PD.

Připomínky k programu.

Vůbec se mi nelíbí mít českou sadu v data řádcích, z nichž se vybírá a ukládá někam jinam. Zabírá tak odhadem více než trojnásobek místa. Její zavedení bych řešil přímým čtením samostatného datového souboru na určené místo do paměti. Data řádky jsou prostě fuj.

Konverzi do kódu Kamenických pro tiskárnu by mělo být možné také zlepšit. Zkusil bych použít číselné pole inicializované asi také ze zvláštního souboru.

Radek by zkrátil zápis formulářů do příkazu PRINT nahrazením řady mezer znakem tabulátoru, čímž by se ušetřilo pár bajtů.

-ZB-