spletna reŠitev za evidentiranje daril in nagradprocesa podarjevanja daril/nagrad ter pravilno...

47
Diplomsko delo visokošolskega strokovnega študija Smer: informatika v organizaciji in managmentu SPLETNA REŠITEV ZA EVIDENTIRANJE DARIL IN NAGRAD Mentor:doc. dr. Borut Werber Kandidat: Matej Batistič Kranj, december 2010

Upload: others

Post on 12-Feb-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

  • Diplomsko delo visokošolskega strokovnega študija Smer: informatika v organizaciji in managmentu

    SPLETNA REŠITEV ZA EVIDENTIRANJE DARIL IN NAGRAD

    Mentor:doc. dr. Borut Werber Kandidat: Matej Batistič

    Kranj, december 2010

  • ZAHVALA Zahvaljujem se mentorju doc. dr. Borutu Werberju za pomoč in vodenje pri izdelavi diplomskega dela. Prav tako se zahvaljujem Tomažu Slokarju, ki je jezikovno pregledal dimplomsko delo. Posebna zahvala pa moji družini, ki me je ves čas razumela in me vzpodbujala.

  • POVZETEK Diplomsko delo prikazuje aplikacijo za centralno zbiranje podatkov o dodeljenih nagradah komitentom banke z namenom pravočasne zagotovitve podatkov za poročanje DURS. Na začetku diplome je predstavljeno problemsko stanje v podjetju in opis metode, na osnovi katere je bila spletna aplikacija razvita. Aplikacijo smo razvili s pomočjo programskega jezika C# in razvojnega orodja Visual Studio 2005 v .Net okolju v kombinaciji z Oracle 10g podatkovno bazo podatkov. V osrednjem delu je opisan proces izvedbe aplikacije in njene funkcionalnosti. Prikazano je nekaj zanimivih programskih stavkov in programskih funkcij, ki jih sama aplikacija uporablja za delovanje. S programsko rešitvijo smo dosegli točno in pravočasno zagotavljanje podatkov o podarjenih darilih/nagradah za poročanje DURS-u. V sklepnem delu so podane ocene o učinkih delovanja aplikacije in pogoji za uvedbo ter možnosti za nadaljni razvoj. KLJUČNE BESEDE

    - Poročanje DURS - .NET - ASP.NET - C# - SQL

    ABSTRACT The graduation thesis describes the development of the application for the central collection of information on the awards granted to the bank customers to provide timely data for tax reporting. In the first part of the thesis the problem situation in the company and the description of the method by which the web application was made is presented. The application was developed using C# programming language and the development tool Visual Studio 2005 in .Net environments combined with Oracle 10g database. The main part describes the implementation process of the application and its functionality. Some interesting programming sentences and programming functions that the application uses to run are shown. The solution gives us an accurate and timely provision of information of donated gifts/prizes for Tax reporting. At the end the impact assessments and conditions for introduction and possibilities for further development are described. KEYWORDS

    - Tax Reporting - .NET - ASP.NET - C# - SQL

  • KAZALO 1 UVOD................................................................................................................1

    1.1 Predstavitev problema ..............................................................................1 1.2 Predstavitev okolja....................................................................................2 1.3 Predpostavke in omejitve ..........................................................................2 1.4 Metode dela ..............................................................................................3

    2 OSNOVE...........................................................................................................5 2.1 OGRODJE .NET.......................................................................................5 2.2 ASP.NET ..................................................................................................6 2.3 C#.............................................................................................................6 2.4 ADO.NET..................................................................................................7 2.5 XML ..........................................................................................................7 2.6 SQL ..........................................................................................................8 2.7 JavaScript .................................................................................................8

    3 OBSTOJEČE STANJE......................................................................................9 3.1 Posnetek stanja ........................................................................................9 3.2 Kritična analiza .........................................................................................9

    4 PRENOVA EVIDENCE ZA VODENJE DARIL/NAGRAD................................. 10 4.1 Proces izvedbe programske rešitve ........................................................ 10

    4.1.1 Oblikovanje projektne skupine ............................................................ 11 4.1.2 Analiza obstoječega stanja.................................................................. 11 4.1.3 Priprava testnega okolja...................................................................... 11 4.1.4 Programiranje spletnega dela aplikacije .............................................. 11 4.1.5 Testiranje aplikacije............................................................................. 12 4.1.6 Migracija obstoječih podatkov ............................................................. 12 4.1.7 Prenos v produkcijsko okolje............................................................... 12

    4.2 Izdelava programske rešitve ................................................................... 12 4.2.1 Avtentikacija in avtorizacija ................................................................. 12 4.2.2 Dostop do podatkovnih baz................................................................. 14 4.2.3 Entitetno relacijski model .................................................................... 15 4.2.4 Proces delovanja ................................................................................ 16 4.2.5 Zaslon Osnovna stran ......................................................................... 17 4.2.6 Zaslon Vnos........................................................................................ 19 4.2.7 Zaslon Pregled.................................................................................... 23 4.2.8 Zaslon Pregled in potrjevanje paketa za poročanje ............................. 27 4.2.9 Zaslon Pregled zgodovine paketov ..................................................... 29 4.2.10 Zaslon Pregledana stornirana darila/nagrade.................................... 30 4.2.11 Zaslon Administracija šifranta skupin komitentov .............................. 31 4.2.12 Zaslon Administracija širanta daril/nagrad......................................... 33 4.2.13 Zaslon Administracija šifrant napak................................................... 34 4.2.14 Zaslon Administracija aplikacije......................................................... 34 4.2.15 Kontrola za vnos davčne številke ...................................................... 37 4.2.16 Kontrola za vnos TRR ....................................................................... 38

    5 ZAKLJUČEK ................................................................................................... 40 5.1 Ocena rešitve.......................................................................................... 40 5.2 Pogoji za uvedbo .................................................................................... 40 5.3 Možnosti nadaljnega razvoja................................................................... 40

    LITERATURA IN VIRI ............................................................................................ 41 KRATICE IN AKRONIMI......................................................................................... 41 KAZALO SLIK ........................................................................................................ 42 KAZALO KODE...................................................................................................... 43

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 1

    1 UVOD 1.1 PREDSTAVITEV PROBLEMA V skladu z določili zakonodaje mora banka voditi evidenco o podarjenih darilih/nagradah po komitentu – davčnemu zavezancu ne glede na višino podarjenega darila/nagrade, saj se le-te v okviru davčnega leta seštevajo in banka je dolžna poročati, ko darila/nagrade dosežejo vrednost opredeljeno v skladu z davčno zakonodajo (povzeto po Zakonu o dohodnini (Z-Doh-2)). Zakon o dohodnini in Pravilnik o vsebini in obliki obračuna davčnih odtegljajev ter načinu predložitve davčnemu organu določata, da mora banka poročati podatke o danih darilih v primeru, da:

    • znesek posamičnega darila, podarjenega enemu komitentu, preseže 42 evrov,

    • darovalec določenemu prejemniku (enemu komitentu) podari več daril, ki posamično ne presežejo 42 evrov, njihova skupna vrednost pa v posameznem davčnem letu preseže 84 evrov (poroča se skupna vrednost teh daril na dan, ko vrednost vseh daril v davčnem letu preseže 84 evrov, obračun davčnega odtegljaja se davčnemu organu predloži ob izplačilu darila, s katerim je vrednost vseh daril v davčnem letu presegla 84 evrov),

    • komitent, ki je predhodno prejel darila v znesku nad 84 evrov, prejme naslednje darilo v istem davčnem letu ne glede na znesek, tudi če posamično darilo ne preseže 42 evrov.

    Zakon o dohodnini in Zakon o davčnem postopku določata, da mora banka poročati podatke o danih nagradah v primeru, da:

    • znesek posamične nagrade, podarjene enemu komitentu, preseže 42 evrov (banka v primeru nagrade, ki v neto zneseku presega 42 evrov in je manjši od 60 evrov, o znesku samo poroča, ne obračuna pa davčnega odtegljaja),

    • znesek posamične nagrade, podarjene enemu komitentu, preseže 60 evrov (banka v primeru nagrade, ki v neto znesku preseže vrednost 60 evrov, knjiži obračun davčnih odtegljajev; nagrada se obruti ter obračuna in plača davčni odtegljaj).

    Prejmniki daril/nagrad, za katere je banka dolžna voditi evidenco, so samo fizične osebe, ki zapadejo pod obdavčitev po Zakonu o dohodnini. V primeru, da darila/nagrade podari razredni skupnosti, šolski hranilnici, šoli oziroma drugi skupini občanov, banka ni dolžna voditi evidence. Vodenje evidence o podarjenih darilih/nagradah in pravilno poročanje ter knjiženje davčnih odtegljajev je zakonsko predpisano. Zaradi napačnega poročanja je banka v davčnem prekršku, če ni pravočasno in pravilno obračunala akontacije dohodnine. Iz tega sledi še odškodninska odgovornost banke in kazen – zamudne obresti, ki jih kot banka mora obračunati in plačati ter niso davčno priznane. Zaradi zakona se je pojavila potreba po izdelavi aplikacije s pomočjo katere je vodenje evidence lažje ter zanesljivejše od prvotne rešitve, ki se je v banki uporabljala do sedaj.

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 2

    1.2 PREDSTAVITEV OKOLJA Nova KBM d.d. je univerzalna banka s približno 1600 zaposlenimi, s celovito ponudbo storitev za fizične in pravne osebe in s 85 enotami po vsej Sloveniji. Tržni delež, ki ga banka obvladuje v slovenskem prostoru, se giblje med 11% in 12%. Klasično ponudbo banke dopolnujejo posli drugih podjetij iz finančne skupine Nova KBM d.d., ki nudijo vse oblike finančnega svetovanja in podpore. Sem sodijoupravljanje z investicijskimi in vzajemnimi skladi ter skladi dodatnega pokojninskega zavarovanja, borzno posredništvo, leasing, promet z nepremičninami in investiranje v nepremičnine, projektno in klasično financiranje, trading ter zavarovalniške storitve. Organizacijska shema(glej slika 1) je tipično poslovno funkcijska, ki ima hierarhično strukturo značilno za velika podjetja.

    Slika 1: Organigram Skupina NKBM(http://www.nkbm.si/vodstvo-upravljanjedruzbe/513/Vodstvo) 1.3 PREDPOSTAVKE IN OMEJITVE Osnovna predpostavka je uvesti spletno rešitev, ki bo omogočala vodenje celotnega procesa podarjevanja daril/nagrad ter pravilno poročanje in knjiženje daril/nagrad. S spletno rešitvijo želimo tudi razbremeniti vodje posameznih poslovalnic ter prav tako sektor računovodstva. Spletna rešitev bo tako omogočala lažji, enostavnejši, predvsem pa zanesljivejši sistem vodenja evidence daril/nagrad. Tukaj ne gre pozabiti, da je ključnega pomena tudi natančno poročanje DURS-u,. Zaradi napačnega poročanja je banka namreč v prekršku. Poslovni proces vodenja evidence o darilih/nagradah podeljenim komitentom je zelo pomemben, kot smo to omenili že v uvodu. Sedanji proces zajemanja podatkov predstavlja velik problem z vidika točnosti podatkov ter pravočasnega poročanja na DURS in hranjenja podatkov. Vsaka poslovalnica dnevno preko elektronske pošte pošilja sektorju računovodstva posamezne prejemnike daril/nagrad za posamezen

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 3

    dan. Sektor računovodstva v naslednji fazi procesa vodi evidenco komitentov, ki zapadejo v kriterij za poročanje DURS-u.. Komitenti, ki zapadejo pod kriterij poročanja, se potem ročno knjižijo v sistem za poročanje DURS-u. V tem procesu imamo mnogo dejavnikov, ki so občutljivi na možnost človeških napak. Možnost nepravilnosti in napak se pojavi takoj, ko banka podeli darilo/nagrado komitentu in mora bančni referent zagotoviti, da pošlje pravilne podatke sektorju računovodstva. Sektor računovodstva dnevne podatke, ki jih prejeme iz različnih poslovalnic, vnaša v razpredelnico. Razvrstitev glede tega, kdaj posamezni komitent zapade pod kriterij poročanja na DURS, mora tako zagotavljati referent. Tako je v celotnem procesu prisoten človeški faktor, kjer je posledično možnost napak zelo velika. 1.4 METODE DELA Pri izdelavi uporabniške rešitve smo se držali načrta, ki je predpisan v banki za izdelavo programskih rešitev. Uporabili smo pogosto uporabljen konceptni model Življenski cikel razvoja aplikacije.1 Tak model vsebuje različne metodologije načrta za izdelavo programskih rešitev. V našem primeru (glej slika 2) smo uporabili »waterfall model«. (Wikipedia - WaterFall model), ki zajema:

    • Analizo programske zahteve Natančno definiramo zahteve oziroma problem, ki ga pokriva programska rešitev, njene vhode in izhode, pogoje, postopke, akterje, skratka vse, za karmenimo, da bo potrebno upoštevati pri izdelavi programske rešitve.

    • Zasnovo programa Izdelamo podrobno podatkovno strukturo (podatkovni model), uporabniške ekrane in logiko programov z uporabo orodij, kot so entitetni diagrami, akcijski diagrami, pvsedo koda, diagrami strukture objektov, diagrami tokov podatkov. i Funkcije programa razčlenimo v module, t.j. algoritme za obdelavo podatkov.

    • Izdelavo oziroma implementacijo ali kodiranje Pretvorimo zasnovo v delujočo aplikacijo. V izbranem programskem jeziku ali orodju izdelamo vmesnike in programsko kodo, vključno z interno dokumentacijo, kot so to komentarji, ki razložijo delovanje posameznih programskih modulov oziroma objektov.

    • Testiranje in iskanje napak S testiranjem poiščemo čim več napak.

    • Instalacijo aplikacije Aplikacijo prenesemo iz testnega okolja v produkcijsko okolje, kjer je na voljo uporabnikom za uporabo.

    • Vzdrževanje Omogočimo usposabljanje in podporo končnim uporabnikom. Popravimo napake, ki se pokažejo med uporabo aplikacije, program prilagajamo spremenjenim oziroma novim zahtevam uporabnikov.

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 4

    Na splošno je tak način izdelave aplikacije zelo ustrezen, vendar ima v praksi nekaj kritik. Uporabniki npr. na začetku, preden začnejo uporabljati prvo različico aplikacije oziroma prototip, ne vedo natačno, katere so njihove zahteve in želje. V kolikor se zahteve uporabnikov ob koncu izdelave aplikacije spremenijo, potem je potrebno celoten projekt prilagoditi novim zahtevam. Temu sledijo dodatni stroški razvoja aplikacije, še posebej če delamo na velikem projektu. Pri našem projektu sta bili analiza problema in zasnova programa natačno narejeni in prilagojeni uporabniškim zahtevam, tako da smo na koncu projekta imeli zelo malo uporabniških zahtev za spremembo programa. Ugotovili smo, da je zelo pomembno, da se pri načrtovanju aplikacije združijo vse skupine, ki sodelujejo pri izdelavi aplikacije. Tako se najbolj približamo uporabniškim zahtevam in hkrati upoštevamo smernice razvijalcev aplikacije.

    Slika 2: WaterFall model« (Wikipedia)

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 5

    2 OSNOVE 2.1 OGRODJE .NET Ogrodje .NET je glavna komponenta platforme .NET. Dejansko je njegova osnova in brez nje razvijalci ne morejo ustvariti rešitev .NET. Ogrodje je razdeljeno na tri dele (glej sliko 3): • izvajalnik kode skupnega jezika (CLR - common language runtime) • knjižnice razredov • storitve: sistemske (znotraj .NET) in spletne storitve Razredi in storitve so tisti deli, ki jih razvijalci povežejo v rešitve. Izvajalnik kode skupnega jezika je mehanizem, ki poganja rešitve. Je med operacijskim sistemom in našo aplikacijo ter nam prikazuje naše sistemske storitve na enoten, upravljan način (Razumeti Microsoft .NET Bart A. DePetrillo (2002), stran 51).

    Gradniki(na primer za storitve)

    Operacijski sistem

    Ogrodje .NET

    Storitve: .NET in COM+

    Strežniki Enterprise

    SQL Server BizTalk ...

    Izvajalnik kode

    Sistem skupnih tipov

    Izvajalnik kode

    skupnega tipa

    Jeziki:C#,Visual Basic,J# itd.

    Spletne storitve

    Office.Net ... ...

    Slika 3: Izvleček iz pregleda platforme .NET (Razumeti Microsoft .NET Bart A.DePetrillo (2002), stran 52) Visual Studio .NET je različica .NET dobro znanega izdelka Microsoft Visual Studio. Visual Studio .NET ponuja izboljšano integrirano razvojno okolje (integrated development environment – IDE), ki olajšuje razvijanje rešitev na novi platformi. Vsebuje projektne predloge za ustvarjanje skoraj vseh rešitev .NET, ki si jih lahko zamislimo, med drugim tudi aplikacij z obrazci Windows(kar so pravzaprav klasične (Microsoft Windows) aplikacije uporabniškega vmesnika), spletnih storitev, aplikacij

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 6

    ASP.NET, rešitev podatkovnih zbirk in rešitev za podjetja (Razumeti Microsoft .NET Bart A.DePetrillo (2002), stran 53). 2.2 ASP.NET .NET dejansko predstavlja evolucijski korak k razvoju spletno zasnovanih aplikacij s predstavitvijo ASP.NET. To je izboljšava tehnologije dejavnih strani Microsoft Active Server Page (ASP) in med drugim predstavlja tudi novi način za pripravo apletnih rešitev z uporabo spletnih obrazcev Web Forms. ASP.NET pa ne pospešuje ASP-ja ali spletnega programiranja samo s predstavitvijo spletnih obrazcev Web Forms. Najbolj značilna sprememba glede na ASP je tehnika, imenovana »codebehind«, ki omogoča, da svoj uporabniški vmesnik ločite od poslovne logike. Za razliko od ASP-ja, pri katerem stran vsebuje tako predstavitveno kodo (HTML/ASP kontrolniki) kot tudi logiko,ki uporablja skriptno kodo, pa ASP.NET omogoča njuno ločitev. Koda vmesnika za prikaz je vsebovana v datoteki s pripono ».aspx« (»x« pove strežniku ASP, da je to stran za ASP.NET), v katero je mogoče vključiti sklic »codebehind« na kodo, ki izvede poslovna pravila. Prva vrstica kode datoteke .aspx prikazuje, kako se napoved »codebehind« nanaša na predstavitveno raven z ravnjo poslovne logike, ki je vsebovana v datoteki C# z imenom »OsnovnaStran.aspx.cs«( glej Primer kode 1): Primer kode 1:Vodilna vrstica aspx.cs Ta delitev predstavitvene in poslovne logike ima številne prednosti. Če načrtujete spletni vmesnik, velikokrat ne ustvarjate poslovne logike. Ker sta vmesnik in logika ločeni datoteki, ju lahko različna uporabnika hkrati posodabljata. Prav tako pa obstaja tveganje, da načrtovalec grafike poškoduje kodo za logiko aplikacije. (Razumeti Microsoft .NET Bart A.DePetrillo (2002), stran 81). Naj še omenimo veliko pridobitev, ki jo prinaša ASP.NET različica 2. Veliko olajšanje pri programiranju prinaša »MasterPage«. To je predloga, na kateri se generirajo vse naše strani spletne aplikacije. 2.3 C# Java je postala za Microsoft že huda grožnja predvsem zaradi izjemne priljubljenosti med razvijalci. Prvotni poizkus razširitve programskega jezika C++, poimenovanega COOL, se je izkazal za prezapletenega. Microsoft se je odločil za povsem nov programski jezik C# (izgovarja se kot see-sharp). Avtor jezika je Andres Hejlberg. Jezik C# so poslali v standardizacijo v organizacijo ECMA, tako da ni več njegova last. C# je komponentni jezik in seveda tudi objektni. Ker C# in tudi Java izhajata iz C-ja, je tudi njuna sintaksa zelo podobna. Kljub temu pa obstajajo razlike. V javi je možno parametre pri klicu metode poslati le po vrednosti. V C# je to privzeti način. Če pa dodamo rezervirano besedo »ref« ali »out«, se parametri pošljejo po referenci (lahko vrnemo rezultat). C# pozna naštevalne tipe, ki jih Java ne pozna. Namesto notranjih razredov, ki so potrebni predvsem pri povratnih klicih in poslušalcih, uporablja C# zastopnike. To je poznal tudi Visual J++ in je bil eden od razlogov, da

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 7

    je Sun tožil Microsoft. C# pozna poleg javnih tipov še nekatere nove: Uint16,Uint32,Uint64. (Nagel, C.(2006),stran:120-135). 2.4 ADO.NET ADO.NET je naslednik predmetov ActiveX Data Object (ADO), ki jih uporabljajo razvijalci v programskih jezikih Visual Basic 6 in Visual C++ za delo s podatki iz podatkovnih baz. Podobnost med obema tehnologijama se ustavi na tej točki. Za razliko od ADO, ADO.NET ne vsebuje ActiveX oziroma ne temelji na modelu COM/COM++. Naslednja razlika je v tem, da je bil ADO prvotno zasnovan za delo s podatki neposredno v podatkovnih zbirkah. ADO.NET pa je zasnovan za delo s podatki na bolj splošen način. Omogoča, da se ga uporabi tudi brez podatkovne zbirke. Če mora npr. naša aplikacija beležiti in shranjevati uporabniške in aplikacijske nastavitve v lokalnem računalniku, ne potrebujete podatkovne zbirke. ADO.NET se lahko uporabi brez podatkovne zbirke npr. za branje iz datoteke in pisanje vanje. Ker za notranjo predstavitev podatkov uporablja XML, lahko bere in piše tudi podatke XML, kar pomeni, da je idealen tudi za spletno zasnovane aplikacije. (Razumeti Microsoft .NET Bart A.DePetrillo (2002), stran 77). 2.5 XML XML (eXtensible Markup Language) je jezik, ki je soroden HTML-ju. Podobno kot HTML tudi XML uporablja zapis z oznakami, vendar ni omejen s slovarjem pojmov. XML dovoljuje, da sami določimo oznake, ki imajo pomenski smisel v naši aplikaciji. V XML-ju so to podatki o podatkih – t.i. metapodatki. Če vzamemo primer(glej Primer kode 2) iz odseka o HTML-ju, lahko določimo oznako , ki bo vsebovala uporabnikovo ime. Ko bodo podatki posredovani v aplikacijo ali iz nje, se bo kontekst podatkov ohranil skupaj s podatki. Če želimo npr. informacije o uporabniku posredovati spletnemu brskalniku, lahko določimo obdelovalno pravilo, ki bo podatek XML pod , z uporabo HTML, oblikovano kot naslov. Ker temelji na besedni hirearhični strukturi, se ga lahko uporablja za komunikacijo kjerkoli. (Razumeti Microsoft .NET Bart A.DePetrillo (2002), stran 105). 6740 16434 MABA0974 2030100 Poročanje-DAR Poročanje-DAR 2000000 ©ifranti-DAR Administracija ąifrantov

    Primer kode 2:Zgled XML datoteke

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 8

    2.6 SQL SQL ali Structured Query Language je jezik, ki je bil razvit sredi 80-ih let. Potreba po njem se je pokazala zaradi nekompatibilnosti med takratnimi strežniki podatkovnih baz. S pomočjo SQL-a lahko zagotovimo, da bo aplikacija ostala razširljiva tudi po tem, ko preraste okvire začetnega strežnika in programja. SQL standard se je razvijal od leta 1986 in danes obstaja več različic. Oznaka SQL-92 se navezuje na standard izdan v letu 1992, SQL:1999 se navezuje na standard izdan leta 1999, SQL:2003 se navezuje na različico iz leta 2003 itd.. Izraz SQL standard uporabljamo za poimenovanje trenutne različice SQL standarda v vsakem časovnem obdobju. Osnove SQL-a so baza, tabela, vrstica in polje, zato bom vsakega od teh na kratko opisal:

    • baza - skupek vseh tabel, funkcij in nasploh vseh podatkov, ki se nahajajo na strežniški strani;

    • tabela - zaključena celota vseh podatkov z enako strukturo – enakimi vrsticami;

    • vrstica – samostojen vpis v tabeli, ki sestoji iz polj; • polje – najmanjša enota informacije znotraj ene vrstice; s polji je moč

    matematično in drugače manipulirati znotraj jezika SQL, zato morajo imeti polja določen tip (številski, tekstovni…).

    Najvišja enota, s katero se lahko manipulira znotraj jezika SQL, je tabela. (Osnove SQL in njegova uporaba v Perlu, 2006) 2.7 JAVASCRIPT JavaScript je objektni skriptni programski jezik, ki ga je razvil Netscape z namenom, da pomaga spletnim programerjem pri ustvarjanju interaktivnih spletnih strani. Jezik je bil razvit neodvisno od Jave, vendar si z njo deli številne lastnosti in strukture. JavaScript lahko sodeluje s HTML-kodo in s tem poživi stran z dinamičnim izvajanjem. JavaScript je podprt s strani velikih programskih podjetij in kot odprt jezik ga lahko uporablja vsakdo, ne da bi pri tem potreboval licenco. Podpirajo ga vsi novejši spletni brskalniki. Sintaksa jezika JavaScript ohlapno sledi programskemu jeziku C. Prav tako kot C, JavaScript nima vgrajenih vhodno izhodnih funkcij, zato je izvedba teh funkcij odvisna od gostitelja. JavaScript se veliko uporablja za ustvarjanje dinamičnih spletnih strani. Program se vgradi ali pa vključi v HTML z namenom, da opravlja naloge, ki niso mogoče s samo statično stranjo. Na primer odpiranje novih oken, preverjanje pravilnosti vnešenih podatkov, enostavni izračuni, itd. Na žalost različni spletni brskalniki izpostavijo različne objekte za uporabo. Za podporo vseh brskalnikov je zato potrebno napisati več različnih funkcij. (http://sl.wikipedia.org/wiki/JavaScript, 3.9.210)

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 9

    3 OBSTOJEČE STANJE 3.1 POSNETEK STANJA Poslovni proces vodenja evidence o darilih/nagradah podeljenim komitentom je zelo pomemben, kot smo to omenili že v uvodu. Sedanji proces zajemanja podatkov predstavlja velik problem z vidika točnosti podatkov ter pravočasnega poročanja na DURS in hranjenja podatkov. Vsaka poslovalnica dnevno preko elektronske pošte pošilja sektorju računovodstva posamezne prejemnike daril/nagrad za posamezen dan. Sektor računovodstva v naslednji fazi procesa vodi evidenco komitentov, ki zapadejo pod kriterij za poročanje DURS-u. Komitenti, ki zapadejo pod kriterij poročanja, se potem ročno knjižijo v sistem za poročanje DURS-u. V tem procesu imamo mnogo dejavnikov, ki so občutljivi na možnost človeških napak. Možnost nepravilnosti in napak se pojavi takoj, ko banka podeli darilo/nagrado komitentu in mora bančni referent zagotoviti, da pošlje pravilne podatke sektorju računovodstva. Sektor računovodstva dnevne podatke, ki jih prejme iz različnih poslovalnic, vnese v razpredelnico. Razvrstitev glede tega, kdaj posamezni komitent zapade pod kriterij poročanja na DURS, mora tako zagotavljati referent. Tako je v celotnem procesu prisoten človeški faktor in zato je možnost napak zelo velika. 3.2 KRITIČNA ANALIZA Poslovni procesi pri vodenju daril/nagrad so bili pred uvedbo programske rešitve nekoordinirani ter večkrat nejasni. Pri takih procesih je pojava napak nekaj splošnega. Uporabniki so podarjena darila/nagrade komitentom v svoji poslovalnici dnevno pošiljali v excelovem dokumentu sektorju računovodstva. Seveda je tak način vodenja pripeljal do tega, da se večkrat ni vedelo, kdo je bil dnevno zadolžen za prenos podatkov. Tako je bila točnost podatkov vprašljiva že v začetnem procesu. V drugem delu, ko je bilo potrebno podatke razvrščati ter jih urejati v kategorije za obveščanje na DURS, je tak način dela tudi vključevalmožnost človeških napak. Pri vseh procesih, kjer je bilo potrebno veliko ročnega dela, je zanesljivost podatkov zelo vprašljiva. Vodstvo banke je zahtevalo novo rešitev zaradi denarne kazni v primeru nepravilno poročanih podatkov ter zamudnimi procesi pri bančnih uslužbencih namesto, da bi ta čas uporabili za prodajo bančnih produktov komitentom.

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 10

    4 PRENOVA EVIDENCE ZA VODENJE DARIL/NAGRAD 4.1 PROCES IZVEDBE PROGRAMSKE REŠITVE Izvedba programske aplikacije za vodenje daril/nagrad je proces, ki vključuje informatika oziroma razvijalca programske opreme in tehnologa za pripravo dokumentacije in navodil, ki je kasneje zadolžen še za prvotno testiranje aplikacije. V zaključni fazi se testiranje vključi tudi referente, ki bodo aplikacijo uporabljali. Proces izvedbe aplikacije je potekal po diagramu kot prikazuje slika 4.

    Slika 4: Diagram poteka uvedbe spletne rešitve za vodenje daril/nagrad

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 11

    4.1.1 Oblikovanje projektne skupine Za dosego cilja izvedbe programske aplikacije smo oblikovali projektno skupino za razvoj, ki je bila deljena na dva dela, in sicer na tehnološki del in programski del. V prvem delu smo potrebovali dva tehnologa, ki sta popisala obstoječe procese in pripravila navodila za ustrezne zaslonske slike aplikacije in potrebne funkcionalnosti. V drugem delu je bilo potrebno zagotoviti programskega razvijalca, ki je glede na zahteve tehnologov spisal kodo za spletno aplikacijo. Vlogo programskega razvijalca sem prevzel jaz. Bil sem zadolžen za razvoj celotne spletne aplikacije. Bančni standardi za programsko opremo narekujejo razvoj spletnnih aplikacij v .NET ali Java tehnologiji. Bančni standard predvideva, da se aplikacije, ki uporabljajo samo interne podatkovne vire, razvijajo v .NET tehnologiji. Zato smo za našo rešitev izbrali .NET tehnologijo. 4.1.2 Analiza obstoječega stanja Pridobivanje podatkov potrebnih za analizo obstoječega stanja je potekalo na več načinov. Tehnologi so morali popisati obstoječe procese, ki so vezani na poročanje o darilih/nagradah. V drugem delu je bilo potrebno pridobiti obstoječe podatke in jih pripraviti tako, da bi jih bilo mogoče uvoziti v podatkovno bazo nove spletne rešitve. Že pri pregledu podatkov je bilo razvidno, da so podatki nepopolni in podvojeni in da bo kar nekaj časa potrebno za to, da se podatke uskladi. Tako smo podatke, ki niso bili uvoženi v podatkovno bazo, poslali poslovalnicam, kjer so bili podatki vnešeni za njihov pregled.

    Podatki, ki smo jih pridobili s pomočjo analize obstoječega stanja, so nam pomagali pri razvoju spletne aplikacije, ki bi zagotovila vse funkcionalnosti, ki bi pokrivale delovne procese pri vodenju podatkov o darilih/nagradah podeljenih komitentom. 4.1.3 Priprava testnega okolja Preden smo začeli programirati spletno rešitev je bilo potrebno ustvariti testne tabele v obstoječem testnem okolju, ki je namenjeno razvijanju novih aplikacij. Tabele in relacije med tabelami v testnem okolju so bile enake tistim, ki so bile kasneje prenešene v produkcijo. Testno okolje za podatkovni del je bilo na Oraclovih bazah, medtem ko je bil IIS strežnik za spletni del na Windows 2003 serverju. Tako testno okolje že obstaja ra razvoj aplikacij, zato tukaj posebnega dela nismo imeli. Potrebno je bilo leustvariti podatkovne tabele. 4.1.4 Programiranje spletnega dela aplikacije Spletni del je razvijal en programer, ki je uporabil predpisane standarde za celoten izgled aplikacije in že obstoječe knjižnjice za pogoste funkcionalnosti. Za razvijalno okolje smo uporabili programski paket MS Visual Studio 2005. Za izdelavo spletne rešitve smo uporabili ASP.NET okolje, ki je v banki predpisan standard predvsem za izdelavo internih programskih rešitev. Kot sem že prej omenil, sem to vlogo v skupini prevzel jaz.

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 12

    4.1.5 Testiranje aplikacije Celotno testiranje je potekalo v več korakih. V prvem delu so tehnologi testirali vse funkcionalnosti, ki so jih predpisali v zahtevku za izvedbo aplikacije ter iskali morebitne hrošče, ki so se pojavili v aplikaciji. Po končanem prvem delu so rezultate testiranja podali razvijalcu, ki je odpravil napake. V drugem delu smo aplikacijo predali v testiranje nekaj poslovalnicam, kjer so zaposleni vzporedno vnašali prave podatke. V časovnem obdobju enega meseca smo zbrali poročila vseh vodij poslovalnic, ki so sodelovali pri testu. Tehnologi so pripombe zbrali in, v kolikor je bilo to mogoče, tudi vključili v aplikacijo. Pravilno razvrščanje podatkov za poročanje DURS-u pa je testiral oddelek računovodstva istočasno, ko so poslovalnice vnašale podatke. 4.1.6 Migracija obstoječih podatkov Preden se je aplikacija prenesla v produkcijsko okolje, je bilo potrebno migrirati podatke, ki so se vodili ročno, v podatkovne tabele, ki jih uporablja aplikacija. Ročno vodeni podatki so bili na voljo v Excelovi datoteki, zato prenos podatkov ni predstavljal velike težave. Preden smo podatke migrirali v podatkovne tabele, je bilo potrebno izbrisati vse podatke, tako da so tabele vsebovale samo podatke, ki so se nato prenesli v produkcijo. 4.1.7 Prenos v produkcijsko okolje Sam prenos v produkcijo ni predstavljal velikih težav in je potekal gladko. V prvem delu je administrator Oraclovih baz prenesel vse tabele podatkov. V drugem delu pa je skrbnik strežnikov prenesel spletni del aplikacije. 4.2 IZDELAVA PROGRAMSKE REŠITVE 4.2.1 Avtentikacija in avtorizacija Aplikacija je locirana na Poslovnem spletu banke, dostop do aplikacije si bančni delavci uredijo s posredovanjem obrazca za registracijo uporabnikov ali CRU (Centralni register uporabnikov). CRU omogoča, da se avtorizacija uporabnika opravi z enim prehodom, tako da se ni potrebno uporabniku prijavljati v vsako aplikacijo posebej, kot je to prikazano na sliki 5. Ravni dostopa do aplikacije so različni, in sicer:

    • bančni delavci – vnos podatkov o podarjenih darilih/nagradah. Referenti na bančnih okencih dostopajo do aplikacije z dostopno skupino Vnos.

    • vodje poslovalnic ali od vodij pooblaščeni delavci – preverjanje pravilnosti vnosa, potrjevanje vnosa podatkov in brisanje zgodovine v primeru napačno poročanih podatkov. Do aplikacije dostopajo z dostopno skupino Potrjevanje.

    • pooblaščeni v Oddelku FIMAPO (Finančno in materialno poslovanje) – poročanje DURS-u o podarjenih darilih/nagradah, ažuriranje šifrantov napak, knjiženje in obračunavanje davčnih odtegljajev, brisanje zgodovine v primeru napačno poročanih podatkov ter obveščanje komitentov. Do aplikacije dostopajo z dostopno skupino Poročanje in Šifranti.

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 13

    • pooblaščeni v Sektorju marketinga in korporativnega komuniciranja – vnos podatkov o darilih/nagradah v aplikacijo Darila in nagrade, ažuriranje šifranta skupin komitentov in šifranta daril/nagrad ter obveščanje poslovalnic in Oddelka FIMAPO. Do aplikacije dostopajo z dostopno skupino Vnos in Šifranti.

    Aplikacija pridobi ravni dostopa za posameznega uporabnika preko XML datoteke(glej Primer kode 3), ki jo posreduje PS - poslovni splet. Zgled XML datoteke: 6740 16434 MABA0974 2030100 Porocanje-DAR Porocanje-DAR 2000000 Sifranti-DAR Administracija sifrantov 1000000 Pregledi Vnos/Azuriranje 3000000 Potrjevanje-DAR Potrjevanje-DAR

    Primer kode 3:XML datoteka avtentikacije

    Slika 5: Avtentikacija in avtorizacija

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 14

    4.2.2 Dostop do podatkovnih baz ASP.NET spletne aplikacije se nahajajo v posebni mapi (virtual directory – application root) na IIS. Vsaka spletna aplikacija lahko poleg standardnih datotek, ki so potrebne za delovanje, vsebuje tudi eno ali več konfiguracijskih datotek – Web.config. Datoteka Web.config vsebuje konfiguracijske nastavitve za aplikacijo in IIS. Shranjena je v XML obliki. Web.config se lahko nahaja v kateri koli podmapi, najvišjo prioriteto pa imajo tiste nastavitve, ki so v najbolj globoki mapi. Struktura map v IISu s pripadajočimi konfiguracijskimi datotekami je ponazorjena na sliki.

    Slika 6: Web.config root V glavnem Web.config-u, ki se nahaja v glavi drevesne strukture so zapisani vsi dostopi do podatkovnih baz. S takim načinom ni potrebno vsakemu razvijalcu poznati dostopov do podatkovnih baz in s tem tudi skrbništva, v primeru da se gesla spremenijo. V spodnji Web.config(glej Primer kode 4) smo vpisali samo nastavitve, ki smo jih posebej potrebovali za našo aplikacijo.

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 15

    Zgled: OleDbConnection KonektBaza = new OleDbConnection(ConfigurationManager.ConnectionStrings["NB"].ConnectionString); KonektBaza.Open(); Primer kode 4:Prijava na podatkovno bazo 4.2.3 Entitetno relacijski model Grafični prikaz uporabljenih tabel v aplikaciji nam prikazuje slika 25. Imena table in njihov opis:

    • PDND_PROMND zbirna prometna tabela za nagrade in darila • PDND_SIFND šifrant nagrad in daril • PDND_SIFSKPKOM šifrant skupin komitentov • PDND_DURSPOR prometna tabela z naslovnimi vrsticami paketov

    za poročanje DURS-u

    Slika 7: Entitetno relacijski diagram podatkovnega vira aplikacije DARLNGR

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 16

    4.2.4 Proces delovanja Spodnji proces (glej slika 7) prikazuje postopek vodenja podelitve darila/nagrade preko aplikacije za vodenje daril/nagrad. Prikazan je tudi oddelek banke, ki je v posameznem procesu udeležen.

    Konec procesa:Aplikacije darila/nagrade

    SQL batch nabere darila/nagrade knižene

    preko bančnega programa PosPo

    Vnos daril/nagrad skozi aplikacijo(zaslon

    Vnos)

    Pregled in potrjevanje daril/nagrad(Zaslon

    Pregled)

    Potrjevanje daril/nagrad ki zapadejo v kriterij za poročanje

    DURS

    Darila/nagrade se prenesejo v aplikacijo

    MIPS

    Bančni delavci v poslovalnicah

    Vodje poslovalnic

    Oddelek FIMAPO(Finančnega in materialnega poslovanja)

    Oddelek FIMAPO(Finančnega in materialnega poslovanja)

    Avtomatski prenos podatkov

    Začetek procesa:Aplikacije darila/

    nagrade

    Slika 8: Proces aplikacije Darila/Nagrade

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 17

    4.2.5 Zaslon Osnovna stran Dostop do aplikacije je omogočen preko Poslovnega spleta z vnosom uporabniškega imena in gesla. Po potrditvi prijave in izboru aplikacije Darila in nagrade se odpre naslednji ekran, kot je to prikazano na sliki 8.

    Slika 9: Zaslon Osnovna stran (Posnetek aplikacijeDARLNGR, 2010) Osnovna stran aplikacije je v levem delu razdeljena na več oken, ki omogočajo izvajanje različnih procesov:

    • Okno NAGRADE, DARILA omogoča z izborom: o VNOS – vnašanje podatkov o podarjenih darilih/nagradah v

    aplikacijo, o PREGLED – kontrolo in potrjevanje evidentiranih podatkov.

    • Okno POROČANJE DURS omogoča z izborom: o PREGLED IN POTRJEVANJE PAKETA ZA POROČANJE – pregled

    in potrjevanje podatkov o podarjenih darilih/nagradah, predvidenih za poročanje DURS-u,

    o PREGLED ZGODOVINE PAKETOV – pregledovanje sporočenih podatkov,

    o STORNIRANJE POTRJENIH DARIL/NAGRAD – izbor omogoča pregled tistih vnosov, ki so bili v PosPo preklicani po tem, ko so že bili posredovani DURS.

    • Okno ADMINISTRACIJA ŠIFRANTOV omogoča z izborom: o ADMINISTRACIJO ŠIFRANTA SKUPIN KOMITENTOV – ažuriranje

    šifranta prejemnikov daril/nagrad, o ADMINISTRACIJO ŠIFRANTA DARIL IN NAGRAD – ažuriranje

    šifranta daril/nagrad.

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 18

    • Okno ADMINISTRACIJA omogoča z izborom: o ADMINISTRACIJO ŠIFRANTA NAPAK - ažuriranje šifranta napak,

    zaradi katerih je potrebno zavrniti vnos, o ADMINISTRACIJO APLIKACIJE – ažuriranje parametrov aplikacije.

    V zgornjem delu aplikacije izbiramo med naslednjimi okni:

    • OSNOVNA STRAN - prikaže podatke o uporabniku, dostopni skupini, delovni postaji ter osnovni in pooblaščeni enoti uporabnika,

    • NEPREGLEDANA in ZAVRNJENA - prikaže podatke o nepregledanih vnosih in vnosih, ki so bili zavrnjeni s strani Oddelka FIMAPO,

    • NAVODILA – okno omogoča povezavo do navodil DA-02 Navodilo za zbiranje podatkov o darilih in nagradah, podarjenih komitentom, z namenom poročanja DURS,

    • ODJAVA - omogoča odjavo iz aplikacije.

    Podatke, do katerih ravni aplikacije bo posameznik lahko dostopal, pridobimo preko XML datoteke(glej Primer kode 5). Pri nalaganju osnovne strani aplikacije pa pridobljeni XML preberemo na sledeči način: XmlDocument aplXmlDoc = new XmlDocument(); // lokalni razvoj aplXmlDoc.Load(HttpContext.Current.Server.MapPath("~/Data/prijava.xml")); aplXml = aplXmlDoc.InnerXml; // eksterna prijava aplXmlDoc.LoadXml(aplXml); int uprbId= int.Parse(aplXmlDoc.GetElementsByTagName("UPRB_ID").Item(0). InnerText;

    int aplId = int.Parse(aplXmlDoc.GetElementsByTagName("APLIKACIJA").Item(0).

    Attributes.GetNamedItem("APL_ID").InnerText); int uprbSkpId = int.Parse(aplXmlDoc.GetElementsByTagName("UPRBSKP_ID").Item(0). InnerText); string userId = aplXmlDoc.GetElementsByTagName("USER_ID").Item(0).InnerText; string strMst = aplXmlDoc.GetElementsByTagName("UPORABNIK").Item(0).Attributes. GetNamedItem("strMst").InnerText; ArrayList prvs = new ArrayList(); foreach (XmlNode prv in aplXmlDoc.GetElementsByTagName("PRV_ID")) { prvs.Add(prv.InnerText);} Primer kode 5:Branje XML datoteke

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 19

    4.2.6 Zaslon Vnos Podatke o podarjenih darilih/nagradah vnašamo v register podarjenih daril/nagrad s pomočjo zaslona VNOS (glej sliko 9). V aplikacijo vnašamo samo produktna darila/nagrade kot so npr. denarnice, kocke idr., ki jih banka v okviru različnih rednih ali občasnih akcij podarja svojim komitentom. Podatke o finančnih darilih/nagradah, knjiženih na račune prejemnikov daril/nagrad, bo aplikacija Darila in nagrade avtomatsko uvozila iz podatkovne baze. Tak uvoz se izvede s pomočjo SQL stavka, ki podatke pobere iz podatkovnih baz.

    Slika 10: Zaslon Vnos (Posnetek aplikacijeDARLNGR, 2010)

    Zaslon je razdeljen na:

    • podatke o komitentu in • podatke o podarjenem darilu/nagradi.

    Podatke o prejemniku ažuriramo tako, da:

    • vnesemo davčno številko prejemnika in s klikom na gumb IZPOLNI prikličemo podatke iz registra komitentov ali

    • vnesemo priimek ali priimek in ime uporabnika ter se s klikom na POIŠČI povežemo z registrom komitentov, kjer izberemo prejemnika darila/nagrade.

    Ob vnosu davčne številke oz. priimka in imena prejemnika darila/nagrade se polja naslov, pošta, kraj in datum rojstva izpolnijo avtomatsko. Izjema je vnos podatkov za osebo, ki ni komitent naše banke in je tudi ni v registru komitentov. V tem primeru se ob vnosu davčne številke izpiše komentar »Oseba ni komitent Nove KBM – ročni vnos podatkov!«. Polja, vezana na podatke o komitentu, se v teh primerih ne izpolnijo avtomatsko – potreben je ročni vnos podatkov. Vnos davčne številke je kontroliran, saj se v primeru vnosa napačne številke na zaslonu izpiše opozorilo in nadaljevanje vnosa ni možno.

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 20

    Pri zaslonu VNOS (glej sliko 10) je nekaj več časa vzelo programiranje kontrole vseh polj. Pred zapisom v bazo je potrebno vse podatke preveriti v registru komitentov, da se prepreči vnos napačni podatkov o komitentih. Zahtevano je tudi, da se pri iskanju komitenta odpre novo pop-up okno, kjer izberemo komitenta. To je izvedeno tako, da na zahtevano funkcijo iskanja komitenta pokličemo stran Cakam.aspx (glej slika 11), ta pa kliče potem stran Komitent.aspx. S takim načinom se izognemo praznemu zaslonu, ko strežnik išče po podatkovni bazi in se zgodi, da uporabnik ne ve, kaj se trenutno dogaja z aplikacijo oziroma ali se želena funkcija izvaja. Zgled:

    Slika 11: Zaslon Vnos (Posnetek aplikacijeDARLNGR, 2010) V okno Vnos.aspx vnesemo iskalni parameter in po izboru funkcije poišči se izvede spodnji primer kode(glej Primer kode 6).Koda pokliče vmesno stran Cakam.aspx. Vnos.aspx.cs protected void PolniPodatkePriimek(object sender, EventArgs e) { if (TextPriimek.Text.Length

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 21

    ClientScript.RegisterStartupScript(this.GetType(), "Polni", JavaScript);}} Primer kode 6:Polnitev podatkov komitenta Ko se naloži stran Cakam.aspx se izvede koda(glej Primer kode 7), ki glede na vhodni parameter pokliče naslednjo stran.

    Cakam.aspx.cs protected void Page_Load(object sender, EventArgs e) { String Page = Request.QueryString["Page"].ToString(); if (Page=="komitent.aspx") PageToLoad = Page+ "?Priimek=" + Request.QueryString["Priimek"] + "&Ime=" + Request.QueryString["Ime"]; if (Page=="ZavrniTrans.aspx") PageToLoad = Page + "?Davcna=" + Request.QueryString["Davcna"] + "&ND_TIP=" + Request.QueryString["ND_TIP"] + "&ND_NAZIV=" + Request.QueryString["ND_NAZIV"] + "&IZBIRA=" + Request.QueryString["IZBIRA"];

    } }

    Primer kode 7:Klicanje strani iz Cakam.aspx Medtem ko se podatki na strežniku tvorijo se na zaslonu uporabnika pojavi stran(glej Slika 11), dokler se ne podatki dokončno zgenerirajo.

    Slika 12: Zaslon Cakaj(Posnetek aplikacijeDARLNGR, 2010)

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 22

    Ko se podatki zgenerirajo se na uporabnikovem zaslonu pojavi zaslon(glrj Slika 12), kjer se izpišejo vsi podatki, ki ustrezajo iskalnemu parametru.

    Slika 13: Zaslon Komitent (Posnetek aplikacijeDARLNGR, 2010) S klikom na izbrano vrstico se podatki iz okna Komitent (glej sliko 12) prenesejo v okno Vnos (glej sliko 13). Komitent.aspx.cs protected void PolniPodatke(object sender, EventArgs e) { string DavcnaID = Session["DavcnaID"].ToString(); string PriimekID=Session["PriimekID"].ToString(); string ImeID=Session["ImeID"].ToString(); string NaslovID=Session["NaslovID"].ToString(); string PostaID = Session["PostaID"].ToString(); string KrajID = Session["KrajID"].ToString(); string BirthID = Session["BirthID"].ToString(); string DrzavaID = Session["DrzavaID"].ToString(); string JavaScript = "window.opener.document.getElementById('" + DavcnaID + "').innerText='" + KomitentGrid.SelectedRow.Cells[5].Text + "';"; JavaScript += "window.opener.document.getElementById('" + PriimekID + "').innerText='" + KomitentGrid.SelectedRow.Cells[1].Text + "';"; JavaScript += "window.opener.document.getElementById('" + ImeID + "').innerText='" + KomitentGrid.SelectedRow.Cells[0].Text + "';"; JavaScript += "window.opener.document.getElementById('" + NaslovID + "').innerText='" + KomitentGrid.SelectedRow.Cells[2].Text + "';"; JavaScript += "window.opener.document.getElementById('" + PostaID + "').innerText='" + KomitentGrid.SelectedRow.Cells[3].Text + "';"; JavaScript += "window.opener.document.getElementById('" + KrajID + "').innerText='" + KomitentGrid.SelectedRow.Cells[4].Text + "';";

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 23

    JavaScript += "window.opener.document.getElementById('" + BirthID + "').innerText='" + KomitentGrid.SelectedRow.Cells[6].Text + "';"; JavaScript += "window.opener.document.getElementById('" + DrzavaID + "').value='" + KomitentGrid.SelectedRow.Cells[7].Text + "';"; JavaScript+="window.close();"; ClientScript.RegisterStartupScript(this.GetType(), "Polni", JavaScript);} Primer kode 8:Prenos podatkov iz popup okna v zaslon Vnos.aspx Prenos podatkov iz popup okna Komitent(glej slika 12) v okno Vnos izvedemo s kodo(glej Primer kode 8), ki izvede JavaScriptni jezik za prenos iz enega polja v drugo polje.Kode se izvede pri uporabniku.

    Slika 14: Zaslon Vnos (Posnetek aplikacijeDARLNGR, 2010) 4.2.7 Zaslon Pregled Zaslon PREGLED (glej sliko 14) omogoča:

    • pregledovanje vnešenih podatkov, • popravljanje in brisanje vnešenih podatkov, • potrjevanje vnešenih podatkov in zapis v register daril/nagrad.

    Za pregledovanje in potrjevanje so zadolženi vodje poslovalnic in od njih pooblaščeni delavci. Vodje poslovalnic preko tega zaslona pregledajo pravilnost vnešenih daril/nagrad in v kolikor so podatki pravilni, jih potrdijo in s tem omogočijo, da se darila prenesejo v register kot podarjena. Tako so potrjena za poročanje na DURS, v kolikor zapadejo pod kriterij poročanja.

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 24

    Slika 15: Zaslon Pregled (Posnetek aplikacijeDARLNGR, 2010) Aplikacija omogoča pregled oziroma prikaz podatkov po različnih kriterijih (slika 14):

    • davčna številka, • priimek, • ime, • datum vnosa, • status, • tip prejemnika, • vir, • vsa davčna leta, • tekoče davčno leto

    Zaradi velikega števila zapisov smo pregled nastavili na način, da vsaka poslovalnica lahko pregleduje in potrjuje samo tista darila/nagrade, ki so bila podarjena v tej poslovalnici. Vse prikaze smo ustvarili tako, da smo sestavili SQL stavke glede na izbrane parametre in podatke napolnili v ASP.NET gradnik imenovan asp:GridView. Zgled: Pregled.aspx

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 25

    .

    .

    .

    . Primer kode 9:GridView gradnik Za prikaz podatkov smo uporabili ASP.NET-ov gradnik GrdiView, ki smo ga polnili s podatki kot nam prikazuje Primer kode 9 in Primer kode10. Pregled.aspx.cs //Število vrstic na strani PodatkiGrid.PageSize = Int32.Parse(dropdownPageGrid.SelectedValue.ToString()); OleDbConnection KonektBaza = new OleDbConnection(ConfigurationManager.ConnectionStrings["NB"].ConnectionString); KonektBaza.Open(); String sqlSelect = "SELECT.." OleDbCommand command = new OleDbCommand(sqlSelect, KonektBaza); command.CommandType = CommandType.Text; OleDbDataAdapter TabelaPosel = new OleDbDataAdapter(command); DataSet TabelaPodatki = new DataSet(); TabelaPosel.Fill(TabelaPodatki); KonektBaza.Close(); PodatkiGrid.DataSource = TabelaPodatki ; PodatkiGrid.DataBind(); Primer kode 10:Polnitev podatkov v GridView Pri oblikovanju pregleda smo se odločili, da ne bomo vseh podatkov o podarjenih darilih/nagradah prikazovali v osnovnem pregledu, temveč so pomembni podatki v osnovnem pregledu (glej sliko 15). Ostale podatke smo skrili in omogočili, da jih uporabnik po želji vidi (glej sliko 16). Za izvedbo takega načina prikazovanja smo uporabili javascriptni jezik za skrivanje in prikaz ostalih podatkov.

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 26

    Zgled: Pregled.aspx function ToggleDisplay(id) { var elem = document.getElementById('coldiv' + id); var slika=document.getElementById('slika' + id); if (elem) { if (elem.style.display != 'block') { elem.style.display = 'block'; elem.style.visibility = 'visible'; slika.src='Images/beginminus.gif' } else { elem.style.display = 'none'; elem.style.visibility = 'hidden'; slika.src = "Images/beginplus.gif" } } } . . . Primer kode 11:Uporaba JavaScript-e za prikaz skritih podatkov Da smo na zaslon lahko spravili veliko število podatkov smo uporabili javascriptni jezik, da smo nepomembne podatke skrili, na željo uporabnika pa prikazali.(Glej Primer kode 11).

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 27

    Slika 16: Zaslon skriti pregled (Posnetek aplikacijeDARLNGR, 2010) Podatki so skriti(glej Slika 15), s klikom na plus pa se izvede koda(glej Primer kode9) in se prikaže dodatno okno s podatki.(glej Slika 16).

    Slika 17: Zaslon podrobni pregled (Posnetek aplikacije DARLNGR, 2010) 4.2.8 Zaslon Pregled in potrjevanje paketa za poročanje Dostop do zaslona PREGLED IN POTRJEVANJE PAKETA ZA POROČANJE (glej sliko 17) ima Oddelek FIMAPO, ki je v banki zadolžen za poročanje DURS-u o podarjenih darilih/nagradah, za knjiženje davčnih odtegljajev in obveščanje komitentov o sporočenih podatkih DURS-u. V skladu z davčno zakonodajo smo v banki dolžni poročati po različnih kriterijih:

    • posamična darila v znesku nad 42 evrov, • posamična darila v znesku nad 60 evrov, • darila, ki v skupnem znesku presegajo 84 evrov, • vsa darila komitentom, ki so predhodno že presegla 84 evrov, • posamična nagrada nad 42 evrov • posamična nagrada nad 60 evrov

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 28

    Slika 18: Zaslon Pregled in potrjevanje paketa za poročanje (Posnetek aplikacije DARLNGR, 2010) Referent, ki je v oddelku FIMAPO pooblaščen za potrjevanje paketov in knjiženje davčnih odtegljajev ter poročanje DURS, paket potrdi v dveh korakih:

    • najprej s klikom na ikono v polju Status izvozi podatke v aplikacijo MIPS (povezava med aplikacijama bo vzpostavljena naknadno), nato pa

    • s klikom na ikono potrdi podatke za prenos DURS-u. S tem se podatki zapišejo v zgodovino paketov.

    V kolikor Oddelek FIMAPO ugotovi, da so bili podatki o prejemniku darila/nagrade napačno vneseni, vnos zavrne s klikom na ikono v polju Zavrni (glej sliko 18). Klik na ikono odpre novo okno IZBERI TRANSAKCIJO, KI JO HOČEŠ ZAVRNITI:

    Slika 19: Zaslon Zavrnitev paketa za poročanje (Posnetek aplikacije DARLNGR, 2010)

    Bančni delavec, ki je ugotovil, da je vnos napačen, v polju »Komentar zavrnitve« izbere ustrezen razlog, zaradi katerega zavrača vnos in zavrnitev potrdi z gumbom ZAVRNI. Ob uspešni zavrnitvi se na zaslonu izpiše »Zapis uspešno zavrnjen«.

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 29

    Pri razvijanju zaslona za potrjevanje daril/nagrad, ki zapadejo pod kriterij poročanja DURS-u, smo porabili več kot 1/3 časa pri razvijanju celotne aplikacije. Največ časa je vzelo testiranje in popravljanje SQL stavkov za nabor daril/nagrad po določenih kriterijih. Ker so kriteriji za poročanje DURS dokaj kompleksni, je bilo pri popravku SQL stavka potrebno testiranje izvesti od začetka. Pri testiranju smo pripravili scenarij podeljevanja daril/nagrad tako, da smo pripravili vse kriterije, ki jih je potrebno sporočati. Za dosledno poročanje DURS-u je bilo potrebno tudi izvesti nekaj sestankov z DURS-om, da smo pridobili pravilne pogoje za poročanje, ki so natančno opisani v prilogi. Za vsak predviden kriterij poročanja smo spisali SQL stavek, ki je vseboval pogoje, pod katere zapadejo posamezna podarjena darila/nagrade komitentom. 4.2.9 Zaslon Pregled zgodovine paketov Zaslon (glej sliko 19) je namenjen pregledovanju podatkov, ki so bili sporočeni DURS-u in brisanju napačno poročanih podatkov. Dostop do zaslona PREGLED ZGODOVINE PAKETOV imajo:

    • oddelek FIMAPO, ki je v banki zadolžen za poročanje DURS-u o podarjenih darilih/nagradah, knjiženje davčnih odtegljajev in obveščanje komitentov o poročanih podatkih DURS-u

    • vodje poslovalnic oz. od njih pooblaščeni delavci, ki so zadolženi za brisanje napačno poročanih podatkov. Gre npr. za primere poročanja napačnega prejemnika darila/nagrade. V tovrstnih primerih so vodje poslovalnic zadolženi za ponovni pravilni vnos podatkov.

    Slika 20: Zaslon Pregled zgodovine paketov (Posnetek aplikacije DARLNGR, 2010) Pri razvijanju tega zaslona smo uporabili vse tehnike že opisane pri prejšnih poglavljih. Cilj zaslona je bil omogočiti uporabniku kar se da dinamičen pregled podatkov o darilih/nagradah, ki so bila poročani na DURS.

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 30

    4.2.10 Zaslon Pregledana stornirana darila/nagrade Zaslon STORNIRANA PREGLEDANA DARILA/NAGRADE (glej sliko 20) omogoča prikaz vseh tistih vnosov, ki so bili v PosPo preklicani, podatki pa so še pred preklicom bili posredovani DURS-u. Za pregled takšnih zapisov je zadolžen Oddelek FIMAPO, ki ima naslednje obveznosti:

    • o preklicanemu in že poročanem vnosu obvesti DURS – izvedbo tega potrdi s klikom na . Ikona se zatem obarva zeleno ( ) – vnos se samodejno briše iz zgodovine paketov.

    • iz zgodovine paketov briše tudi morebitne ostale vnose za komitenta, ki po preklicu določenega vnosa ne zapadejo v kriterije za poročanje. O tem obvesti poslovalnico in jo pozove k ponovnemu vnosu teh podatkov. S tem bo omogočeno normalno zbiranje podatkov za določenega komitenta, upoštevaje preklican vnos.

    Primer, ko je potrebno brisanje morebitnih ostalih vnosov: komitent prejme 40 evrov in čez en mesec še 45 evrov. Ker je skupna vrednost daril presegla vrednost 84 evrov, nastopi obveznost poročanja, podatki se posledično zapišejo v zgodovino. Nato pride do preklica 45 evrov – o tem je potrebno obvestiti DURS, izvedbo tega pa potrdimo s klikom na , ki se nato obarva zeleno. S tem se zapis samodejno briše tudi iz zgodovine paketov. V zgodovini paketov pa še vedno ostane prvo darilo, 40 evrov. Ker obveznosti poročanja v tem primeru ni, je potrebno zapis ročno brisati iz zgodovine paketov in o tem obvestiti poslovalnico.

    Slika 21: Zaslon Pregledana stornirana darila/nagrade (Posnetek aplikacije DARLNGR, 2010)

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 31

    4.2.11 Zaslon Administracija šifranta skupin komitentov Zaslon ADMINISTRACIJA ŠIFRANTA SKUPIN KOMITENTOV (glej sliko 21) omogoča pregled in ažuriranje vrste prejemnikov daril/nagrad. Pri ažuriranju šifranta skupin komitentov lahko izbiramo med naslednjimi možnostmi:

    • BRIŠI - omogoča brisanje posamezne vrste komitenta, • POPRAVI - omogoča urejanje oz. popravljanje posamičnih zapisov. Urejati

    je možno naziv in status skupin komitentov. Po končanem urejanju je potrebno vnos potrditi. Če tega ne želimo, se s klikom na gumb NAZAJ vrnemo na predhodni zaslon.

    • NAZIV prejemnika darila/nagrade (novorojenček, mladi do 10 let, upokojenec itd.)

    • STATUS prejemnika darila/nagrade (aktiven oz. neaktiven) je odvisen od tega, ali tej skupini komitentov podarjamo darila/nagrade ali ne. V kolikor je status neaktiven, vnos darila/nagrade za to skupino komitentov ni možen.

    Za vnos nove vrste prejemnika uporabimo gumb DODAJ NOV ŠIFRANT, kjer vnesemo:

    • NAZIV – poimenujemo skupino komitentov (npr. novorojenček, najstnik, upokojenec itd. ) in

    • STATUS – pove status zapisa (aktiven, neaktiven).

    Slika 22: Zaslon Administracija šifranta skupin komitentov (Posnetek aplikacije DARLNGR, 2010) Pri razvijanju zaslonov za administracijo šifrantov smo uporabili gradnike ASP.NET, ki omogočajo enostavno izgradnjo pregleda in urejevanja posameznega zapisa. Tak način je enostaven, vendar ne omogoča svobode pri razširjanju posameznih zahtev uporabnikov(glej Primer kode 12).

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 32

    Zgled uporabe gradnika asp:SqlDataSource . . . Primer kode 12:Uporaba SQL datasource gradnika

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 33

    4.2.12 Zaslon Administracija širanta daril/nagrad Zaslon ADMINISTRACIJA ŠIFRANTA DARIL IN NAGRAD (glej slikao22) omogoča pregled in ažuriranje vrste daril/nagrad. Zaslon prikazuje in omogoča naslednje:

    • BRIŠI – ikona omogoča brisanje zapisa. Ob kliku na ikono se prikaže okno z vprašanjem »Želiš brisati izbrani šifrant?«. V primeru pritrdilnega odgovora se šifrant izbriše.

    • POPRAVI – ikona omogoča urejanje oz. popravljanje posamičnih zapisov. Urejanje zaključimo s klikom na gumb POTRDI VNOS.

    • NAZIV SKUPIN šifranta komitentov (novorojenček, upokojenec idr.). • TIP - prikazuje ali gre za darilo (D) ali nagrado (N). • NAZIV darila/nagrade (kocke, DVD idr.). • ZNESEK - izpiše se vrednost darila/nagrade. • DOHODNINSKA OZNAKA - odvisna od tega ali gre za darilo (1802) ali za

    nagrado (1801). • STATUS - lahko je aktiven oz. neaktiven, odvisno od tega, ali določeno

    darilo/nagrado podeljujemo ali ne.

    Slika 23: Zaslon Administracija šifranta daril/nagrad (Posnetek aplikacije DARLNGR, 2010) Pri razvijanju tega zaslona smo uporabili enako tehniko oziroma gradnike kot pri predhodnem opisanem zaslonu. Tukaj ni bistevnih sprememb razen uporabe druge tabele.

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 34

    4.2.13 Zaslon Administracija šifrant napak Okno ADMINISTRACIJA ŠIFRANTA NAPAK (glej sliko 23) omogoča pregled in ažuriranje napak, zaradi katerih posameznih vnosov ni bilo mogoče poročati DURS-u in jih je potrebno zavrniti. Za ažuriranje šifranta je zadolžen Oddelek FIMAPO. Zaslon prikazuje in omogoča naslednje:

    • BRIŠI – ikona omogoča brisanje zapisa. Ob kliku na ikono se prikaže okno z vprašanjem »Želiš brisati izbrani šifrant?«. V primeru pritrdilnega odgovora se šifrant izbriše.

    • POPRAVI – ikona omogoča urejanje oz. popravljanje posamičnih zapisov. Urejanje zaključimo s klikom na gumb POTRDI VNOS.

    • OPIS NAPAKE – v polju so zapisani razlogi, zaradi katerih lahko posamezen vnos zavrnemo.

    • Za vnos novega šifranta uporabimo gumb DODAJ NOV ŠIFRANT, kjer opišemo napako in jo potrdimo s klikom na gumb POTRDI VNOS.

    Slika 24: Zaslon Administracija šifranta napak (Posnetek aplikacije DARLNGR, 2010) Pri razvijanju tega zaslona smo prav tako uporabili enako tehniko oziroma gradnike kot pri predhodnem opisanem zaslonu razen uporabe druge tabele šifrantov. 4.2.14 Zaslon Administracija aplikacije Okno ADMINISTRACIJA APLIKACIJE (glej sliko 24) omogoča administracijo parametrov aplikacije. Dostop do polja imajo administratorji, ki lahko spreminjajo:

    • ZNESEK POSAMEZNEGA DARILA oz. SKUPNI ZNESEK DARIL – sprememba teh zneskov pride v poštev samo v primeru spremembe zakonskih določil. V polju STARA VREDNOST je zapisana trenutno veljavna vrednost, nad katero je banka dolžna podatke o prejemnikih daril poročati DURS-u. Če pride do sprememb teh vrednosti, se v polje NOVA

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 35

    VREDNOST vpiše nova veljavna vrednost, ob presegu katere je banka dolžna poročati DURS-u. Za potrditev vnešenih podatkov je potreben klik na gumb SHRANI SPREMEMBO.

    • ČASOVNO ZAPORO – gre za čas, do katerega so podatki o pregledanih in potrjenih vnosih s strani vodje poslovalnic oziroma njihovih pooblaščencev preneseni v Oddelek FIMAPO. Vsi podatki, ki so pregledani po uri, ki je določena v aplikaciji, bodo v Oddelku FIMAPO vidni naslednji dan. Čas spreminjamo tako, da v polje NOVA VREDNOST vpišemo nov čas, do katerega je možen prenos podatkov. Spremembe potrdimo s klikom na gumb SHRANI SPREMEMBO.

    Sprememba parametrov aplikacije je možna le, če se nove vrednosti zapišejo v isti obliki, kot so zapisane stare vrednosti. To pomeni, da npr. pri spremembi zneska posameznega darila v polje nova vrednost zapišemo 50. Če zapišemo npr. 50 evrov, aplikacija spremembe ne bo zaznala. Enako velja za spremembo časovne zapore, kjer je potrebno novo vrednost zapisati v obliki hh:mm:ss

    Slika 25: Zaslon Administracija parametrov aplikacije (Posnetek aplikacije DARLNGR, 2010) Posebnost pri tem zaslonu je ta, da se spremembe direktno zapišejo v konfiguracijsko datoteko aplikacije in sicer v web.config. Zgled zapisovanja v web.config datoteko: protected void Page_Load(object sender, EventArgs e) { TextZnesek1.Text = System.Configuration.ConfigurationManager.AppSettings["DarilaVrednost1"].ToString();

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 36

    TextZnesek2.Text = System.Configuration.ConfigurationManager.AppSettings["DarilaVrednost2"].ToString(); TextZnesek3.Text = System.Configuration.ConfigurationManager.AppSettings["DarilaVrednost3"].ToString(); TextZnesek4.Text = System.Configuration.ConfigurationManager.AppSettings["NagradeVrednost1"].ToString(); TextZnesek6.Text = System.Configuration.ConfigurationManager.AppSettings["NagradeVrednost2"].ToString(); TextTime.Text=System.Configuration.ConfigurationManager.AppSettings[ "CasovnaZapora"].ToString(); TextZnesek1.Enabled = false; TextZnesek2.Enabled = false; TextZnesek3.Enabled = false; TextZnesek4.Enabled = false; TextZnesek6.Enabled = false; TextTime.Enabled = false;} protected void Shrani(object sender, EventArgs e){ Configuration Konfiguracija = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~"); if (TextZnesek1New.Text.Trim().Length>0) Konfiguracija.AppSettings.Settings["DarilaVrednost1"].Value = TextZnesek1New.Text; if (TextZnesek2New.Text.Trim().Length>0) Konfiguracija.AppSettings.Settings["DarilaVrednost2"].Value = TextZnesek2New.Text; if (TextZnesek3New.Text.Trim().Length > 0) Konfiguracija.AppSettings.Settings["DarilaVrednost3"].Value = TextZnesek3New.Text; if (TextZnesek4New.Text.Trim().Length > 0) Konfiguracija.AppSettings.Settings["NagradeVrednost1"].Value = TextZnesek4New.Text; if (TextZnesek6New.Text.Trim().Length > 0) Konfiguracija.AppSettings.Settings["NagradeVrednost2"].Value = TextZnesek6New.Text; if (TextTimeNew.Text.Trim().Length>0) Konfiguracija.AppSettings.Settings["CasovnaZapora"].Value = TextTimeNew.Text; Konfiguracija.Save(); Response.Redirect("Izhod.aspx");

    } } Primer kode 13:Zapisovanje podatkov v web.config datoteko

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 37

    Glavne parametre aplikacije smo zapisali v web.config datoteko in tudi omogočili popravke le teh skozi Zaslon administracija parametrov(glej Primer kode 13 in Primer kode 14). Zgled konfigruacijskih nastavitev v datoteki web.config: Primer kode 14:Konfiguracijske nastavitve aplikacije v web.config datoteki

    4.2.15 Kontrola za vnos davčne številke Kontrola davčne številke se izvaja po modulu 11(glej Primer kode 15). Davčna številka je vedno 8-mestna in od tega je skrajno desna cifra kontrolna številka. Naj bodo števila označena z xn: x1x2x3x4x5x6x7x8 X8 je torej kontrolna številka. Najprej se izračuna naslednjo vsoto: x1*8 + x2*7 + x3*6 + x4*5 + x5*4 + x6*x3 + x7*2 To vsoto delimo z 11 in ostanek odštejemo od 11 ter dobljeno število mora biti enako x8 (če je ostanek 10, je število 0) Primer na davčni številki 10505130: kontrolna vsota bi potemtakem bila: 1*8 + 0*7 + 5*6 + 0*5 + 5*4 + 1*3 + 3*2 = 8 + 0 + 30 + 0 + 20+ 3 + 6 = 67 67 = 11*6 + 1 (ostanek pri deljenju je 1) 11-1 = 10 X8 mora biti torej 0, kar tudi je. Zgled funkcije: public Boolean KontrolaDavcna(string Davcna) { //izracun kontrolne številke po modulu 11

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 38

    Boolean Uspesno=false; Decimal Sestevek = new Decimal(); int i = 0, j = 8; while (i < 7) {Sestevek += Decimal.Parse(Davcna.Substring(i, 1).ToString()) * j; i++; j--; } Decimal Ostanek = 11-(Decimal.Remainder(Sestevek , 11)); if (Ostanek == 10) Ostanek = 0; if (Ostanek == Decimal.Parse(Davcna.Substring(7, 1).ToString())) { Uspesno = true; } return Uspesno;} Primer kode 15:Kontrola davčne številke 4.2.16 Kontrola za vnos TRR Za izračun kontrolne številke se uporablja poenostavljen postopek standarda ISO 7604 (MOD 97-10). Številki, za katero želimo izračunati dvomestno kontrolno številko.,dodamo dve ničli in dobljeno številko delimo s 97. Ostanek deljenja odštejemo od 98. Dvomestni rezultat je kontrolna številka(glej Primer kode 16). Primer izračuna z ostankom deljenja, ki je različen od nič: številka računa brez kontrolne številke je 0600001234567, dodamo 00: 060000123456700, delimo s 97: 060000123456700:97 = 6185579773780, ostanek = 40, ostanek odštejemo od 98: (97+1) - 40 = 58, številka s kontrolko je 060000123456758. Preizkus: Izračunano številko delimo s 97. Ostanek deljenja mora biti enak 1 (060000123456758:97 = 618557973781, ostanek = 1 ). Primer izračuna brez ostanka deljenja (ostanek deljenja je enak nič): številka računa brez kontrolne številke: 0600001234586, dodamo 00: 060000123458600, delimo s 97: 060000123458600:97 = 6185579773800, ostanek = 00, ostanek odštejemo od 98: (97+1) - 00 = 98, številka s kontrolko je 060000123458698. Preizkus: Izračunano številko delimo s 97. Ostanek deljenja mora biti enak 1 (060000123458698:97 = 618557973801, ostanek = 1) (Svetovni splet Banka Slovenije).

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 39

    Zgled funkcije: public Boolean KontrolaTRR(string TRR){ Boolean Uspesno = false; string partija = TRR.Substring(0, 13); Decimal P100 = Decimal.Parse(partija) * 100; Decimal PartijaOstanek = Decimal.Remainder(P100, 97); Decimal Kontrolka = 98 - PartijaOstanek; if (Decimal.Parse(TRR.Substring(13, 2).ToString()) == Kontrolka){ Uspesno = true;} return Uspesno;} Primer kode 16:Kontrola TRR računa

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 40

    5 ZAKLJUČEK 5.1 OCENA REŠITVE

    Zaključek prehoda na novo spletno aplikacijo je zahteval podrobno analizo izvedenih del in odgovor na vprašanje, kako uspešna so bila izvedena dela, koliko finančnih sredstev je bilo vloženih v delo, kdaj se investicija povrne, kakšne koristi pridobimo po prehodu ter kakšna dela nameravamo izvajati v prihodnosti. V praksi se je pokazalo, da je bila izvedba spletne aplikacije narejena natančno in z vsemi funkcionalnostmi, ki so jih uporabniki predlagali in želeli. Z uvedbo nove spletne aplikacije se je delo na poslovalnicah zmanjšalo in razbremenilo delo vodij poslovalnic. Predvsem pa je bil poudarek na točnosti in pravočasnosti zagotavljanja podatkov za poročanje na DURS. Na začetku testiranja aplikacije nismo bili zadovoljni glede hitrosti računanja kriterijev za poročanje na DURS. Težavo smo odpravili tako, da smo optimalizirali SQL stavke, ki iščejo zapise, ki zapadejo pod kriterije poročanja. V naslednji verziji aplikacije so se časi več kot prepolovili, kar je predstavljalo občuten napredek. Poleg omenjene težave pa smo največ časa porabili pri testiranju pravilnosti razvrščanja podatkov v kriterije za poročanje DURS-u. Saj je bilo potrebno pri vsakem popravku SQL stavkov za iskanje podatkov, ki zapadejo v določen kriterij celotno zadevo testirati od začetka, da smo lahko zagotovili pravilno razvrščane podatkov v kriterije kot jih določa davčna zakonodaja.

    5.2 POGOJI ZA UVEDBO Za uvedbo rešitve je potrebno vzpostaviti primerno sistemsko okolje za delovanje aplikacije in sicer strežnik z nameščenim Windows 2003 server operacijskim sistemom in bazo podatkov Oracle 10g. V obstoječem bančnem okolju so tehnične zahteve izpolnjene, zato iz tehničnega vidika ni bilo večjih ovir. Aplikacija je bila razvita in bo dopolnjevana in oskrbovana v podjetju, zato ni predvidenih dodatnih finančnih vlaganj. Potrebno bo določiti skupino, ki bo zadolžena za to področje in bo spremljala uporabo, predvidevala razvoj in predstavljala vmesni člen med uporabniki in razvojem. Potrebno bo izdelati navodila za uporabo aplikacije, ki jih bo potrebno vključti v samo aplikacijo. 5.3 MOŽNOSTI NADALJNEGA RAZVOJA Z uvedbo aplikacije smo zadovoljili trenutne potrebe na tem področju. Ker smo celotno aplikacijo razvili znotraj podjetja in jo tako podrobno poznamo, nam nadaljnji razvoj ne bo predstavljal težav. Zagotovo bodo po določenem času uporabniki izrazili dodatne potrebe glede na nove zahteve s strani banke ali pa s strani DURS-a. Na take zahteve smo pripravljeni in jih ne bo težko prenesti v produkcijo.

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 41

    LITERATURA IN VIRI Knjige:

    1) Razumeti Microsoft .NET Bart A.DePetrillo (2002) 2) Nagel,C.;Evjen,E.;Glynn,J.;Watson, K.;Skinner, M.;Jones,A.(2005) Professional C# 2005,Wrox Press,Indianapolis.

    Spletne strani:

    3) Skupina NKBM: http://www.nkbm.si/vodstvo-upravljanje-druzbe/513/Vodstvo),19.09.2010

    4) Strani za pomoč pri programiranju ASP.NET forums http://www.microsoft.com/WindowsServer2003/techinfo/overview/adsmallbiz.mspx,10.1.2010 HTML Tutorial http://www.w3schools.com/html/default.asp ,12.2.2010 Oracle SQL Tutorial http://www.oracle-dba-online.com/sql/oracle_sql_tutorial.htm ,11.2.2010

    5) JavaScript: http://sl.wikipedia.org/wiki/JavaScript,1.9.2010

    Viri:

    6) Nova KBM d.d. (2009):Standard razvoja programskih rešitev

    KRATICE IN AKRONIMI DURS: Davčna uprava Republike Slovenije FIMAPO: Oddelek finančnega in materialnega poslovanja MIPS:Bančna aplikacija za vodenje davkov PosPo: Bančna aplikacija, ki se uporablja na bančnih okencih DARLNGR: Kratko ime za aplikacijo darila/nagrade CRU: Bančna spletna aplikacija centralni register uporabnikov C#: eden od programskih jezikov, ki je na voljo v okolju .Net XML:opisani jezik, ki omogoča strukturiran zapis poljubnih podatkov

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 42

    KAZALO SLIK Slika 1: Organigram Skupina NKBM(http://www.nkbm.si/vodstvo-upravljanjedruzbe/513/Vodstvo) ...............................................................................2 Slika 2: WaterFall model« (Wikipedia) ...............................................................4 Slika 3: Izvleček iz pregleda platforme .NET (Razumeti Microsoft .NET Bart A.DePetrillo (2002), stran 52) ...................................................................................5 Slika 4: Diagram poteka uvedbe spletne rešitve za vodenje daril/nagrad ............... 10 Slika 5: Avtentikacija in avtorizacija ........................................................................ 13 Slika 6: Web.config root ......................................................................................... 14 Slika 7: Entitetno relacijski diagram podatkovnega vira aplikacije DARLNGR......... 15 Slika 7: Proces aplikacije Darila/Nagrade ............................................................... 16 Slika 8: Zaslon Osnovna stran (Posnetek aplikacijeDARLNGR, 2010) ................... 17 Slika 9: Zaslon Vnos (Posnetek aplikacijeDARLNGR, 2010) .................................. 19 Slika 10: Zaslon Vnos (Posnetek aplikacijeDARLNGR, 2010) ................................ 20 Slika 11: Zaslon Cakaj(Posnetek aplikacijeDARLNGR, 2010) ................................ 21 Slika 12: Zaslon Komitent (Posnetek aplikacijeDARLNGR, 2010) .......................... 22 Slika 13: Zaslon Vnos (Posnetek aplikacijeDARLNGR, 2010) ................................ 23 Slika 14: Zaslon Pregled (Posnetek aplikacijeDARLNGR, 2010) ............................ 24 Slika 15: Zaslon skriti pregled (Posnetek aplikacijeDARLNGR, 2010) .................... 27 Slika 16: Zaslon podrobni pregled (Posnetek aplikacije DARLNGR, 2010)............. 27 Slika 17: Zaslon Pregled in potrjevanje paketa za poročanje (Posnetek aplikacije DARLNGR, 2010) .................................................................................................. 28 Slika 18: Zaslon Zavrnitev paketa za poročanje (Posnetek aplikacije DARLNGR, 2010)...................................................................................................................... 28 Slika 19: Zaslon Pregled zgodovine paketov (Posnetek aplikacije DARLNGR, 2010)............................................................................................................................... 29 Slika 20: Zaslon Pregledana stornirana darila/nagrade (Posnetek aplikacije DARLNGR, 2010) .................................................................................................. 30 Slika 21: Zaslon Administracija šifranta skupin komitentov (Posnetek aplikacije DARLNGR, 2010) .................................................................................................. 31 Slika 22: Zaslon Administracija šifranta daril/nagrad (Posnetek aplikacije DARLNGR, 2010)...................................................................................................................... 33 Slika 23: Zaslon Administracija šifranta napak (Posnetek aplikacije DARLNGR, 2010)...................................................................................................................... 34 Slika 24: Zaslon Administracija parametrov aplikacije (Posnetek aplikacije DARLNGR, 2010) .................................................................................................. 35

  • Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo visokošolskega strokovnega študija

    Matej Batistič: Spletna rešitev za evidentiranje daril in nagrad stran 43

    KAZALO KODE Primer kode 1:Vodilna vrstica aspx.cs......................................................................6 Primer kode 2:Zgled XML datoteke ..........................................................................7 Primer kode 3:XML datoteka avtentikacije.............................................................. 13 Primer kode 4:Prijava na podatkovno bazo ............................................................ 15 Primer kode 5:Branje XML datoteke....................................................................... 18 Primer kode 6:Polnitev podatkov komitenta............................................................ 21 Primer kode 7:Klicanje strani iz Cakam.aspx.......................................................... 21 Primer kode 8:Prenos podatkov iz popup okna v zaslon Vnos.aspx ....................... 23 Primer kode 9:GridView gradnik ............................................................................. 25 Primer kode 10:Polnitev podatkov v GridView........................................................ 25 Primer kode 11:Uporaba JavaScript-e za prikaz skritih podatkov ........................... 26 Primer kode 12:Uporaba SQL datasource gradnika ............................................... 32 Primer kode 13:Zapisovanje podatkov v web.config datoteko ................................ 36 Primer kode 14:Konfiguracijske nastavitve aplikacije v web.config datoteki............ 37 Primer kode 15:Kontrola davčne številke................................................................ 38 Primer kode 16:Kontrola TRR računa..................................................................... 39