SUMMER UNIVERSITY ON IT IN AGRICULTURE AND RURAL DEVELOPMENT – 2007 DEBRECEN, HUNGARY
Elektronikus Táblatörzskönyv Program fejlesztése Gazdálkodási Napló Modullal
Cseh András1 1
Debreceni Egyetem, 4032 Debrecen, Böszörményi út 138.
Absztrakt. Célul tűztem ki egy Elektronikus Táblatörzskönyv program fejlesztését . A mai modern mezőgazdaság nem képzelhető el az elvégzett műveletek rögzítése nélkül, mert ez megkönnyíti a termékek eredetének ellenőrzését illetve azt is mutatja, hogy a gazdálkodó a termelése során milyen és mennyi műtrágyát, vegyszert és egyéb anyagot használt fel.Igaz a piacon már léteznek hasonló célra készült rendszerek, de azoknak a kezelhetősége bonyolultabb, mint az általam fejlesztett programnak. Az elaprózódott birtokszerkezetben nehéz pontosan és gyorsan nyomon követni minden elvégzett műveletet. Erre ad segítséget az Elektronikus Táblatörzskönyv program. A számítógépes feldolgozás megkönnyíti az események pontos rögzítését és a jövőbeni jó döntésekhez információt biztosít. Mivel a családom is a program használója lesz, próbálom minél egyszerűbbé és „felhasználóbaráttá” tenni. Ennek van még egy olyan előnye is, hogy a tesztelési fázist is közvetlenül tudom ellenőrizni. A program használatát bárki könnyen elsajátíthatja, különösebb szakértelem nélkül is. A rendszert Windows operációs rendszer alatt Delphi fejlesztői környezetben, az adatbázis-kezelést MySQL-adatbázisszerver segítségével valósítottam meg. A 4GL-es fejlesztői környezetnek köszönhetően a felhasználói felület elkészítése könnyen elvégezhető. A programban a gazdálkodás során felhasznált inputok nevét csak egyszer tárolom le így a tévesen felvihető adatok számát is csökkentem. A MySQL relációs adatbáziskezelő segítségével az adatbázis és a táblák szerkezete könnyen módosítható a felhasználói igényeknek megfelelően.
Kulcsszavak. Táblatörzskönyv, Gazdálkodási Napló, MySQL, Delphi, „felhasználóbarát”.
Bevezetés A dolgozatom témájaként az általam kifejlesztett elektronikus táblatörzskönyv program bemutatását választottam. Ez a szoftver a régebbi verzió továbbfejlesztése, ezért már tartalmazza Gazdálkodási Naplóból a szántóföldi növénytermesztéshez szükséges főbb lapokat. Ez a szoftver a régebbi verzió továbbfejlesztése, ezért az adatokat táblatörzskönyv formátumban is le lehet kérdezni. A program fejlesztésének legfőbb indoka: családi kötődés a mezőgazdasághoz, azon belül is főleg a növénytermesztéshez. Régebben a Táblatörzskönyv kitöltése papír alapon történt, majd később áttértünk az elektronikus kitöltésre táblázatkezelő program segítségével. Az adatrögzítés könnyebb lett a nyilvántartás áttekinthetőbbé vált. A táblázatkezelőnek az a hátránya, hogy az összes adatot billentyűzet segítségével kell begépelni a rendszerbe, ami időigényes és fennáll az elgépelés veszélye. Felmerült az igény a Táblatörzskönyv vezetésére alkalmas program beszerzésére. A piacon már létezik erre a célra fejlesztett program és többnek a demó verzióját is kipróbáltam: Táblatörzskönyv, Gazdálkodási Napló (I6) A programok jól működnek, csak a kezelhetőségük kicsit nehézkes, azaz nem felhasználóbarát. Ezeknek a kisebb hiányosságoknak a megismerése után jutottam arra a következtetésre, hogy tehetnénk egy kísérletet saját program fejlesztésére. Ezt szakmai kihívásnak is tekintetem, mivel informatikus agrármérnök szakos hallgató vagyok, így hozzákezdtem a program tervezéséhez.
1
SUMMER UNIVERSITY ON IT IN AGRICULTURE AND RURAL DEVELOPMENT – 2007 DEBRECEN, HUNGARY
A Táblatörzskönyv és Gazdálkodási Napló bemutatása Ma Magyarországon az Európai Unióhoz történő csatlakozás és a fokozódó minőségbiztosítási követelmények hatására egyre fontosabbá válik a mezőgazdasági eszközök és a technológiai anyagok felhasználásának pontos idő- és térbeli nyomon követése. A nyilvántartások megkönnyítik a termékek eredetének ellenőrzését illetve rögzítik, hogy a termelés során milyen és mennyi műtrágyát, vegyszert és egyéb anyagot használt fel a termelő. Az elaprózódott birtokszerkezetben nehéz pontosan és gyorsan nyomon követni minden elvégzett műveletet. Erre ad segítséget az elektronikus táblatörzskönyv rendszer. A számítógépes feldolgozás megkönnyíti az események pontos rögzítését és a jövőbeni jó döntésekhez a szükséges információt biztosítja.
Módszerek Először áttanulmányoztam a kipróbált szoftverek használati utasítását és azt döntöttem el, hogy az adatok tárolását adatbáziskezelő rendszer segítségével oldom meg. Jelenleg a relációs alapú adatbázisok a legelterjedtebbek. Ennek a típusnak az elméleti alapja Codd nevéhez fűződik. A relációs alapú adatbázisokban nagy a lekérdezések variálhatóságának a lehetősége, nagyon rugalmasak és az adatbázis szerkezete könnyen módosítható. Egy jól megszerkesztett adatbázisból az adatok többféle csoportosítási szempont szerint is kinyerhetők. Eddigi egyetemi tanulmányaim során három adatbáziskezelő rendszerrel találkoztam: Access, Firebird és MySQL. A választásom a MySQL-re esett (MELONI, 2003), mert számomra ez tűnt a legkönnyebben kezelhetőnek. Miután megtaláltam a számomra ideális adatbáziskezelő rendszert, a következő feladat a felhasználói felület kialakítására alkalmas program kiválasztása. A felhasználói felület PHP nyelven is elkészíthető de a PHP elsősorban szerveroldali szkript nyelv. Ezzel a felület elkészítése egy táblatörzskönyv célú programhoz nehézkes. A programot egy felhasználósra tervezem és 4GL-es környezetben kívánom megvalósítani. A legoptimálisabb választás a Delphi (CANTU, 2003), mivel szoftverfejlesztésből ezt a rendszert ismertem meg. A Borland Delphi rendszer olyan, gyors alkalmazásfejlesztő környezet (RAD Rapid Application Development), amely hazánkban rendkívüli népszerűségnek örvend. Ha csak a főbb tulajdonságokat tekintjük, azt találjuk, hogy a Delphi az egyik leghatékonyabb alkalmazásfejlesztő eszköz, amely Object Pascal alapú forrásnyelvi fordítóprogrammal, komponensalapú felépítéssel (VCL), és testre szabható adatbázis-hozzáférési lehetőséggel rendelkezik. Úgy vélem, ezen tulajdonságainak köszönhetően, segítségével létrehozhatok egy könnyen kezelhető „felhasználóbarát” táblatörzskönyv rendszert.
Eredmények Az adatbázis szerkezete A táblatörzskönyvben a tárolandó adatok köre három csoportra bontható: ¾ a termőhelyek illetve a parcellák, ¾ az elvégzett műveletek ¾ a kijuttatott anyagok illetve betakarított termények adatai Az adatbázis szerkezetét, a táblák tartalmát főleg a tárolandó események illetve a gyorsabb adatlekérdezés lehetősége szerint alakítottam ki (SEDIVINÉ BALASSA és,
2
SUMMER UNIVERSITY ON IT IN AGRICULTURE AND RURAL DEVELOPMENT – 2007 DEBRECEN, HUNGARY
PÖLÖSKEINÉ HEGEDÜS, 2002). Az adatbázisban huszonkilenc kisebb-nagyobb méretű tábla foglal helyet. A táblák kétféle típusba sorolhatók: ¾ ¾
központi táblák, amelyekben nagyon sok adatot fog tárolni a program adattároló vagy kisegítő táblák, amelyeknek a céljuk, hogy a központi táblákban tárolandó adatok mennyiségét a lehető legkisebbre csökkentsék.
Egy jól megtervezett és felépített adatbázisban csekély a mértéke a redundanciának vagy egyáltalán nincs jelen (KUPCSIKNÉ, 2004). Mivel minden adatot csak egy helyen fog tárolni a program, így az inkonzisztencia veszélye sem fenyeget.
A program szerkezete A program szerkezetét úgy alakítottam ki, hogy az átlagos körülmények között gazdálkodó mezőgazdasági termelő papíralapú Táblatörzskönyvének és Gazdálkodási Naplójának a szerepét átvegye. Ennek érdekében a programot a következő szempontok figyelembevételével készítettem el: ¾ könnyű kezelhetőség (felhasználóbarát) ¾ gyors eseményfelvitel ¾ nagyfokú rugalmasság A könnyű kezelhetőség abból adódik, hogy a programnak nem szerteágazó a szerkezete, néhány űrlapon a program minden funkciója elérhető. Ezek az űrlapok egyszerre egymástól függetlenül kezelhetők, de köztük a háttérben szoros kapcsolat van, emiatt minden űrlapon lévő adat aktuális. A gyors eseményfelvitel a következőkből adódik: az adatok jelentős részét legördülő listából választhatjuk ki - ezért kevés adatot kell a billentyűzetről kézzel felvinni - így időt takarítunk meg. Ennek a másik előnye a gépelési hibák száma is jelentősen csökkenthető, nem történik hibás adatfelvitel. A nagyfokú rugalmasság annak köszönhető, hogy a termelés során felhasznált anyagok köre tetszés szerint bővíthető. Ez először kicsit nehézkesnek tűnik, de úgy gondolom az adatbázisban csak azok a beviteli adatok szerepeljenek, amelyeket ténylegesen felhasznál a termelő. Jelenleg nem célom egy növényvédő szer vagy vetőmag-katalógus előzetes létrehozása a programon belül, de a programfejlesztése során, igény szerint erre is sor kerülhet. Amennyiben a termelő a bőség zavarában szenved - mondjuk a vetőmagnevekből vagy egyéb inputnevekből - akkor a műveletek regisztrálásakor nehezebben tudja kiválasztani a számára szükséges adatot. Minden termelő számára megvan az általa preferált anyagok, eszközök köre és a többi adat számára fölösleges.
A táblaadatok rögzítése A Törzsadatok közé tartozó adatokat ugyanazon ablakból érhetjük el (1. ábra). Négy fül közül választhatunk, a kiválasztott fül aktívvá válik és eltakarja a többit. A fülek között gyorsan lehet váltani ezért a törzsadatokat ugyanarról a helyről könnyen lehet elérni. Az aktív fül váltogatása során a felviteli mezőkben lévő adatok változatlanok maradnak.
3
SUMMER UNIVERSITY ON IT IN AGRICULTURE AND RURAL DEVELOPMENT – 2007 DEBRECEN, HUNGARY
1. ábra A táblaadatok rögzítése
A termőhelyekről a következő adatokat tárolja a program: helyrajzi szám, település, rövid ismertető a területről (ide célszerű beírni az adott termőhely gazdaságbeli megnevezését) a termőhely területét hektárban négyzetméteres pontossággal a mezőgazdasági terület aranykorona értéke
Új parcella kialakítása Ebben az összetett ablakban lehet a parcellákat kialakítani (2. ábra). A parcella kialakítás azért szükséges, mert ez a Gazdálkodási Napló növénytermesztés támogatási rendszerének alapegysége (I8, I9). Több helyrajzi számú terület is alkothat egy parcellát, de egy helyrajzi számú területen is lehet több parcella. A célom az volt, hogy a parcellához szükséges minden adatot azonos helyen gyorsan lehessen rögzíteni: az igénybevett támogatási programokat, a különböző támogatási programban a parcella sorszámát és a tápanyag-gazdálkodással kapcsolatos adatokat. A parcella szerinti adatrögzítés azért is jó, mert a parcellák általában összevontan több helyrajzi számú területből állnak.
4
SUMMER UNIVERSITY ON IT IN AGRICULTURE AND RURAL DEVELOPMENT – 2007 DEBRECEN, HUNGARY
2. ábra Új parcella kialakítása
A mezőgazdasági műveletek rögzítése A műveletek rögzítésére szolgáló ablak egy részletét a 3. ábra mutatja. A műveletrögzítés folyamata a következő lépésekből áll. ¾
A felhasználó kiválasztja a gazdasági évet melynek hatására a parcella listában csak az adott gazdasági évben létező parcellák közül választhat. ¾ A dátumkomponens segítségével az időpont formailag mindig helyes ¾ A művelettípus kiválasztásának több hatása is van: meghatározza a lehetséges művelet megnevezéseket, valamint a jobb oldali anyagnév listában csak azok az anyagnevek szerepelnek, amik az adott műveletnél valójában lehetséges és természetesen a mértékegység is a művelet típusához igazodik. Ezért a következő eset biztos nem fordulhat elő: betakarításkor a betakarított anyag karbamid és a mértékegység millió csíra/ha. ¾ A művelet listaablakból kiválasztjuk a művelet pontos megnevezést és amennyiben az adott műveletre már kialakítottunk alapértelmezett gépkapcsolatot, akkor a program az erőgépet és ha van a művelethez tartozó eszköz automatikusan állítja be. A hiba kiszűrése érdekében az eszközök és erőgépek között csak az aktív státuszban lévők közül lehet választani. Természetesen az alapértelmezett gépkapcsolatnak minden tagjának is aktív státuszban kell lenni ahhoz, hogy a felviteli mezőkben megjelenjen.
5
SUMMER UNIVERSITY ON IT IN AGRICULTURE AND RURAL DEVELOPMENT – 2007 DEBRECEN, HUNGARY
3. ábra Részlet a művet rögzítő ablakból
Adatok lekérdezése az adatbázisból Az adatokat az adatbázisból a régi formátumú Gazdálkodási Napló GN02, GN06 és GN 09 lapja tartalmi követelményei szerint tudom lekérdezni. A szántóföldi növénytermesztés szempontjából a Gazdálkodási Napló legfontosabb lapja a GN09 lap. Ezen az adott parcellán adott gazdasági évben elvégzett összes műveletet kell nyilvántartani. Jelenleg a programomban ez így néz ki (4. ábra). Az ablakban a legördülő listából választhatjuk ki, hogy melyik gazdasági év melyik parcelláinak az adataira szeretnénk lekérdezni. Az ablak többi része ennek megfelelően automatikusan változik. A programból lehetőség van az elvégzett műveleteket helyrajzi szám alapján is lekérdezni. Ezt a Táblatörzskönyv lekérdezés nevű ablakban tehetjük meg (5. ábra). Itt ki kell választanunk a terület helyrajzi számát majd egy kezdő dátumot és egy záró dátumot, amely időpontok között a műveleteket szeretnénk listáztatni. Az ablak jobb felső részén pedig az elmúlt öt évben termesztett növényfajok láthatók. Ez az ablak azért hasznos, mert így egy évnél nagyobb időtávban is láthatjuk az elvégzett műveleteket.
6
SUMMER UNIVERSITY ON IT IN AGRICULTURE AND RURAL DEVELOPMENT – 2007 DEBRECEN, HUNGARY
4. ábra A GN09 lap
5. ábra: Táblatörzskönyv lekérdezés
7
SUMMER UNIVERSITY ON IT IN AGRICULTURE AND RURAL DEVELOPMENT – 2007 DEBRECEN, HUNGARY
Adatok nyomtatása A Delphi7 fejlesztő környezetben a Rave Report beépített nyomtatási felületkészítő elem. Az adatbázisból először az adatokat ki kell nyerni, majd a nyomtatni kívánt formátumba kell hozni és végül át kell adni a Rave Report-nak. A Rave-ben (NEVRONA DESIGNS, 2004) meg kell tervezni a nyomtatási képernyőtervet, hogy melyik elem hol helyezkedjen el. A program jelenlegi állapotában az új Napló formátumában tudom a legtöbb adatot nyomtatni. Azért ide készítettem a legtöbb nyomtatási felületet, mert a közvetlen nyomtatási lehetőség a legújabb fejlesztés a programomban és szeretném a programot minél naprakészebbnek tartani, valamint ha van nyomtatási kép, akkor nem kell a programban külön lekérdezési felületet készíteni az adott formátumú laphoz. A GN07 lap nyomtatási képét a 6. ábra mutatja.
6. ábra: GN07 lap
8
SUMMER UNIVERSITY ON IT IN AGRICULTURE AND RURAL DEVELOPMENT – 2007 DEBRECEN, HUNGARY
Értékelés A programban történt változások az előző verzióhoz képest A programban kialakítottam a közvetlen nyomtatás lehetőséget. Ezáltal a program „kézzelfogható eredményt” szolgáltat a felhasználó számára. Így az adatbázisban elektronikusan tárolt adatok valójában is alkalmasak a mezőgazdasági folyamatok dokumentálására. Az aláírt Gazdálkodási Napló egy példányát megadott helyre be kell küldeni. A táblatörzskönyv programot sikerült közelebb hozni a Gazdálkodási Naplóhoz, mert a következő funkciók beépítésre kerültek: - A helyrajzi szám alapján nyilvántartott területeket a program segítségével már parcellákba is lehet sorolni, és a parcellákhoz kapcsolódóan a műveleteken kívül egyéb szükséges adatokat is tud rögzíteni. - A szántó hasznosítási irányú parcellákon az eseményeket a Gazdálkodási Napló követelményei szerint rögzíthetem, ezen kívül a munkafolyamat időigényét is tárolja a program. - Az adatokat tartalmilag a GN02, a GN06 és aGN09 lap követelményei szerint is le tudom kérdezni. A régi formátumú Napló esetén. - Az adatokat nyomtatni tudom: - Régi Napló esetén GN02 és GN09 lap tartalma szerint - Új Napló esetén GN02, GN03, GN06, GN07, GN11 lap tartalmi és formai követelményei szerint A programban már lehetőség van eszközkapcsolat létrehozására is. Kényelmet és gyorsabb adatfelvitelt szolgáló lehetőség az alapértelmezett művelet és gépkapcsolat. A kezelőfelületet próbáltam egységesíteni, látványossá és felhasználóbaráttá tenni oly módon, hogy kevesebb adatot kelljen közvetlenül billentyűzetről felvinni. Helyette inkább az input adatok többségét legördülő listából vagy jelölő négyzettel rendelkező listaablakból lehessen választani. Fontosnak tartom még a logikailag helytelen input adatok előzetes kiszűrését, mert amit nem viszünk fel hibásan, azt később nem kell kijavítani.
A program továbbfejlesztési lehetőségei A programban tervezem még elkészíteni az új Gazdálkodási Naplóhoz a nyomtatási képeket: - Parcella alapadatok (GN04 lap) - Permetezési napló (GN08 lap) Az értesüléseim szerint a közeljövőben még elképzelhető változás a Gazdálkodási Napló tartalmi részében, mégpedig az, hogy a felhasznált anyagokat nem csak kereskedelemi megnevezés szerint kell feltüntetni a Naplóban, hanem egy központilag kiadott egységes kóddal is kell rögzíteni a könnyebb központi adatfeldolgozás miatt. Mivel nem csak családom, hanem várhatóan több ismerős gazdálkodó is a program felhasználója lesz, így a fejlesztés során a lehető legtöbbet próbálok tenni a könnyebb kezelhetőségért. Napjaink felgyorsult világában fontosnak tartom, ha az adatrögzítés: • gyors, • egyszerű • hatékony Ezekkel a tulajdonságokkal időt takaríthatunk meg. mert az idő az egyetlen erőforrás, amely anyagi eszközök árán sem bővíthető.
9
SUMMER UNIVERSITY ON IT IN AGRICULTURE AND RURAL DEVELOPMENT – 2007 DEBRECEN, HUNGARY
Irodalomjegyzék 1.
CANTU M. (2003) Delphi 7 Mesteri szinten, Pult Ltd, Budapest
2. Kupcsikné Fitus Ilona (2000) Bevezetés az adatbázis-kezelésbe inf.stat.ps hallgatók részére Kiadó Debreceni Egyetem 3.
DR. SEDIVINÉ BALASSA ILDIKÓ, PÖLÖSKEINÉ HEGEDÜS HELÉN (2002): SZERVEZÉSI ISMERETEK KIADÓ: SZÁMALK, BUDAPEST
4.
MELONI, J.C. (2003): Tanuljuk meg a MySQL használatát 24 óra alatt. Kiskapu kiadó, Budapest.
5.
NEVRONA DESIGNS (2004) RAVE REPORTS
I BOGARASI KFT (2005a): TÁBLATÖRZSKÖNYV, GAZDÁLKODÁSI 6. NAPLÓ PRÓBAVERZIÓ http://www.bogarasikft.hu/install.zip I 7.
BOGARASI KFT (2005b): HASZNÁLATI UTASÍTÁS http://www.bogarasikft.hu/haszn.pdf
I 8.
GAZDÁLKODÁSI NAPLÓ (2007) WWW.FVM.HU
I KITÖLTÉSI ÚTMUTATÓ AZ ÚJ GAZDÁLKODÁSI NAPLÓHOZ 9. (2007) WWW.FVM.HU
10