Documentatie Foxpro Model

Descărcați ca doc, pdf sau txt
Descărcați ca doc, pdf sau txt
Sunteți pe pagina 1din 20

Universitatea de invataman .............................

Profesor ndrumtor, .................................. Student, ...............................

- 2013 -

1.

Introducere

Aplicaie permite gestionarea contactelor de asigurare la o societate de asigurari ntr-un mod sigur i eficient. Aplicaia conine baze de date ce rein informaii att despre clienti cat si depspre tipurile de asigurari incheiate . Se simplific operaii ca : adugarea unui nou client modificarea/stergerea/cautarea unui client incheierea unuei asigurari a masinii,a locuintei sau de calatorie modificarea/stergerea/cautarea unui contract incheiat anterior Aplicaia poate deasemenea genera rapoarte ale clientilor precum si rapoarte cu contractele de asigurare incheiate.

2. Descrierea aplicatiei
Baza de date este realizata printr-o relationare intre tabelele clinet cu masina,locuinta si calatorie . Aplicatia contine meniu in care se gasesc toate operatiunile posibile.

Operatiile posibile sunt umatoarele: - Adauga un client - Modifica/sterge date despre un client - Asigurarea locuintei - Asigurarea calatoriei - Asigurarea masinii - Modifica contract asigurare locuinta - Modifica contract asigurare masina - Modifica contract asigurare calatorie - Raport clineti - Raport asigurare locuinta - Raport asigurare masina - Raport asigurare calatorie

2.1.Operatii clienti

2.1.1.Adauga client
Aceasta optiune da poibilitatea de a adauga in baza de date un nou client. La apelare va aparea o noua fereastra (fig. 3) in care va trebui sa completati campurile prezente cu datele referitoare la clientul pe care doriti sa il adaugati . Pentru a efectua adaugarea apelati butonul Adauga care la randul sau va verifica daca datele sunt introduse corect.In cazul in care nu ati ompletat toate campurile aplicatia va afisa
3

mesajul Nu ati completat toare campurile necesare pentru a adauga un client! (fig. 2).

Fig. 1

Fig. 2

Fig. 3

Pentru a inchide fereastra apelati butonul Iesire . Butonul Reseteaza goleste toate campurile fomularului.

2.1.2. Modifica/sterge date despre un client


Aceasta optiune da posibilitatea de a modifica in baza de date datele clientilor. Pentru inceput se introduce un CNP al unui clinet deja existent in baza de date dupa care se da butonul cauta. In cazul in care CNP ul nu este valid sau nu exista nici o persoana cu un astfel de CNP programul genereaza o eroare.(fig 4)

Fig. 4 Odata introdus un CNP valid forma se completeaza automat cu datele clientului.

Fig. 5

Butonul modifica activeaza campurile din forma actuala precum si butonul salveaza. Pentru a modifica o inregistrare din tabela client.dbf se modifica valorile din capurile acestei forme dupa care se da butonul Salvare. Astfel se suprasciu datele clientului din tabela c datele modificate in aceasta forma. In cazul in care nu ati introdus un CNP valid butonul sterge respectiv modifica genereaza o eroare ca in fig 6.

Fig. 6 2.2 Incheie o asigurare Meniul permite incheierea a 3 tipuri de asigurari: 2.2.1 Asigurarea locuintei Primul pas este adaugarea unui CNP valid , in caz contrar programul genereaza o eroarea ca in fig. 4. Odata compeltat cu un CNP se da butonul cauta, actiune ce genereaza cu afisarea unor campuri ascunse ce contin datele despre clientul corespunzator CNP ului introdus. Aceste campuri sunt doar informative, nu pot fi modificate. Al doilea pas este compeltarea formularului din partea dreapta cu datele despre locuinta. Daca se omite completarea vreunui camp programul genereaza o eroare (Fig. 7). Butonul reseteaza realizeaza golirea toturor campurilor din formular. Odata completat formularul se da click pe butonul Incheie contract ce realizeaza actiunea de validare a campurilor plus calcularea pretului pentru contractul de asigurarea al locuintei respective. Campul pentru pret este doar pentru vizualizare nu poate fi modificat in mod direct, el se calculeaza automat dupa o anumita formula.
6

Fig. 7 Aceasta forma mai contine in plus un buton care permite adaugarea unui nou client . Forma completa este urmatoarea:

Fig. 8

2.2.2 Asigurarea masinii Asemenea formei care permite asigurarea locuintei si aceaasta forma ruleaza la fel , tot pe baza CNP ului insa difera campurile din formular. Aceasta are forma urmatoare:

In calcularea pretului a fost aplicata o formula pe baza capacitatii cilindrica a motorului, a anului de fabricatie, a perioadei de asigurare si a tipului de masina. 2.2.3 Asigurarea de calatorie Este asemenea cu celelalte forme doar ca contine alte campuri iar introducerea clientului sta pe baza de CNP. Formula care sta la baza calculatii pretului unei astfel de asigurari este in functie de data plecarii , data intoarcerii, tipul calatoriei precum si zona de plecare (spatiu shengen sau altul).

2.3. Modifica un contract Acest meniu permite modificarea datelor introduse intr un contract. 2.3.1 Modificarea unui contract pentru locuinta Primul pas, la fel ca in toate formele, este introducerea unui CNP valid a unui client din baza de date. Odata introdus un CNP existent in tabela client.dbf , campurile formularului ce contin informatii despre client precum si datele despre contractul de locuinta pe care l-a incheiat se completeaza automat.

Pentru modificare se activeaza butonul modifica care la randul sau face vizibil un alt buton salvare plus campurile ce tin de caontractul de asigurare al locuintei. Modificand aceste campuri si dand butonul salvare se suprascrie in baza de date mai exact in tabela locuinta.dbf datele despre contractl incheiat. In plus odata modoficate aceste campuri pretul pentru acesasta asigurare este recalculat dupa aceasi formula si inlocuit in baza de date . Erori posibile ale formei sunt cele legate de CNP, in cazul inca re nu a fost introdus niciunl sau CNP ul introdus nu este valid. Fora mai contine si un buton care trimite la formularul pentru incheiere a unei asigurari de locuinta.

10

2.3.2 Modificarea unui contract pentru masina Este contruit la fel ca formularul de mai sun, difera doar campurile. Forma sa este urmatoarea:

2.3.3 Modificarea unui contract pentru calatorie Este contruit la fel ca formularul de mai sun, difera doar campurile. Forma sa este urmatoarea:

11

2.4. Rapoartele - Raport asigurare locuinta (fig. A) - Raport asigurare masina (fig. B) - Raport asigurare calatorie (fig. C)

Fig. A
12

Fig B

Fig C

13

3. Baza de date Baza de date numita baza.dbc este alcatuita din 4 tabele. Tabela client.dbf, contine datele despre clientii societatii si este indexata pe baza campului id si a campului cnp

Tabela locuinta.dbf contine contractele incheiate pentru asigurarea locuintei si este indexata pe baza campului id_c camp care este egal cu valoarea campului id din tabela clienti.dbf. Cu alte cuvinte fiecarui contract de asigurare al locuintei ii corespunde un id si NUMAI UNUL din tabela client.dbf. Valoarea campului pret care este de tip float este calculata automat in formularele pentru incehierea unui contract de asigurare a locuintei.

14

Tabela masina.dbf este indexata dupa campul id_m camp ce corespunde unui alt camp SI NUMAI UNUL din tabela client.dbf si anume campul id

15

Tabela clatorie.dbf este indexata dupa campul id_c si are urmatoarea structura:

4. Codul sursa al aplicatiei


Client.scx
IF EMPTY(_nume) OR EMPTY(_prenume) OR EMPTY(_loculnast) OR EMPTY(_cnp) OR EMPTY(_localitate); OR EMPTY(_cnp) MESSAGEBOX("Nu ati completat datele necesare pentru a adauga un client!",64,'-Societate de asigurari-') ELSE SELECT 1 LOCATE FOR (cnp==_cnp) if(FOUND()) MESSAGEBOX("Acest client exista deja in baza de date!",64,'Adaugare client') else APPEND BLANK replace nume with PROPER(ALLTRIM(_nume)),prenume WITH PROPER(ALLTRIM(_prenume)) replace data_n with _datanast

16

replace loc_n with PROPER(ALLTRIM(_loculnast)) replace localitate with PROPER(ALLTRIM(_localitate)) replace strada with PROPER(_strada) replace nr with PROPER(ALLTRIM(_nr)) replace cnp with _cnp MESSAGEBOX("Clientul a fost introdus in baza de date!",64,'-Societate de asigurari-') _nume=SPACE(30) _prenume=SPACE(30) _datanast={..} _loculnast=SPACE(30) _localitate=SPACE(30) _strada=SPACE(30) _nr=SPACE(4) _cnp=SPACE(13) thisform.refresh endif ENDIF --codul realizeaza adaugarea unui client in tabela client.dbf

_nume=SPACE(30) _prenume=SPACE(30) _datanast={..} _loculnast=SPACE(30) _localitate=SPACE(30) _strada=SPACE(30) _nr=SPACE(6) _cnp=SPACE(13) thisform.Refresh --codul reseteaza campurile din formular

Calatorie.scx
PUBLIC pretul2 pretul2=0 if(gasit==1) IF EMPTY(_data_p) OR EMPTY(_data_i) OR EMPTY(_scop) OR EMPTY(_zona_t) OR EMPTY(_tara_d) MESSAGEBOX("Nu ati completat datele necesare pentru a incheia o asigurare!",64,'-Societate de asigurari-') pretul2=0 ELSE SELECT 4 LOCATE FOR idul=id_c if(!FOUND()) APPEND BLANK replace id_c with idul replace data_p with _data_p replace data_i with _data_i replace scop with thisform.combo3.ListItem(_scop) replace zona_t with thisform.combo4.ListItem(_zona_t) replace tara_d with thisform.combo5.ListItem(_tara_d) pretul2=(3*(_data_i-_data_p))+(10*_scop)+(3*_zona_t)+_tara_d replace pretul WITH pretul2 MESSAGEBOX("Contractul a fost incheiat cu succes!",64,'-Societate de asigurari-') _pretul=pretul2 _data_p=DATE()

17

_data_i={//} _scopul=SPACE(20) _zona_t=SPACE(20) _tara_d=SPACE(20) thisform.combo3.Value=0 thisform.combo4.Value=0 thisform.combo5.Value=0 thisform.refresh ELSE MESSAGEBOX("Acest client are deja un o asigurare de calatorie!",64,'Societate de asigurari-') ENDIF ENDIF ELSE MESSAGEBOX("Selectati mai intai un client",64,'Societate de asigurari') Endif --realizeaza adaugarea unui contract de asigurare de calatorie

// restul codului sursa a fost scos din acest proiect //s-a lasat doar o parte pentru a va putea face o parere despre modul de organizare al documentatiei

18

5. Bibliografie

1. Mariana Paniru, Manual FoxPro clasa a XII-a, Editura L&S Infomat, anul 1907 2. Internet www.msdn2.com 3. Visual FoxPro 9.0 Help

19

Cuprins

Introducere..............................................................pag. 2 2. Descrierea aplicatiei................................................pag. 3 Operatii clienti...............................................pag 3 2.2.1 Adauga clienti......................................pag 3 2.2.2 Sterge/modifica client..........................pag 5 2.2 Incheie asigurare..........................................pag 6 2.2.1 Asigurarea locuintei.............................pag 6 2.2.2 Asigurarea masinii...............................pag 8 2.2.3 Asigurarea calatoriei............................pag 8 2.3 Modifica contract asigurare...........................pag 9 2.3.1 Asigurarea locuintei.............................pag 9 2.3.2 Asigurarea masinii.............................pag 11 2.3.3 Asigurarea calatoriei..........................pag 11 2.4 Rapoarte.....................................................pag 12 3. Baza de date..........................................................pag. 15 4. Codul sursa al aplicatiei.........................................pag 16 5. Bibliografie.............................................................pag 23

1.

20

S-ar putea să vă placă și