• Rezultati Niso Bili Najdeni

DIPLOMSKA NALOGA Zasnova programske rešitve za prodajno logistiko v podjetju Kolektor Etra d.o.o.

N/A
N/A
Protected

Academic year: 2022

Share "DIPLOMSKA NALOGA Zasnova programske rešitve za prodajno logistiko v podjetju Kolektor Etra d.o.o."

Copied!
55
0
0

Celotno besedilo

(1)

UNIVERZA V LJUBLJANI

FAKULTETA ZA POMORSTVO IN PROMET

DIPLOMSKA NALOGA

Zasnova programske rešitve za prodajno

logistiko v podjetju Kolektor Etra d.o.o.

Tamara Sitar

Portorož, september 2021

(2)
(3)

UNIVERZA V LJUBLJANI

FAKULTETA ZA POMORSTVO IN PROMET

DIPLOMSKA NALOGA

Tamara Sitar

Zasnova programske rešitve za prodajno logistiko v podjetju Kolektor Etra d.o.o.

Portorož, september 2021

(4)

UNIVERZA V LJUBLJANI

FAKULTETA ZA POMORSTVO IN PROMET

DIPLOMSKA NALOGA

Zasnova programske rešitve za prodajno logistiko v podjetju Kolektor Etra d.o.o.

Mentorica: doc. dr. Evelin Krmac Študentka: Tamara Sitar

Jezikovni pregled: Anja Miklavčič, prof. slov.

Vpisna številka: 09160039

Študijski program: dodiplomski visokošolski strokovni študijski program prve stopnje

Smer študija: Prometna tehnologija in transportna logistika

Portorož, september 2021

(5)
(6)

PREDGOVOR

V diplomski nalogi sem predstavila izdelavo programske rešitve za prodajno logistiko v podjetju Kolektor Etra. Za to temo sem se odločila, ker sem imela med študentskim delom in opravljanjem prakse priložnost uporabljati enoten program za skladiščenje, ki je vključeval vse procese, ki so se opravljali, vključno s končnim fakturiranjem storitev. Med uporabo sem ugotovila, da je program zelo enostaven in praktičen, saj minimalizira možnost napak ter je prijazen za uporabo tudi manj izobraženim uporabnikom. Pozneje sem opravljala študentsko delo v podjetju Kolektor Etra, kjer sem trenutno tudi redno zaposlena. Tukaj še ne uporabljajo enotnega programa, temveč so glavni način obdelave informacij in podatkov direktoriji na strežniku v skupni rabi, kjer so shranjeni podatki v Excelovih tabelah. Glavni vir podatkov je nekaj osrednjih tabel na strežniku, iz katerih zaposleni črpajo podatke za tabele, ki jih potrebujejo za svoje delo. Glavni problem tega načina je razdrobljenost podatkov v več tabelah, kar znižuje storilnost zaposlenih in povečuje možnost napak.

Dolgoročni cilj v podjetju je uporaba enotne programske rešitve za celotno podjetje. Pravkar poteka postopno prehajanje iz Exelovih tabel na podatkovno bazo oz. strežnik MySQL. Glavna tabela, ki se seli na podatkovni strežnik, je centralni mrežni plan oz. CMP, ki je osnovni vir podatkov. Vsak oddelek namreč za svoje delo potrebuje druge podatke. Preden lahko oddelek opusti uporabo Excelovih tabel, morajo biti podatki že preneseni v skupno podatkovno bazo, prav tako pa je potreben uporabniški vmesnik, ki bi omogočal dostop do teh podatkov. Končani uporabniški vmesniki se bodo na koncu dodali v enotno programsko rešitev za celotno podjetje.

(7)

ZAHVALA

Najprej bi se rada zahvalila svojemu fantu in staršem za podporo ter spodbudne besede pri pisanju diplomske naloge.

Zahvalila bi se tudi vsem sodelavcem v podjetju, ki so kakor koli pripomogli k nastajanju diplomske naloge.

Prav tako bi se rada zahvalila mentorici doc. dr. Evelin Krmac, za strokovno pomoč.

(8)

KAZALO

POVZETEK ...V SUMMARY ...V

1 UVOD... 1

1.1 Namen in cilji ... 1

1.2 Struktura naloge ... 2

2 Opis podjetja Kolektor Etra ... 3

2.1 Zgodovina ... 3

2.2 Produkti ... 3

2.2.1. Distributivni transformatorji ... 3

2.2.2. Specialni transformatorji ... 4

2.2.3. Energetski transformatorji ... 5

2.3 Storitve ... 6

2.4 Naloge prodajne logistike ... 6

2.5 Izdelava pakirne liste ... 8

3 Načrtovanje programske rešitve ... 10

3.1 Podatkovna baza MySQL ... 10

3.2 MySQL Workbench ... 11

3.2.1. Razvijanje SQL... 11

3.2.2. Modeliranje podatkov ... 11

3.2.3. Nadzor nad strežnikom ... 11

3.2.4. Migracija podatkov ... 12

3.2.5. Podpora podjetjem ... 12

3.3 Visual Studio in C# ... 12

3.3.1. Visual Studio ... 12

3.3.2. C# ... 14

4 Izdelava programske rešitve ... 15

4.1 Izbira programskih jezikov ... 16

4.2 WPF ali Windows Forms ... 16

(9)

4.4 Urejanje zavihka Vsi podatki ... 21

4.4.1. Prikaz podatkov ... 21

4.4.2. Dodajanje podokna Zunanje skladiščenje ... 23

4.4.3. Dodajanje podokna Uredi lokacije ... 24

4.4.4. Dodajanje podokna Odprema ... 24

4.5 Urejanje zavihka Predvidene odpreme ... 26

4.5.1. Prikaz podatkov ... 26

4.5.2. Dodajanje podokna Datum odprem ... 27

4.5.3. Dodajanje podokna Način odprem ... 27

4.5.4. Oblikovanje gumba Zunanje skladiščenje ... 28

4.5.5. Dodajanje podokna Shock recorder ... 28

4.5.6. Dodajanje podokna Cargo zavarovanje ... 29

4.5.7. Dodajanje podokna Pakirna lista ... 32

4.5.8. Dodajanje podokna Uredi tovorke ... 34

4.6 Urejanje zavihka Servis ... 35

4.6.1. Prikaz podatkov ... 35

4.6.2. Dodajanje gumba Odpreme ... 35

4.7 Urejanje zavihka Zunanje skladiščenje ... 36

4.7.1. Prikaz podatkov ... 36

4.7.2. Dodajanje gumba Zunanje skladiščenje ... 36

4.8 Spreminjanje poizvedb za osnovno okno ... 36

4.9 Filtriranje ... 36

4.10 Objavljanje programske rešitve ... 39

5 Sklep ... 41

VIRI ... 43

KAZALO SLIK ... 43

IZJAVA ... 45

(10)

POVZETEK

V diplomski nalogi sta predstavljena načrtovanje in izdelava programske rešitve za oddelek prodajne logistike podjetja Kolektor Etra z uporabo podatkovne baze MySQL ter programa Visual Studio 2019. Programska rešitev je izdelana kot aplikacija Windows Forms z uporabo programskega jezika C#.

Na kratko so predstavljeni zgodovina in dejavnost podjetja Kolektor Etra ter delo zaposlenih na oddelku prodajne logistike. Sledi opis načrtovanja in izdelave programske rešitve ter dodajanja tabel v podatkovno bazo. Na koncu sledi še opis objave programske rešitve na strežniku.

Programska rešitev združuje vse razpoložljive podatke na enem mestu in omogoča avtomatizirano izdelavo izročkov. S tem je delo hitrejše in minimalizira možnost napak.

SUMMARY

The diploma thesis presents the planning and development of the software solution for the Department of Sales Logistics at Kolektor Etra d.o.o. with the use of MySQL database and Visual Studio 2019 software. The software solution is made as a Windows Forms application with the C#

programming language.

Briefly presented are the history and activities of Kolektor Etra d.o.o. and the work process of the employees in the Sales Logistics department. What follows is a description of the planning and development of the software solution and the process of adding tables into the database. At the end it is also described how the software solution is published on to the company servers.

The software solution combines all the available data in one place and enables the automatic creation of handouts. With that, the work process is faster and there is a smaller room for error.

(11)

1 UVOD

V diplomski nalogi je najprej predstavljeno delovanje podjetja Kolektor Etra. Prikazan je predvsem način poteka shranjevanja in širjenja podatkov ter informacij znotraj podjetja. Trenutno so v uporabi direktoriji na strežniku, ki so dostopni vsem zaposlenim oz. zaposlenim po posameznih oddelkih. V teh direktorijih so večinoma shranjene Excelove tabele in ostali dokumenti ter obrazci, ki jih uporabljajmo zaposleni. Te tabele smo izdelali zaposleni sami glede na svoje potrebe. Večina dokumentov črpa osnovne podatke iz drugih datotek, kot je na primer centralni mrežni plan CMP.

Glavni način deljenja informacij so torej Excelove tabele, ki so razpršene po strežniku. Oblikovanje teh dokumentov in vnašanje podatkov zaposlenim vzameta veliko časa. Pojavlja pa se tudi problem ažurnosti in točnosti podatkov. Uvedba ustrezne programske rešitve prinaša povečanje produktivnosti, preglednosti in združitev podatkov ter informacij na enem mestu. Pomembno je, da je enostavna, pregledna in učinkovita.

1.1 Namen in cilji

Namen naloge je združiti čim več podatkov in informacij znotraj podjetja na eno mesto ter jih upravljati na bolj pregleden način z izdelavo programske rešitve za oddelek prodajne logistike.

Programska rešitev mora vsebovati podatke o predvidenih in opravljenih odpremah transformatorjev, skladiščenju na zunanjih površinah in podobno, saj so to podatki, ki so potrebni pri vsakodnevnem delu. Omogočati mora tudi izdelavo izročkov, kot so pakirne listine in podobno. Le nekaj oddelkov v podjetju uporablja centralizirano podatkovno bazo, ki že vsebuje osnovne podatke o transformatorjih. Ta baza bo uporabljena v programski rešitvi za prikaz podatkov o transformatorjih.

Za podatke, ki so specifični za oddelek prodajne logistike, bodo v podatkovno bazo dodane nove tabele za shranjevanje. Podatke bodo vpisovali zaposleni na oddelku in bodo dostopni vsem zaposlenim. Cilj naloge je povečanje produktivnosti zaposlenih na oddelku prodajne logistike z izdelavo programske rešitve.

(12)

1.2 Struktura naloge

Najprej je na kratko predstavljeno podjetje Kolektor Etra. Opisani so zgodovina podjetja ter produkti in storitve, ki jih ponuja. Predstavljena sta delo oddelka prodajne logistike in način delovanja ter širjenja informacij znotraj podjetja.

Sledi opis načrtovanja programske rešitve s predstavitvijo podatkovne baze MySQL, programov MySQL Workbench in Visual Studio ter programskega jezika C#. Opisani so razlogi za izbiro programskega jezika C#. Predstavljeni so tipi aplikacij, ki jih lahko ustvarimo v Visual Studiu s programskim jezikom C#. Podrobneje sta predstavljeni aplikaciji WPF oz. Windows Presentation Foundation in WinForms oz. Windows Forms Applications. Navedeni so razlogi za končno odločitev o tipu aplikacije, ki je uporabljena za razvoj programske rešitve.

V nadaljevanju sta opisana oblikovanje in funkcionalnost programske rešitve. Kljub skrbnemu načrtovanju je med samim razvojem prišlo do nekaterih sprememb, ki so se pokazale za bolj uporabne. Najprej je opisano oblikovanje osnovnega okna za prikaz podatkov. Sledijo izdelava poizvedb za prikaz posameznih skupin podatkov, oblikovanje podoken in dodajanje novih tabel v podatkovno bazo za nove podatke.

Na koncu je opisano prilagajanje prej narejenih poizvedb spremembam v podatkovni bazi.

Predstavljeno je še objavljanje programske rešitve na strežniku tako, da je ta dostopna vsem zaposlenim.

(13)

2 Opis podjetja Kolektor Etra 2.1 Zgodovina

Po podatkih na spletni strani podjetja (Kolektor Etra d.o.o., 2021) začetki podjetja segajo v leto 1933, ko je bil ustanovljen servis za popravilo transformatorjev in izdelavo elementov za elektro distribucijo z imenom Etra 33. Pozneje se podjetje preimenuje v Jambor, dejavnost pa se v celoti preusmeri v izdelavo transformatorjev. Leta 1954 je bil izdelan prvi transformator, ki je bil v celoti razvit znotraj podjetja.

Skozi leta se je proizvodnja postopoma razvijala in večala. Skupaj z rastjo proizvodnje so bili transformatorji vedno večji in zmogljivejši. Leta 1966 je bila zgrajena nova tovarna na trenutni lokaciji na Šlandrovi ulici 10 v Črnučah. Pozneje je bil zgrajen tudi visokonapetostni laboratorij za testiranje zmogljivejših transformatorjev. (Kolektor Etra d.o.o., 2021)

Po letu 1990 je podjetje obnovilo servisno dejavnost in preusmerilo prodajo na evropski trg. Leta 2010 postane del koncerna Kolektor in se preimenuje v Kolektor Etra. Zgrajen je bil nov obrat za proizvodnjo največjih transformatorjev do zdaj. V skladu s tem je bil dodelan tudi visokonapetostni laboratorij, ki omogoča natančne meritve in zanesljive rezultate za transformatorje, ki jih proizvaja.

(Kolektor Etra d.o.o., 2021)

Podjetje je svoj trg razširilo v 40 držav na petih celinah. Svoje transformatorje ima postavljene na morskih ploščadih, v hidro-, termo- in jedrskih elektrarnah, v tropskem pragozdu, puščavah, na mrzlem severu ter morski obali. (Kolektor Etra d.o.o., 2021)

2.2 Produkti

Glavni produkti so energetski transformatorji, podjetje pa proizvaja tudi distributivne in specialne transformatorje. (Kolektor Etra d.o.o., 2021)

2.2.1. Distributivni transformatorji

Distributivni transformatorji prikazani na sliki 1 so transformatorji, ki pretvarjajo električni tok iz srednje napetosti na nizkonapetostni nivo. Podjetje proizvaja transformatorje tipov 8HTI, ki kot izolacijsko in hladilno sredstvo uporabljajo mineralno olje, ter 8HTIM, ki so polnjeni z okolju prijaznim organskim estrom MIDEL 7131. Glavni lastnosti transformatorjev sta enostavna vgradnja in nizka stopnja vzdrževanja. Zasnovani so za zunanjo in notranjo montažo, omogočeno je naravno hlajenje z zrakom pri temperaturi okolice do 40°C, primerni so za nadmorsko višino do 1000m in omogočajo trajno delovanje pri upoštevanju prej naštetih pogojev. (Kolektor Etra d.o.o., 2021)

(14)

Vir: Kolektor ETRA | (kolektor-etra.si)

Slika 1. Distributivni transformator 2.2.2. Specialni transformatorji

Na zahtevo kupcev podjetje izdeluje tudi posebne transformatorje, kot so pečni transformatorji z regulacijo napetosti pod ali brez bremena, usmerniške transformatorje, transformatorje za elektrovleko, transformatorje za ozemljitev nevtralne točke in tokovno omejilne dušilke. Na sliki 2 primer dušilke za slovenskega kupca. (Kolektor Etra d.o.o., 2021)

Vir: Lastni

Slika 2. Specialni transformator – dušilka

(15)

2.2.3. Energetski transformatorji

Podjetje izdeluje tudi energetske transformatorje moči do 500MVA in napetosti do 420kV. Pri razvoju je glavni poudarek na minimalnih izgubah in zmanjševanju ravni hrupa. (Kolektor Etra d.o.o., 2021)

Energetski transformator prikazan na sliki 3 je naprava, ki spreminja velikost napetosti in toka. Tako napetost kot tok morata biti izmenična. Največkrat se uporablja za transformacijo napetosti. To je uporabno pri prenosih energije na večje razdalje, kjer uporabljamo večje napetosti. Večja napetost namreč pomeni manjši tok, ki zahteva manjše premere vodnikov, torej prihranimo na materialu, manjši tok pa tudi povzroči manj segrevanja in posledično manj izgub.

Vir: Kolektor Etra d.o.o.

Slika 3. Energetski transformator

(16)

2.3 Storitve

Poleg produktov pa podjetje ponuja tudi razne storitve, kot so servis in vzdrževanje, popravilo ter razgradnja rabljenih transformatorjev. Servis in vzdrževanje transformatorjev zavzemata nadzor nad montažo in puščanjem v pogon, izvedbo meritev v laboratoriju ali na terenu in organizacijo prevoza, montaže ter demontaže transformatorjev. Ponuja možnost popravila starih transformatorjev različnih proizvajalcev, če je to še smiselno in ekonomsko opravičljivo. Lahko se izvede obnova iztrošenih delov transformatorjev ali pa se predelajo po novih zahtevah stranke. Če je transformator težje okvarjen oz. ko se izteče njegova življenjska doba, je treba transformator ustrezno razgraditi v skladu z veljavnimi zakonodajami. Ustrezno je poskrbljeno za odvoz nevarnih in nenevarnih odpadkov, koristni materiali pa so predelani ter ponovno uporabljeni. (Kolektor Etra d.o.o., 2021)

2.4 Naloge prodajne logistike

Oddelek prodajne logistike spada pod komercialni sektor podjetja. Glavna naloga je odprema transformatorjev. Na teren pošljemo ekipo, ki jih zmontira in končni izdelek preda kupcu v uporabo.

Transformator pride v pristojnost oddelka prodajne logistike, ko uspešno prestane meritve FAT (angl.

Factory Acceptance Test). To so meritve, ki potrdijo, da je transformator izdelan v skladu z zahtevami kupca in je uspešno prestal vse stresne teste, ki jih mora dosegati.

Meritve se izvajajo, ko je transformator popolnoma sestavljen. Po meritvah se transformator demontira do transportne velikosti, ki je določena že ob zasnovi transformatorja. Pri tem je treba upoštevati omejitve za transport kot so širina, višina, dolžina, teža, pritrditev med transportom in podobno. Manjši transformatorji se lahko odpremijo kot kompletni oz. popolnoma sestavljeni.

Demontirana oprema se ustrezno pakira glede na vrsto transporta, na primer uporabi se primeren les za čezmorski transport, upoštevajo se primerne dimenzije in teže tovorkov, da se izognemo previsokim stroškom. Največji del za transport običajno ostane kotel z aktivnim delom, ki ga ni mogoče razstaviti. Dimenzije in teže glavnega dela so tako velike, da je treba organizirati izredni prevoz. Za ostalo opremo običajno zadostuje en do dva navadna vlačilca. Če je glavni del pretežak in je cena transporta previsoka, se lahko dodatno iz kotla izprazni še dielektrična hladilna tekočina, ki se nato običajno ločeno transportira na končno lokacijo v avtocisternah. O pakiranju je treba s pakirno listo seznaniti prevoznika, ki ustrezno in pravočasno načrtuje prevoz. Datume uskladimo s prevoznikom, proizvodnjo in monterji na terenu, s čimer se zagotovita točnost in pravočasnost prihoda transformatorja na lokacijo v skladu z vsemi roki, ki so dogovorjeni pri podpisu pogodbe.

Prav tako se posamezna odprema uskladi z ostalimi odpremami, da bi se izognili preobremenjenosti proizvodnje.

(17)

Če je transformator zaradi različnih razlogov že izdelan, preden ga kupec želi, je treba transformator skladiščiti. Običajno se to izvede na zunanjih za to predvidenih in ustrezno utrjenih površinah znotraj podjetja. Za postavitev transformatorja na zunanjo površino je potrebno naročiti avtodvigalo primerne nosilnosti. Oddelek je torej zadolžen za načrtovanje skladiščenja transformatorjev in prestavitev nazaj v proizvodnjo za dokončanje zaključnih del pred načrtovano odpremo.

Ob odpremi transformatorja z vso pripadajočo opremo je treba zagotoviti vse dokumente, ki so potrebni za prevoz. To so dobavnica, mednarodni prevozni dokument (Convention relative au contrat de Transport international des Marhandises par route oz. CMR, ki je tovorni list za cestni prevoz, Uniform rules concerning the Contract of International Carriage of Goods by Rail oz. CIM, ki je tovorni list za želetniški prevoz…) in po potrebi tudi izvozna dokumentacija, če se transformator odpremlja zunaj Evropske unije. Vsaka odprema se tudi ustrezno zavaruje za čas transporta in postavitve na temelj za kritje stroškov ob morebitnem nastanku poškodb.

Pri odpremi glavnega dela je še pred odpremo treba pripraviti »shock recorder« oz. indikator tresljajev. Z ustrezno programsko opremo se sprogramira čas začetka beleženja tresljajev. Po zahtevah kupca se na glavni del namesti en ali dva indikatorja, ki za čas transporta in do konca postavitve na temelj beleži pospeške, ki bi lahko vplivale na delovanje transformatorja. Po koncu manevriranja z glavnim delom je indikator tresljajev vrnjen v podjetje. Izdelamo analiza in poročilo beleženja, ki se doda h končni dokumentaciji, ki je predana kupcu.

Ostala oprema običajno prispe na teren pozneje, glavni del pa se običajno takoj postavi na temelj, zato je pri odpremi iz tovarne treba priložiti kolesa, gume, plohe ali ostale elemente, ki se potrebujejo ob postavitvi na temelj. Razkladanje transformatorja je najpogosteje izvedeno z dvigalom ali hidravličnim potiskom oz. slidingom. Če je transformatorska postaja težje dostopna, je pomembno, kako je transformator obrnjen na prikolici. Prevoznik nas o tem predhodno obvesti, zato moramo biti na to pozorni med nakladanjem transformatorja v tovarni.

Pri odpremi ostale opreme transformatorja in transformatorskega olja je treba izdelati načrt naklada in komercialistu, nato pa prevozniku sporočiti ustrezno število navadnih vlačilcev in avtocistern za prevoz. Pri nakladu moramo biti pozorni, da je tovor varno naložen, da med transportom ne pride do poškodb. Dodati je treba tudi vso merilno opremo, orodje in kontejnerje z oljnimi črpalkami, ki jih pripravijo monterji pred odhodom na teren. Pri montaži zunaj Evropske unije je treba urediti tudi začasni izvoz oz. ATA zvezek, da lahko pozneje opremo pripeljemo nazaj v Slovenijo brez carinskih dajatev. Po opravljeni montaži se je treba dogovoriti za transport poslanega orodja in kontejnerjev nazaj v tovarno ali naprej na novo lokacijo.

(18)

2.5 Izdelava pakirne liste

Glavni način širjenja podatkov v podjetju so direktoriji v skupni rabi na strežniku. Vsakemu zaposlenemu je dodeljena vloga na strežniku, s katero so dodeljene pravice za branje in pisanje. Nekaj direktorijev je javnih za vpogled za vse zaposlene, vendar imajo le določene skupine zaposlenih dodeljeno pravico za urejanje. Podatki so razdrobljeni po celem strežniku, iskanje pa običajno vzame kar nekaj časa. Potrebno je tudi dobro poznavanje direktorijev, da lahko najdemo tisto kar iščemo.

Vzemimo za primer izdelavo pakirne liste. To je dokument, ki ga pripravimo pred odpremo vsakega transformatorja. Poleg interne uporabe znotraj podjetja dokument pošljemo prevozniku, v nekaterih primerih pa tudi končnemu kupcu, če to zahteva.

Za izdelavo potrebujemo osnovne podatke o transformatorju, kot so serijska številka, karakteristična številka, številka SAP naročila in podobno. Nekaj teh podatkov dobimo v osrednji tabeli odprem transformatorjev, za katero podatke vzdržujejo zaposleni na oddelku prodajne logistike. Tabela prikazuje podatke o predvidenih in opravljenih odpremah glavnih delov. Za prikaz je treba v tabelo vnesti element PPS oz. kodo in datum odpreme v za to predviden stolpec. Element PPS je unikatna koda transformatorja, ki je sestavljena iz projektne številke, karakteristične številke in zaporedne številke kosa. Ostali podatki v stolpcih se prikažejo s pomočjo Excelove funkcije VLOOKUP s povezavo na tabelo centralnega mrežnega plana (CMP), ki se prav tako nahaja na strežniku. Nekateri podatki v teh tabelah ne obstajajo.

Manjkajoče podatke najlažje najdemo na slikah (na primer fotografije dokumentov, identifikacijskih tablic) v direktoriju slik, kjer je ključ shranjevanja serijska številka. Osnovna podatka sta tudi naslov kupca in naslov dostave. Naslov kupca običajno uporabimo iz prejšnjih pakirnih list, naslov dostave pa najpogosteje najdemo v koledarju montaž. Ta se nahaja v Outlookovem koledarju, ki je v skupni rabi vseh zaposlenih, ki ga potrebujejo. Vnesene so montaže, ki jih izvajajo monterji iz našega podjetja, montaže, nad katerimi izvajamo samo nadzor, ali pa montaže, ki jih izvajajo zunanji izvajalci in imamo podatke o njih. Za nekatere montaže zunanjih izvajalcev v oddelku prodajne logistike ne dobimo podatkov, zato niso vnesene v koledar. Če montaže za dotični transformator ni v koledarju, ta podatek najdemo na dokumentu, imenovanem Nalog za proizvodnjo, v za to namenjenem direktoriju na strežniku, ključ je projektna številka. Za pregled načrtovanega pakiranja opreme za transport je treba poiskati dokument, imenovan spisek embalaže, ki ga najlažje najdemo v direktoriju skupne dokumentacije. Ključ v tem direktoriju je celotni element PPS. Na strežniku je potrebno poiskati tudi skico sestavljenega transformatorja in transportno skico. Na strežniku se nahajajo v direktoriju, kjer je karakteristična številka uporabljena kot ključ.

(19)

Na transportni skici, kot na primer na sliki 4, razberemo težo in dimenzije glavnega dela, naveden pa je tudi podatek, ali se transformator odpremlja kot polnjen z dielektrično hladilno tekočino ali brez.

Na merski skici sestavljenega transformatorja lahko razberemo, kaj je treba priložiti h glavnemu delu (na primer kolesa, plohi ali gume). Če na skici to ni razvidno, lahko to razberemo v specifikaciji, ki se nahaja v direktoriju na strežniku, ključ je karakteristična številka. V specifikaciji najdemo tudi nekatere druge podatke, ki so pomembni tudi za naš oddelek in ne samo med izdelavo pakirne liste.

To so celotna količina dielektrične hladilne tekočine, ki je predvidena za transformator, število indikatorjev tresljajev, ki jih moramo predvideti za glavni del, element, ki je predviden za polaganje pod kotel, in podobno.

Vir: Kolektor Etra d.o.o.

Slika 4. Transportna skica

Pred izdelavo pakirne liste je treba še izvesti meritve tovorkov po pakiranju. Kljub skrbno izdelanim načrtom občasno pride do manjših ali večjih odstopanj, ki jih je treba preveriti in ustrezno zabeležiti.

Ko pridobimo vse te podatke, lahko šele začnemo z izdelavo pakirne liste. Trenutno uporabimo že obstoječo pakirno listo izdelano kot Wordov dokument, kamor vnesemo nove podatke za dotični transformator. Pakirno listo pošljemo v .pdf formatu vsem, ki jo potrebujejo.

Za izdelavo pakirnih list in pridobitev vseh podatkov moramo torej odpreti najmanj pet in največ sedem direktorijev na strežniku ter koledar v Outlooku. Za iskanje podatkov potrebujemo v vsakem direktoriju drugačen ključ.

(20)

3 Načrtovanje programske rešitve

Ustrezna rešitev za preprečitev razdrobljenosti podatkov je centralizirana podatkovna baza z vsemi podatki na enem mestu. Za prikaz podatkov iz podatkovne baze je treba poleg same baze izdelati tudi uporabniški vmesnik, ki prikazuje izbrane podatke in omogoča standardiziran vnos podatkov v bazo.

Za zasnovo programske rešitve je treba pregledati vse podatke, ki jih potrebujemo in obstoječo situacijo ter izdelati načrt za učinkovito izvedbo. Po pregledu dejavnosti v oddelku, ki so opisane v prejšnjem poglavju, so glavni podatki, ki jih potrebujemo za uspešno delo, naslednji:

- predvidene odpreme, ki se bodo zgodile v prihodnosti;

- odpreme transformatorjev, ki so se zgodile v preteklosti;

- zunanje skladiščenje transformatorjev in

- prikaz podatkov vseh transformatorjev za vpis dodatnih podatkov.

V podjetju je že razvitih nekaj programskih rešitev za druge oddelke. Vzpostavljena je osrednja podatkovna baza, ki vsebuje nekaj osnovnih podatkov o transformatorjih. Za potrebe oddelka prodajne logistike ti podatki zadostujejo za prikaz osnovnih podatkov, ki so našteti v prejšnjem poglavju. Treba je oblikovati in postaviti dodatne tabele za vpis podatkov, ki so v domeni oddelka.

To je na primer datum odpreme glavnega dela, način odpreme oz. število dodatnih navadnih vlačilcev in avtocistern za odpremo opreme in dielektrične hladilne tekočine ter datumi teh odprem in podobno.

3.1 Podatkovna baza MySQL

Podatkovna baza je vzpostavljena v MySQL Serverju v različici 5.7. Po navedbah uradne spletne strani (Oracle Corporation, 2021) je to sistem za upravljanje podatkovnih baz, razvit pod okriljem ameriškega podjetja Oracle Corporation. Podatkovna baza je zbirka pomensko povezanih podatkov.

Ta sistem potrebujemo za upravljanje kompleksnejših podatkovnih baz. Glavni nalogi sistema sta zagotavljanje razpoložljivosti podatkov vsem uporabnikom ves čas in nadzor nad uporabo. To pomeni na primer skrb za celovitost podatkov, skrb za namensko uporabo in skrb za uporabo v prihodnosti.

Poznamo tudi druge sisteme za upravljanje podatkovnih baz, kot so SQL Server, SQLite, Microsoft Access in Microsoft SQL Server. MySQL Server je odprtokodni sistem. To pomeni, da je uporaba brezplačna in omogoča tudi spreminjanje izvirne kode po lastnih željah. Prav tako je MySQL Server zelo prilagodljiv, saj je narejen z namenom, da upravlja velike podatkovne baze, ki so nameščene na napravah, ki so namenjene kot podatkovni strežniki. Prav tako lahko upravlja manjše podatkovne baze na osebnih računalnikih za osebno uporabo. (Oracle Corporation, 2021)

Podatkovne baze, ki so ustvarjene znotraj MySQL-a, so relacijske podatkovne baze. Omogočajo

(21)

predvsem zato, da bi se izognili podvajanju podatkov, oblikovane pa so tako, da zagotavljajo večje hitrosti podatkovne baze. Lastnost tega sistema za upravljanje podatkovnih baz je široka dostopnost ostalim programom. Celoten sistem je razvit skupaj z uporabniki, kar pomeni, da je uporaba mogoča na najrazličnejših platformah in z veliko različnimi programskimi jeziki. V uporabi je jezik SQL (angl. Structured Query Language) za upravljanje s podatkovnimi bazami. To je strukturiran poizvedovalni jezik, ki se uporablja za poizvedbe, oblikovanje in posodabljanje podatkovne baze.

Lahko je direktno uporabljen v programu, ki je uporabljen za dostop do podatkovne baze ali kot del kode za program, ki je napisan v drugem jeziku, za dostop in spreminjanje podatkovne baze. Glavni ukazi, ki se uporabljajo za delo s tabelami so CREATE TABLE, DROP TABLE; TRUNCATE TABLE in podobno, za prikaz in spreminjanje podatkov pa SELECT, DELETE, UPDATE, INSERT INTO in podobno. (Oracle Corporation, 2021)

3.2 MySQL Workbench

Za pregled podatkov v podatkovni bazi mora biti na računalniku, ki je v omrežju, nameščena ustrezna programska oprema. V podjetju je v uporabi program MySQL Workbench, ki je brezplačen in enostaven za uporabo. Po pridobitvi uporabniškega imena in gesla za dostop do podatkovne baze ter ustreznih pravic se je bilo treba seznaniti z uporabo programa in podatkovne baze. Glede na navedbe na uradni spletni strani (Oracle Corporation, 2021) ima pet glavnih funkcionalnosti, opisanih v nadaljevanju.

3.2.1. Razvijanje SQL

Prva funkcionalnost programa je upravljanje in urejanje parametrov za dostop do podatkovne baze in strežnika. Poleg tega omogoča izvajanje ukazov SQL v urejevalniku SQL.

3.2.2. Modeliranje podatkov

Poleg urejanja, dodajanja in kreiranja tabel v podatkovni bazi lahko ustvarimo grafične modele podatkovne baze s pomočjo inženiringa ali obratnega inženiringa med podatkovno bazo in shemo. S pomočjo urejevalnika tabel lahko enostavno spreminjamo, dodajamo in brišemo tabele, stolpce, atribute, primarne ter tuje ključe in podobno.

3.2.3. Nadzor nad strežnikom

Omogoča enostavno upravljanje vseh različic MySQL strežnikov, ki obratujejo. Lahko se izvajajo varnostno kopiranje podatkov, obnavljanje in pregledovanje revizijskih podatkov. Prav tako ima upravljavec pregled nad stanjem podatkovne baze in delovanjem celotnega MySQL strežnika. Dodaja lahko nove uporabnike in jim določa pravice.

(22)

3.2.4. Migracija podatkov

Podpira migracijo podatkov v relacijsko podatkovno bazo MySQL iz drugih podatkovnih baz, kot so Microsoft SQL Server, Microsoft Access, Sybase ASE, SQLite, SQL Anywhere, PostreSQL, in drugih tabel. Mogoča je tudi migracija iz starejših na novejše različice MySQL.

3.2.5. Podpora podjetjem

Program je na voljo v dveh različicah. Tako imenovana različica za skupnost oz. Community Edition je dostopna brezplačno. Dostopna je tudi komercialna različica, ki ima enake funkcionalnosti, kot jih ima brezplačna različica. Na voljo ima tudi nekatera dodatna orodja kot so Enterprise Backup, Audit in Firewall. Ta orodja omogočajo avtomatizirano varnostno kopiranje podatkov, sledljivost sprememb v podatkovni bazi in ustvarjanje požarnih zidov.

3.3 Visual Studio in C#

V podjetju se za razvoj aplikacij uporablja programa Visual Studio ter programski jezik Python in C3#. Predlog je bil, da se za razvoj uporabi programski jezik C#.

3.3.1. Visual Studio

Program Visual Studio, imenovan tudi Microsoft Visual Studio, je po podatkih uradne spletne strani produkta (Microsoft Corporation, 2021) integrirano razvojno okolje (angl. integrated development environment, IDE) podjetja Microsoft. Je celovit program, ki omogoča urejanje in pisanje kode, odpravljanje napak ter izdajanje izdelanih aplikacij.

V uporabi je za izdelavo najrazličnejših aplikacij, kot so spletne aplikacije, spletne strani, spletne storitve, aplikacije za operacijske sisteme Windows, mobilne aplikacije in aplikacije na osnovi ogrodja .NET. Uporablja razvojne platforme, kot so Windows API, Windows Forms, Windows Presentation Foundation, Windows Store in Microsoft Silverlight. Podpira uporabo več kot 30 različnih programskih jezikov, med drugim tudi C, C++, C#, F#, Visual Basic .NET, JavaScript, XML, HTML, CSS in podobne. Programski jeziki, kot so Python, Ruby, Node.js in drugi, so dostopni z namestitvijo namenskih vtičnikov. (Microsoft Corporation, 2021)

Kot pri preostalih integriranih razvojnih okoljih tudi ta vsebuje urejevalnik kode in sprotno razhroščevanje. Poleg tega ponuja tudi nekatera druga orodja, ki pripomorejo k lažjemu in hitrejšemu razvoju programske opreme. Urejevalnik kode podpira označevanje in dopolnjevanje kode z orodjem IntelliSense. Vizualno označuje posamezne gradnike kode, kot so spremenljivke, objekti, razredi, funkcije, metode in zanke. S pomočjo samodejno generirane baze podatkov se med pisanjem kode v pojavnem oknu pojavijo predlogi za nadaljevanje. Orodje uporablja tudi pretvornik v strojni jezik, ki

(23)

valovito zeleno črto, napake pa z rdečo. Razhroščevalnik deluje na nivoju programskega in strojnega jezika. Omogoča, da se izvajanje kode ustavi na določeni točki. Lahko sprožimo po eno vrstico naenkrat, da točno preverimo delovanje posameznega dela kode in vmesne vrednosti spremenljivk.

Med izvajanjem same kode je mogoče tudi spreminjati izvorno kodo in nadaljevati na določeni točki.

Uporabno je pri lociranju napak med izvajanjem kode. (Microsoft Corporation, 2021)

Trenutno je v uporabi zadnja izdana različica programa in sicer Visual Studio 2019, v prihodnosti pa je napovedana izdaja nove in hitrejše različice Visual Studio 2022. (Microsoft Corporation, 2021) Na sliki 5 je prikazan videz programa Visual Studio 2019, če je odprta datoteka s kodo. Na sredini zaslona je urejevalnik kode. Desno zgoraj je raziskovalec rešitve. Prikazuje vse datoteke, ki so vključene v projekt in so pri objavi aplikacije na uporabnikov računalnik nameščene skupaj z .exe datoteko, s katero zaženemo program. Desno spodaj je podokno za prikaz lastnosti izbranega gradnika. Ker je odprt urejevalnik kode, je polje prazno. Na levi strani je orodjarna, ki vsebuje vse razpoložljive gradnike. Prav tako je to podokno prazno, ker je odprt urejevalnik kode.

Vir: Lastni

Slika 5. Urejevalnik kode

(24)

Na sliki 6 je prikazan videz programa Visual Studio 2019, če je odprta grafična datoteka. Na sredini zaslona je zdaj namesto urejevalnika kode odprt grafični urejevalnik. Desno spodaj so prikazane lastnosti izbranega gradnika. V tem primeru je izbrani gradnik obrazec osnovnega okna. Na levi strani je orodjarna, ki prikazuje vse gradnike, ki jih lahko uporabimo. Spodaj je podokno za razhroščevanje, ki prikazuje sporočila za napake in opozorila. To so osnovna podokna, ki smo jih uporabili pri oblikovanju programske rešitve. Vsa podokna lahko v programu poljubno razporedimo glede na lastne potrebe.

Vir: Lastni

Slika 6. Grafični urejevalnik 3.3.2. C#

Programski jeziki so bili skozi zgodovino ustvarjeni za rešitev določenega problema, jezik C# pa je po podatkih Microsoftove spletne strani (Microsoft Corporation, 2021) univerzalen programski jezik.

V osnovi je namenjen podjetjem, ki za svoje potrebe potrebujejo različne vrste programov za različne probleme. Programski jezik C# je preprost, sodoben in objektno usmerjen jezik. Razvil ga je Microsoft leta 2001 z namenom, da se izdela jezik, ki je enostaven za učenje in podpira razvoj sodobne programske opreme. Uporabimo ga lahko za izdelavo računalniških (namiznih), spletnih in mobilnih aplikacij za platforme Windows, Linux in Mac. Mogoče je izdelati tudi knjižnice, aplikacije v oblaku in videoigre. Je hiter in odprtokodni jezik, ki se razvija s pomočjo skupnosti. V primerjavi z drugimi programskimi jeziki se razvija najhitreje. V uporabi je že različica C# 9.0.

(25)

4 Izdelava programske rešitve

Pred začetkom izdelave programske rešitve je bilo treba natančno načrtovati programsko rešitev.

Osnovni namen je spraviti čim več informacij na eno mesto in avtomatizirati procese, ki vzamejo največ časa.

Pri delu zdaj ves čas uporabljamo dve Excelovi tabeli, ki sta shranjeni na strežniku, in podatke redno posodabljamo. To sta tabela predvidenih odprem in transformatorjev na zunanjem skladiščenju. V tabeli predvidenih odprem je več zavihkov.

Na prvem zavihku so prikazani podatki vseh transformatorjev, ki so bili odpremljeni. Podatki segajo do sredine leta 2015 in obsegajo osnovne podatke, ki se s pomočjo funkcije VLOOKUP prikazujejo iz CMP-ja. Osnovni podatki so element PPS, številka SAP naročila, matični podatek, serijska številka, nazivna moč, kupec, država in odgovorni komercialist. Ostali podatki, ki jih vnesemo ročno, so oznaka ponudbe, na podlagi katere je izdelan transformator, računska in realna teža glavnega dela transformatorja in obrat, v katerem je bil transformator izdelan. Vnesti je treba datum odpreme glavnega dela iz tovarne, datum postavitve glavnega dela na temelj ter izvajalca montaže in meritev.

Nazadnje je treba v tabelo še vnesti datuma najave odpreme za en teden vnaprej in dva tedna vnaprej.

Datuma sta vpisana zaradi vodenja evidence odstopanja od najavljenih odprem.

Na drugem zavihku so prikazane predvidene odpreme. Prav tako so tu osnovni podatki vpisani iz CMP-ja glede na element PPS, ki je vpisan v prvem stolpcu. Prikazan je torej element PPS, številka SAP naročila in ID kosa. Vpisani so tudi nazivna moč in napetost, serijska številka, kupec, država ter komercialist. Poleg teh podatkov ročno vpišemo še predviden datum odpreme, ki nam ga sporoči komercialist ali prevoznik. Ročno vpišemo še podatke o indikatorjih tresljajev. Vpišemo tudi, ali je med transportom dovolj en indikator in/ali sta potrebna dva ali nobeden. Vpišemo tudi, ali je zahtevana montaža na kotel ali aktivni del. Za nekatere projekte najamemo zunanje izvajalce, zato vpišemo tudi izvajalca montaže transformatorja na terenu. Kot zadnji je prikazan podatek o odpremi transformatorja, ki je vnesen v sistemu SAP. Prikazuje se s pomočjo funkcije VLOOKUP iz tabele, kjer so izvoženi podatki iz sistema SAP.

Na zavihku SAP odpreme so s pomočjo Excelovega orodja Power Query prikazani podatki iz Excelovega dokumenta, ki vsebuje surove podatke iz SAP-a. Zavihek uporabljamo za preverjanje, ali se podatki ujemajo z našim datumom predvidene odpreme.

V tabeli TR na zunanjem skladišču je glavni poudarek na prikazu podatkov o skladiščenih transformatorjih, ki so postavljeni na skladiščenje na dvorišče tovarne. Tudi v tej tabeli so osnovni podatki prikazani s pomočjo funkcije VLOOKUP glede na element PPS, ki je vpisan v prvem stolpcu.

(26)

Prikazani so podatki, kot so serijska številka, nazivna napetost in moč, kupec ter komercialist.

Vključena sta tudi datum predvidene odpreme, ki je povezan s tabelo predvidenih odprem, in datum planiranih FAT meritev, ki je povezan s tabelo Plan FAT, ki se nahaja na strežniku. Ročno vpišemo težo transformatorja, ki je na skladiščenju, in ni nujno, da se vedno ujema s transportno težo glavnega dela. Vpisani so tudi oznaka lokacije in zaporedna številka za lažje lociranje transformatorja na skladiščni površini ter datum postavitve na zunanje skladišče.

Glavni cilj programske rešitve je urejen prikaz čim večje količine podatkov, ki so dostopni v podatkovni bazi. Ročni vpis podatkov bi bil samo za podatke, ki so v domeni oddelka prodajne logistike. Standardiziran vnos podatkov naj bi minimaliziral možnost napak z omejitvami in preverjanji.

4.1 Izbira programskih jezikov

Prvotna ideja je bila izdelati programsko rešitev v Pythonu ali C++. Prednost Pythona je enostavnost jezika. Prav ta enostavnost in berljivost programskega jezika pa pripomoreta k lažjemu učenju uporabe jezika. S programskim jezikom C++ sem se v preteklosti že srečala, zato so mi bila osnovna pravila jasna, učenje pa s tem lažje.

Na sestanku z oddelkom razvoja v podjetju so predstavili podatkovno bazo. Izdelan je bil dostop do podatkovne baze in dodeljena mi je bila pravica za branje vseh podatkov in pravica za urejanje testne podatkovne baze. Baza je izdelana v podatkovni bazi MySQL. V uporabi je jezik SQL za dostopanje do baze in spreminjanje podatkov v njej.

Izpostavljena je bila zahteva, da je program izdelan v jeziku C#. V načrtu so namreč postopna opustitev tabel in uvajanje namenskih programskih rešitev po oddelkih ter v končni fazi tudi združitev vseh rešitev v celoto. Programski jezik C# je podoben C++, zato taka sprememba ne bi smela predstavljati večjih težav. Prav tako je C# lažji jezik za uporabo, saj je v primerjavi s C++ sintaksa lažja in zahteva manj pisanja za isti rezultat.

4.2 WPF ali Windows Forms

Za enostavnejšo izdelavo programske rešitve v programskem jeziku C# je potreben program Visual Studio. V uporabi je trenutno različica Visual Studio 2019. Kot že omenjeno, Visual Studio omogoča urejanje kode, grafično oblikovanje uporabniškega vmesnika, prevajanje v strojni jezik, razhroščevanje ter testiranje aplikacije na enostaven in pregleden način.

(27)

Kot je navedeno na spletni strani (Microsoft Corporation, 2021), lahko v jeziku C# s pomočjo razvojnega okolja Visual Studio izdelamo konzolne in spletne aplikacije. Izdelamo lahko tudi aplikacije, imenovane Universal Windows Platform (UWP), Windows Presentation Foundation (WPF) in Windows Forms Applications (WinForms).

Konzolne aplikacije so aplikacije, ki se uporabljajo za enostavne ukaze, ki vrnejo rezultat v obliki teksta. (Microsoft Corporation, 2021)

Spletne aplikacije so aplikacije, ki so dostopne prek spleta in jih lahko uporabljamo prek spletnega brskalnika. To so torej spletne strani, ki nam omogočajo interakcijo in nam vrnejo neko funkcionalnost. (Microsoft Corporation, 2021)

Universal Windows Platform (UWP) so aplikacije, ki so izdelane za platformo Windows 10 in se lahko z uporabo posebnih mostov uporabljajo tudi na mobilnih telefonih ali na Xbox platformi in podobno. Primerna je predvsem za aplikacije, ki so namenjene širši uporabi, saj jih lahko objavimo v trgovini, prek katere jih uporabnik namesti na svojo napravo. Prej opisane aplikacije torej niso primerne za programsko rešitev, saj omogočajo specifično funkcionalnost, ki ni potrebna oz. ni mogoče izdelati dovolj kompleksne programske rešitve, ki jo potrebujemo. (Microsoft Corporation, 2021)

Tako WPF kot WinForms sta namenjena za izdelavo grafičnih uporabniških vmesnikov. Oba tipa aplikacij sta bila oblikovana pri Microsoftu, obenem pa ju ves čas tudi nadgrajujejo in razvijajo. WPF se imenuje po Microsoftovi fundaciji Windows Presentation Foundation, WinForms pa je krajša različica za poimenovanje Windows Forms Applications. V naslednjih odstavkih bodo predstavljene lastnosti vsakega tipa aplikacij, ki so opisane na različnih spletnih straneh (Bonello, 2020), (Hammad, 2021) in (Tutorial, 2021). Navedeni bodo tudi končna odločitev in glavni razlogi za izbiro določenega tipa aplikacije za izdelavo programske rešitve. (Microsoft Corporation, 2021)

Front-end oz. sprednji del je del aplikacije, ki ga vidi uporabnik. Back-end oz. zadnji del je funkcionalni del aplikacije, ki omogoča, da vse deluje pravilno. Tako za aplikacije WPF kot WinForms se za back-end uporablja programski jezik C#, pri WPF pa je za front-end uporabljen jezik XML. WPF omogoča grafično oblikovanje elementov, ki temeljijo na vektorjih. Ta lastnost omogoča lažje prilagajanje uporabniškega vmesnika različnim velikostim ekranov, na katerih se aplikacija uporablja. Ta lastnost je uporabna predvsem pri aplikacijah, ki se uporabljajo na različnih napravah, kot so računalniki, mobiteli in tablice. Grafično oblikovanje je pri aplikaciji WPF bolj zahtevno, saj je potrebna določena stopnja znanja. Prav to pa omogoča kompleksnješo in sodobnejšo grafično podobo z 2D-, 3D-elementi, animacijami in podobno. Pri WinFormsih je grafično oblikovanje manj

(28)

elemente, ki jih želimo vključiti v program, izberemo in povlečemo iz orodne vrstice na lokacijo, kjer jih želimo. WinForms uporablja standardne Windows komponente, ki se odzivajo na prej določene dogodke z miško ali tipkovnico, na primer, ko se z miško pomaknemo nad element ali ko kliknemo nanj in podobno. Te komponente zelo olajšajo in pohitrijo izdelavo aplikacije, saj že vsebujejo veliko različnih elementov, omogočajo tudi dodajanje in spreminjanje teh glede na specifične zahteve.

Aplikacije WPF se ne zanašajo na Windows komponente. Vse elemente je torej treba posamezno oblikovati, določiti obnašanje in dodati dogodke, na katere se odziva na določen način. V nekaterih primerih je lahko to prednost, na primer, ko želimo v preprost element, kot je gumb, dodati sliko, kar WinForms ne omogoča brez predelave elementa. Lahko pa je slabost, če želimo izdelati seznam s tekstom in sliko. Pri WPF-ju moramo vsak element ročno dodati in poravnati z ostalimi elementi, medtem ko je pri WinFormsih to urejeno z eno vrstico kode, saj obstaja element, ki vse to že vsebuje brez predelave.

WPF je oblikovan za lažjo obdelavo večje količine podatkov z vgrajenim slojem, ki omogoča hitrejši način za interakcijo s podatki in spreminjanjem teh.

WPF za hitrejše prikazovanje uporablja strojno pospeševanje pri prikazovanju grafičnega uporabniškega vmesnika, zato so aplikacije hitrejše od aplikacij WinForms. Pri delovanju aplikacije WPF uporabijo več RAM pomnilnika, kar lahko upočasni delovanje računalnika, če hkrati izvajamo ostale procese, ki tudi potrebujejo RAM pomnilnik.

WPF je bil razvit pozneje, kar pomeni, da so uporabljene sodobnejše tehnologije in je bolj v koraku s časom. Tip aplikacij WinForms je bil izdelan prej. Ta tehnologija je trenutno bolj preizkušena in preverjena. Prav tako je v ozadju velika skupnost, ki razvija ta tip aplikacij, zato verjetno ni stvari, ki je ne bi nekdo že prej preizkusil oz. se srečal s tem problemom. Prav zaradi tega je iskanje rešitev na spletu lažje in hitrejše.

Končna odločitev je bila, da se programsko rešitev izdela kot aplikacijo WinForms. Če povzamem, so glavni razlogi torej, da se za izdelavo aplikacije uporablja samo en programski jezik, da uporablja enostavnejši način za oblikovanje grafičnega vmesnika z že vgrajenimi dogodki, kar predvidoma skrajša čas izdelave programske rešitve, čeprav grafična podoba na koncu ni tako sodobna, kot bi lahko bila z aplikacijo WPF. Čeprav se aplikacija WPF hitreje odpira in prikazuje, aplikacija WinForms za svoje delovanje porabi manj RAM pomnilnika, kar pomeni, da je za svoje delovanje manj zahtevna. Zadnja prednost aplikacij WinForms je velika skupnost, ki podpira ta tip aplikacije.

Kot že prej omejeno, to omogoča lažje iskanje rešitev za probleme, ki se lahko pojavijo med razvojem programske rešitve.

(29)

4.3 Oblikovanje osnovnega okna

Ko je določilen tip aplikacije, ki bo uporabljen za programsko rešitev, je najprej treba ustvariti nov projekt v programu Visual Studio 2019. Iz seznama tipov aplikacij izberemo Windows Forms App v .NET Framework ogrodju za razvoj aplikacij. Aplikacijo smo poimenovali Prodajna logistika. Ustvari se nov projekt z osnovnim oknom in ostalimi datotekami za zagon aplikacije.

Najprej je bilo treba oblikovati osnovno okno za prikaz podatkov. Vsako okno lahko odpremo v grafičnem urejevalniku ali urejevalniku kode. Najprej odpremo datoteko za oblikovanje okna. V orodni vrstici izberemo možnost pogled in na seznamu izberemo orodjarna oz. Toolbox. Odpre se nam okno, ki prikazuje vse gradnike (vsebnike), ki jih lahko umestimo v okno. En gradnik predstavlja že samo okno oz. obrazec. Ko izberemo posamezen gradnik, ki je umeščen v okno, se v razdelku lastnosti pokažejo vse lastnosti gradnika. V tem razdelku lahko določamo tudi vse dogodke, ki so vezani na posamezen gradnik. Najpomembnejša lastnost posameznega gradnika je njegovo ime. Na to lastnost se sklicujemo v programski kodi. Gradnik moramo poimenovati unikatno in razumljivo, da ga ne moremo po pomoti zamenjati za drug gradnik. Z dodajanjem gradnikov in spreminjanjem lastnosti se v ozadju samodejno kreira koda, v tem primeru v jeziku C#. Do te kode lahko dostopamo v podmeniju okna, ki ga urejamo. Datoteka ima končnico .Designer.cs. Čeprav se spreminja sama, jo lahko tudi ročno urejamo.

V osnovnem oknu torej želimo prikazati več tabel z različnimi podatki. V orodjarni smo našli gradnik, imenovan TabControl oz. nadzornik zavihkov. V nastavitvah spremenimo ime gradnika in določimo, da se razprostira čez celotno odprto okno. Z desnim klikom na gradnik v oknu se odpre podmeni.

Tam lahko dodamo nove zavihke. S klikom na posamezen zavihek lahko urejamo lastnosti vsakega posebej. Določimo jim unikatna imena in besedilo, ki se prikaže uporabniku. Dodamo štiri zavihke s tekstom Vsi podatki, Predvidene odpreme, Servis in Skladiščenje.

V vsak zavihek najprej dodamo gradnik, imenovan TableLayoutPanel oz. razporednik gradnikov v tabelarični obliki. Gradnik prikaže vsebino okna v mrežasti obliki vrstic in stolpcev. V nastavitvah določimo ime gradnika, izberemo postavitev, ki zavzame celotno razpoložljivo polje, ter določimo število vrstic in stolpcev, ki jih želimo. Z desnim klikom na gradnik se nam odpre podmeni, kjer izberemo možnost Edit rows and columns. Odpre se nam okno v katerem lahko oblikujemo vrstice in stolpce tabele. Določimo lahko število stolpcev in vrstic ter njihovo relativno velikost v odstotkih, velikost v slikovnih točkah ali samodejno prilagajanje velikosti glede na velikost gradnikov v poljih.

Za potrebe osnovnega okna določimo dva stolpca in dve vrstici. Pri stolpcih določimo, da ima prvi stolpec relativno velikost 100 odstotkov, drugi pa absolutno vrednost 166 slikovnih točk. To pomeni, da bo drugi stolpec vedno enako velik ne glede na spreminjanje velikosti okna, zaradi različnih

(30)

velikosti ekranov ali uporabnikovih nastavitev. Drugi stolpec bo vedno zavzel vso ostalo površino, ki je na voljo. Pri vrsticah določimo absolutno velikost prve vrstice, tj. 61 slikovnih točk, in relativno velikost druge vrstice, tj. 100 odstotkov. Da bi se izognili prekomernemu pomanjševanju okna, v lastnostih določimo minimalno velikost okna.

Vsaka celica v tabelaričnem razporedniku ima v osnovi lahko samo en gradnik. V vsako celico v prvi vrstici zato umestimo gradnik, imenovan FlowLayoutPanel oz. razporednik gradnikov v vrsti.

Gradnik omogoča dodajanje več gradnikov, ki jih samodejno razporedi. Oba razporednika ustrezno poimenujemo in določimo, da zavzameta vso razpoložljivo površino. V lastnostih gradnikov določimo, da se samodejno pojavi vertikalni drsnik, ko je potreben, in da so gradniki razporejeni od leve proti desni. V prvo celico na vsakem zavihku dodamo nekaj gumbov. V oknu lastnosti jim določimo velikost, barvo ozadja in pisavo besedila. Pazimo, da so barve gumbov različno razporejene, saj le tako lahko uporabnik lažje loči zavihke med seboj. V drugo celico v prvi vrstici dodamo en sam gumb na zavihek. Vsi gumbi so obarvani z enako barvo, dodamo jim besedilo Osveži. V prvo celico v drugi vrstici umestimo Panel oz. ploščo. Je osnovni gradnik za odlaganje drugih gradnikov.

Primerno ga poimenujemo in določimo, da se razprostira čez celotno površino. Ker se nahaja v TableLayoutPanelu, mu lahko določimo, koliko vrstic in stolpcev lahko zavzema. Določimo, da zavzema dva stolpca in eno vrstico. V panel dodamo gradnik DataGridView oz. preglednik podatkov v tabeli. V nastavitvah lastnosti določimo ime gradnika in da se razprostira čez celotno površino.

Določimo, da se vrstice in stolpci v tabeli prilagajajo po širini in višini glede na vsebino celice, obenem pa tudi, da vsebine ne moremo spreminjati in da lahko v tabeli izberemo eno celico in ne vedno celotne vrstice ali stolpca.

Po dodajanju osnovnih elementov v vsak zavihek se lahko posvetimo prikazovanju podatkov in posameznim podoknom s svojimi funkcionalnostmi.

(31)

4.4 Urejanje zavihka Vsi podatki

Zavihek z vsemi podatki je namenjen prikazovanju podatkov o vseh transformatorjih, torej o transformatorjih, ki so že bili in še bodo odpremljeni. Zavihek je pomemben za dodajanje novih datumov o odpremah, saj v drugih zavihkih praviloma ne bodo prikazani transformatorji brez datuma odpreme, razen v redkih primerih. Najprej je torej treba poskrbeti za prikaz podatkov.

4.4.1. Prikaz podatkov

Najprej je bilo treba pregledati podatke, ki so nam dostopni v že obstoječi podatkovni bazi. Pregledali smo jih v programu MySQL Workbench. Želimo prikazati osnovne podatke transformatorja, na primer element PPS, serijsko številko, številko SAP, kupca in podobno. Želimo dodati in prikazati tudi podatke, ki še ne obstajajo v podatkovni bazi. Te tabele je bilo treba oblikovati in dodati v bazo.

Kot glavni identifikator smo določili serijsko številko, saj je med množico unikatnih oznak za transformator edina oznaka, ki vsebuje samo številke brez posebnih znakov, kar omogoča lažjo manipulacijo.

Prvi manjkajoči podatek je datum odpreme. V testno podatkovno bazo smo dodali tabelo z imenom odprema. Prvi stolpec te tabele vsebuje podatkovni tip številk, imenovan int(11). Vrednost v polju se samodejno povečuje in deluje kot primarni ključ. Drugi stolpec prav tako vsebuje samo številke.

Prikazuje serijske številke transformatorjev. Ta podatek je glavni za povezovanje tabel med seboj.

Naslednji je prikaz datuma v ustreznem podatkovnem tipu. Sledi podatek o tipu odpreme v podatkovnem tipu varchar(5). To pomeni, da je v polje lahko vnesen znakovni niz, dolg največ 5 znakov. Poznamo tri tipe odprem, in sicer glavni del, oprema ter avtocisterna. Uporabljene so oznake GD, O in AC.

V zavihku želimo tudi prikazati podatek o tem, ali se transformator nahaja na zunanjem skladiščenju.

Oblikovati je bilo treba tudi tabelo za to. Vsebuje ID, ki je primarni ključ in se samodejno povečuje, stolpec s serijsko številko transformatorja in stolpec, ki prikazuje, ali je transformator na skladiščenju v podatkovne tipu tinyint(1). Podatkovni tip je primeren za shranjevanje vrednosti TRUE/FALSE oz da/ne v obliki 1/0.

Za prikaz podatkov v tabeli je bil oblikovan pogled, imenovan pregled_vseh_podatkov. Ker elementa PPS v celoti ne dobimo iz podatkovne baze, ga je bilo treba sestaviti. Element PPS je sestavljen iz projektne številke, oznake kosa in karakteristične številke. Prikazuje se v svojem stolpcu, sestavimo pa ga znotraj poizvedbe. V tabeli prikazujemo še stolpec serijska številka, SAP naročilo, matični podatek, ponudbo, oznako, kupca, državo, datum odpreme glavnega dela, obrat, v katerem je bil izdelan, uspešnost FAT meritev in postavitev na zunanje skladiščenje. Pogled je bil oblikovan s

(32)

poizvedbo SQL z uporabo ukazov SELECT DISTINCT, SELECT MIN, WHERE, CASE, CONCAT, LEFT JOIN, ORDER BY, LIMIT ter operatorjev AND, OR in NOT.

Po oblikovanju pogleda je bilo treba prikazati podatke v gradniku, ki omogoča pregled podatkov v tabeli. V kodi je treba vzpostaviti povezavo do podatkovne baze. Na začetku vsake .cs datoteke, iz katere želimo dostopati do podatkovne baze, moramo dodati knjižnico MySql.Data.MySqlClient. Če tega ne storimo, nas razhroščevalnik opozori, da želene funkcije ne obstajajo.

Kodo za odpiranje povezave je priporočljivo umestiti v varovalni blok try catch kot prikazano na sliki 7. Namenjen je obravnavanju prekinitev, ko program naleti na napako ali neizvedljivo kodo, v nasprotnem primeru se program nepričakovano zaustavi. V try blok napišemo kodo, ki jo želimo izvesti. V našem primeru je to povezava do podatkovne baze. Tudi če je koda v celoti napisana pravilno, lahko pride do napak oz. izjem, če je na primer strežnik preobremenjen ali zaustavljen. V catch blok napišemo kodo, za katero želimo, da jo program izvede, če pride do napake. V našem primeru je to samo prikaz sporočila o napaki v novem oknu.

Vir: Lastni

Slika 7. Povezava do baze v varnostnem bloku

Za prikaz podatkov moramo v try bloku najprej instancirati razreda MySQLConnection in MySQLCommand. Določiti jima moramo parametre, kot so besedni niz za vzpostavitev povezave, poizvedba in prej instanciran razred MySQLConnection. Besedni niz za vzpostavitev povezave mora vsebovati podatke za povezavo v podatkovno bazo, kot so ime strežnika, vrata, uporabniško ime in geslo. Pomembno je, da razrede instanciramo znotraj using funkcije, ki v primeru, da pride do izjeme, poskrbi, da se povezava pravilno zapre. Naenkrat je namreč lahko odprto samo določeno število povezav, kar pomeni, da ko je dosežena zgornja meja, ni mogoče odpreti nove povezave.

(33)

Po odpiranju povezave moramo za prikaz tabele prebrati podatke s funkcijo ExecuteCommand iz objekta MySQLCommand. Če funkcija vrne tabelo, se podatki prikažejo v gradniku pregledovalnik tabel, v nasprotnem primeru se odpre pojavno okno z opozorilom, da želena tabela ne obstaja.

4.4.2. Dodajanje podokna Zunanje skladiščenje

V tabeli so prikazani podatki o vseh transformatorjih, ki bodo še odpremljeni ali pa so že bili. Je edini vir podatkov o transformatorjih, ki še nimajo vnesenega predvidenega datuma odpreme glavnega dela. Na zunanje skladiščenje včasih postavimo tudi transformator, za katerega predhodno še nismo bili obveščeni o datumu odpreme.

Na osnovnem oknu preimenujemo prvi gumb in spremenimo besedilo v Zunanje skladiščenje. V orodni vrstici izberemo možnost pogled in nato raziskovalec rešitve. Z desnim klikom na rešitev se nam odpre podmeni, iz katerega izberemo dodaj in s tem dodamo novo okno oz. obrazec v programsko rešitev. Oknu določimo lastnosti in ga ustrezno poimenujemo. V okno dodamo gradnike, ki jih potrebujemo. To so Label oz. oznaka, TextBox oz. vnosno polje, Button oz. gumb, GroupBox oz. vsebnik z obrobo in besedilom, CheckBox oz. potrditveno polje in ComboBox oz. kombinirano vnosno polje.

Na gumbu v osnovnem oknu dodamo dogodek, ki odpre novo okno za zunanje skladiščenje. V oknu prikažemo element PPS in serijsko številko transformatorja iz celice, ki je bila izbrana ob pritisku na gumb. Če je izbranih več celic in se te nahajajo v več vrsticah, se pokaže pojavno okno z opozorilom in v kodi je preprečeno odpiranje novega okna. V oknu prikazanem na sliki 8 lahko določimo, ali je transformator na zunanjem skladiščenju ali ne. Če je transformator na zunanjem skladiščenju, je pred shranjevanjem podatkov obvezna tudi določitev lokacije. Vse lokacije, ki obstajajo v podatkovni bazi, se pojavijo v spustnem seznamu ob kliku na kombinirano vnosno polje. Ko so podatki pravilno vneseni v polja, se ob pritisku na gumb Shrani vnesejo v podatkovno bazo.

Vir: Lastni

Slika 8. Podokno Zunanje skladiščenje

(34)

4.4.3. Dodajanje podokna Uredi lokacije

Zaradi spreminjanja lokacij skladiščenja transformatorjev smo dodali novo okno, kjer lahko urejamo poimenovanja lokacij skladiščenja. Dostopno je samo iz okna Zunanje skladiščenje. V okno smo poleg prej omenjenih oznak, gumbov, vnosnih polj in vsebnikov dodali gradnik ListBox oz. izbirni seznam.

V podatkovni bazi smo, da bi se izognili podvajanju podatkov, oblikovali novo tabelo za lokacije skladiščenja, imenovano lokacija_skladiscenja. Tabela vsebuje samo dva stolpca. Prvi stolpec je ID tabele podatkovnega tipa int(11). Je primarni ključ tabele in se samodejno povečuje. Drugi stolpec je podatkovnega tipa varchar(50) in je namenjen shranjevanju imen lokacij. Pri vpisovanju podatkov v tabelo za skladiščenje transformatorjev se v tabelo vpiše ID imena lokacije, tako se ob spreminjanju imena lokacije ime spremeni za vse skladiščene transformatorje na tej lokaciji.

Pri odpiranju okna za urejanje lokacije se vse obstoječe lokacije izpišejo v izbirnem seznamu. Okno, ki je prikazano na sliki 9, je oblikovano tako, da lahko obstoječe lokacije urejamo in brišemo iz seznama ali dodajamo povsem nova. Ob zapiranju okna se podatki v prej odprtem oknu Zunanje skladiščenje posodobijo in pri vnašanju podatkov lahko izberemo posodobljene vrednosti.

Vir: Lastni

Slika 9. Podokno Uredi lokacije 4.4.4. Dodajanje podokna Odprema

V rešitev smo dodali nov obrazec. Preimenovali in spremenili smo tekst na drugem gumbu na zavihku. Na gumb je vezan dogodek ob kliku, ki odpre novo dodano okno. Pri grafičnem oblikovanju okna smo uporabili gradnike, kot so vsebniki z obrobo in besedilom, gumb, oznaka ter vnosno polje.

Če je datum odpreme glavnega dela že vnesen v podatkovno bazo, se v odprtem oknu, kot je razvidno na sliki 10, prikaže obstoječi podatek, ki ga lahko spreminjamo.

(35)

Vir: Lastni

Slika 10. Podokno Odprema z vnesenim datumom

Zaradi načina vnosa podatkov v bazo je v primeru, ko še ni vnesenega podatka o številu posameznih odprem, treba najprej klikniti na gumb Dodaj vnos, ki je viden na sliki 11. V podatkovno bazo se v tabelo z imenom odprema doda zapis s serijsko številko in tipom odpreme GD.

Vir: Lastni

Slika 11. Podokno Odprema brez vnosa v tabelo

Ob kliku na gumb in dodanem zapisu v podatkovno bazo se v oknu pojavi nov vsebnik, ki vsebuje tri oznake in tri plošče s kombiniranim vnosnim poljem za vpis datuma. Vnosna polja omogočajo vpis datuma. Omejen je na pravilen format z upoštevanjem prestopnih let in ostalih zakonitosti. Na sliki 12 je prikazano kako je uporabnik opozorjen na nepravilnost s tem, da se vnosno polje obarva z rdečo barvo, če je vnos nepravilen ali če manjka. Ko je podatek v ustreznem formatu, se s klikom na gumb Shrani podatek vnese v podatkovno bazo in okno se zapre.

Vir:Lastni

Slika 12. Podokno Odprema s prikazovanjem napake pri vnosu podatkov

(36)

4.5 Urejanje zavihka Predvidene odpreme

Zavihek s predvidenimi odpremami je namenjen prikazovanju podatkov o transformatorjih, ki bodo odpremljeni v bližnji prihodnosti. Običajno nas komercialist obvesti o predvideni odpremi, ko transformator uspešno prestane meritve FAT. Če je transformator odpremljen kmalu po meritvah FAT, je oddelek prodajne logistike že prej vključen v podrobno dogovarjanje. V zavihku so prikazani tudi vsi transformatorji, ki so na zunanjem skladiščenju.

4.5.1. Prikaz podatkov

Po pregledu podatkov v obstoječi podatkovni bazi je edini manjkajoči podatek v podatkovni bazi podatek o zahtevah po indikatorjih tresljajev, ki so potrebni med transportom.

V bazo smo dodali tabelo s petimi stolpci, imenovano shockrecorderji. Prvi stolpec je ID tabele podatkovnega tipa int(11). To je primarni ključ, ki se samodejno povečuje. Drugi stolpec je prav tako podatkovnega tipa int(11) in vsebuje serijsko številko transformatorja. Tretji in peti stolpec sta tinyint(1), ki omogočata shranjevanje vrednosti true/false oz. da/ne v obliki 0/1. V tretji stolpec vpišemo, če je montaža indikatorja med transportom zahtevana od kupca, v peti stolpec pa vpišemo, če je potrebna montaža direktno na aktivni del. Četrti stolpec je podatkovnega tipa tinyint(4) in je namenjen shranjevanju podatkov o tem, koliko indikatorjev je treba montirati na transformator med transportom. Kupec namreč lahko zahteva montažo dveh indikatorjev na transformator.

Za prikaz podatkov v tabeli je bil oblikovan pogled imenovan predvidene_odpreme. Element PPS je treba sestaviti iz projektne številke, oznake kosa in karakteristične številke. V tabeli prikazujemo še stolpec serijska številka, karakteristična številka, SAP naročilo, oznako, kupca, državo, datum odpreme glavnega dela, uspešnost meritev FAT, postavitev na zunanje skladiščenje, način odpreme, datum odpreme opreme in datum odpreme avtocisterne. Način odpreme je sestavljen iz števila vpisov za posamezno odpremo v tabelo odpreme. Pogled je bil oblikovan s poizvedbo SQL z uporabo ukazov SELECT DISTINCT, SELECT MIN, SELECT COUNT, WHERE, CASE, CONVERT, CONCAT, LEFT JOIN, ORDER BY, LIMIT in operatorjev AND, OR in NOT.

Podobno kot pri prvem zavihku je ustvarjen pogled s pomočjo kode treba prikazati v gradniku za prikazovanje tabel na zavihku Predvidene odpreme.

(37)

4.5.2. Dodajanje podokna Datum odprem

Prvi gumb na drugem zavihku ustrezno preimenujemo in spremenimo tekst v Datum odprem. Za grafično oblikovanje obrazca uporabimo gradnike, kot so vsebnik z obrobo in besedilom, gumb, oznaka ter vnosno polje. Obrazec smo oblikovali tako, da datume prikaže v treh stolpcih. V prvem so datumi odprem glavnih delov, v drugem datumi odprem oprem in v tretjem datumi odprem avtocistern.

Ko se okno odpre, se glede na podatke v bazi kreirajo vsebniki, ki imajo vnosna polja za datum v ustreznih stolpcih kot prikazano na sliki 13. Če je v bazi vnesena ena odprema za glavni del in dve odpremi za opremo, se v prvem stolpcu prikaže en vsebnik, kamor vnesemo datum, v drugem pa se prikažeta dva vmesnika.

Vir: Lastni

Slika 13. Podokno Datumi odprem

Ob oblikovanju tega okna smo v tabelo odpreme dodali stolpec, imenovan odpremljeno, podatkovnega tipa tinyint(1). Namenjen je shranjevanju podatkov v obliki TRUE/FALSE oz. da/ne.

V bazi je shranjen v obliki 1/0. Namenjen je ločevanju datumov odprem, ki so bili odpremljeni, od tistih datumov odprem, ki niso bili odpremljeni. Vrednost, ki se shrani v bazo, določimo s klikom na potrditveno polje.

4.5.3. Dodajanje podokna Način odprem

Obrazec ima poleg gumbov Shrani in Zapri še gumb z besedilom Način odprem. V rešitev smo dodali še en obrazec z imenom Način odpreme. Kot omenjeno, je dostopen iz podokna Datum odprem. V osnovnem oknu na zavihku Predvidene odpreme smo preimenovali in dodali besedilo drugemu gumbu, ki prav tako odpre omenjeno okno. V obrazcu je poleg prej omenjenih gradnikov uporabljen tudi NumericUpDown oz. vnosno polje za števila. Omogoča vnos celih števil, ima pa tudi gumbe, ki povečujejo in zmanjšujejo vrednost v vnosnem polju za želeno vrednost.

Na sliki 14 je razvidno okno v katerem določimo število predvidenih odprem za posamezen način

(38)

avtocistern z dielektrično tekočino. Za manjše transformatorje je običajno dovolj en tovornjak za opremo brez avtocisterne, saj se odpremi transformator, napolnjen z dielektrično hladilno tekočino.

Za večje projekte se odpremi po dva tovornjaka opreme z eno avtocisterno, za največje pa 5 in več tovornjakov opreme ter do tri avtocisterne.

Vir: Lastni

Slika 14. Podokno Način odpreme

S klikom na gumb Shrani se posodobijo vrednosti v podatkovni bazi. Če je bilo okno odprto iz osnovnega okna, se ponovno izvede posodobitev prikaza. Če je bilo okno odprto iz podokna Predvidene odpreme, se obstoječi gradniki z datumi izbrišejo iz obrazca. Kreirajo se novi glede na spremenjene podatke v podatkovni bazi.

4.5.4. Oblikovanje gumba Zunanje skladiščenje

Na tretje mesto v zavihku predvidene odpreme smo dodali gumb za odpiranje podokna Zunanje skladiščenje. S klikom na gumb se odpre podokno, ki smo ga izdelali in opisali že pri prvem zavihku.

4.5.5. Dodajanje podokna Shock recorder

Naslednji gumb v osnovnem oknu na drugem zavihku smo ustrezno preimenovali in spremenili besedilo v Shock recorder. Dodali smo nov obrazec v rešitev. V grafičnem oblikovalcu smo dodali gradnike in oblikovali okno v končno obliko ,ki je prikazana na sliki 15. Namenjen je vpisovanju podatkov o indikatorjih tresljajev. Vnesemo lahko podatek, če je zahtevan nameščen indikator tresljajev med transportom. Vnesemo lahko tudi podatke o številu indikatorjev in če je potrebna montaža na aktivni del.

(39)

Vir: Lastni

Slika 15. Podokno Shockrecorder 4.5.6. Dodajanje podokna Cargo zavarovanje

Peti gumb na zavihku ustrezno poimenujemo in spremenimo tekst v Cargo zavarovanje. V rešitev dodamo obrazec in oblikujemo grafično podobo. Za oblikovanje potrebujemo vsebnik z obrobo in besedilom, vnosno polje, oznako, kombinirano vnosno polje, vnosno polje za števila in gumbe.

Ko odpremo okno, so v vnosnih poljih že prikazani vsi razpoložljivi podatki iz baze kot razvidno iz slike 16. V vseh poljih je omogočeno urejanje podatkov, da jih lahko poljubno spremenimo. Podatki so predvideni za uporabo v izročku. S tem je rešitev bolj prilagodljiva, saj omogoča poljubno spreminjanje podatkov. V bazi namreč niso vsi podatki vpisani v istem formatu. To nam omogoči, da lahko spremenimo podatke, ki so pozneje vpisani v izročku.

Vir: Lastni

Slika 16. Podokno Cargo zavarovanje

Dodatni podatki, ki do zdaj niso bili dostopni v podatkovni bazi, so prodajna cena transformatorja in valuta, naslov dostave, pariteta ter podatki o teži.

Reference

POVEZANI DOKUMENTI

Torej, poleg popolne grafične in atributne baze podatkov o odlagališčih odpadkov potem lahko uporabljamo še druge sloje podatkov.. Podoben

• Nujno je potrebno zagotoviti pravne podlage in tehnične rešitve za uporabo baze podatkov o izvajalcih pri vseh subjektih zdravstva, saj je ta zbirka podatkov ključnega pomena za

Primer takega trajnostnega delovanje je rešitev za povezljivost podjetja FORCAM, ki podjetju BorgWarner omogoča hitro zbira- nje podatkov o porabi energije v proizvodnji in uporabo

 SQL varnostno kopiranje (SQL backup) kot orodje, ki je s strani proizvajalca baze vgrajeno v bazo podatkov v kombinaciji z običajnim TSM klientom, ki lahko

Poleg tega, ˇ ce uporabljamo mikrostoritve in skupno bazo podatkov, smo pri skaliranju omejeni z zgornjo mejo skalabilnosti sku- pne baze podatkov (ˇ ce imamo 5 mikrostoritev in

V primeru, ko zahtevamo podatke iz podatkovne baze, programska koda sestavi tudi stran za prikaz teh podatkov preko kode HTML.. Vmesnik je razdeljen na dve verziji, produkcijsko

Lokalno shranjevanje podatkov nam omogoˇ ca, da aplikacija ni odvisna od konstantne povezave z zunanjo bazo. Uporaba podatkovne baze za lokalno shranjevanje podatkov nam: zmanjˇsa

Sistem za upravljanje podatkovnih baz je programska oprema, ki omogoˇ ca definiranje, kreiranje in vzdrˇ zevanje podatkovne baze ter zagotavlja hkraten in nadzorovan dostop do