Jak by měl vypadat systém pro evidenci skladových pohybů?
Obecně bych se přikláněl k relační databázi, podobným směrem jsem se nejprve (asi před měsícem a půl) vydal a začal jsem tvořit i grafické rozhraní pro manipulaci s databází. Dnes, s odstupem, jsem to zvážil ještě z jiných hledisek. Především, pravděpodobně nalezneme vazby na již existující evidence. Skladový systém by do nich měl pokud možno nenásilně zapadnout. Uživatelským rozhraním by pak logicky byla kombinace textového editoru a sada pomocných skriptů - pro vyplňování, dotazování, kontrolu konzistence apod. Pro vlastní data stále zvažuji relační databázi nebo prosté textové soubory. Bez ohledu na technické řešení, data a nástroje pro práci s nimi by mohly vypadat třeba takto:
Číselníky
subjekty - pro sledování vlastnického vztahu k věcem
#id jmeno dz David Zejda ks Karel Snajdrvint oz Ondrej Zajicek dk David Kolovratnik crf-net CRFreeNet, divize sit crf-ob CRFreeNet, divize obchod oit Open-IT jzd-p JZD Pohled
Subjekty, které by se kryly s účty v computers by mohly používat stejné identifikátory
místa - pro sledování fyzického umístění věcí
#id jmeno kino kino, u karla skroup u DZ libo u roberta jzd-p JZD Pohled
Třeba by subjekty mohly sloužit zároveň jako místa, a do tabulky míst by se uvedla jen taková místa, která nemají svůj odraz v subjektech (typicky u subjektů, které mají věci rozeseté všude možně).
položky
#id jmeno ap-5460 OvisLink WL-5460 AP ap-1120 OvisLink WL-1120 AP pig-mini pigtail mini UFl
Převody
Tabulka, která by obsahovala to hlavní - přesuny mezi sklady a změny vlastnických vztahů. Peníze by mohly být evidovány jako cokoliv jiného.
kdy - datum, pokud by byla tabulka v podobě textových souborů, možná by mohl existovat spíše adresář pohyby a jednotlivé soubory by byly pojmenovány podle data
dod-dkl - číslo, pod kterým transakci zaevidoval dodavatel (ten, kdo je v kolonce "odkoho"), kde to bude mít smysl, číslo by se zřejmě přidělovalo automaticky v číselné řadě podle dokladu
odb-dkl - číslo, pod kterým transakci zaevidoval dodavatel (ten, kdo je v kolonce "komu")
co - kód položky
kolik
odkoho - původní vlastník
komu - nový vlastník
odkud - původní umístění
kam - nové umístění
cena - zřejmě vč. DPH
vyriz - kterým dokladem byl splacen případný závazek, "ne" znamená trvání závazku, "-" závazek nevzniká
zazn. - kdo zaznamenal řádek
pozn - poznámka
#kdy dod-dkl odb-dkl co [s/n] kolik odkoho komu odkud kam [cena] [vyriz] zazn. pozn #nakup a presun; vznik zavazku 060919 vf0013 pf20014 ap-1120 ma44r0d 1 oit crf-net skroup kino 1000 ne dz pro Novaka # nakup a presun; uhrazeno (uhrada viz dalsi radek) 060919 vf0014 pf20015 ap-5460 1 oit crf-net skroup kino 1000 pd0017 dz # uhrada zavazku 060923 pd0017 pd0018 kc 1190 crf-net oit kino skroup - vf0014 dz # presun 060922 sd00015 sd00015 ap-1120 ma4430d 1 crf-net crf-net kino libo 1190 - ks # zmena vlastnictvi - prodej 060922 vf00019 pf00018 ap-1120 ma4430d 1 crf-net jzd-p libo jzd-p 1300 ne rk
Tabulka neodpovídá doporučeným zásadám relačních databází, především není normální. Zásah, který by stál za zvážení je rozdělit ji na dvě o struktuře:
#kdy dod-dkl odb-dkl odkoho komu odkud kam [vyriz] zazn. pozn
a
#co [s/n] kolik [cena] pozn
Čím méně, tím je struktura jednodušší a přehlednější - třeba pro ruční úpravy dat dává smysl aniž by bylo třeba něco dohledávat ve více souborech. Na druhou stranu z redundance zase plyne vyšší náchylnost k nekonzistencím a obecně chybám v datech.
Vkládání nových záznamů
novy-pohyb [kompletni specifikace pohybu pro davkove pouziti - format jsem zatim neresil]
bez parametru se spusti v interaktivnim modu
priklad: interaktivni vlozeni nakupu 2 polozek
$ novy-pohyb
kdo vklada> ks
pouzito Karel Snajdrvint
kdy>
pouzito dnesni datum: 2006-09-20
zmena mista> a
pouzito "ano"
odkud> blah
neznam; zkus "?" nebo "??"
odkud> ?
skroup kino libo newt
odkud> ??
kino kino, u karla
skroup Skroupova 233, u DZ
libo u roberta
jzd-p JZD Pohled
odkud> skroup
pouzito "Skroupova 233, u DZ"
kam> kino
pouzito "kino, u karla"
zmena vlastnictvi> a
pouzito "ano"
od koho> ??
dz David Zejda
ks Karel Snajdrvint
oz Ondrej Zajicek
dk David Kolovratnik
crf-net CRFreeNet, divize sit
crf-ob CRFreeNet, divize obchod
oit Open-IT
jzd-p JZD Pohled
od koho> oit
pouzito "Open-IT"
komu> crf-ob
pouzito "CRFreeNet, divize obchod"
hned uhrazeno> n
pouzito "ne"
dod. doklad navrh: vf10017>
pouzito "vf10017"
odb. doklad navrh: pf10027>
pouzito "pf10027"
polozka> ?
ap-1120 ap-5460 pig-mini
polozka> ap-5460
pouzito "OvisLink WL-5460 AP"
kolik> 1
pouzito 1 ks
cena> 1190
pouzito 1190,-
hotovo> ?
a n r
hotovo> ??
a ano, ulozit
n ne, pokracovat dalsi polozkou
r rekapitulace
hotovo> r
vklada ks
kdy 2006-09-20
odkud skroup
kam kino
od koho oit
komu crf-ob
uhrazeno n
dod-dkl vf10017
odb-dkl pf10027
-----------------------
ap-5460 1 1190
-----------------------
celkem 1190
hotovo> n
polozka> pig-mini
pouzito "pigtail mini (UFl)"
kolik> 1
pouzito 1 ks
cena> 120
pouzito 120,-
hotovo> r
vklada ks
kdy 2006-09-20
odkud skroup
kam kino
od koho oit
komu crf-ob
uhrazeno n
dod-dkl vf10017
odb-dkl pf10027
-----------------------
ap-5460 1 1190
pig-mini 1 120
-----------------------
celkem 1310
hotovo> a
zaznamenano
$ Ještě tam chybí dotaz na s/n a poznámku. Výsledkem by byly dva řádky v tabulce pohybů:
060920 vf00017 pf20027 ap-5460 1 oit crf-ob skroup kino 1190 ne ks 060920 vf00017 pf20027 pig-mini 1 oit crf-ob skroup kino 120 ne ks
Dotazy
stav-skladu misto]@[subjekt[/polozka][ :datum]
priklad - kolik je momentalne starych ovislinku ve vlastnictvi crf-net u karla:
$ stav-skladu kino@crf-net/ap-1120
pohyby misto]@[subjekt[/polozka][ :datum]
priklad - kolik ma crf-net v hotovosti penez:
$ stav-skladu @crf-net/kc
priklad - kolik je u karla v hotovosti penez, bez ohledu na to, komu patri:
$ stav-skladu kino@/kc
nevyrizene kdo]:[komu[/polozka]
priklad - vsechny pohledavky crf-ob:
$ nevyrizene :crf-ob
priklad - vsechny zavazky crf-ob:
$ nevyrizene crf-ob:
apod...
připomínky, nápady, dotazy
- sledování sériových čísel a záruční doby
a) Nebezpečné zboží (aktivní prvky - na skladě klesá doba jejich záruky) např... ap-.. switch-.. Může se pak vyčíslit co je na skladě nutné k prodeji (záruka 24měsíců mínus 6měsíců)
b) Bezpečné zboží (konektory, kabely, ...)
pokud se vezme 10x síťová karta tak aby bylo možné do skladu zanést jejich sériová čísla nějak najednou,.. (na nové stránce kopírovat hodnoty mimo sériového čísla nebo zadat vícenásobě v jednom formuláři podle položky kolik ks)
KS: snad se šikne :o))
DZ: OK, v návrhu ty bylo myšleno tak, že by se do sloupečku se sér. číslem mohlo uvést tolik čísel, kolik by bylo řádkem zaznamenaných položek zboží. Zatím není ale navržen žádný mechanismus, který by u aktivních prvků nutil uživatele sn doplnit, protože položky nejsou podle hlediska má sn nemá sn rozlišeny. Řešením by bylo do číselníku položek přidat sloupeček, kterým by se určilo, zda je uživatel systému povinen u této položky sn uvádět.
Poznámky
KS psal pred casem mailem - probrat a pripadne zaclenit do navrhu:
myslim aby jsme se Robert v datech netopil bylo by vhodne prozkoumat systemy ucetnictvi a hlavne skladu+dodavatelu,..
DZ uz prozkoumal cca 8 systemu a neco vybral,.. myslim ze zasle odkazy treba mu s tim pomuzem,..
jinak treba jak evidovat konektory RJ45 a podobne drobnosti ve skladu,... myslim ze by se mohlo dohodnout ze se budou odepisovat nejak naraz,.. nestoji mnoho a s presnou evidenci konektoru a metrazi kabelu by to bylo hruuuza,...
NAVRH
navrhuji aby Robert vyplnoval Predavaci protokoly dusledne vse co jde napocitat zakaznikoj,.. z toho se udela pak faktura ,... do skladu se zapise ale nemusi tak dusledne (odepisovani konektoru atd,...) peci nebude RJ45 4ks Franta Vobejda a 3ks Eva Vomáčková atd,...
stanovit co se ze skladu ma odepisovat dusledne a co vypoustet,.. mozna podle hodnoty materialu
tabulka skladu
datum_prijmu_od_dodavatele (dobre pro reklamaci) dodavatel nazev_vyobku cena seriove_cislo mac (na zvazenou) datum_predani_zakaznikoj
pak neco zda byl produkt vyreklamovan a jeho nahrada
kdyz k nekomu pojede muze si pripravit predavaci protokol (v budoucnu) zaskrtanim prislusnych fajfek v databazi,.. MAC muze zapsat automaticky do computers :))) HE HE (kdopa se s tim bude delat)
cerpam tak ze zkusenosti z Ecompu
treba se neco hodi
