14.10.2013
Prenos podataka između tabela u Dolapu II put
U prethodnom blogu Prenos podataka izmeÄ‘u tabela u Dolapu je pomenuto da postoji namera se da lepljenje (paste) podataka realizuje u dokumentima. Od verzije 0.928 ono je realizovano u sve robne dokumente sem povratnica. Obzirom da je lepljenje podataka u Dolap moguće samo ako su podaci kopirani iz samog Dolapa, tj. nije moguće lepljenje podataka iz drugih programa, niti će biti moguće u budućnosti, ova verzija donosi mogućnost preuzimanja podataka iz drugih programa preko CSV fajlova, o Äemu će biti reÄ kasnije u ovom tekstu. Sve Å¡to se odnosi na lepljenje podataka važi i za import podataka iz fajla, jer se u osnovi radi o istoj stvari sa jednim meÄ‘ukorakom – mapiranje CSV fajla.Naravno ovde je reÄ o lepljenju tabela podataka. Lepljenje pojedinaÄnog podatka u polje forme, npr. nabavna cena u ćeliju forme kalkulacije je uvek radilo kao kod svakog Windows programa. Lepljenje tabelarnih podataka u Dolap je drugaÄije nego kod drugih Windows programa, Å¡ta viÅ¡e lepljenje tabela u Dolap je Äudno. Govorimo o na primer kopiranju svih stavki nekog raÄuna i njihovom lepljenju na primer u otpis robe.
Bacam kocke, izlaze krugovi
ÄŒudno je pre svega jer programi kod kojih se tabela podataka puni preko forme, kombinacijom unetih podataka i postojećih podataka iz baze (Äitaj knjigovodstveni programi), nemaju lepljenje tabela. Naime ne može se u dokument zalepiti neka tabela kao u obiÄan editor teksta.

Najeklatantniji primer ovog Äudnog lepljenja je izveÅ¡taj Promet robe po dokumentima. Na primer otvorimo karticu nekog kupca, oznaÄimo sve redove (Ctrl A) i kopiramo ih (Ctrl C). Redovi sadrže zaduženja po raÄunima i stavke sa izvoda o uplatama raÄuna. Otvorimo IzveÅ¡taji > Roba > Promet robe po dokumentima i zalepimo. Na ekranu se pojavljuje lista artikala! Vrlo Äudno, ali ne i nelogiÄno.
Razumevanjem logike lepljenja u Dolapu dobija se moćan alat za povećanje produktivnosti rada u programu. Logiku lepljenja odreÄ‘uje logika tabele u koju pastujemo podatke. Konkretno ova tabela od korisnika oÄekuje da unese tip i broj robnog dokumenta, nakon Äega ona prikazuje artikle sa tog dokumenta i njihove koliÄine ulaza i izlaza. Nakon toga možemo da unesmo novi dokument i ukoliko na njemu ima artikala koji su već prikazani u tabeli, njihove koliÄine će biti sabrane, tj. artikal se samo jednom prikazuje sa kumulativnim koliÄinama ma koliko robnih dokumenata uneli. Možemo da, prepisujući sa kartice kupca, unesemo sve raÄune (i povratnice) kupca i videćemo ukupne koliÄine robe koje je kupio od nas. Ali Å¡ta ako on ima 1000 raÄuna? Uradićemo ovo Å¡to je pomenuto gore – copy/paste. Tabela u koju se lepe podaci posmatra da li na clipboard-u ima podataka koju su od njenog interesa. Ako nedostaju, odbiće lepljenje. Konkretno ovde su to tip i broj robnog dokumenta, a koji postoje na kartici kupca i ovaj izveÅ¡taj će samo njih preuzeti, tj. brojeve raÄuna (i povratnica ako ih ima). Redove izvoda, ostalih knjiženja, iznose dugovanja i potraživanja itd. će ignorisati. Efekat je isti kao da su velikom brzinom ruÄno uneti svi brojevi raÄuna. Rezultat je da lepljenje ne daje na ekranu ono Å¡to je na clipboard-u, kao kad lepimo u editor, nego ono Å¡to je posao tabele.
Od viška logike glava ne boli
Na primeru kalkulacije, koji je najsloženiji dokument za lepljenje, je najbolje da se razmotri ova logika, a koja se, kao što je već pomenuto, svodi na logiku unosa podataka u dokument.

Prvi podatak koji se unosi u kalkulaciju je Å¡ifra artikla i bez njega se ne može uneti stavka, Å¡to će reći da podaci koje lepimo moraju da sadrže Å¡ifru robe (može i alijas). Ako na clipboard-u stoji Å¡ifra artikla koji ne postoji u bazi, on neće biti importovan, bez obzira Å¡to se tamo nalaze svi podaci o njemu (naziv, mera, poreska stopa). To Å¡to iz kalkulacije možemo ruÄno da evidentiramo novi artikal je samo preÄica do nekog drugog dela programa koji služi za upravljanje bazom artikala. Sama kalkulacija (i ostali robni dokumenti) ne kreiraju nove artikle i oÄekuju Å¡ifru postojećeg artikla. MeÄ‘utim, iz istog fajla se može prethodno importovati roba, a taj se posao može i automatizovati. ObjaÅ¡njeno je u uputstvu kako se ovo radi.
Nakon unosa Å¡ifre, na ekranu se pojavljuju osnovni podaci o artiklu, Å¡to znaÄi da kalkulaciju ne zanima naziv, poreska stopa i ostali podaci o artiklu koji stoje na clipboard-u. Oni će biti ignorisani, tj. koristiće se podaci iz baze. Sledeći podatak je koliÄina. Stavka ne može da se upiÅ¡e bez koliÄine, Å¡to će reći da je i to obavezan podatak i mora da stoji na clipboard-u. Nabavna cena, poslednja primenjena marža i prodajna cena su podaci koji će takoÄ‘e biti prikazani nakon unosa Å¡ifre, a to znaÄi da oni nisu obavezni. Naime, ako ih nema na clipboard-u, biće korišćeni tekući podaci iz baze, kao Å¡to i kod ruÄnog unosa ne moraju da se promene. Ovo naravno može biti problem ako artikal prethodno nije imao ulaz, pa će ovi podaci biti nula, te je stoga potrebno biti obazriv. Pored toga, poÅ¡to ovih podataka može biti na clipboard-u, opcije importovanja nude mogućnost da se izabere kako će oni biti primenjeni, tj. mogu da se ne preuzmu sa clipboard-a u zavisnosti Å¡ta se želi postići. Jedna od opcija je i da kalkulacija sraÄuna prodajnu cenu. TroÅ¡ak nabavke i rabat će biti uzeti sa clipboard-a ako ih ima. U protivnom će biti nula, Å¡to je opet identiÄno ruÄnom unosu. Ako na primer kopiramo podatke iz kalkulacije u novu kalkulaciju, a ne želimo da se kopira troÅ¡ak, kojeg tamo ima, sakrićemo kolonu pre kopiranja. Tako da je ukljuÄivanje i iskljuÄivanje kolona dodatni naÄin izbora koji podatak hoćemo da prenesemo, a koji ne.
Nije retkost da nabavna cena ima viÅ¡e od dve decimale sa koliko se ona prikazuje na ekranu i kao takva se kopira, Å¡to može da dovede do loÅ¡eg obraÄuna kod lepljenja. Treba na svojstvima kolone (desni klik na naslov kolone) povećati broj decimala ako se želi kopiranje sa većom preciznošću.
Ukratko, potrebno je pre kopiranja podataka razmisliti Å¡ta je potrebno od podataka da bi se postigao željeni cilj prilikom lepljenja, a lepljenje posmatrati kao vrlo brzi ruÄni unos većeg broja stavki.
Pri svemu ovome treba imati na umu da i zaglavlje dokumenta može uticati na stavke, npr. interna prijemnica povlaÄi nabavnu cenu iz udaljenog objekta. RaÄun dodaje rabat kupcu, ako ima odobren ekstra rabat ili mu se roba prodaje po ugovorenim cenama. Stoga, pre lepljenja podataka treba popuniti zaglavlje dokumenta.
Naravno, ako se ne dobiju željeni rezultati, dokument se jednostavno ne snimi i pokuÅ¡a se sa nekom drugom kombinacijom podataka. Ovo na žalost ne važi za importovanje artikala. Oni se odmah zapisuju u bazu podataka, tako da postoji mogućnost da se upiÅ¡u neželjeni podaci. Kod importa robe postoji opcija simulacije importa, kada se roba ne upisuje, ali se od programa dobija izveÅ¡taj ako ima odbaÄenih artikala ili nekih drugih napomena.
Import iz fajla
Obzirom da je lepljenje moguće samo ako tabela u koju se lepe podaci može da „sazna“ Å¡ta podaci na clipboard-u predstavljaju, radi importovanja podataka koji potiÄu iz drugih programa, korisnik je taj koji će naznaÄiti Å¡ta je koji podatak u kolonama tabele koja se importuje (Å¡ta je Å¡ifra, koliÄina, cena itd.) Ovo importovanje (sa sada) ne ide preko clipboard-a, već preko CSV fajlova koji su Å¡iroko podržani od mnogih programa. Fajl treba otvoriti iz menija Datoteka > Import podataka nakon Å¡to se otvori dokument ili tabela u koju se radi import ili joÅ¡ jednostavnije, da se fajl prevuÄe (drag & drop). Nakon ovoga se otvara dokument za importovanje gde se na jednostavan naÄin radi povezivanje kolona importovanog fajla sa podacima koje Dolap tabela oÄekuje. Klikom na dugme Importuj, proces uvoza podataka je identiÄan kao kod internog kopiranja podataka. Detalji tehnike rada sa ovim dokumentom su dati u uputstvu (Help programa) i u online uputstvu.
Ništa bez prakse
Evo par primera za praktiÄnu primenu.
Na primer postoje dva ili viÅ¡e poslovna objekta. Uneli smo veći broj novih artikala kroz kalkulaciju cene i želimo da im otvorimo karticu u drugom objektu sa istom prodajnom cenom. Kopiramo ih iz kalkulacije, pri Äemu se treba postarati da svi obavezni elementi budu prikazani na ekranu (Å¡ifra, naziv, mera, stopa) i naravno prodajna cena koju hoćemo da kopiramo. Uradimo nalepi u drugom objektu u tabeli evidencija robe i u opcijama obavezno zadamo da se obnove podaci postojeće robe. U protivnom svi će oni biti odbaÄeni, jer već postoje u bazi iako nemaju karticu u tom objektu. Odaberemo da se importuju finansijski podaci poÅ¡to kopiramo cenu. Nakon toga svi ovi artikli će imati otvorenu karticu i identiÄnu prodajnu cenu kao u prvom objektu.
Drugi primer. Propustili smo da na nekoliko stotina artikala unesemo Å¡ifru dobavljaÄa Å¡to ograniÄava filtriranje po tom podatku, ali možemo po nekoliko drugih kriterijuma (iz naziva robe) u nekoliko navrata da ih isfiltriramo na ekranu. Prvo napravimo korisniÄku kolonu i nazovemo je DobavljaÄ i kao formulu upiÅ¡emo Å¡ifru dobavljaÄa, npr. 138 (da ovo je regularna formula). Svi redovi će biti popunjeni tim brojem. Sada filtriramo po prvom kriterijumu i snimimo u CSV fajl. Zatim po drugom i snimimo u drugi CSV fajl i tako dalje koliko bude potrebno da se izlistaju svi artikli tog dobavljaÄa. Na kraju, otvorimo prvi fajl iz Notepad-a ili nekog drugog editora teksta, a zatim otvaramo svaki sledeći, briÅ¡emo naslov tabele u njemu, kopiramo sav sadržaj i dodajemo na kraj prvog fajla. To ponovimo za sve fajlove koje smo snimili. KonaÄni rezultat će biti da će prvi fajl sadržati sve artikle dobavljaÄa i imaće kolonu sa njegovom Å¡ifrom. Treba ga saÄuvati i importovati. Naravno prilikom mapiranja povezati Å¡ifru dobavljaÄa sa kolonom u fajlu koju smo napravili i odobriti obnovu opisnih podataka. Na kraju obrisati korisniÄku kolonu koju smo definisali. Ovo može jednostavnije kopiranjem u Excel ili neki drugi spreadsheet program. U njemu se može kreirati i ta dodatna kolona, pa nije neophodno da se to radi u Dolapu. Excel tabelu treba saÄuvati kao CSV fajl.
Ova se tehnika može primeniti i na druge podatke, na primer da se određeni broj artikala prevede iz jedne u drugu poresku stopu.
Kopiranje podataka u robne dokumente je joÅ¡ jednostavnije. Na primer zalihe neke grupe artikala treba otpisati u celosti. Uradi se filter na lager listi, kopira i zalepi u Otpis robe. Treba imati na umu da su podatak koliÄina i zaliha razliÄiti tipovi podataka, meÄ‘utim svi robni dokumenti imaju opciju preuzimanja podatka zalihe ako nema koliÄine na clipboard-u, pa je treba ukljuÄiti u ovoj situaciji.
Sve su kombinacije dozvoljene – možemo kalkulaciju da kopiramo u raÄun, jer treba celokupnu nabavku po toj kalkulaciji fakturisati nekom kupcu. Svakako da nakon lepljenja mogu da se urade korekcije na koliÄinama ako nije baÅ¡ celokupna koliÄina. TakoÄ‘e može da se viÅ¡e dokumenta kopira u jedan, tj. da se dodaju stavke.
Importovanje podataka može biti posebno interesantno za poÄetak rada sa Dolapom ukoliko postoje poslovne evidencije koje se mogu saÄuvati u CSV fajlove. Nakon importovanja robe, može se importovati poÄetno stanje zaliha i da se viÅ¡ednevni posao zavrÅ¡i za manje od pola sata.
KonaÄno, importovanje može biti od velike koristi ako se ne koristi fiskalni Å¡tampaÄ u maloprodaji, već fiskalna kasa koja ima mogućnost preuzimanja liste prodatih artikala na kraju dana pre pražnjenja kase uz pomoć programa kojeg obezbeÄ‘uje proizvoÄ‘aÄ. Ovi podaci se uglavnom zapisuju kao CSV fajl i kao takvi se mogu importovati u raÄun Dolapa. Time se postiže da se ima evidencija zaliha u maloprodaji.
Postavljeno: 14.10.2013 - 20:56