225734838 sistem informatic de gestiune si facturare final

112
CUPRINS INTRODUCERE 2 CAPITOLUL 1 CONTABILITEA DE GESTIUNE 3 1.1. Definiţia şi structura stocurilor de gestiune 3 1.2. Evaluarea stocurilor 7 1.3.Contabilitatea analitică 1 6 CAPITOLUL 2 BAZE DE DATE Microsoft ACCESS PENTRU APLICATII DE GESTIUNE 2 2 2.1. Noţiuni teoretice generale de baze de date si particularizarea in Access 2 2 2.2. Utilizarea limbajului SQL 2 7 2.3. Limbajul de programare Microsoft Visual Basic 3 0 2.3.1 Interfeţe Visual Basic 3 2 2.3.2 Formulare 3 3 2.3.3 Fereastra de cod 3 3 2.3.4. Caseta cu instrumente 3 4 2.3.5. Controale 3 4 2.3.6. Metode 3 7 2.3.7. Evenimente 3 8 CAPITOLUL 3 PROGRAM DE GESTIUNE INTRARI, IESIRI, INTOCMIRE SI EMITERE FACTURI 4 0 3.1. Cerinţeleinformaţionale generale ale temei proiectului 4 0 3.2. Proiectarea si realizarea structurii BAZEI DE DATE 4

Upload: cynthia-warren

Post on 22-Dec-2015

245 views

Category:

Documents


2 download

DESCRIPTION

455jhhgcfcfxxszszwxeddrfvyjmkjmkmlm25258554564jnjkjnjk

TRANSCRIPT

Page 1: 225734838 Sistem Informatic de Gestiune Si Facturare Final

CUPRINSINTRODUCERE 2

CAPITOLUL 1 CONTABILITEA DE GESTIUNE 31.1. Definiţia şi structura stocurilor de gestiune 31.2. Evaluarea stocurilor 7

1.3.Contabilitatea analitică 16

CAPITOLUL 2 BAZE DE DATE Microsoft ACCESS PENTRU APLICATII DE

GESTIUNE

22

2.1. Noţiuni teoretice generale de baze de date si particularizarea in Access 22

2.2. Utilizarea limbajului SQL 27

2.3. Limbajul de programare Microsoft Visual Basic 30

2.3.1 Interfeţe Visual Basic 32

2.3.2 Formulare 33

2.3.3 Fereastra de cod 33

2.3.4. Caseta cu instrumente 34

2.3.5. Controale 34

2.3.6. Metode 37

2.3.7. Evenimente 38

CAPITOLUL 3 PROGRAM DE GESTIUNE INTRARI, IESIRI, INTOCMIRE SI

EMITERE FACTURI

40

3.1. Cerințeleinformaționale generale ale temei proiectului 40

3.2. Proiectarea si realizarea structurii BAZEI DE DATE pentru aplicaţia de

gestiune

41

3.2.1 Tabele 42

3.2.2 Legăturile dintre tabele 46

3.3. Utilizarea programării in Visual Basic pentru realizarea interfeţei grafice 48

3.3.1. Module de cod Visual Basic 48

3.3.2. Formulare 50

CAPITOLUL 4. CALCULE TEHNICO – ECONOMICE PENTRU EVALUAREA

EFICIENŢEI SISTEMULUI INFORMATIC PROIECTAT SI REALIZAT

65

CAPITOLUL 5 CONCLUZII ASUPRA IMPLEMENTARII SISTEMULUI 72

Page 2: 225734838 Sistem Informatic de Gestiune Si Facturare Final

INFORMATIC

BIBLIOGRAFIE 74

INTRODUCERE

Informaţia şi îndeosebi, informaţia economică este astăzi prezentă în toate

domeniile de activitate, fiind un element indispensabil al progresului.

Realităţile societăţii moderne ne arată că odată cu dezvoltarea economiei de

piaţă şi sporirea gradului de complexitate a acesteia, trebuie să se dezvolte

corespunzător - ca arie, conţinut şi operativitate, şi informaţia economică, pentru ca ea

să poată furniza elementele necesare luării deciziilor, să poată reflecta exact situaţia

patrimonială a unităţilor şi rezultatele activităţii economico-financiară.

Informaţia economică ne ajută să observăm modul de utilizare a resurselor

materiale şi umane, să sesizăm şi să examinăm critic aspectele pozitive, dar şi

deficienţele existente, în vederea măsurilor ce se impun.

Valorificarea deplină a informaţiei economice se poate realiza numai în cadrul

unui sistem informaţional economic, conceput ca un ansamblu a mijloacelor şi a

metodelor de obţinere, stocare şi utilizare a informaţiilor într-un anumit domeniu al

activităţii social-economice.

Programul realizat de mine vine în întâmpinarea dorinţei de valorificare a

informaţiei economice, fiind accesibil unei largi categorii de utilizatori, şi pentru prima

dată aceştia nu mai trebuie să fie contabili, sau să aibă largi cunoştinţe de contabilitate

pentru a ţine o evidentă. Programul este conceput ca un modul, cel de stocuri, în

cadrul unui program mult mai complex care va acoperi în final toate aspectele legate de

capitaluri, imobilizări, datorii şi creanţe, trezoreria, cheltuieli şi venituri.

Ţinând seama de faptul că instrumentul principal de cunoaştere, gestiune şi

control al patrimoniului şi al rezultatelor obţinute de către agenţii economici, este

contabilitatea, acest program vine întrutotul în întâmpinarea tuturor acestor doleanţe.

1

Page 3: 225734838 Sistem Informatic de Gestiune Si Facturare Final

CAPITOLUL 1

CONTABILITEADE GESTIUNE

1.1 Definiţia şi structura stocurilor de gestiune

Pentru buna desfăşurare a activităţii unei întreprinderi aceasta are nevoie de un

ansamblu de bunuri şi servicii angrenate în procesul de exploatare pentru realizarea şi

asigurarea continuităţii relaţiei: BANI – VALORI sau UTILITĂŢI – BANI. Termenul

median al acestei relaţii este reprezentat de stocurile de valori materiale şi de produse de

care dispune o entitate economică sau pe care le produce.

Stocurile sunt reprezentate de activele circulante aflate în una din următoarele situaţii:

1. sunt deţinute pentru a fi vândute pe parcursul desfăşurării normale a activităţii;

2. sau sunt în curs de producţie în vederea unei vânzări în aceleaşi condiţii ca mai

sus;

3. sau sunt sub formă de materii prime, materiale şi alte consumabile ce urmează a

fi folosite în procesul de producţie sau prestarea de servicii.

O altă abordare consideră stocurile şi producţia în curs de execuţie ca fiind

ansamblul bunurilor şi serviciilor din cadrul unităţii patrimoniale destinate:

- fie a fi vândute în aceeaşi stare sau după prelucrarea lor în procesul

de producţie

- fie a fi consumate la prima lor utilizare.

Spre deosebire de imobilizări, stocurile şi producţia în curs de execuţie se

consumă la prima lor utilizare în procesul de producţie, participând la un singur ciclu de

2

Page 4: 225734838 Sistem Informatic de Gestiune Si Facturare Final

exploatare care, în general, nu poate fi mai mare de un an. Ciclul de exploatare în care

apar stocurile şi producţia în curs de execuţie se referă la fazele circuitului economic al

unităţii productive: aprovizionare – producţie – desfacere. Pe acest traseu stocurile se

modifică îmbrăcând diferite forme, servind anumite scopuri, având anumite proprietăţi şi

particularităţi.

În funcţie de aceste aspecte şi nu numai stocurile pot fi clasificate astfel:

1) După destinaţia lor:

rezerve pentru producţie: materii prime, materiale consumabile producţia,

lucrările şi serviciile în curs de execuţie. Aceste rezerve mai sunt denumite

şi stocuri sau mijloace circulante din sfera producţiei;

rezerve pentru circulaţie: care cuprind: semifabricatele destinate livrării:

produsele finite, mărfurile etc.

2) Sub aspectul gestionării:

stocuri propriu-zise;

producţie în curs de execuţie.

În cadrul stocurilor propriu-zise se disting:

a) materiile prime, care participă direct la fabricarea produselor şi se regăsesc în

produsul finit integral sau parţial, fie în starea lor iniţială, fie transformată.

b) materialele consumabile, care participă sau ajută la procesul de fabricaţie sau de

exploatare fără a se regăsi, de regulă în produsul finit. Cuprind materialele

auxiliare, combustibili, materiale pentru ambalat, piese de schimb, seminţe şi

materiale de plantat, furaje şi alte materiale consumabile.

c) materiale de natura obiectelor de inventar reprezentând bunuri cu o valoare

mai mică decât valoarea prevăzută de lege pentru a fi considerate mijloace fixe

indiferent de durata lor de serviciu, sau au o durata mai mică de un an indiferent de

valoarea lor. Sunt asimilate acestora echipamentul de protecţie de lucru,

îmbrăcămintea specială, mecanismele, dispozitivele, verificatoarele (S.D.V.-urile),

aparatele de măsură şi control, matriţele folosite la executarea anumitor produse şi

3

Page 5: 225734838 Sistem Informatic de Gestiune Si Facturare Final

alte obiecte similare.

d) produse obţinute din procesul de exploatare, destinate în principal livrărilor

către terţi. Ele sunt reprezentate de:

•semifabricate , prin care se înţeleg produsele al căror proces tehnologic a fost

terminat într-o secţie (fază de fabricaţie) şi care trec în continuare în procesul

tehnologic a altei secţii ( faze de fabricaţie ) sau se livrează terţilor;

•produsele finite , adică produsele care au parcurs în întregime fazele

procesului de fabricaţie şi nu mai au nevoie de prelucrări ulterioare în cadrul

unităţii patrimoniale, putând fi depozitate în vederea livrării sau expediate

direct clienţilor;

•produsele reziduale , reprezentând rebuturile, materialele recuperabile sau

deşeurile. Ele sunt valorificate de regulă la preţuri inferioare.

e) mărfurile, respectiv bunurile cumpărate de unitatea patrimonială cu

scopul revânzării lor în aceeaşi stare.

f) ambalajele, cuprind bunurile necesare pentru protecţia produselor şi

mărfurilor pe timpul transportului şi depozitării sau pentru prezentarea lor

comercială. Aici sunt incluse ambalajele refolosibile achiziţionate goale sau o dată

cu materialele şi mărfurile aprovizionate, cele confecţionate în unitate şi cele

restituite de clienţi, etc.

În ceea ce priveşte producţia în curs de execuţie, aceasta cuprinde acele produse

care nu au trecut prin toate fazele de prelucrare prevăzute în procesul tehnologic, precum

şi producţia terminată dar nesupusă probelor şi recepţiei tehnice sau incomplete. Tot în

această categorie sunt evidenţiate lucrările, serviciile şi studiile în curs de execuţie sau

neterminate.

3) După apartenenţa la patrimoniu:

• stocuri aflate în gestiune care fac parte din patrimoniul propriu al unităţii:

Ele se găsesc fie în depozitele sau spaţiile proprii (depozite, magazine, magazii,

locuri de producţie) fie se află la terţi (materii şi materiale aflate la terţi, produse

aflate la terţi, mărfuri aflate în custodie sau în consignaţie, etc.)

4

Page 6: 225734838 Sistem Informatic de Gestiune Si Facturare Final

• stocuri aflate în gestiune, dar care nu fac parte din patrimoniul propriu:

Acestea sunt stocurile primite spre prelucrare sau custodie şi consignaţie. Ele

se înregistrează în conturi extrapatrimoniale deoarece nu sunt considerate valori

proprii. Acest caz este o expresie a influenţei a exprimării pe criterii juridice a

valorilor deţinute.

4) După locul unde se află la un moment dat:

a) stocuri aflate în depozitele întreprinderii,

b) stocuri în curs de aprovizionare,

c) stocuri aflate la terţi pentru prelucrare sau păstrare.

5) Din punctul de vedere al fazelor de exploatare:

• stocuri ce ţin de sfera aprovizionării: materii prime, materiale,

combustibili;

• stocuri ce ţin de sfera producţiei: producţia neterminată, semifabricatele;

• stocuri ce ţin de sfera comercializării: produsele finite, mărfurile.

Activele circulante materiale, sub forma stocurilor şi al producţiei în curs de

execuţie, se află succesiv şi neîntrerupt în diferitele faze ale procesului de producţie şi

comercializare. Această caracteristică a stocurilor, de a participa continuu la stadiile

circuitului economic de a descrie în cadrul exerciţiului mai multe rotaţii, relevă aportul

lor la realizarea cifrei de afaceri şi la valorificarea capitalului.

Astfel, în cazul întreprinderilor productive în faza de aprovizionare, activele

circulante sub forma disponibilităţilor băneşti se transformă în active circulante sub

forma stocurilor de materii prime şi materiale consumabile, în faza de producţie

stocurile de materii prime şi materiale consumabile se transformă în stocuri de

semifabricate şi produse finite şi în faza de desfacere stocurile de semifabricate şi de

produse finite sunt vândute clienţilor, în urma decontărilor cu clienţii se transformă în

active circulante sub forma disponibilităţilor băneşti.

5

Page 7: 225734838 Sistem Informatic de Gestiune Si Facturare Final

1.2 Evaluarea stocurilor

Evaluarea stocurilor are în vedere patru momente principale corespunzătoare

stării lor în patrimoniu:

1) Evaluarea la intrarea în patrimoniul întreprinderii;

2) Evaluarea la inventariere;

3) Evaluarea la bilanţ;

4) Evaluarea la ieşirea din patrimoniul întreprinderii.

1)Evaluarea la intrarea în patrimoniu

La intrarea în patrimoniu, stocurile sunt evaluate în funcţie de modalitatea de

dobândire:

pentru stocurile din cumpărări (materii prime, materiale consumabile,

mărfuri, ambalaje şi alte produse cu titlu oneros), evaluarea se face la cost

de achiziţie, cost standard sau preţ de facturare.

pentru stocurile din producţie proprie (produse finite, semifabricate,

ambalaje, producţia în curs de execuţie şi alte stocuri produse în unitate),

evaluarea se face la costul de producţie efectiv sau standard;

pentru stocurile aduse ca aport înregistrarea se face la valoarea de aport;

pentru stocurile primite cu titlu gratuit evaluarea se va face la valoarea de

utilitate;

pentru stocurile procurate prin schimb evaluarea se face la valoarea justă.

Evaluarea la intrarea în patrimoniu are ca rezultat obţinerea valorilor contabile

aferente stocurilor care reprezintă de asemenea şi costul istoric al acestora.

Costul de achiziţie este format din preţul de cumpărare, taxele nerecuperabile

(taxe vamale, accize), cheltuielile de transport-aprovizionare şi alte cheltuieli necesare

pentru punerea în starea de utilitate sau intrarea în gestiune a bunului respectiv. Din acest

6

Page 8: 225734838 Sistem Informatic de Gestiune Si Facturare Final

cost sunt deduse reducerile comerciale şi alte elemente similare ( ORDIN nr. 94 din 29

ianuarie 2001, cap TRATAMENTE CONTABILE, art. 5.13 alin. a ).

Standardele Internaţionale de Contabilitate (prin IAS 2) consideră această valoare

de intrare ca tratament de bază pentru evidenţa stocurilor procurate cu titlu oneros. În

această situaţie conturile de diferenţe de preţ privind stocurile de această natură nu sunt

utilizate deoarece toate elementele de cost sunt incluse direct în contul de evidenţă a

stocurilor sau în conturile de cheltuieli dacă se foloseşte inventarul intermitent.

Costul sau preţul standard este un preţ prestabilit ce constă în evaluarea şi

înregistrarea stocurilor la preţuri fixe, stabilite anterior pe baza preţurilor medii ale

stocurilor respective realizate în perioada precedentă. Se foloseşte ca şi preţ de

înregistrare în contabilitate cu condiţia evidenţierii distincte a diferenţelor de preţ faţă de

costul de achiziţie.

Diferenţele de preţ pot fi:

favorabile , când preţul standard este mai mare decât costul efectiv şi se înscriu în

roşu

nefavorabile , când preţul standard este mai mic decât costul efectiv şi se înscriu în

negru.

Aceste diferenţe pot cuprinde următoarele :

diferenţa între preţul standard şi preţul propriu-zis de facturare privind

cheltuielile de transport, încărcare, descărcare, recepţie, manipulare,

s.a.m.d., aferente stocurilor cumpărate de la furnizorii interni;

cheltuielile de transport pe parcurs extern, comisioanele, asigurarea,

cheltuielile de tranzit etc. aferente bunurilor provenite din import;

taxele vamale şi alte taxe nerecuperabile referitoare la stocurile

importate.

La sfârşitul fiecărei perioade de gestiune este necesar să se efectueze

repartizarea diferențelor de preţ analizate atât asupra bunurilor ieşite din patrimoniu,

7

Page 9: 225734838 Sistem Informatic de Gestiune Si Facturare Final

cât şi asupra celor aflate în stoc, pe baza de coeficient de repartizare care se determină

cu date cumulate de la începutul anului.Coeficientul de repartizare se calculează prin raportarea soldului iniţial al

diferenţelor de preţ cumulat cu diferenţele aferente intrărilor, înregistrate de la

începutul anului şi până la sfârşitul perioadei de referinţă, la valoarea stocului iniţial,

stabilită în preţuri standard, cumulată cu valoarea intrărilor de bunuri din cadrul

aceleiaşi perioade, de asemenea la prețuri standard. Coeficientul de repartizare astfel

determinat se înmulţeşte cu valoarea bunurilor ieşite din gestiune la preţ de

înregistrare, iar suma rezultată se repartizează şi se înregistrează în contul de

cheltuieli în care s-au reflectat bunurile ieşite din gestiune.

La sfârşitul fiecărei perioade de gestiune sau atunci când este necesar se poate

determina valoarea de intrare a stocului la cost de achiziţie sau de producţie, prin

însumarea algebrică a soldului final al contului de diferenţe de preţ cu soldul final existent

în contul de stoc.

Preţul de facturare al furnizorului este preţul indicat în factura furnizorului.

Când acesta este modificat, la livrările ulterioare, cumpărătorul va considera stocurile

aprovizionate ca sortimente diferite, chiar dacă în esenţă ele sunt aceleaşi. Preţurile

de facturare devin preţuri de înregistrare în contabilitate cu condiţia evidenţierii

distincte a cheltuielilor de transport-aprovizionare, acestea repartizându-se asupra

bunurilor ieşite şi asupra stocurilor cu ajutorul unui coeficient asemănător cu cel folosit

la preţurile standard. Diferenţele de preţ vor fi în toate cazurile nefavorabile şi

reprezintă diferenţa dintre costul de achiziţie şi preţul de facturare al furnizorului

La sfârşitul perioadei, soldul conturilor de diferenţe se cumulează cu soldul

conturilor de stocuri astfel încât aceste conturi să reflecte valoarea stocurilor la costul

de achiziţie.

Utilizarea acestui preţ pentru înregistrarea stocurilor cumpărate aduce atingere

definiţiei costului de achiziţie dat de Standardele Internaţionale de Contabilitate, preluată

şi în Ordinul 94 din 29 ianuarie 2001 ( articolul 5.13 alineatul a). Această definiţie cere

includerea cheltuielilor de transport-aprovizionare pe seama conturilor de stocuri pentru

8

Page 10: 225734838 Sistem Informatic de Gestiune Si Facturare Final

care se efectuează. Conturile de diferenţe de preţ trebuie utilizate numai pentru

consemnarea diferenţelor dintre costul standard şi cel efectiv.

Costul de producţie efectiv aferent stocurilor produse de unitate include:

1. costurile cumpărării sau achiziţiei;

2. costurile de prelucrare;

3. alte costuri;

Costurile cumpărăriicuprind preţul de cumpărare, taxe de import şi alte taxe (cu

excepţia acelora pe care întreprinderea le poate recupera de la autorităţile fiscale), costuri

de transport, manipulare şi alte costuri care pot fi atribuite direct achiziţiei de produse

finite, materiale şi servicii. Reducerile comerciale, rabaturile şi alte elemente similare

sunt deduse pentru a determina o valoare cât mai reală;

Costurile de prelucrare includ costurile direct aferente unităţilor produse, cum ar

fi costurile cu manopera directă. De asemenea, ele includ şi alocarea sistematică a regiei

de producţie, fixă şi variabilă, generată de transformarea materialelor în produse finite.

Regia fixă de producţie constă în acele costuri indirecte de producţie care rămân relativ

constante, indiferent de volumul producţiei, cum sunt: amortizarea, întreţinerea

secţiilor şi utilajelor, precum şi costurile cu conducerea şi administrarea secţiilor. Regia

variabilă de producţie constă în acele costuri indirecte de producţie care variază direct

proporţional sau aproape direct proporţional cu volumul producţiei, cum sunt costurile

indirecte cu materiile prime şi materialele şi cu forţa de muncă.

Alocarea regiei fixe de producţie asupra costurilor de prelucrare se face pe baza

capacităţii normale de producţie. Capacitatea normală de producţie este producţia

estimată a fi obţinută, în medie, de-a lungul unui anumit număr de perioade sau sezoane,

în condiţii normale, având în vedere şi pierderea de capacitate rezultată din întreţinerea

planificată a echipamentului. Nivelul actual de producţie poate fi folosit dacă se

consideră că acesta aproximează capacitatea normală. Valoarea regiei fixe alocate

fiecărei unităţi produse nu se majorează ca urmare a obţinerii unei producţii scăzute sau a

neutilizării unor active. Regia nealocată este recunoscută drept cheltuială în perioada în

care a apărut, în exerciţiile în care se înregistrează o producţie neobişnuit (anormal) de

9

Page 11: 225734838 Sistem Informatic de Gestiune Si Facturare Final

mare, valoarea regiei fixe alocate fiecărei unităţi produse este diminuată, astfel încât

stocurile să nu fie evaluate la o valoare mai mare decât costul lor. Regia variabilă este

alocată fiecărei unităţi produse pe baza folosirii reale a facilităţilor productive.

Alte costuri se includ în costul stocurilor numai în măsura în care reprezintă

costuri suportate pentru a aduce stocurile în forma şi în locul în care se găsesc în prezent.

De exemplu, poate fi adecvată includerea în costul stocurilor, a regiilor generale sau

costul proiectării produselor destinate anumitor clienţi.

Pe lângă aceste costuri care se regăsesc direct sau indirect în costurile de

producţie efective societatea mai efectuează şi alte cheltuieli cum ar fi cele legate de

sectorul administrativ sau de desfacere. Acestea nu pot fi incluse în costurile produselor

ci sunt considerate costuri ale perioadei şi vor fi acoperite pe seama veniturilor obţinute

fără a putea fi imputate acestora.

În determinarea costurilor produselor nu îşi găsesc locul cheltuielile privind

consumurile supranormale de: materii prime şi materiale, manoperă sau utilităţi, precum

şi cheltuielile suplimentare privind stocarea produselor cu excepţia situaţiei în care

vizează depozitarea între fazele unui proces de fabricaţie. Acestea sunt excluse pe

considerentul că nu au fost angajate raţional pentru obţinerea produselor finite şi denotă o

slabă gestionare a resurselor şi utilităţilor întreprinderii. Prin urmare ele sunt suportate pe

seama costurilor perioadei.

Utilizarea costului de producţie efectiv prezintă dezavantajul că nu este cunoscut

decât la sfârşitul lunii deoarece numai în acel moment sunt colectate toate documentele

privind cheltuielile lunii care trebuiesc imputate asupra costurilor produselor realizate.

Acest cost poate fi utilizat cu uşurinţă la evaluarea producţiei în curs de execuţie

şi a semifabricatelor deoarece valoarea acestora se determină la sfârşitul lunii prin

inventariere.

Costul de producţie standard reprezintă o alternativă practică la dezavantajul

generat de costul de producţie efectiv. Acest cost de înregistrare presupune ca în timpul

lunii, producţia obţinută să fie înregistrată în contabilitate la un cost mediu stabilit în

funcţie de evoluţiile costurilor în perioadele anterioare. Costul standard se determină

10

Page 12: 225734838 Sistem Informatic de Gestiune Si Facturare Final

având în vedere premisele unor consumuri normale de materii prime şi materiale,

manoperă şi alte utilităţi precum şi de capacitatea normală de producţie şi eficienţa

acesteia.

La sfârşitul lunii are loc regularizarea costului standard pe seama diferenţelor de

preţ calculate, obţinând astfel costul efectiv al produselor obţinute. Tot în acest moment

are loc şi alocarea diferenţelor de preţ aferente produselor vândute în cursul lunii.

Valoarea de aport a stocurilor aduse ca şi contribuţie la capital se determină în

funcţie de preţul pieţei utilităţii, generarea de beneficii economice viitoare , starea şi

locul unde se află.

Valoarea de utilitate pentru bunurile obţinute cu titlu gratuit este determinată pe

baza preţului pieţei, stării şi amplasării acestora. Această valoare exprimă dimensiunea

preţului pe care un potenţial client l-ar accepta în funcţie de utilitatea bunului pentru

unitatea respectivă.

Valoarea justă pentru bunurile obţinute prin schimb cu alte bunuri este suma la

care poate fi tranzacţionat un activ sau decontată o datorie, de bunăvoie, între părţi aflate

în cunoştinţă de cauză, preţul fiind determinat obiectiv.

2) Evaluarea stocurilor cu ocazia inventarierii

Inventarierea periodică a stocurilor se face pentru cel puţin două scopuri:

1. verificarea realităţii stocurilor scriptice, reflectate de contabilitate, cu

cele faptice, constatate la inventariere, ambele evaluate la preţurile de intrare

reflectate în contabilitate.

2. determinarea valorilor de inventar a stocurilor. Aceasta se mai

numeşte şi valoare actuală sau valoare de utilitate; determinată în funcţie de

preţul pieţei şi utilitatea bunului pentru întreprindere.

Valoarea de utilitate sau preţul pieţei, ca bază de evaluare a bunurilor la

inventariere, se identifică, în principal, în funcţie de destinaţia lor:

11

Page 13: 225734838 Sistem Informatic de Gestiune Si Facturare Final

bunurile destinate vânzării sunt evaluate la valoarea netă de

realizare care se calculează ca diferenţă între preţul de vânzare estimat şi

eventualele cheltuieli rămase de efectuat pentru comercializarea lor

(transport, garanţii, etc.);

semifabricatele şi producţia în curs de execuţie se evaluează la

valoarea componentelor materiale încorporate la care se adaugă costurile

stadiilor de prelucrare tehnologică parcurse; materiile prime şi materialele consumabile destinate utilizării în

exploatare se evaluează la costul lor de înlocuire (reaprovizionare). La

stabilirea valorii de inventar se va aplica principiul prudenţei, potrivit căruia

nu este admisă supraevaluarea elementelor de activ şi a veniturilor, respectiv

subevaluarea elementelor de pasiv şi a cheltuielilor. În acest sens:

dacă valoarea de inventar este mai mare decât costul istoric; diferenţa

nu este consemnată în contabilitate;

dacă valoarea de inventar este mai mica decât costul istoric; diferenţa

este consemnată pe seama constituirii unui provizion, dacă deprecierea

este reversibilă, fără a produce modificări directe costului istoric.

3) Evaluarea cu ocazia întocmirii bilanţului

Aceasta se face la valoarea de intrare, respectiv valoarea contabilă pusă de acord

cu rezultatele evaluărilor la inventariere. În acest scop valoarea de intrare se compară cu

valoarea de utilitate, reţinându-se cea mai mică dintre cele două mărimi după regula de

prudenţă „lower of cost or market” – cea mai mică valoare dintre cost şi preţul pieţei.

Pot interveni următoarele cazuri:

1. diferenţe constatate în plus între valoarea de inventar şi valoarea de

intrare; acestea nu se înregistrează în contabilitate, stocurile menţinându-

se la valoarea lor de intrare;

12

Page 14: 225734838 Sistem Informatic de Gestiune Si Facturare Final

2. diferenţe constatate în minus între valoarea de inventar şi valoarea de

intrare a stocurilor; acestea se înregistrează pe seama provizioanelor

pentru depreciere dacă aceasta este reversibilă. În urma acestei situaţii

stocurile îşi păstrează valorile de intrare dar sunt înscrise în situaţiile

financiare la valoarea realizabilă netă.

4) Evaluarea stocurilor la ieşirea din patrimoniu

La ieşirea din patrimoniu sau darea în consum, stocurile sunt evaluate şi se

înregistrează scăderea acestora din gestiune la valoarea lor de intrare. În condiţiile în

care pe parcursul desfăşurării activităţii, aceleaşi feluri de bunuri se procură la preţuri

diferite, pentru evaluarea cantităţii de stocuri ieşite sau consumate valoarea de intrare

prezintă o utilitate redusă şi necesită un volum de muncă foarte mare pentru identificarea

valorilor pentru diferitele loturi vândute sau consumate. Valoarea de intrare poate fi

folosită în bune condiţii pentru stocurile identificabile sau nefungibile.

Pentru stocurile fungibile există mai multe metode de evaluare la scoaterea din

gestiune:

o Metoda costului mediu ponderat (CMP);

o Metoda prima intrare – prima ieşire (FIFO);

o Metoda ultima intrare – prima ieşire (LIFO);

o Metoda proxima intrare – prima ieşire (NIFO);

o Metoda costului standard.

Aplicarea uneia dintre metodele de evaluare a ieşirilor din stoc trebuie analizată

în funcţie de fenomenul de mişcarea preţurilor şi politica contabilă a firmei deoarece

aceleaşi ieşiri, evaluate după metode diferite, conduc la valori diferite ale rezultatelor şi

mărimii stocurilor.

Metoda aleasă trebuie aplicată cu consecvenţă pentru elemente similare stocurilor

şi de la un exerciţiu financiar la altul. Daca în situaţii excepţionale administratorii decid

să schimbe metoda pentru un anumit element de stocuri sau active fungibile, trebuie să se

prezinte următoarele informaţii:

13

Page 15: 225734838 Sistem Informatic de Gestiune Si Facturare Final

1. motivul schimbării metodei;

2. efectele noii situaţii asupra rezultatului exerciţiului.Reglementările naţionale permit utilizarea metodelor: CMP, FIFO şi LIFO.

Metoda costului mediu ponderat CMP

Costul mediu ponderat se calculează ca raport între valoarea totală a stocului

iniţial plus valoarea totală a intrărilor şi cantitatea iniţială plus cantităţile intrate. Preţul

mediu obţinut este înmulţit cu numărul de unităţi consumate sau vândute obţinându-se

valoarea de scoatere din gestiune a acestora.

Această metodă poate fi aplicată în două variante:

1. actualizarea costului mediu ponderat după fiecare intrare;

2. actualizarea periodică a costului mediu ponderat (lunar).

Metoda CMP este indicată a fi utilizată în condiţii de stabilitate a preţurilor

deoarece astfel se obţin preţuri medii apropiate de valorile de piaţă.

Metoda prima intrare – prima ieşire FIFO

Potrivit acestei metode, bunurile ieşite din gestiune se evaluează în funcţie de

costul de achiziţie al primului lot intrat, respectiv al articolului cel mai vechi în stoc. Pe

măsura epuizării lotului, bunurile ieşite din gestiune se evaluează la costul de achiziţie

sau de producţie al lotului următor, în ordine cronologică. În consecinţă, stocul final este

format din elemente evaluate la valorile cele mai recente.

Această metodă este indicată a fi utilizată în condiţiile creşterii preţurilor pentru

că evită stocarea loturilor ce au costuri de achiziţie mai mici în raport cu cele curente.

Astfel se poate evita capitalizarea inflaţiei prin înregistrarea unor cheltuieli mai mici cu

descărcarea gestiunii raportate la venituri actualizate.

Metoda ultima intrare – prima ieşire LIFO

Metoda presupune valorificarea ieşirilor de stocuri din gestiune la costul de

achiziţie sau producţie al ultimului lot. Pe măsura epuizării succesive a fiecărui lot,

bunurile se evaluează la costul de achiziţie al lotului anterior. Stocul final este format din

elemente evaluate la valorile cele mai vechi. În perioadele de creştere a preţurilor,

aplicarea acestei metode are drept consecinţă evaluarea consumurilor la valoarea

14

Page 16: 225734838 Sistem Informatic de Gestiune Si Facturare Final

maximă, beneficiul şi stocul final fiind prezentate la valori minime. În situaţia inversă, a

reducerii preţurilor, efectele aplicării metodei LIFO sunt diminuarea valorii

consumurilor, stocul final şi beneficiile fiind prezentate la valori maxime.

1.3. Contabilitatea analitică

Asigurarea integrităţii stocurilor prin cunoaşterea în detaliu a evoluţiei

intrărilor, ieşirilor şi existenţelor la un moment dat impune organizarea, la unităţile

mari a unei contabilităţi analitice a stocurilor. Unităţile mici si mijlocii care folosesc

metoda inventarelor intermitente pentru contabilitatea sintetică a stocurilor nu au

nevoie de organizarea unei contabilităţi analitice a stocurilor.

Teoria şi practica financiar-contabilă ne oferă numeroase variante de

organizare a evidenţei analitice şi operative a stocurilor, cum ar fi:

metoda cantitativ - valorică (pe fişe de cont analitic)

metoda operativ-contabilă (pe solduri);

metoda global-valorică.

Alegerea metodei sau a combinaţiei acestora este o problemă de opţiune a

conducerii, o problemă de management contabil. Decizia trebuie să ţină cont de

mărimea unităţii, posibilităţi, personal, necesităţi etc. Se consideră că, organizarea

contabilităţii analitice a stocurilor trebuie să răspundă următoarelor probleme:

• îndeplinirea obligaţiilor contractuale de aprovizionare şi desfacere;

• existenţa în cantităţi suficiente a sortimentelor de materiale necesare

întreţinerii continuităţii producţiei, sau a mărfurilor solicitate de clienţi;

• depistarea imobilizărilor de stocuri fără mişcare, cu mişcare lentă,

excedentare, nesolicitate de clienţi, asezoniere, degradate sau cu termene de

garanţie expirate;

• respectarea legilor generale de consemnare în documente a intrărilor şi

ieşirilor, de gestionare a elementelor patrimoniale; inventarierea periodică şi

controlul faptic al stocurilor, asigurându-se astfel încadrarea într-o disciplină

economică strict necesară funcţionării agenţilor economici în condiţii de

rentabilitate si eficienţă.

15

Page 17: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Metoda cantitativ-valorică (pe fişe de cont analitic)

Pentru materii prime, materiale consumabile, obiecte de inventar în depozit,

baracamente, semifabricate, produse finite, produse reziduale, mărfuri, animale şi

ambalaje, constă în ţinerea evidenţei cantitative pe feluri de stocuri în cadrul fiecărei

gestiuni, iar în contabilitate a celei cantitativ-valorice. Conturile sintetice ce reflectă

stocurile de valori materiale se desfăşoară în analitic pe gestiuni. Verificarea exactităţii

înregistrărilor din evidenţa de la locurile de depozitare şi contabilitate se efectuează

prin punctajul periodic dintre cantităţile operate în fişele de magazie şi cele din

fişele de cont analitic din contabilitate.

În metoda cantitativ-valorică (pe fişe de cont analitic) se folosesc următoarele

formulare tipizate comune:

- Fişa de magazie;

- Fişa de cont analitic pentru valori materiale;

- Fişa de cont pentru operaţii diverse;

- Borderou de predare a documentelor;

- Balanţa analitică a valorilor materiale.

Evidenţa cantitativă a materialelor se ţine la gestiune cu ajutorul fişelor de

magazie care se aranjează în ordinea fişelor de cont analitic din contabilitate. În fişele

de magazie înregistrările se fac zilnic de gestionar sau persoana desemnată. În

contabilitate, documentele primite se înregistrează în fişele de cont analitic pentru

valori materiale şi se stabilesc soldurile şi stocurile, după ce în prealabil s-a verificat

modul de emitere şi completare a documentelor privind mişcarea materialelor. De

asemenea, pe baza aceloraşi documente se întocmesc situaţiile centralizatoare

privind intrările şi ieşirile de materiale pentru înregistrare în contabilitatea sintetică.

Controlul înregistrărilor din conturile sintetice şi cele analitice ale stocurilor se

asigură lunar, cu ajutorul balanţei de verificare analitice , întocmită separat pentru

fiecare cont de stoc.

16

Page 18: 225734838 Sistem Informatic de Gestiune Si Facturare Final

În vederea întocmirii balanţei de verificare este necesar ca, lunar, să se efectueze

controlul asupra concordanţei stocurilor scriptice din fişele de magazie cu cele

faptice din fişele de cont analitic pentru valori materiale.

Metoda cantitativ-valorică de evidenţă analitică a produselor finite si produselor

reziduale se aplică în acelaşi mod ca şi pentru celelalte stocuri, cu următoarele

particularităţi:

atât intrările cât şi ieşirile valorice pot fi înregistrate în fişele de cont analitic

pentru stocuri numai lunar, prin înmulţirea cantităţilor totale de produse

finite şi produse reziduale cu preţurile unitare respective, fără a mai fi necesară

evaluarea cantităţilor de produse în documente;

pentru controlul înregistrărilor din contabilitatea sintetică şi cea analitică a

produselor finite, în locul balanţei de verificare se poate folosi registrul

stocurilor.

Metoda operativ-contabilă (pe solduri)

Presupune ţinerea în cadrul fiecărei gestiuni, a evidenţei cantitative a

valorilor materiale, pe feluri, cu ajutorul fişelor de magazie, iar în contabilitate a

evidentei valorice pe conturi de materiale, desfăşurate pe gestiuni, iar în cadrul

acestora, pe grupe sau subgrupe de materiale, după caz.

Controlul exactităţii înregistrărilor din evidenţa gestiunilor şi din contabilitate

se asigură lunar prin evaluarea stocurilor cantitative, transcrise din fişele de magazie în

registrul stocurilor.

În metoda operativ-contabilă (pe solduri) se folosesc următoarele formulare tipizate

comune:

- Fişă de magazie

- Fişă de cont pentru operaţii diverse

- Borderou de predare a documentelor

- Registrul stocurilor

Fişele de magazie servesc pentru evidenţa cantitativă, pe feluri de stocuri, la

locul de depozitare, iar în contabilitate, pentru controlul operaţiilor înregistrate de

gestionar sau persoana desemnată, pentru preluarea în registrul stocurilor a cantităţilor

17

Page 19: 225734838 Sistem Informatic de Gestiune Si Facturare Final

aflate în stoc, precum şi pentru calculul valorii bunurilor existente în stoc la sfârşitul

lunii, în scopul confruntării cu datele din contabilitatea sintetică.

La gestiune, fişele de magazie se ţin în ordinea în care sunt înscrise materialele în

registrul stocurilor, în aceste fişe cantităţile se înregistrează zilnic de gestionar sau

persoana desemnată, pe baza documentelor de intrare (factură, aviz de însoţire a

mărfii, notă de recepţie şi constatare de diferenţe etc.) şi a documentelor de ieşire (bon

de consum-individual şi colectiv, fişa limită-individuală şi colectivă, aviz de însoţire a

mărfii, factură etc.), poziţie cu poziţie.

Documentele de intrare şi de ieşire a materialelor vor fi puse la dispoziţia

persoanei din compartimentul financiar-contabil desemnată pentru evidenţa

materialelor, care răspunde de verificarea documentelor şi controlul operaţiilor

efectuate în fişele de magazie.

Preluarea documentelor de către persoana desemnată se face după ce se verifică

emiterea şi completarea corectă a documentelor de intrare şi de ieşire a valorilor

materiale, înregistrarea corectă a acestora în fişele de magazie şi stabilirea exactă a

stocului scriptic în aceste fişe. Erorile constatate în evidenţa gestiunilor se corectează în

prezenţa persoanei care răspunde de înregistrările efectuate în fişele de magazie, iar

abaterile de la regulile de întocmire si utilizare a documentelor se aduc la cunoştinţa

conducătorului compartimentului financiar-contabil sau a persoanei desemnate să

conducă contabilitatea, după caz, pentru stabilirea măsurilor care se impun.

Semnătura persoanei desemnate pentru evidenţa stocurilor în fişele de magazie

constituie dovada verificării înregistrărilor efectuate şi preluării documentelor de

intrare şi de ieşire a materialelor.

Preluarea documentelor privind mişcarea stocurilor se face pe baza borderoului

de predare a documentelor.

În contabilitate, documentele privind mişcarea stocurilor se grupează pe

gestiuni, surse de aprovizionare ( de la furnizori, din prelucrare la terţi, consum intern

etc. ) şi în cadrul acestora, pe conturi de materiale şi gestiuni, iar în cadrul gestiunilor

pe grupe sau subgrupe de materiale, după caz.

Intrările sau ieşirile de bunuri de natura stocurilor se înregistrează în

contabilitatea sintetică şi analitică, fie direct pe baza acestor documente, fie cu ajutorul

18

Page 20: 225734838 Sistem Informatic de Gestiune Si Facturare Final

unor situaţii întocmite zilnic sau la alte perioade stabilite de unitate prin centralizarea

datelor din documentele respective.

Verificarea înregistrărilor efectuate în conturile de stocuri şi fişele de magazie

se face cu ajutorul registrului stocurilor. În acest scop, în registrul stocurilor la sfârşitul

fiecărei luni se înscriu pe feluri de stocuri, grupate pe magazii ( depozite ), conturi

grupe, eventual subgrupe, stocurile cantitative din fişele de magazie, se calculează

valoarea cantităţilor aflate în stoc pe baza preţurilor de înregistrare şi se totalizează

valoarea acestora pe pagini ale registrului stocurilor , pe subgrupe de materiale, grupe

de stocuri, conturi şi magazii ( depozite ).

În măsura în care nu se constată diferenţe între valoarea cantităţilor în stoc din

fişele de magazie şi soldurile conturilor de materiale din contabilitate, registrul

stocurilor se poate întocmi trimestrial.

În cazul în care se constată că există frecvente diferenţe între soldurile

conturilor de stocuri din registrul stocurilor şi cele din contabilitate, provenind din

înregistrareaoperaţiilor, evaluarea cantităţilor de stocuri din documentele de intrare şi de

ieşire, prelucrarea acestora, etc. diferenţele respective pot fi localizate printr-o nouă

centralizare a intrărilor şi ieşirilor valorice de materiale, pe grupe sau feluri de

materiale şi confruntarea totalurilor obţinute cu datele din registrul stocurilor.

Pentru produsele finite şi produsele reziduale, metoda operativ-contabilă (pe

solduri) se aplică în acelaşi mod ca şi pentru stocuri de materii prime şi materiale

consumabile, în acest caz evidenţa cantitativă pe feluri de produse se ţine la magazie

(depozit ) cu ajutorul fişelor de magazie, iar evidenţa valorică se ţine în contabilitate

cu ajutorul contului sintetic de produse finite, desfăşurat în analitic pe gestiuni, în care

înregistrările se fac pe baza datelor obţinute prin centralizarea zilnică a documentelor

de mişcare a produselor respective.

Verificarea înregistrărilor la sfârşitul lunii se face de asemenea, cu ajutorul

registrului stocurilor în care se stabilesc soldurile pe feluri de produse finite şi pe total

cont prin transcrierea cantităţilor în stoc din fişele de magazie şi evaluarea acestora pe

baza preţurilor de înregistrare.

19

Page 21: 225734838 Sistem Informatic de Gestiune Si Facturare Final

După opinia unor specialişti în domeniu, metoda operativ-contabilă (pe

solduri) este mai eficientă în practică decât celelalte metode de conducere a

contabilităţii analitice a stocurilor, prezentând unele avantaje, cum ar fi:

1. registrul stocurilor scuteşte unităţile de a mai conduce fişele contabile

analitice pentru valorile materiale;

2. registrul stocurilor înlocuieşte balanţele analitice lunare de verificare care

seîntocmesc în condiţiile aplicării metodei cantitativ-valorice (pe fişe

contabil-analitice);

3. contribuie la apărarea integrităţii valorilor din gestiune, prin urmărirea atentă,

decătre contabilitate, a operaţiunilor înregistrate în fişele de magazie de

gestionar.

Metoda global - valorică se aplică pentru evidenţa mărfurilor şi

ambalajeloraflate în unităţile de desfacere cu amănuntul (magazine,

restaurante, bufete etc.). Potrivit acestei metode, contabilitatea analitică a

mărfurilor şi ambalajelor se ţine global-valoric, atât la gestiune, cât şi în

contabilitate, iar controlul concordanţei înregistrărilor din evidenţa gestiunii şi

din contabilitate se efectuează numai valoric la perioade stabilite de unitate.

Raportul de gestiune se completează pe baza documentelor de intrare şi de

ieşire a mărfurilor şi ambalajelor şi de depunere a numeralului din vânzare, iar în fişele

valorice (ţinute pe gestiuni în cadrul conturilor de mărfuri şi ambalaje din

contabilitate) înregistrările se fac pe baza aceloraşi documente.

Metoda global-valorică se foloseşte, de asemenea, pentru evidenţa rechizitelor

de birou, imprimatelor, materialelor destinate ambalării şi pentru evidenţa cărţilor

tehnice. În acest caz evidenţa cantitativă se ţine pe feluri de rechizite, imprimate,

materiale pentru ambalare şi cărţi tehnice, la locurile de gestionare, cu ajutorul fişelor

de magazie, care se completează de gestionar sau de persoana desemnată.

Evidenţa valorică a mişcărilor se ţine în contabilitate, pe gestiuni, în cadrul

contului de materiale consumabile, cu ajutorul fişelor de cont pentru operaţii diverse,

înregistrările în fişele de magazie se fac pe baza documentelor de intrare şi de ieşire a

materialelor consumabile respective şi se preiau de către contabilitatea stocurilor, în

prealabil făcându-se verificarea înregistrărilor din fişele de magazie. Prin centralizarea

20

Page 22: 225734838 Sistem Informatic de Gestiune Si Facturare Final

datelor din documentele respective se asigură înregistrarea acestora, atât în fişele

valorice pe gestiuni, cât şi în conturile sintetice de stocuri.

CAPITOLUL 2

BAZE DE DATE

Microsoft ACCESS PENTRU APLICATII DE

GESTIUNE

2.1. Noţiuni teoretice generale de baze de date si

particularizarea in Access

O bază de date conţine toate informaţiile necesare despre obiectele ce intervin

într-o mulţime de aplicaţii, relaţiile logice între aceste informaţii şi tehnicile de prelucrare

corespunzătoare. În bazele de date are loc o integrarea a datelor, în sensul că mai multe

fişiere sunt privite în ansamblu, eliminându-se pe cât posibil informaţiile redundante. De

asemenea se permite accesul simultan la aceleaşi date, situate în acelaşi loc sau distribuite

spaţial, a mai multor persoane de pregătiri diferite, fiecare cu stilul personal de lucru.

Sistemul de programe care permite construirea unor baze de date, introducerea

informaţiilor în bazele de date şi dezvoltarea de aplicaţii privind bazele de date se

numeşte sistem de gestiune a bazelor de date (SGBD). Un SGBD dă posibilitatea

utilizatorului să aibă acces la date folosind un limbaj de nivel înalt, apropiat de modul

obişnuit de exprimare, pentru a obţine informaţii, utilizatorul făcând abstracţie de

algoritmii aplicaţi pentru selecţionarea datelor implicate şi a modului de memorare a lor.

SGBD-ul este o interfaţă între utilizatori şi sistemul de operare.

Un model relaţional de baze de date cuprinde trei componente principale şi anume

structura datelor prin definirea unor domenii (valori atomice) şi a relaţiilor, integritatea

21

Page 23: 225734838 Sistem Informatic de Gestiune Si Facturare Final

datelor prin impunerea unor restricţii sau a unor constrângeri, şi prelucrarea datelor prin

operaţii din algebra relaţională sau calculul relaţional.

Obiecte Access

Microsoft Access este un sistem interactiv computerizat pentru gestiunea bazelor

de date relaţionale, conceput să funcţioneze în mediul Microsoft Windows. La fel ca şi în

alte SGBD-uri, Access oferă posibilitatea de a organiza, memora, corela şi de a regăsi

datele de care dispune sistemul.

Baza de date Access este formată din tabele, interogări, formulare, rapoarte şi alte

obiecte, care se memorează în acelaşi fişier cu extensia MDB. Datorită faptului că toate

obiectele sunt stocate în acelaşi loc, se poate vorbi de o mare uşurinţă şi viteză în

căutarea, analiza, urmărirea şi protecţia datelor.

Realizarea unei baze de date Access

Etapele ce trebuie parcurse pentru realizarea aplicaţiei sunt:

Analiza problemei de rezolvat. Etapa se finalizează prin realizarea unui model al

sistemului studiat, de exemplu: modelul relaţional obţinut prin transformarea modelului

entitate-relaţie şi presupune:

-studierea scopului şi a domeniului de interes (tema);

-identificarea entităţilor sistemului şi precizarea legăturilor dintre acestea;

-precizarea datelor de intrare, a prelucrărilor necesare şi a prezentării rezultatelor.

Proiectarea , când se definesc proprietăţile obiectelor, evenimentele la care trebuie

să răspundă aplicaţia şi felul în care vor răspunde obiectele la diferitele

evenimente, cu subetapele:

-proiectarea obiectelor bazei de date;

-proiectarea interfeţei aplicaţie-utilizatori.

Tabele

22

Page 24: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Tabela este obiectul din baza de date destinat păstrării datelor privind un anumit

subiect. Tabelele sunt identificate printr-un nume; numele unei tabele este unic în cadrul

bazei de date, poate conţine spaţii, dar nu pot depăşi 64 de caractere alfanumerice.

Tabela este bidimensională, pe linii având informaţii despre fiecare exemplar al

subiectului respectiv, iar pe coloane atributele. O tabelă Access conţine două tipuri de

informaţii: structura şi datele.

Prin urmare a crea o tabelă înseamnă a-i defini structura şi a o încărca cu date.

Structura cuprinde informaţii despre numărul, tipul de date şi proprietăţile câmpurilor,

câmpurile cheii primare, câmpurile indexate şi tipul indexării.

Proprietăţile sunt stabilite în faza de proiectare a structurii şi pot fi vizualizate în

fereastra pentru proprietăţi. O tabelă poate fi creată prin definirea tabelelor de către

utilizator, prin definirea structurii, stabilirea câmpurilor, a tipurilor de date, a

proprietăţilor şi a cheii primare precum şi încărcarea cu date.

Descrierea structurii tabelelor presupune introducerea câmpurilor pentru fiecare

câmp introducându-se numele acestuia, tipul de dată şi opţional o descriere.

Câmpurile reprezintă obiecte din tabelă. Stabilirea proprietăţilor pentru fiecare

câmp diferă in funcţie de tipul datelor.

Crearea Relatiilor între tabele

Într-o bază de date relaţională tabelele sunt corelate. Aceasta înseamnă că datele

memorate în tabele diferite vor putea fi asociate corect atunci când din baza de date se

solicită anumite informaţii.

Access fiind un SGBD relaţional memorează datele în tabele diferite, dar permite

corelarea lor, realizând asocierea după criterii logice şi de înrudire a datelor. Această

asociere este posibilă dacă în faza de definire a structurii tabelelor sunt precizate tipurile

de legături permise.

Câmpurile comune prin care se face corelarea sunt cheia primară pentru o tabelă

şi respectiv cheie externă pentru tabela asociată.

Tipuri de legături

-relaţia “unu la unu” (1 1), numită şi relaţie biunivocă

23

Page 25: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Se caracterizează prin aceea că unei înregistrări dintr-o tabelă îi corespunde o

înregistrare din cealaltă tabelă. Acest tip de corelaţie se poate crea atunci când tabelele au

subiecte diferite cu chei primare diferite.

-relaţia “unu la mai mulţi” (1 n)

Se caracterizează prin aceea că unei înregistrări dintr-o tabelă îi corespund mai

multe înregistrări din cealaltă tabelă.

-relaţia “mai mulţi la mai mulţi” (m n)

Se caracterizează prin aceea că unei înregistrări din prima tabelă îi corespund 0, 1

sau mai multe înregistrări iar unei înregistrări din cea de a doua tabelă îi corespund 0, 1

sau mai multe înregistrări din prima tabelă. În cazul acestei legături se va adăuga o tabelă

suplimentară prin care se sparge corelaţia m la n în două legături 1 la n. Această tabelă

suplimentară va avea drept câmpuri, cheile primare ale tabelelor aflate în corelaţia m la n.

Sistemul permite precizarea tipului de legătură (join).

Figura 2.1 – Fereastra Join Properties

Opţiunea 1 reprezintă INNER JOIN (asocieri interne) sau asocieri echivalente

(EQUI JOIN), sunt cele mai utilizate tipuri de asocieri şi combină asocierile din două

tabele când sunt identice valorile dintr-un câmp comun celor două tabele. De regulă,

asocierea este de tip “unu la mai mulţi”, bazându-se pe câmpul cheie principală dintr-un

tabel şi pe un câmp cheie externă din cealaltă tabelă. Asocierile interne afişează toate

înregistrările care au corespondente în cealaltă tabelă.

Opţiunea 2 reprezintă LEFT JOIN (asocieri externe la stânga ) şi afişează toate

înregistrările din tabelul din partea “unu” a relaţiei, care conţine, cheia principală unică,

24

Page 26: 225734838 Sistem Informatic de Gestiune Si Facturare Final

indiferent dacă există înregistrări corespondente în tabela din partea “mai mulţi“ a

relaţiei.

Opţiunea 3 reprezintă RIGHT JOIN (asocieri externe la dreapta ) şi afişează toate

înregistrările din tabelul din partea “mai mulţi” a relaţiei şi numai acele înregistrări din

tabela din partea “unu” a relaţiei pentru care câmpurile comune sunt egale.

Asigurarea integrităţii referenţiale

Access poate să impună regulile de integritate reverențială atunci când sunt

îndeplinite următoarele condiţii:

-câmpul asociat din primul tabel este cheie primară sau are un index unic;

-câmpurile asociate au acelaşi tip de date.

Regulile impuse de Access pentru asigurarea integrităţii referenţiale pot fi

rezumate astfel:

-când adăugăm înregistrările într-un tabel corelat şi introducem o valoare în

câmpul pe care se face asocierea , trebuie să existe deja o înregistrare cu această valoare

în tabelul principal;

-nu se poate elimina o înregistrare din tabelul principal atâta timp cât mai există

înregistrări asociate acestuia în tabelul corelat.

Figura 2.2 – Fereastra Relationships

Opţiunile posibile pentru stabilirea acestor reguli sunt:

-Cascade Update Related Fields (actualizare în cascadă a câmpurilor asociate).

Efectul este că ori de câte ori se modifică valoarea cheii primare a unei înregistrări din

25

Page 27: 225734838 Sistem Informatic de Gestiune Si Facturare Final

tabelul principal, Access va modifica automat valorile din câmpurile asociate ale

înregistrărilor corespunzătoare din tabelul corelat.

-Cascade Delete Related Records (eliminarea în cascadă a înregistrărilor). Efectul

este că ori de câte ori vom elimina înregistrări din primul tabel, Access va elimina

automat înregistrările asociate din tabelul corelat.

Indexarea tabelelor

Indecşii sunt fişiere complementare tabelelor care ajută la identificarea directă a

uneia sau mai multor înregistrări dintr-o tabelă.

După creare, indecşii sunt salvaţi împreună cu tabelul şi sunt actualizaţi în mod

automat la introducerea datelor în tabele. Vizualizarea indecşilor nu este posibilă.

De exemplu când se stabileşte un câmp cheie primară, Access realizează automat

un index al câmpului respectiv. Acest index nu acceptă valori duplicate. Dacă se

construiesc indecşi pe alte câmpuri (care nu sunt chei primare), aceşti indecşi pot conţine

valori duplicate.

2.2.Utilizarea limbajului SQL

Prin utilizarea comenzilor, a predicatelor, a clauzelor, a operatorilor, a funcţiilor

globale şi a asocierilor, limbajul structurat de interogare SQL (Structured Query

Language) poate compune cu succes o interogare care înapoiază un anumit domeniu de

câmpuri.

SQL este un limbaj corelat îndeaproape de Microsoft Jet Engine şi Data Access

Object (DAO). Prin indicarea relaţiilor între tabele şi alte interogări dintr-o bază de date

prin intermediul SQL, înregistrările sunt create temporar şi transmise înapoi obiectului set

de înregistrări al obiectului bază de date în Visual Basic.

Clasificarea instrucţiunilor SQL

Instrucţiunile se împart în două categorii distincte. Prima categorie, limbajul de

definire a datelor (Data Definition Language - DDL) este folosit pentru crearea,

modificarea sau eliminarea definiţiilor existente într-o anumită bază de date. Cea de a

doua categorie, limbajul de manipulare a datelor (Data Manipulation Language - DML)

26

Page 28: 225734838 Sistem Informatic de Gestiune Si Facturare Final

este folosită pentru crearea, modificarea, eliminarea sau adunarea informaţiilor rezidente

în structura bazei de date. Cu alte cuvinte, se va folosi DDL pentru crearea de tabele,

câmpuri şi indexuri, iar DML serveşte la popularea, modificarea şi obţinerea informaţiilor

rezidente în tabele şi câmpuri.

Sintaxa SQL

FROM este folosită pentru a indica tabelul sau interogarea folosite la adunarea

informaţiei pentru instrucţiunea SQL. Folosind clauza FROM este posibilă specificarea

mai multor tabele sau interogări în cadrul instrucţiunii.

WHERE prezintă condiţia sau condiţiile care trebuie satisfăcute pentru includerea

unei înregistrări în rezultatele interogării. Fiecare condiţie este evaluată folosind

operatorii condiţionali (>, >=, <, <=, =, <>, BETWEEN, LIKE) sau operatorii logici

(AND, OR, NOT).

GROUP BY este folosită pentru gruparea setului de rezultate al interogării.

Foloseşte minim un nume de câmp dintr-un tabel sau înregistrare prezentate în

clauza FROM pentru a evalua înregistrările şi valorile de tip grup. De asemenea se poate

folosi o funcţie globală într-o instrucţiune SQL pentru a crea sumare ale grupurilor din

setul de înregistrări. Funcţiile globale disponibile sunt: AVG – care calculează valoarea

minimă a unui câmp specificat, COUNT – calculează numărul de înregistrări dintr-o

interogare, SUM – calculează suma valorilor dintr-un câmp specificat, MAX – calculează

valoarea cea mai mare a unui câmp specificat, MIN – calculează valoarea cea mai mică a

unui câmp specificat.

HAVING specifică condiţii (de aceeaşi sintaxă folosită pentru clauza WHERE)

care trebuie satisfăcute de grupuri ca să fie incluse în setul de înregistrări rezultant.

ORDER BY foloseşte nume de câmpuri pentru a ordona setul de rezultate într-un

anumit mod.

Limbajul de manipulare a datelor

Comenzile DML creează o combinaţie de interogări de acţiune şi de selecţie.

Acestea sunt:

27

Page 29: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Comanda SELECT este o componentă a unei interogări de selecţie, nu a unei

interogări de acţiune. La utilizarea unei interogări de selecţie într-o aplicaţie Visual Basic,

aceasta este stabilită într-un obiect set de înregistrări al unei baze de date specificate.

Presupunând că rs este un set de înregistrări valid şi db este un obiect de bază de date deja

stabilit la un fişier de baze de date valid, se poate folosi următoarea instrucţiune pentru a

aduna toate înregistrările dintr-un tabel:

Set rs=db.OpenRecordset (“SELECT * FROM tabel”)

Aceasta este însă forma elementară cea mai generală, a unei instrucţiuni SELECT.

Programatorul poate folosi fiecare componentă pentru o sortare şi o filtrare eficientă a

înregistrărilor, în funcţie de necesităţi. Sintaxa instrucţiunii SELECT este următoarea:

SELECT [predicate] {* (table.*}

FROM tableexpression

[WHERE…]

[GROUP BY…]

[HAVING…]

[ORDER BY…]

Printre predicatele disponibile într-o instrucţiune SELECT se numără: ALL –

obţine toate înregistrările, chiar şi duplicatele, DISTINCT - obţine numai înregistrările

unice, bazate pe câmpurile specificate în instrucţiune. Clauza HAVING se comportă

similar cu clauza WHERE, cu excepţia testării condiţiei specificate după efectuarea

grupării, spre deosebire de clauza WHERE, care testează condiţiile pentru includerea

înregistrărilor în grupuri.

Unirile reprezintă o funcţie foarte frecvent folosită a instrucţiunii SELECT şi

servesc la crearea de relaţii temporare între tabele la evaluarea unei interogări de selecţie.

Sintaxa de utilizare a unirilor într-o instrucţiune SELECT este:

SELECT …

FROM table1 [LEFTRIGHT] JOIN table2 ON (table1.field1 CompOp

table2.field2)

CompOp este un operator de comparaţie. O unire de stânga (denumită şi unire

exterioară de stânga) include toate înregistrările din tabelul table1, chiar dacă în tabelul

table2 nu există înregistrări corelate. O unire de dreapta (denumită şi unire exterioară de

28

Page 30: 225734838 Sistem Informatic de Gestiune Si Facturare Final

dreapta) include toate înregistrările din tabelul table2, chiar dacă în tabelul table1 nu

există înregistrări corelate. Pentru a crea o unire care obţine numai înregistrările incluse

în ambele tabele (unire interioară) se va folosi clauza INNER JOIN.

Comanda UPDATE este folosită pentru stabilirea informaţiei dintr-un tabel curent

la o valoare nouă. Sintaxa comenzii UPDATE este următoarea:

UPDATE table

SET value

WHERE criteria

Valoarea specificată în clauza SET a instrucţiunii UPDATE este o expresie de

atribuire, care va modifica valoarea curentă a înregistrărilor selectate din tabelul

specificat. Dacă nu este specificată nici o clauză WHERE, interogarea UPDATE

efectuează modificările necesare pentru toate înregistrările din tabelul specificat.

Comanda DELETE este folosită pentru efectuarea de ştergeri masive de

înregistrări dintr-un tabel specificat, dintr-o singură operaţie. Se pot menţiona condiţii de

selecţie a înregistrărilor de şters dintr-un tabel. La folosirea comenzii DELETE, sunt

şterse înregistrări întregi, nu numai câmpuri individuale. Sintaxa comenzii DELETE este:

DELETE table.*

FROM table

WHERE…

2.3.Limbajul de programare Microsoft Visual Basic

Microsoft Visual Basic este un mediu interactiv de programare vizuală a

aplicaţiilor informatice. Microsoft specifică termenul “Visual” deoarece este posibilă

proiectarea de programe cu ajutorul unor formulare care conţin elemente vizuale, precum

butoane şi casete de afişare şi diferite componente vizuale numite controale. Visual Basic

oferă mai multe controale (obiecte care se folosesc pentru implementarea unui mod

simplu de interacţiune între utilizatori şi aplicaţii) care permit utilizatorilor să obţină, să

afişeze sau să înscrie date, să afişeze imagini şi aşa mai departe. Controalele pun la

dispoziţia programatorului diferite proprietăţi (caracteristici ale controlului), metode

29

Page 31: 225734838 Sistem Informatic de Gestiune Si Facturare Final

(acţiuni asupra controlului) şi evenimente (proceduri în care se specifică răspunsuri la

acţiunile asupra controlului).

Facilităţi Microsoft Visual Basic:

Visual Basic pune la dispoziţie controale, utilizate pentru proiectarea unei

interfeţe ce vă permite interacţiunea dintre utilizator şi aplicaţie.

Un control este un obiect care se utilizează în programe pentru a le face mai

accesibile utilizatorilor şi pentru a înlesni modul în care ele vor răspunde la acţiunile

utilizatorilor. Un control este el însuşi un program folosit în cadrul programelor Visual

Basic în vederea simplificării codului acestora.

Visual Basic pune la dispoziţie formulare, folosite pentru plasarea de controale.

Visual Basic pune la dispoziţie controale utilizator şi documente utilizator,

folosite în scopul proiectării componentelor ActiveX pentru proiectele şi programele

Visual Basic care vor rula pe World Wide Web.

Visual Basic pune la dispoziţie module, utilizate pentru organizarea codului,

separarea codului de o anumită componentă vizuală şi, eventual, punerea la dispoziţie a

codului pentru unul sau mai multe formulare.

Visual Basic permite dezvoltarea proiectelor în grupuri, ceea ce oferă posibilitatea

de a include controalele proprii, mai multe fişiere executabile şi biblioteci cu legare

dinamică în cadrul unui singur proiect Visual Basic.

Programarea orientată pe obiect reprezintă un stil de programare care presupune

împărţirea programelor în componente obiectuale şi apoi dezvoltarea programelor pentru

gestionarea componentelor obiectuale respective şi a interacţiunilor dintre ele. Pentru a

stabili dacă un limbaj de programare este orientat pe obiect, programatorii iau în

consideraţie, de regula, trei caracteristici - moştenirea, polimorfismul si încapsularea.

Programarea orientată pe eveniment reprezintă un mod de programare în care

accentul cade pe răspunsul programului la acţiunile şi operaţiile efectuate de utilizator.

Visual Basic combină elementele de programare orientată pe obiect cu elementele

de programare orientată pe eveniment.

O interfaţă de programare a aplicaţiilor (API - Application Programming

Interface) permite programelor accesul la facilităţile oferite de programul API. Spre

exemplu biblioteca API din Windows permite programelor accesul direct la funcţiile

30

Page 32: 225734838 Sistem Informatic de Gestiune Si Facturare Final

sistemului de operare Windows şi utilizarea acestora în cadrul operaţiilor din programe.

O biblioteca API constă într-o serie de funcţii, proceduri, tipuri de date şi constante

simbolice ce pot fi accesate de către programe. În Visual Basic se pot folosi mai multe

astfel de biblioteci API, puse la dispoziţie de către sistemul de operare Windows, pentru a

spori puterea programelor dezvoltate.

Lansarea mediului Microsoft Visual Basic înseamnă şi începerea unui nou

proiect. Un proiect poate conţine unul sau mai multe formulare, module, controale

utilizator sau documente utilizator. Pentru dezvoltarea interfeţei unui proiect se pot folosi

formulare, controale utilizator sau documente utilizator. Majoritatea interfeţelor vor

conţine, de altfel, unul sau mai multe controale utilizate pentru a îmbunătăţi răspunsul

interfeţei la operaţiile şi acţiunile efectuate de către utilizatorul aplicaţiei.

Un proiect Visual Basic poate conţine, de asemenea, unul sau mai multe module.

Modulele sunt folosite în cadrul proiectelor pentru plasarea de cod. Există posibilitatea de

a preciza dacă programul poate accesa codul dintr-un modul numai în cadrul acelui

modul sau dacă respectivul cod va putea fi accesat din orice parte o programului. Un

modul conţine exclusiv cod de program. Într-un proiect pot fi adăugate mai multe

module. Inserarea în proiect a unui modul adiţional va presupune şi o organizare a

proiectului, deoarece se poate permite accesul tuturor formularelor la codul din module

sau se pot proteja anumite porţiuni de cod din fiecare modul în parte, astfel încât accesul

să fie permis numai funcţiilor şi procedurilor din modulul respectiv.

Din toată suita de medii de dezvoltare vizuale de la Microsoft (Visual Studio),

Visual Basic este cel mai eficient instrument (din punct de vedere al timpului de

dezvoltare) pentru dezvoltarea aplicaţiilor care lucrează cu baze de date.

2.3.1 Interfeţe Visual Basic

La crearea unui program pentru Windows trebuie să optăm pentru una dintre cele

două tipuri de interfeţe de bază din Windows: interfaţa document multiplu sau interfaţa

document singular. Aplicaţiile cu interfaţă document multiplu (MDI – Multiple-

Document Interface) sunt standard în Windows. Cuvintele document multiplu se referă la

capacitatea unui program de a întreţine mai multe reprezentări sau fişiere în interiorul

31

Page 33: 225734838 Sistem Informatic de Gestiune Si Facturare Final

aceleaşi ferestre cadru. Aplicaţiile cu interfaţa document singular (SDI – Singular

Document Interface) sunt succesoare ale aplicaţiilor DOS prin aceea că toate

reprezentările sunt la acelaşi nivel. Atunci când se trece de la o reprezentare la alta în

cadrul unei aplicaţii cu interfaţa document singular, în mod normal programul va ascunde

sau închide prima reprezentare. Interfeţele document singular sunt cele mai simple

programe.

2.3.2 Formulare

Un formular reprezintă o suprafaţă rectangulară, similară unei ferestre, care poate

conţine controale. Un formular Visual Basic este el însuşi un control, putând conţine

totodată alte controale pe care le adăugam. Un control, altul decât un formular, este un

obiect auto-conţinut pe care programatorul îl poate adăuga într-un formular şi care

conţine, de regulă, o componentă vizuală. Controalele se folosesc în cadrul programelor

pentru a face ca interfaţa cu utilizatorul să fie mai sugestivă. După plasarea unui control

pe un formular, se poate scrie codul care permite interacţiunea dintre utilizator şi acel

control.

2.3.3 Fereastra de cod

La dezvoltarea proiectelor se va adăuga, mai devreme sau mai târziu, cod pentru

majoritatea obiectelor adăugate în proiect. Pentru scrierea codului de program asociat

unui obiect din proiect vom apela la fereastra de cod din Visual Basic. Fereastra de cod

este o fereastră distinctă cu două meniuri derulante în partea superioară. Cele două casete

derulante din partea superioară a ferestrei de cod ne permit selectarea procedurii sau a

funcţiei pe care dorim să o vizualizăm. Modul în care fereastra de cod organizează

procedurile şi funcţiile poate varia, în funcţie de obiectul cu care lucrăm. Această

secţiune ne dă posibilitatea să declarăm variabile pe care le va putea utiliza orice funcţie,

eveniment sau procedură. Toate variabilele declarate în secţiunea de declaraţii generale

vor fi disponibile în întreg formularul, ceea ce înseamnă că orice eveniment sau

procedură scrise în cadrul formularului vor putea accesa aceste variabile.

32

Page 34: 225734838 Sistem Informatic de Gestiune Si Facturare Final

De fiecare dată când se scrie în fereastra de cod o procedură, un eveniment sau o

funcţie, codul în cauză se va afla în afara secţiunii de declaraţii generale. Fereastra de cod

afişează numele procedurii în câmpul din dreapta al părţii superioare a ferestrei. Atunci

când ne deplasăm în cadrul ferestrei de cod, Visual Basic afişează fiecare procedură,

eveniment şi funcţie din obiectul de program deschis curent (de exemplu, un control

buton de comanda sau casetă de editare) în cadrul celor două casete derulante aflate în

partea superioară a ferestrei de cod, aceasta pe măsură ce cursorul se deplasează în

procedura, evenimentul sau funcţia în cauză.

2.3.4. Caseta cu instrumente

Visual Basic pune la dispoziţie mai multe controale pe care le putem plasa pe un

formular. Un control este un obiect cu care utilizatorul interacţionează în cadrul

aplicaţiilor. Înainte de a putea plasa un control pe suprafaţa unui formular, va trebui să se

acceseze acel control în cadrul casetei cu instrumente. Visual Basic conţine o casetă cu

instrumente pe care sunt afişate mai multe pictograme. O pictogramă este o reprezentare

grafică de dimensiune mică a unui alt obiect. Spre exemplu, Windows foloseşte

pictograme pentru a reprezenta, printre altele, fişiere şi directoare. În cadrul casetei cu

instrumente, pictogramele reprezintă controalele care se pot folosi în cadrul proiectului.

Caseta cu instrumente este, de fapt, o simplă fereastră care afişează pictogramele ce

reprezintă controalele. Înainte ca interacţiunea dintre utilizator şi un control să fie

posibilă, controlul respectiv trebuie adăugat într-un formular. Un proiect poate conţine

mai multe formulare.

2.3.5. Controale

Deoarece un formular este tot un control, nu este necesară adăugarea unui control

la un formular pentru crearea unui proiect. Atunci când adăugăm un control într-un

formular, ceea ce rezultă are mai multă utilitate decât un simplu formular gol. Fiecare

control din Visual Basic are un scop bine definit. Se poate rezolva un proiect cu mai

multe controale. De exemplu, utilizatorul ar putea să efectueze un click pe un control

buton de comandă pentru a întrerupe un program, să selecteze o singură opţiune din două

33

Page 35: 225734838 Sistem Informatic de Gestiune Si Facturare Final

sau mai multe controale buton de opţiune, să enumere mii de elemente într-un control

casetă cu listă şi tot aşa.

Deoarece un formular este tot un control şi, la bază, o reprezentare vizuală a unei

clase de obiecte, ne va fi de ajutor să înţelegem ce sunt obiectele. Putem considera un

control ca fiind un obiect. De exemplu, atunci când pornim calculatorul apăsăm, de

regulă, un buton de pe carcasa fizică a calculatorului. Butonul este un obiect. Dar cum

calculatorul va urma o serie de instrucţiuni pentru pornire după apăsarea butonului,

butonul este totodată un control. Putem vedea un control ca un obiect care face ceva

numai după ce efectuăm o acţiune asupra sa. Prin comparaţie, un creion este tot un obiect,

dar nu face nimic până nu îl luăm în mână şi scriem ceva cu el.

Controlul este un obiect pe care îl putem vedea pe un formular şi care are formă,

dimensiune, culoare şi, de obicei, un text sau o etichetă. În plus, un control dispune de

proprietăţi, metode şi evenimente. Fiecare control din Visual Basic are un scop bine

definit.

Visual Basic ne permite să scriem cod pentru proprietăţile, metodele şi

evenimentele unui control. Aceasta înseamnă că putem modifica modul în care un control

se comportă în cadrul programelor. Proprietăţile unui control descriu controlul respectiv;

exemple de proprietăţi sunt dimensiunea şi culoarea. Metodele unui control ne permit

efectuarea unor acţiuni asupra controlului, cum ar fi poziţionarea şi redimensionarea.

Evenimentele unui control ne permit scrierea de cod pentru a se răspunde la o acţiune,

precum efectuarea unui click sau apăsarea unei taste.

Atunci când dezvoltăm un proiect Visual Basic care conţine formulare, controale

utilizator sau documente utilizator, putem plasa unul sau mai multe controale pe unul sau

mai multe formulare, controale utilizator sau documente utilizator.

Fiecare control din Visual Basic dispune de proprietăţi, metode şi evenimente.

Proprietăţile unui control pot fi modificate atât în momentul proiectării, cât şi în

momentul execuției. Unele controale au proprietăţi ce sunt disponibile numai la

momentul execuţiei; altele au proprietăţi disponibile exclusiv în momentul proiectării.

Momentul proiectării se referă la dezvoltarea proiectului şi cele mai multe modificări ale

unui control la momentul proiectării vor fi relativ statice. Cu alte cuvinte, proprietăţile nu

se vor schimba semnificativ pe durata rulării programului. Fiecare control are una sau

34

Page 36: 225734838 Sistem Informatic de Gestiune Si Facturare Final

mai multe proprietăţi. Proprietăţile unui control descriu controlul respectiv, așa cum sunt

dimensiunea, culoarea şi poziţia acestuia. De exemplu, controlul bara cu instrumente din

cadrul proiectului dispune de proprietăţi ce privesc alinierea, aspectul pictogramelor,

numărul pictogramelor, etc.

Visual Basic ne oferă flexibilitatea de a modifica proprietăţile unui control prin

cod sau prin fereastra de proprietăţi. Visual Basic conţine o fereastră de proprietăţi care

afişează proprietăţile unui control. Modificarea proprietăţilor unui control în cadrul

ferestrei de proprietăţi reprezintă o modificare a proprietăţilor în momentul proiectării.

Proprietăţile unui control sunt stabilite mai întâi pe baza valorilor din fereastra de

proprietăţi. Apoi, Visual Basic procesează codul pe care l-am scris, eventual pentru a

altera proprietăţile unui control.

Unul dintre cele mai uzuale controale din Visual Basic este controlul buton de

comandă, care apare pe un formular ca un buton rectangular. Printre proprietăţile unui

buton de comandă se află culoarea de fond (BackColor), eticheta (Caption), starea de

activare (Enabled), fontul (Font), înălţimea (Height), poziţia pe orizontală (Left), poziţia

pe verticală (Top) şi lăţimea (Width).

Atunci când modificăm proprietatea Caption a unui control buton de comandă,

Visual Basic înscrie pe suprafaţa controlului noua etichetă. La modificarea proprietăţii

Enabled a controlului, Visual Basic fie ne va permite utilizarea controlului la momentul

execuţiei (Enabled are valoarea True), fie va desena controlul cu gri şi îl va dezactiva

(Enabled are valoarea False). Schimbarea proprietăţii Font a unui control va determina

Visual Basic să afişeze eticheta curentă cu fontul indicat de valoarea selectată.

Controlul Tabel flexibil va afişa activităţile planificate pe linii şi coloane care pot

să fie fixe sau standard. Coloanele şi liniile fixe nu se deplasează odată cu derularea

celorlalte coloane sau linii. În mod implicit, controlul tabel flexibil afişează un rând fix şi

o linie fixă. Numărul de linii şi de coloane ce pot fi afişate de către controlul tabel flexibil

este limitat de memoria virtuală disponibilă pentru proiect.

Fiecare linie şi coloană dintr-un control tabel flexibil este specificat printr-o

valoare întreagă. Controlul asociază valoarea întreaga 0 pentru prima linie, valoarea 1

pentru a doua linie şi tot aşa. În mod similar, controlul tabel flexibil asociază valoarea

întreagă 0 pentru prima coloană, valoarea 1 pentru a doua coloană şi aşa mai departe.

35

Page 37: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Atunci când se efectuează un clic pe suprafaţa controlului tabel flexibil, Visual Basic

stabileşte valorile a două proprietăţi, Row şi Col. Aceste proprietăţi conţin valorile pentru

linia şi coloana selectate în cadrul controlului tabel flexibil. Perechea de proprietăţi Row

şi Col identifică o locaţie specifică în cadrul controlului tabel flexibil, locaţie numită

celulă. Spre exemplu, poziţia din controlul tabel flexibil pentru care Row=1 si Col=2 se

numeşte şi celula de la Row=1 şi Col=2.

Numărul total de linii şi de coloane ale unui control tabel flexibil poate fi stabilit

fie prin cod, într-o procedură sau într-o funcţie, fie prin intermediul ferestrei de

proprietăţi. Memoria virtuală disponibilă pe calculator este cea care determină numărul

maxim de linii şi coloane.

2.3.6. Metode

Fiecare control are proprietăţi şi orice control poate fi descris pe baza acestor

proprietăţi. Pe lângă proprietăţi, majoritatea controalelor oferă cel puţin o metodă. Putem

vedea o metodă ca o acţiune pe care programul o poate efectua asupra controlului (prin

contrast cu un eveniment, care este răspunsul unui control la acţiunea unui utilizator sau

la o acţiune a programului). Spre exemplu, să presupunem că pentru controlul bară cu

instrumente există o metodă Move (de fapt, chiar există). Metoda Move a unui control

bară cu instrumente permite deplasarea unui astfel de control din poziţia iniţială într-o

nouă poziţie. Putem scrie în codul programului o procedură care să apeleze la metoda

Move a controlului bară cu instrumente pentru a deplasa controlul din partea superioara a

formularului în partea sa inferioară. Putem scrie, apoi, o altă procedură care să folosească

metoda Move a controlului bară cu instrumente pentru a deplasa acest control din partea

dreapta a formularului în partea sa stângă.

Aproape fiecare control din Visual Basic oferă cel puţin o metodă. Înainte de a

apela la o metodă a unui control este întotdeauna recomandat să înțelegem ce anume face

acea metodă. Visual Basic include un fişier de asistenţă cuprinzător pe care îl putem

utiliza pentru a afla informaţii despre cele mai multe dintre controale. Atunci când apare

o nelămurire în ceea ce priveşte un control şi Visual Basic afişează informaţii de asistenţă

pentru acel control, putem studia fiecare metodă pe care o oferă controlul în cauză. Pe

lângă studierea metodelor de controale cu ajutorul sistemului de asistenţă din Visual

36

Page 38: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Basic, avem şi posibilitatea de a vedea descrieri ale metodelor unui control prin

intermediul bibliotecii de obiecte (Object Browser) din Visual Basic. Biblioteca de

obiecte consta într-o fereastră pe care Visual Basic o foloseşte pentru a afişa proprietăţile,

metodele şi evenimentele unui control. Biblioteca de obiecte afişează atât controale, cât şi

alte elemente.

Unul dintre controalele cele mai utilizate din Visual Basic este controlul buton de

comandă. Una dintre metodele controlului buton de comandă este Move. Metoda Move

permite deplasarea controlului care oferă această metodă (aşa cum este controlul buton de

comandă) dintr-o poziţie pe formular în alta. Metoda Move presupune cuvântul cheie

Move şi patru parametrii – Left, Top, Width si Height. Putem stabili câte o valoare pentru

fiecare parametru. Parametrii Left şi Top sunt folosiţi pentru a determina poziţia

controlului, şi anume distanţa dintre marginea stângă a formularului şi cea a controlului

şi, respectiv, distanţa dintre extremitatea superioară a formularului şi cea a controlului.

Parametrii Width şi Height sunt folosiţi pentru a determina dimensiunea controlului.

Putem apela la biblioteca de obiecte pentru a vedea proprietăţile, metodele şi

evenimentele controlului buton de comandă. Pentru a afişa biblioteca de obiecte,

selectăm comanda Object Browser din cadrul meniului View.

2.3.7. Evenimente

Majoritatea controalelor din Visual Basic dispun de proprietăţi şi de metode.

Putem descrie un control prin intermediul proprietăţilor sale şi putem utiliza metodele

unui control pentru a efectua acţiuni asupra acestuia. Pe lângă proprietăţi şi metode,

majoritatea controalelor dispun şi de cel puţin un eveniment. Un eveniment este ceva ce

s-ar putea sau nu să se producă pentru un control atunci când programul se află în

execuţie. Atunci când utilizatorul sau Visual Basic efectuează o acţiune asupra unui

control, Windows răspunde la acea acţiune. Acţiunea poate produce un eveniment, sau

evenimentul poate fi o consecinţă a acţiunii. De exemplu, atunci când efectuăm un click

cu mouse-ul pe un control buton de comandă la momentul execuţiei (adică atunci când

programul rulează), programul va invoca elementul Click al controlului. Pe de altă parte,

atunci când efectuăm un click pe butonul de închidere al unui formular, acesta va genera

două evenimente (Unload si QueryUnload), rezultate ale acţiunii de click cu mouse-ul,

37

Page 39: 225734838 Sistem Informatic de Gestiune Si Facturare Final

chiar dacă acţiunea în sine nu invocă de fapt nici un eveniment (formularul este cel care o

face).

Pentru un eveniment putem să scriem un cod. De exemplu, după ce efectuăm un

click pe un control buton de comandă şi programul apelează evenimentul Click al

acestuia, el va executa totodată codul pe care l-am plasat în zona corespunzătoare

evenimentului Click. Această capacitate de a extinde procesarea unui eveniment

înseamnă că puteţi determina Visual Basic să răspundă la o acţiune în forme mai

complexe, fără a fi necesară crearea unui nou control. De exemplu, un singur click pe un

buton ar putea să creeze un nou formular, să completeze câmpurile acelui formular cu

informaţii, să actualizeze o înregistrare în cadrul unei baze de date asociate cu programul

şi să afişeze un mesaj pentru utilizator. Visual Basic pune la dispoziţie un sistem de

asistenţă cuprinzător prin intermediul căruia putem afla informaţii despre cele mai multe

controale. Atunci când avem o nelămurire în ceea ce priveşte un control şi Visual Basic

afişează informaţii de asistenţă pentru acel control, putem folosi acele informaţii pentru a

studia fiecare eveniment de care dispune controlul în cauză. Pe lângă studierea

controalelor cu ajutorul sistemului de asistenţă din Visual Basic, avem posibilitatea de a

obţine descrieri ale controalelor şi ale proprietăţilor, metodelor şi evenimentelor acestora

prin intermediul bibliotecii de obiecte din Visual Basic.

38

Page 40: 225734838 Sistem Informatic de Gestiune Si Facturare Final

CAPITOLUL 3

PROGRAM DE GESTIUNE INTRARI, IESIRI,

INTOCMIRE SI EMITERE FACTURI

3.1. Cerințeleinformaționale generale ale temei

proiectului

Acest proiect reprezintă un exemplu de aplicaţie a cărui interfaţă a fost realizată în

Microsoft Visual Basic ce utilizează o bază de date Access.

Tema aleasă se referă la activitatea de întocmire şi emitere a facturilor dintr-o

firmă oarecare. Efectuarea acestor operaţii se realizează cu ajutorul programului Calcul.

Operaţia de întocmire a facturilor se bazează pe definirea unei structuri

organizatorice a firmei, ce presupune o evidenţă a clienţilor şi a produselor de care

dispune firma.

Factura se va întocmi cu ajutorul programului Calcul, utilizatorul ţinând cont de

comanda clientului.

Evidenţa informatică a produselor este făcută pe categorii de produse. Fiecărei

categorii îi corespunde o valoare TVA.

Ca principiu general, prezentul program nu ţine o evidenţă şi a documentelor de

aprovizionare a firmei cu marfă, stocul fiind introdus de către utilizator şi actualizat

automat după fiecare vânzare a produsului. Se va ţine însă cont de preţul de achiziţionare

39

Page 41: 225734838 Sistem Informatic de Gestiune Si Facturare Final

şi cel de vânzare al produselor. Preţul de vânzare reprezintă preţul unitar al unui produs la

care se va adăuga valoarea TVA-ului specifică categoriei din care face parte produsul

respectiv şi se va calcula în momentul vânzării produsului, ce corespunde cu adăugarea

lui pe factură .

În concluzie, o factură se consideră emisă în momentul în care cantitatea de

produse de pe aceasta va fi încărcată într-un mijloc de transport al unui client.

Programul Calcul , prin intermediul rapoartelor, va permite:

-evidenţa facturilor emise şi a valorii totale a acestora într-o perioadă stabilită de

utilizator;

-evidenţa facturilor emise pentru fiecare client;

-evidenţa zilnică a stocului de produse, pentru fiecare categorie în parte, precum şi

valoarea totală a acestuia

-evidenţa preţului unitar şi a preţului de vânzare al fiecărui produs.

Proiectarea si realizarea structurii BAZEI DE DATE pentru

aplicaţia de gestiune

Proiectul prezentat în această lucrare foloseşte o bază de date realizată în

Microsoft Access ce conţine cinci tabele.

Figura 3.1 Structura bazei de date

40

Page 42: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Structura tabelelor bazei de date este prezentată în continuare.

3.2.1 Tabele

Tabelul Categorii

Figura 3.2 Structura tabelului Categorii

Tabelul Categorii ajută la stabilirea nomenclatoarelor de produse din cadrul unei

firme. Acest tabel cuprinde următoarele câmpuri:

-câmpul Cod_categorie este de tip AutoNumber (număr cu incrementare

automată) şi ajută la determinarea în mod unic a unei înregistrări din cadrul tabelului.

-câmpul Denumire este de tip Text ce are o lungime de maxim 25 de caractere.

câmpul TVA este de tip Number şi reprezintă TVA-ul stabilit pe fiecare categorie

de produse. Acest câmp v-a ajuta la calcularea prețului de vânzare al produselor.

41

Page 43: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Tabelul Clienţi

Figura 3.3. Structura tabelului Clienţi

Tabelul Clienţi a fost realizat pentru o structurare eficientă a activităţii firmei care

utilizează programul. Acest tabel cuprinde următoarele câmpuri:

-câmpul Cod_client este de tip AutoNumber (număr cu incrementare automată) şi

ajută la determinarea în mod unic a unei înregistrări din cadrul tabelului.

-câmpurile Denumire, Adresa şi Cod_fiscal sunt de tip Text cu o lungime de

maxim 25 de caractere.

-câmpul Nr_telefon este de tip Number.

42

Page 44: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Tabelul Facturi

Figura 3.4 Structura tabelului Facturi

Tabelul Facturi reflectă informatic desfăşurarea activităţii unei firme. Pentru

câmpurile din acest tabel s-au stabilit următoarele proprietăţi:

-câmpul Nr_factură este cheie primară, de tip AutoNumber (număr cu

incrementare automată).

-câmpul Data_factură este de tip Date/Time.

-câmpurile Cod_client, Cod_agent şi Nr_aviz au fost alese chei externe de tip

Number pentru a stabili legătura cu tabelul Clienţi, Şoferi respectiv Avize.

-câmpul Valoare_totală este de tip Currency şi reprezintă valoarea totală a unei

facturi. Acest câmp se va calcula în momentul în care se va genera de către utilizatorul

programului întocmirea unei facturi pe care s-au adăugat produse.

43

Page 45: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Tabelul Produse

Figura 3.5. Structura tabelului Produse

Tabelul Produse ajută la stabilirea nomenclatoarelor de produse din cadrul unei

firme. Acest tabel cuprinde următoarele câmpuri:

-câmpul Cod_produs este de tip AutoNumber (număr cu incrementare automată)

şi ajută la determinarea în mod unic a unei înregistrări din cadrul tabelului.

-câmpul Denumire este de tip Text ce are o lungime de maxim 30 de caractere.

-câmpul Preţ_fără_TVA este de tip Currency şi reprezintă preţul unitar fărăTVA

al produsului.

-câmpul Cod_categorie a fost ales cheie externă de tip Number pentru a stabili

legătura cu tabelul Categorii.

-câmpul Stoc este de tip Number şi asigură o evidenţă permanentă a stocului de

produse al firmei.

44

Page 46: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Tabelul Produse/Factură

Figura 3.6. Structura tabelului Produse/Factură

Tabelul Produse/Factură a fost creat pentru a descompune legătura “mulţi la

mulţi” ce exista între tabelele Produse şi Facturi, într-o succesiune de 2 legături de “unu

la mulţi”. Tabelul conţine:

-cheile primare ale celor două tabele menţionate mai sus, şi anume Nr_factură şi

Cod_produs de tip Number, denumite şi chei externe în acest tabel;

-câmpul Cantitate de tip Number, necesar specificării cantităţii de produse ce va fi

adăugată pe factură;

-câmpurile Valoare_fără_TVA şi Valoare_cu_TVA de tip Currency şi reprezintă

valoarea totală cu TVA şi fără TVA a cantităţii de produse ce se adaugă pe o factură.

3.2.2 Legăturile dintre tabele

Între tabelele Clienţi şi Facturi s-a creat o legătură “unu la mulţi” ceea ce justifică

faptul că unui client îi pot fi întocmite una sau mai multe facturi, iar o factură nu poate fi

întocmită decât unui singur client.

45

Page 47: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Legătura dintre tabelele Facturi şi Produse este “mulţi la mulţi”, adică un produs

poate exista pe mai multe facturi, iar o factura poate conţine mai multe produse. Pentru

descompunerea acesteia în două relaţii “unu la mulţi” s-a adăugat tabela suplimentară

Produse/Factură.

Între tabelele Categorii şi Produse s-a realizat o legătură “unu la mulţi” ceea ce

justifică că unei categorii îi corespund mai multe produse, iar un produs nu aparţine decât

unei singure categorii. În continuare este prezentată diagrama de legături a bazei de date

folosită în acest proiect. Relaţiile descrise mai sus sunt prezentate vizual şi sugestiv în

figura 3.7.

Figura 3.7. Diagrama de legături

46

Page 48: 225734838 Sistem Informatic de Gestiune Si Facturare Final

3.3.Utilizarea programării in Visual Basic pentru

realizarea interfeţei grafice

Interfaţagrafică a programului Calcul a fost realizată în Visual Basic.

În diagrama următoare sunt prezentate toate componentele aplicaţiei: Formulare,

Module şi Rapoarte.

Figura 3.8 Componentele aplicaţiei

3.3.1. Module de cod Visual Basic

Startul aplicației se face prin procedura Main, din modulul modDeclaraţii, care

are ca sarcină validarea conexiunii şi afişarea ferestrei Login. Conexiunea la baza de date

Calculs-a realizat cu ajutorul obiectelor metodei DAO în felul următor: se deschide baza

de date în spaţiul de lucru curent (g_WRK) cu ajutorul metodei OpenDatabase a

obiectului Workspace.După validarea conexiunii se încarcă forma Login. Option Explicit

Public g_WRK As DAO.Workspace

Public g_DB As DAO.Database

Sub Main()

47

Page 49: 225734838 Sistem Informatic de Gestiune Si Facturare Final

On Error GoTo errHandler

Set g_WRK = DAO.Workspaces(0)

Set g_DB = g_WRK.OpenDatabase(App.Path & "\Calcul2004.mdb")

If g_DB Is Nothing Then

MsgBox ("Conexiunea la baza de date nu a reușit")

End

End If

Meniu.Show

Exit Sub

errHandler:

MsgBox "Eroare nr. " & Err.Number & Chr(13) & "Denumire eroare " &

Err.Description, vbCritical

End Sub

Public Sub ClearTexts(inObj As Form)

Dim ctrl As Control

If Not inObj Is Nothing Then

For Each ctrl In inObj.Controls

If TypeOf ctrl Is TextBox Then

If ctrl.Tag = "n" Then

ctrl.Text = "0"

ElseIf ctrl.Tag = "t" Then

If TypeOf ctrl Is TextBox Then ctrl.Text = Format(Now, "hh:mm:ss")

If TypeOf ctrl Is DTPicker Then ctrl.Value = Format(Now, "hh:mm:ss")

Else

ctrl.Text = ""

End If

End If

Next

End If

End Sub

Celelalte module de program sunt prezentate in anexa in format electronic.

48

Page 50: 225734838 Sistem Informatic de Gestiune Si Facturare Final

3.3.2. Formulare

Meniul principal

Figura 3.9. Formularul Meniu

Formularul principal alaplicației conţine meniul principal, ce a fost creat cu

ajutorul meniului Visual Basic MenuEditor, o casetă text care va afişa numele

utilizatorului conectat la baza de date şi o bară de stare care prezintă numele programului

şi data de lucru curenta.

În momentul efectuării unui click pe o opţiune de meniu, selectată din bara de

meniu a acestei ferestre, va fi apelat evenimentul click al acesteia ce va executa apariţia

unei noi forme sau raport, în funcţie de ce se optează.

Meniurile aplicaţiei

Meniul Clienţi permite o evidenţă informatică a clienţilor firmei.

Acţiunea ce se execută asupra acestui meniu este asemănătoare ca în cazul

celorlalte meniuri.

Private Sub mnuClienti_Click()

Dim frm As Clienti

Set frm = New Clienti

frm.Show , Me

End Sub

Meniul Facturi permite înregistrarea informatică a desfăşurării activităţii firmei,

ce presupune intocmirea facturilor:

Acţiunea ce se va executa asupra meniului Facturi va determina apariţia formei

Facturi Netrimise.

Private Sub mnuFacturi_Click()

Dim frm As FacturiNetrimise

Set frm = New FacturiNetrimise

49

Page 51: 225734838 Sistem Informatic de Gestiune Si Facturare Final

frm.Show , Me

End Sub

Formularul CLIENŢI

Formularul Clienţi a fost realizat pentru o structurare eficientă a activităţii firmei

care utilizează programul. Datele introduse în această secţiune vor fi utile pentru

reducerea timpului de întocmire a unei facturi prin realizarea unor căutări ce vor fi

efectuate după numele clientului.

Cu ajutorul acestui utilitar se pot întreţine datele despre clienţii cu care lucrează

firma. Oferă toate operaţiile de întreţinere a acestor date şi anume adăugare, modificare,

salvare şi ştergere. În acest proiect, datele despre şoferi sunt utilizate la întocmirea

avizelor, aceştia fiind cei care distribuie marfa de la firmă la clienţi.

Acest utilitar este reprezentat de forma Clienţi. Conţine un control de tipul

MSFlexGrid (tabel flexibil), casete text folosite pentru modificări şi adăugări de noi

înregistrări, meniuri de Adăugare, Salvare, Ştergere şi Anulare, un control de tip Image

folosit pentru revenirea la meniul principal al programului şi un control label ce va afişa

pentru fiecare meniu, în momentul acţiunii, o descriere specifică.

Apelul şi execuţia evenimentelor şi procedurilor se va face în mod asemănător ca în

cazurile precedente.

Figura 3.10. Formularul Clienţi

50

Page 52: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Codul pentru formularul Clienti este prezentat în anexa în format electronic.

Formularul PRODUSE

Cu ajutorul acestui utilitar se definesc categoriile şi produsele pe care firma le

pune la dispoziţia clienţilor săi.

Utilitarul este realizat cu ajutorul formei Produse, pe care s-au amplasat casete de

text, un control ListBox pentru afişarea categoriilor, butoane de comandă care permit

adăugarea de noi înregistrări sau modificarea înregistrărilor existente, un control

MSFlexGrid pentru afişarea produselor pentru fiecare categorie în parte, un contro Image

necesar revenirii la meniul principal al programului şi un control StatusBar care afişează

data şi ora curentă.

Figura 3.11. Formularul Produse

51

Page 53: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Apelul evenimentului Load al formei se va face în momentul în care forma este

încărcată prin acţiunea asupra submeniului Produse şi va executa secvenţa de cod

specifică:

Private Sub Form_Load()

On Error GoTo errHandler

cmdDelete.Enabled = False

Call ReincarcaDate

Exit Sub

Exit Sub

errHandler:

MsgBox "Description " & Err.Description

End Sub

Apelul funcţiei ReîncarcăDate execută deschiderea unui nou obiect Recordset ce

va conţine toate înregistrările din tabelul Categorii care vor fi adăugate în lista

lstCategorii cu ajutorul metodei AddItem al acesteia. Tot în momentul apelării

acestei funcţii se va executa şi crearea începutului de tabel.

Public Function ReincarcaDate() As Boolean

Dim rst As DAO.Recordset

Set rst = g_DB.OpenRecordset("SELECT * FROM Categorii",

dbOpenForwardOnly)

lstCategorii.Clear

Do While Not rst.EOF

lstCategorii.AddItem IIf(IsNull(rst.Fields(1).Value), "", rst.Fields(1).Value) & "

(" & IIf(IsNull(rst.Fields(2).Value), "", rst.Fields(2).Value) & ")"

lstCategorii.ItemData(lstCategorii.ListCount - 1) =

rst.Fields("Cod_categorie").Value

rst.MoveNext

Loop

52

Page 54: 225734838 Sistem Informatic de Gestiune Si Facturare Final

rst.Close

Set rst = Nothing

With flxProduse

Cols = 5

Rows = 1

TextMatrix(0, 0) = "Cod produs"

ColWidth(0) = flxProduse.Width * 0.1

TextMatrix(0, 1) = "Produs"

ColWidth(1) = flxProduse.Width * 0.3

TextMatrix(0, 2) = "Pret"

ColWidth(2) = flxProduse.Width * 0.25

TextMatrix(0, 3) = "Stoc"

ColWidth(3) = flxProduse.Width * 0.25

ColWidth(4) = 0

End With

End Function

Adăugarea de noi categorii se va face prin efectuarea unui click pe butonul de

comandă Adaugă categorie nouă. La efectuarea acţiunii se va apela evenimentul

corespunzător acestei comenzi.

Private Sub cmdNewInreg_Click()

LblStatus.Caption = "Adauga o noua categorie!"

ifNew = True

Categ.CodCateg = 0

Categ.Den = ""

Categ.Adaos = 0#

txtCategorie.SetFocus

Call ClearTexts(Me)

cmdsterg.Enabled = False

cmdNewInreg.Enabled = False

53

Page 55: 225734838 Sistem Informatic de Gestiune Si Facturare Final

cmdSave.Enabled = True

Casute True

cmdcancel.Enabled = True

lstCategorii.Enabled = False

End Sub

Salvarea înregistrării adăugate se realizează prin apelarea evenimentului Click

corespunzător butonului de comandă Salvează. În cadrul acestui eveniment se vor

verifica mai întâi datele introduse şi dacă acestea sunt corecte se va efectua salvarea

înregistrării în baza de date cu ajutorul metodei AddNew respectiv Update ale variabilei

obiect rst, dacă înregistrarea este nouă, sau cu ajutorul metodei Edit a obiectului

Recordset, dacă se realizează o modificare în cadrul setului de înregistrări. După

realizarea acestor modificări lista de categorii va fi şi ea actualizată.

Valoarea TVA-ului introdusă pentru fiecare categorie se va utiliza la calcularea

preţului de vânzare al produselor.

Afişarea produselor în tabelul flexibil flxProduse se va face în urma selectării unei

categorii din lista de categorii la apelarea următoarei secvenţe de cod:

Private Sub lstCategorii_Click()

cmdDelete.Enabled = True

If lstCategorii.ListIndex >= 0 Then

Call PutData

Dim rst As DAO.Recordset

Dim strline As String

Dim contor As Long

Set rst = g_DB.OpenRecordset("SELECT * FROM Produse WHERE

Cod_categorie = " & lstCategorii.ItemData(lstCategorii.ListIndex),

dbOpenForwardOnly)

flxProduse.Rows = 1

contor = 1

54

Page 56: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Do While Not rst.EOF

With flxProduse

strline = ""

strline = contor & vbTab

strline = strline & rst!Denumire & vbTab

strline = strline & rst!Pret_fara_TVA & vbTab

strline = strline & rst!Stoc! & vbTab

strline = strline & rst!Cod_produs & vbTab

AddItem strline

End With

flxProduse.Refresh

rst.MoveNext

contor = contor + 1

Loop

rst.Close

Set rst = Nothing

Else

Categ.CodCateg = 0

Categ.Den = ""

Categ.Adaos = 0#

Call ClearTexts(Me)

End If

cmdSave.Enabled = True

Casute True

cmdcancel.Enabled = True

cmdsterg.Enabled = True

cmdNewInreg.Enabled = False

End Sub

55

Page 57: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Funcţia PutData este apelată la execuţia evenimentului Click specific listei

lstCategorii şi execută afişarea în casetele de text de pe formă a categoriei şi a valoarii

TVA-ului specific înregistrării selectate de utilizator din listă.

Private Sub PutData()

If lstCategorii.ListIndex >= 0 Then

Categ.CodCateg = lstCategorii.ItemData(lstCategorii.ListIndex)

Dim l_poz As Integer

l_poz = InStr(1, lstCategorii.List(lstCategorii.ListIndex), "(", vbTextCompare)

Categ.Den = Trim(Mid(lstCategorii.List(lstCategorii.ListIndex), 1, l_poz - 1))

txtCategorie.Text = Categ.Den

Dim l_strTVA As String

l_strTVA = Trim(Mid(lstCategorii.List(lstCategorii.ListIndex), l_poz + 1,

Len(lstCategorii.List(lstCategorii.ListIndex)) - l_poz - 1))

If IsNumeric(l_strTVA) Then

Categ.Adaos = CSng(l_strTVA)

txtTVA.Text = Categ.Adaos

Else

Categ.Adaos = 0

End If

End If

End Sub

Adăugarea sau modificarea unui produs se face cu ajutorul formei

ModificăriProduse. Adăugarea produsului se face selectând mai întâi categoria în cadrul

căreia vrem să adăugăm produsul şi apoi apăsând butonul Adaugă produse. La apăsarea

acestui buton se acţionează evenimentul Click corespunzător acestuia ce va duce la

apariţia formei ModificăriProduse. Secvenţa de cod specifică acestui eveniment este

următoarea :

Private Sub cmdAdd_Click()

56

Page 58: 225734838 Sistem Informatic de Gestiune Si Facturare Final

If lstCategorii.ListIndex >= 0 Then

Pretproduse.myCodcategorie = lstCategorii.ItemData(lstCategorii.ListIndex)

Pretproduse.Show 1, Me

Pretproduse.txtProdus.Enabled = True

Pretproduse.txtStoc.Enabled = True

Call ClearTexts(Me)

Call lstCategorii_Click

Else

MsgBox "Selectati mai intai categoria de produse!", vbInformation

End If

End Sub

Cum am specificat mai sus această formă este folosită pentru a adăuga sau a

modifica produsele selectate în tabelul existent pe forma Produse.

Salvarea înregistrărilor adăugate sau modificate se va face executând codul

specific evenimentului Click al butonului de comandă Salvează.

Pentru întocmirea unei facturi va fi nevoie de introducerea în casetele text a

clientului căruia i se întocmeşte factura. Casetele text de pe această formă au proprietatea

Enabled setată pe False. În cazul de faţă utilizatorul nu va avea acces direct la datele din

aceste casete. Afişarea datelor în aceste casete va fi generată în momentul apelării

evenimentul Click al butonului de comandă Adaugă de pe forma selecţie clienţi. Pentru

încărcarea acestei forme va fi necesară apelarea evenimentului Click al controlului Image

specific căutării clienţilor.

57

Page 59: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Figura 3.12. Formularul Selecţie clienţi

Afişarea clienţilor în lista lstClienţi va fi executată la apelul evenimentului Load

af formei Selecţie clienţi.

Private Sub Form_Load()

On Error GoTo errHandler

Call ReincarcaDate

Exit Sub

Exit Sub

errHandler:

MsgBox "Description " & Err.Description

End Sub

58

Page 60: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Public Function ReincarcaDate() As Boolean

Dim rst As DAO.Recordset

Set rst = g_DB.OpenRecordset("SELECT * FROM Clienti",

dbOpenForwardOnly)

lstClienti.Clear

Do While Not rst.EOF

lstClienti.AddItem IIf(IsNull(rst.Fields(1).Value), "", rst.Fields(1).Value) & " –

" & IIf(IsNull(rst.Fields(2).Value), "", rst.Fields(2).Value)

lstClienti.ItemData(lstClienti.ListCount - 1) = rst.Fields("Cod_client").Value

rst.MoveNext

Loop

rst.Close

Set rst = Nothing

End Function

În cadrul acestei forme s-a făcut o căutare după numele clientului. La apelarea

evenimentului KeyUp al casetei de text txtcaută se va crea un nou obiect Recordset ce va

conţine toţi clienţii din tabelul Clienţi al bazei de date al căror nume începe cu litera

introdusă de utilizator în caseta txtcaută, în acelaşi timp actualizându-se şi lista lstClienţi.

Private Sub txtcauta_KeyUp(KeyCode As Integer, Shift As Integer)

Dim rst As DAO.Recordset

Set rst = g_DB.OpenRecordset("Select * From Clienti Where denumire like """ &

txtcauta.Text & "*""", dbOpenDynaset, dbForwardOnly)

If Not rst.EOF Then

lstClienti.Clear

Do While Not rst.EOF

lstClienti.AddItem (rst.Fields(1).Value & " - " & rst.Fields(2).Value)

rst.MoveNext

Loop

End If

59

Page 61: 225734838 Sistem Informatic de Gestiune Si Facturare Final

End Sub

Adăugarea clientului selectat din listă se va face prin execuţia următoarei

secvenţe de program:

Private Sub mnuAdauga_Click()

ifNew = True

LblStatus.Caption = "Adauga o noua inregistrare"

txtDenumire.SetFocus

If FlxClienti.Row > 0 Then

If Not ifSaved Then

If MsgBox("Salvati modificarile facute?", vbQuestion Or vbYesNo) = vbYes

Then

'salvare inregistrare

If CulegDate Then

Call SaveData

Else

Exit Sub

End If

Else

'initiez o noua inregistrare

End If

End If

End If

Call ClearTexts(Me)

myReg.IDClient = 0

ifSaved = False

mnuSterge.Enabled = False

mnuAdauga.Enabled = False

mnuSave.Enabled = True

Casute True

mnuAnuleaza.Enabled = True

60

Page 62: 225734838 Sistem Informatic de Gestiune Si Facturare Final

FlxClienti.Enabled = False

End Sub

După selectarea clientului căruia i se întocmeşte factura, a agentului care a adus

comanda de la client ce ajută la întocmirea facturii şi a datei curente se va putea apăsa

butonul de comandă Save.

Private Sub mnuSave_Click()

LblStatus.Caption = "Salveaza inregistrarea"

If CulegDate Then

If SaveData Then

ifSaved = True

End If

Call ClearTexts(Me)

End If

mnuAdauga.Enabled = True

Casute True

mnuSave.Enabled = True

mnuAnuleaza.Enabled = True

mnuSterge.Enabled = True

FlxClienti.Enabled = True

End Sub

Procedura SaveFactura apelată în cadrul evenimentului anterior execută

adăugarea unei noi înregistrări în tabelul Facturi al bazei de date şi afişarea valorilor

existente în controalele text, respectiv combobox de pe forma Facturi netrimise, în

casetele text existente pe forma Intocmire factură, casete ce nu sunt accesibile

utilizatorului, fiind folosite numai pentru afişarea datelor despre factură (date despre

client, despre agent şi numărul şi data întocmirii facturii).

61

Page 63: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Figura 3.13. Formular Întocmire factură

Pe această formă, pe lângă casetele text folosite pentru afişarea datelor despre

factură, mai sunt adăugate butoane de comandă folosite pentru adăugări de produse pe

factură, calculul valorii totale al facturii, controale etichete folosite pentru afişarea valorii

facturii şi un tabel flexibil pentru vizualizarea produselor ce sunt adăugate prin

intermediul formei Selecţie produse.

În momentul acţiunii asupra butonului Adaugă produs, va fi apelat evenimentul

Click corespunzător acestui produs.

62

Page 64: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Figura 3.14. Formular Selecţie produse

63

Page 65: 225734838 Sistem Informatic de Gestiune Si Facturare Final

CAPITOLUL 4

CALCULE TEHNICO – ECONOMICE PENTRU

EVALUAREA EFICIENŢEI SISTEMULUI

INFORMATIC PROIECTAT SI REALIZAT

Volumul mare al activitãtii necesare pentru a dezvolta si întreține programele (si

deci implicit nivelul înalt al costurilor asociate), justificã interesul din ce în ce mai larg

pentru asigurarea unei calitãti corespunzãtoare aplicațiilor precum si minimizarea

costurilor de elaborare a acestora. Sunt utilizate metode si instrumente adecvate analizei

în detaliu a cerințelor software si de elaborare sau testare a programelor, ce asigurã un

minimum de erori admisibile si o productivitate cât mai mare.

Evaluarea de software

Factorii de evaluare pentru software:

- eficienţa: rezultatele oferite în urma prelucrării, viteza de prelucrare, performanţele;

- flexibilitatea: posibilitatea de a prelucra datele oferite de alte soft-uri sau de a folosi

rezultatele prelucrării altor programe;

- securitate: măsura în care datele nu sunt afectate de atacuri informatice, viruşi şi

posibilitatea de a asigura secretul acestora;

- limbaj: dacă soft-ul se găseşte în limba locală;

- hardware: existenţa de conflicte cu hardware;

- cost: preţul de achiziţie;

- disponibilitate: posibilităţile de livrare imediată sau data livrării;

- compatibilitate: cu alte soft-uri sau sisteme de operare existente sau în curs de

achiziţie;

64

Page 66: 225734838 Sistem Informatic de Gestiune Si Facturare Final

- tehnologie: data fabricaţiei, versiunea programului sau generaţia din care face parte;

- documentaţia: dace este completă, forma în care se găseşte, limba în care este scrisă;

- ergonomie: dacă softul este uşor utilizabil în exploatare şi accesibil;

- suport: dacă există asistenţă on-line, perioada cât durează aceasta.

Ciclul de viatã al produsului software poate fi exprimat si prin procentul de timp alocat

fiecãrei etape din procesul de dezvoltare. Un exemplu tipic ar fi urmãtorul:

Analiza cerintelor: 7%

Elaborarea specificațiilor pentru programe: 12%

Proiectarea programelor: 21%

Implementarea programelor: 20%

Instalarea si testarea programelor: 40%

Pentru a învinge concurenta produsele trebuie sã coste cât mai puțin, sã fie de calitate si

sã aparã pe piatã cât mai repede. Acest obiectiv se poate atinge doar printr-o abordare

organizatã, planificatã, a procesului de dezvoltare. Unul din primii pașirealizați atunci

când se ia decizia de elaborare a unui nou program este evaluarea calitativã si cantitativã

a acestuia pentru a stabili în mod corect necesarul de resurse umane, materiale si de timp.

Iatã în continuare o descriere a celor mai recente metode de evaluare, impuse pe scarã

largã. Atenția se va concentra în special asupra metodelor de evaluare dimensionalã si

functionalã, acestea fiind cel mai des utilizate datoritã performantelor lor.

Metode de evaluare a sistemelor informatice de către dezvoltatori

Sistemul informatic poate fi evaluat în mod direct fie indirect. Prin evaluarea directã a

procesului de inginerie software se înțelege determinarea costurilor si a eforturilor

asociate. Ea presupune calculul numãrului liniilor de cod (LOC - lines of code) scrise,

determinarea vitezei de execuție, a dimensiunii memoriei, precum si a numãrului de

defecte raportat într-un anumit interval de timp.

Evaluarea indirectã a produsului reprezintã în fapt o analizã a functionalitãtii, calitãtii,

complexitãtii, eficientei, fiabilitãtii, întreținerii si multor altor caracteristici.

65

Page 67: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Costul si efortul necesar pentru a dezvolta software, calculul numãrului de linii de cod

(LOC) precum si alte estimãri directe sunt relativ ușor de estimat inițial. Totuși, calitatea

si funcționalitatea sau eficienta si întreținerea sunt mult mai dificil de evaluat si pot fi

mãsurate doar în mod indirect. Metodele de evaluare ale produsului pot fi descrise dupã

cum urmeazã:

Evaluarea productivã se concentrează asupra rezultatelor finale ale procesului de

inginerie software;

Evaluarea calitativã oferã o indicație a cât de aproape este produsul software de

cerințele implicite si explicite ale clientului;

Evaluarea tehnicã evidențiazã mai degrabă caracteristicile produsului software (ex.:

complexitatea logicã, gradul de modularizare) decât procesul prin care acesta a

fost dezvoltat;

Evaluarea dimensionalã este utilizatã pentru a "colecta" evaluãrile directe ale

rezultatelor si calitãtii procesului de inginerie software;

Evaluarea functionalã oferã o evaluare indirectã;

Evaluarea orientatã pe resursele umane oferã informații asupra modului în care

programatorii dezvoltã un produs software precum si asupra percepției eficientei

instrumentelor si modelelor de dezvoltare.

În continuare vom face o abordare detaliatã a douã dintre metodele de evaluare expuse ce

sunt mai frecvent utilizate de cãtre casele de soft.

Metoda evaluãrii dimensionale

Evaluarea dimensionalã a produsului software reprezintã o estimare directã a acestuia

precum si a procesului prin care el este dezvoltat. Daca un manager de proiect menține

înregistrãri simple, poate fi creat un tabel cu datele ordonate după criteriul dimensiunii.

Pentru fiecare proiect, datele dimensionale uzuale sunt:

-efortul estimeazã necesarul de resurse umane si se mãsoarã în programatori-pe-lunã

sau programatori-pe-an;

KLOC (Kilo Lines of Code) - mii de linii de cod;

66

Page 68: 225734838 Sistem Informatic de Gestiune Si Facturare Final

-valoarea este exprimarea bãnescã a efortului;

-pagini de documentație;

-numãrul de erori raportate de utilizatori într-o perioadã de timp (de pildã un an).

-numãrul de programatori care au lucrat la dezvoltarea produsului software.

Din datele primare conținute într-un astfel de tabel (vezi caseta "Evaluarea

dimensionalã")poate fi realizatã o evaluare a productivitãtii si una a calitãtii, orientate

dimensional, pentru fiecare proiect în parte:

Productivitatea = KLOC / Programatori-pe-lunã

Calitatea = Numãr de erori / KLOC

În completare, pot fi calculațialți parametriinteresanți:

Cost = Valoare / KLOC

Documentație = Pagini de documentație / KLOC

Utilizarea parametrilor dimensionali (KLOC, efort, etc.) este controversatã si ei nu sunt

universal acceptați ca reprezentând cea mai bunã metodã de evaluare a procesului de

dezvoltare software. Controversa se învârte în jurul utilizãrii liniilor de cod LOC ca

mãrime principalã. Sustinãtorii variabilei LOC afirmã cã aceasta este un artefact al

tuturor proiectelor de dezvoltare software si poate fi ușor calculatã, ca multe modele de

estimare utilizeazã LOC sau KLOC ca date de intrare principale si cã existã deja o

literaturã imensã (plus date asociate) dedicatã LOC. Pe de altă parte, opozanții reclamã cã

variabila LOC este dependentã de limbajul de programare, cã LOC poate penaliza

programe bine proiectate dar scurte, cã nu se poate asocia usor limbajelor neprocedurale

si cã utilizarea ei în estimare necesitã un nivel de detaliere care poate fi dificil de obținut

(ex: managerul de proiect trebuie sã estimeze numãrul de linii de cod ce trebuie produse

cu mult înainte ca analiza si proiectul programului sã fi fost încheiate).

Evaluarea Functionalã

Parametrii ce caracterizeazã din punct de vedere funcțional produsul software reprezintã

o evaluare indirectã a acestuia si a procesului prin care el este dezvoltat. Evitând calculul

LOC, parametri funcționali se concentrează asupra "functionabilitãtii" sau "utilitãtii"

programului. Acest tip de evaluare a fost propus pentru o abordare prin mãsurarea

67

Page 69: 225734838 Sistem Informatic de Gestiune Si Facturare Final

productivitãtii, numitã metoda scorului funcțional. Scorul funcțional (SF) este obținut

utilizând o relație empiricã bazatã pe estimãri calculabile ale domeniului de informație al

produsului precum si pe evaluãri ale complexitãtii aplicației.

Valorile domeniului de informație se definesc în urmãtorul mod:

Numãrul de intrări a utilizatorului: Fiecare intrare a utilizatorului care furnizeazã

aplicației date distincte orientate cãtre aceasta este luatã în calcul. Intrãrile vor

trebui distinse de interogãri, care sunt calculate separat.

Numãrul de ieșiri a utilizatorului: Fiecare ieșire cãtre utilizator, care furnizeazã

acestuia informații orientate cãtre aplicație, este luatã în calcul. În acest context

termenul "iesire" se referã la rapoarte, ecrane, mesaje de eroare, etc. Datele

individuale ale unui raport nu sunt calculate separat.

Numãrul de interogãri a utilizatorului: O interogare este definitã ca o intrare on-line

ce are drept rezultat generarea unui rãspuns imediat al aplicației sub forma unei

ieșiri on-line. Fiecare interogare distincta este luatã în calcul.

Numãrul de fișiere: Fiecare fișier logic de tip "master", cum ar fi o colecție logicã de

date care poate fi parte a unei baze de date largi sau a unui fișier individual, este

luat în calcul.

Numãrul de interfețe externe: Toate interfețele citibile de cãtre masinã (fișiere de date

pe bandã sau disc dur) care sunt utilizate pentru a transmite informații cãtre alt

sistem sunt luate în calcul.

Odatã ce datele de mai sus au fost colectate, un indice de complexitate este asociat

fiecãrui calcul. Organizațiile care utilizeazã metoda scorului funcțional dezvoltã criterii

pentru a stabili faptul dacã o anumitã intrare este simplã, medie sau complexã.

Bineînțeles, determinarea complexitãtii este un proces relativ subiectiv. Pentru a calcula

scorul funcțional, este utilizatã urmãtoarea relație:

SF = totalul-de-calcul * 0.65 + 0.01 * SUM (Fi);

unde totalul-de-calcul este suma rezultatelor parțialeobținute prin ponderarea valorilor

domeniului de informație. Valorile constante din ecuația de mai sus precum si factorii de

influentã care sunt aplicați calculului domeniului de informații sunt determinați empiric.

68

Page 70: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Valorile de ajustare a complexitãtii (Fi, i=1...14) se determinã evaluând 14 factori:

Necesitã sistemul back-up si recovery?

Sunt necesare facilitãti de comunicații de date?

Sunt necesare funcții de procesare distribuitã?

Este criteriul performantei critic?

Va rula sistemul într-un mediu operațional utilizat intens?

Necesitã sistemul intrãri de date în regim on-line?

Necesitã sistemul de intrãri de date în regim on-line, ca procesul de introducere al datelor

sã aibã loc pe ecrane sau prin operațiuni multiple?

Sunt fișierele actualizate on-line?

Sunt intrãrile, ieșirile si interogãrile complexe?

Este procesul intern complex?

Este codul proiectat astfel încât sã fie reutilizat?

Sunt conversia si instalarea programului incluse în design?

Este sistemul proiectat pentru instalãri multiple în organizații diferite?

Este aplicația proiectatã astfel încât sã faciliteze modificarea si ușurința în utilizare din

partea beneficiarului?

Fiecare factor este evaluat cu o notã de la 0 la 5, având semnificațiile:

0 - Nu influenteazã;

1 - Incidental;

2 - Moderat;

3 - Mediu;

4 - Semnificativ;

5 - Esențial;

Odatã ce scorul funcțional a fost calculat, el este utilizat într-o manierã asemãnatoare cu

metoda LOC ca o mãsurã a productivitãtii, a calitãtii si a altor atribute ce definesc

programul:

Productivitatea = SF / Programatori-pe-lunã

Calitatea = Numãr Defecte / SF

Costul =Valoare / SF

69

Page 71: 225734838 Sistem Informatic de Gestiune Si Facturare Final

Documentația= Pagini de Documentație / SF

Evaluarea pe baza scorului funcțional a fost conceputã inițial pentru a putea fi utilizatã în

sistemele de informații pentru afaceri. Totuși, extinderea propusã ulterior, denumitã scor

caracteristic (SC), poate permite aplicarea acestei metode si în cazul programelor din

domeniul sistemelor inginerești. Scorul caracteristic este adecvat descrierii aplicațiilor în

care complexitatea algoritmilor este înaltã. Aplicațiile în timp real, de control al

proceselor precum si cele orientate spre obiecte au tendința de a avea o complexitate

algoritmicã mare si sunt prin urmare potrivite evaluãrii prin metoda scorului caracteristic.

Pentru a calcula acest scor valorile domeniului informațional sunt din nou contorizate si

ponderate. Spre deosebire de calculul scorului funcțional, scorul caracteristic ia în

considerare încã un domeniu de informație (algoritmi) iar valorile de ponderare sunt fixe.

Valoarea scorului caracteristic final se obține din ecuația:

SC = totalul-de-calcul * 0.65 + 0.01 * SUM (Fi);

REZULTATELE EVALUARII PROGRAMULUI REALIZAT COMPARATIV

TIP PARAMETRU

( in general adimensional)

APLICATIA

REALIZATA

DOMENIU VALORI PROGRAME SIMILARE

KLOC (Kilo Lines of Code) 7,8 N/A

SF (scorul funcțional) 6,4 5-8

Productivitatea 14 10-15

Calitatea 2 1-1,5

Costul 400 1000-1400

Documentația 1 2-3

SC (scorul caracteristic final) 1425 500-3000

70

Page 72: 225734838 Sistem Informatic de Gestiune Si Facturare Final

CAPITOLUL 5

CONCLUZII ASUPRA IMPLEMENTARII

SISTEMULUI INFORMATIC

1. Realizarea programului a respectat fazele dezvoltării unui produs software

Faza de analiza

Faza de proiectare

Faza de implementare

Faza de testare

2. Din cadrul metodologiilor de dezvoltare a programelor, metodologii generice

abordate au fost: Metodologia secvențială siMetodologia ciclica iar din

cadrulmetodologiilor concrete,Metodologia cascada si Prototipizarea.

3. S-au respectat etapele necesare pentru managementul unui proiect software:

Planificarea proiectului

Controlul proiectului

Managementul configuraţiei

Managementul echipei ( Managementul forţei de muncă si Organizarea echipei).

4. Estimarea costurilor programului s-a realizat prin Modele algoritmice clasice in

care s-a ținut cont si de Distribuirea forței de munca in timp.

5. Fiind un program puternic dependent de legislația financiara si din domeniul

contabil s-a ținut cont in dezvoltarea aplicației de posibilitatea de reutilizare a

resurselor.

Posibilitatea de Reutilizare a produselor intermediare, a unor Biblioteci si componente

software, Șabloane, Reutilizarea proiectării, Reutilizarea instrumentelor si a tehnicilor

precum si de unele Aspecte non-tehnice ale reutilizării software: Economia refolosirii

software si de aspecte psihologice ale refolosirii software .

71

Page 73: 225734838 Sistem Informatic de Gestiune Si Facturare Final

De exemplu, programul trebuie să permită trecerea la oricare din metodele declarate că vor

fi utilizate in raportăricătreadministrația financiară pentru gestiunea stocurilor:

o Folosind metoda Cost mediu unitar ponderat

o Folosind metoda FIFO (primul intrat primul ieşit)

o Folosind metoda LIFO (ultimul intrat primul ieşit)

6. Ingineria cerințelor

Pentru proiectare si realizare s-a ținut cont de: Metode pentru identificarea cerințelor

utilizatorilor, Metode pentru specificarea cerințelor utilizatorilor si crearea unui

Document al cerințelor utilizatorului.

72

Page 74: 225734838 Sistem Informatic de Gestiune Si Facturare Final

BIBLIOGRAFIE

1.Burada, Corneliu. Contabilitatea stocurilor cumpărate in metodele

cost standard si

preț cu amânuntul. In : Gestiunea si contabilitatea firmei, v.10, nr. 7, p.

15-20,

2007;

2. Ilie, Vasile. Gestiunea financiara a întreprinderii. București: Meteor

Press, 2006;

3. Moroșan, Ioan. Monografie contabila privind stocurile – partea I -. In :

Contabilitatea, expertiza si auditul afacerilor, nr. 3, p. 25-33, 2007;

4. Ristea, Mihai. Tratamente contabile si informaționale privind

imobilizările corporale. In : Gestiunea si contabilitatea firmei, v. 10, nr.

8, p. 2-23, 2007;

5.Ștefănescu, Aurelia ; Nisuleascu, Ileana. Practici contabile privind

stocurile in entitățile sectorului public. In : Gestiunea si contabilitatea

firmei, v. 9, nr. 5, p. 29-30, 35-37, 2006;

6. Bigan Cristin Gestiunea Bazelor de date ed. Agerpress București 2007

7. Bigan Cristin, Sisteme informatice , Ed. Bren 2010

8. Microsoft Corporation – Microsoft Office Users Guide – www.microsoft.com

73