Pagina 1 din 2

situatii clienti/furnizori

Scris: Mie Feb 01, 2006 2:28 pm
de enachev932
Utilizez SAGA S de vreo saptamana, am introdus soldurile la clienti si furnizori pt. preluare 2005 si intrarile/iesirile pe ianuarie 2006. Acum am si eu 2 probleme:
1. la situatie clienti vad la neachitat final/neachitat la zi suma totala pe care mi-o datoreaza clientii. Pe mine ma intereseaza foarte mult sa vad la o anumita data care este suma scadenta la plata, pentru ca unele facturi nu au ajuns la scadenta (am introdus nr. de zile la scadenta cand am configurat clientii), pentru ca asa a-si vedea in fiecare zi unde trebuie sa trimit agentii sa faca incasari, adica unde sunt restante si/sau facturi care in acea zi ajung la scadenta.
Aceeasi problema e cu furnizorii, a-si vrea sa vad in fiecare zi ce intrari au ajuns la scadenta si trebuie platite. Cum sa fac asta?
2. cand primesc sau eliberez un CEC cu o data scadenta ulterioara cum le introduc la plati/incasari, ca imi apare mesaj cum ca data nu e valida. Daca nu pot fi introduse ca plati/incasari, unde le pot nota (ca niste observatii sau asa ceva) ca atunci cand scot o situatie pe client/furnizor sa vad ca s-a eliberat acel CEC, sa nu fiu in situatia de a mai elibera sau primi unul.

p.s.: nu-s nici contabil, nici programator, asa ca explicati-mi ca la ingineri :). Am contabil pt firma, dar contabilitatea primara, gestiune stocuri, evidenta analitica clienti/furnizori mi-o fac singura.

Re: situatii clienti/furnizori

Scris: Joi Feb 02, 2006 6:08 pm
de tomac
enachev932 scrie:Utilizez SAGA S de vreo saptamana, am introdus soldurile la clienti si furnizori pt. preluare 2005 si intrarile/iesirile pe ianuarie 2006. Acum am si eu 2 probleme:
1. la situatie clienti vad la neachitat final/neachitat la zi suma totala pe care mi-o datoreaza clientii. Pe mine ma intereseaza foarte mult sa vad la o anumita data care este suma scadenta la plata, pentru ca unele facturi nu au ajuns la scadenta (am introdus nr. de zile la scadenta cand am configurat clientii), pentru ca asa a-si vedea in fiecare zi unde trebuie sa trimit agentii sa faca incasari, adica unde sunt restante si/sau facturi care in acea zi ajung la scadenta.
Aceeasi problema e cu furnizorii, a-si vrea sa vad in fiecare zi ce intrari au ajuns la scadenta si trebuie platite. Cum sa fac asta?
Din Saga S nu poti obtine lista cu facturile ajunse la scadenta, deocamdata. Am si facut o propunere in acest sens de a fi implementata o astfel de lista.
Se poate obtine o astfel de lista daca te folosesti de facilitatile oferite de optiunea Selectii din baza de date.
Am sa-ti scriu mai detaliat cum poti obtine de acolo astfel de liste, pentru ca e destul de mult de scris pentru a descrie procedura pas cu pas.
enachev932 scrie: 2. cand primesc sau eliberez un CEC cu o data scadenta ulterioara cum le introduc la plati/incasari, ca imi apare mesaj cum ca data nu e valida. Daca nu pot fi introduse ca plati/incasari, unde le pot nota (ca niste observatii sau asa ceva) ca atunci cand scot o situatie pe client/furnizor sa vad ca s-a eliberat acel CEC, sa nu fiu in situatia de a mai elibera sau primi unul.
In mod normal ar trebui sa te lase ca la data platii/incasarii sa scrii orice data ulterioara facturii sau scadentei. Eu nu am astfel de probleme. Nu poti introduce o plata sau incasare daca data pe care vrei sa o introduci la documentul respectiv se afla cuprinsa intr-un interval de timp pentru care s-au generat note contabile in vederea transferului acestora in Saga C.

Scris: Joi Feb 02, 2006 10:41 pm
de enachev932
Multumesc Tomac pentru raspuns. Te rog sa-mi scrii sum sa fac selectia dupa scadente , ca nu m-am descurcat singura. Dar cred ca ar fi foarte bine daca programul ar avea optiunea de generare a unei astfel de liste.
Cu cec-urile ai dreptate, dupa ce imi apare mesajul "data este invalida" pot totusi sa merg mai departe si sa inregistrez incasarea.

Scris: Sâm Feb 04, 2006 6:13 pm
de tomac
Pasul 1
Se intra in meniul Administrare si se alege optiunea Selectii din baza de date.
Aceasta optiune ne pune la dispozitie mecanisme puternice de extragere de date, seturi si/sau subseturi de date din tabelele utilizate de aplicatie.

In cazul nostru, daca ar fi traducem intr-un limbaj natural instructiunea pe care dorim sa o transmitem programului, pentru ca acesta sa extraga datele dorite de noi (lista facturilor emise catre clienti si care au scadenta azi sau au avut scadenta pina azi), am spune cam asa:
* Selecteaza toate numerele de facturi, numele clientilor, data emiterii facturii, data scadentei facturii, suma ramasa de incasat si codul agentului care a livrat marfa
* selectia sa o faci din fisierul de iesiri respectind urmatoarele conditii:
* suma ramasa de plata sa fie mai mare de zero, factura sa fie validata, data scadentei sa fie mai mica sau egala cu data zilei.

Pentru acesta, intrind pe optiunea de selectii vom putea construi o astfel de comanda (comanda SQL) pe care programul sa o inteleaga si sa o poata executa.

In momentul alegerii optiunii - Selectii din baza de date, va aparea o fereastra cu titlul:Selectii - Pasul 1
In acea fereastra, in partea stinga se vor gasi fisierele din care se vor extrage datele, si inca doua liste nepopulate inca.
Pentru a obtine pentru clienti, lista facturilor ajunse la scadenta, din acea lista, vom selecta,dind clic cu mouse-ul pe fisierul cu numele IESIRI.
In momentul in care se selecteaza fisierul Iesiri, lista din mijloc va fi populata cu cimpurile tabelei Iesiri.

Butoanele >> > < << au urmatoarea semnificatie:
>> muta toate cimpurile din lista de mijloc in a treia lista (lista de selectie efectiva)
> muta doar unul din cimpuri (cel selectat) in lista de selectie
< sterge din lista de selectie efectiva, cimpul selectat
<< sterge din lista de selectie efectiva toate cimpurile

Dind clic cu mouse-ul pe cimpul care ne intereseaza si apasind butonul > cimpul va fi trebut in cea de-a treia lista.Acelasi efect il vom obtine dind dublu clic pe cimpul corespunzator din lista aflata la mijloc.

A treia lista este cea care va cuprinde informatiile ce prezinta interes pentru noi.
Pentru a extrage informatiile necesare noua, asa cum am aratat in partea de introducere, vom selecta urmatoarele cimpuri:
iesiri.nr_iesire - numarul de factura
iesiri.denumire - numele clientului
iesiri.data - data facturii
iesiri.scadent - data scadentei facturii
iesiri.neachitat - soldul facturii
iesiri.agent - codul agentului


Cind in cea de-a treia lista vom avea toate aceste cimpuri, apasam butonul din partea de jos, pe care scrie "Urmator".

* Acum avem prima parte a comenzii, cea in care instruim programul ce date, informatii, sa extraga.

Ajungem la Selectii - Pasul 2
* Aici trebuie sa instruim program ce conditii trebuie sa indeplineasca datele pentru a fi extrase.
Conditiile sunt de 2 feluri:
- cumulative - trebuie indeplinite toate conditiile puse
- singulare - cel putin una din conditii trebuie sa fie indeplinita
* aici poate ca un programator va spune ca nu am descris corect modul de utilizare a operatorilor de grupare

Conditiile se unesc cu operatorii logici AND-si / OR-sau
AND - "si" - se utilizeaza atunci cind toate conditiile trebuie sa fie indeplinite
OR - "sau" - se utilizeaza atunci cind cel putin una din conditii este indeplinita
In cazul nostru analizind conditiile pe care trebuie sa le indeplineasca datele extrase, constatam ca acestea trebuie indeplinite in totalitate, adica vom folosi doar operatorul logic AND.
Cum introducem conditiile de selectare:
Observam ca avem o lista derulanta cu toate cimpurile tabelei iesiri, imediat sub sintagma :Conditii de selectie
Mai observam faptul ca operatorul AND este selectat ca implicit
Langa lista cimpurilor tabelei, avem o lista de operatori matematici (de comparare), iar in dreapta listei operatorilor de comparare avem o caseta de introducere de date.
Care sunt conditiile pe care trebuie sa le indeplineasca selectia noastra:
1.factura sa fie validata
2.soldul facturii sa fie mai mare de zero
3.data scadentei sa fie mai mica sau egala cu data zilei in care ma aflu

Toate conditiile aratate anterior trebuie sa fie indeplinite pentru ca datele sa fie extrase.

Din pacate nu va pot arata cum se construiesc toate conditiile, intrucit SAGA S 211 genereaza eroare (Unknow member OPT 1 - 1925) la selectarea a mai mult de o conditie, dar le vom insera ulterior.

Sa le si construim.
Conditia 1:
a.din lista cimpurilor selectam cimpul iesiri.neachitat
b.din lista operatorilor de comparare selectam semnul > (mai mare)
c.in casuta de editare vom scrie 0 (zero in cifre)

Ei, acum in lista de jos avem urmatoarea expresie:

iesiri.neachitat>0

Cu asta am terminat de stabilit,conditia si putem trece la pasul 3 apasind bineinteles butonul "Urmator"

Am ajuns la pasul 3, unde putem selecta ordinea de afisare a informatiilor, modul lor de grupare etc.
Intrucit nu ne intereseaza sa avem informatii grupate in aceasta lista, vom avea treaba numai cu lista in care introducem ordinea de afisare a informatiilor (modul in care ele vor fi ordonate in lista)

O ordine logica ar fi urmatoarea:
1.pe agent
2.in cadrul agentului, pe firme
3.in cadrul firmelor, pe date de scadenta
Pentru stabilirea acestei ordini, vom selecta din lista aferenta (cea din dreapta cuvintului Ordine), urmatoarele cimpuri:
iesiri.agent
iesiri.denumire
iesiri.scadent

Lista de ordine trebuie sa contina doar cele 3 cimpuri. Daca le am in lista, pot apasa butonul "Urmator"
Asa am ajuns la ultimul pas, Pasul 4 al selectiilor, unde vom finaliza ceea ce am realizat anterior.
Pentru a nu repeta cele aratate anterior, vom bifa in dreptul optiunii Salvare parametrii pentru listari ulterioare si vom completa la fisier pentru salvarea parametrilor: lista_scadente
si vom bifa optiunea "Vizualizare"

In acest moment putem apasa butonul "FINAL"
Dupa apasarea butonului Final vom obtine deja lista facturilor care au sold mai mare de zero, dar nu ne este suficient pentru ca ne lipsesc 2 conditii importante: data scadentei<=data zilei si validat="V" (adica factura sa fie validata), ba mai mult din considerente practice, este ineficient sa reconstruim aceasta selectie zilnic, de aceea imediat dupa ce inchidem fereastra de previzualizare a listei pe care tocmai am obtinut-o vom face o mica modificare in codul generat de program in asa fel incit de cite ori vom apela aceasta selectie sa ne ofere lista facturilor care au ajuns sau vor ajunge la scadenta in ziua in care fac selectia.

Pentru a modifica selectia in acest sens, vom intra pe Administrare - > Selectii existente
Se va deschide o fereastra in care vom gasi:
Nr.crt = 1
fisier = lista_scadent
explicatie = iesiri -
data=data la care am creat selectia

In partea de jos vom avea butoanele:
Selectie noua... - creez o alta selectie
Sterg - sterge selectia salvata (ATENTIE MARE LA ACEST BUTON. NU-L APASATI CA VA STERGE TOT CE ATI REALIZAT ANTERIOR)
Cod SQL - contine codul SQL al comenzii
Start - va lansa in executie comanda
Iesire

Pe noi ne intereseaza butonul Cod SQL.
Apasam acest buton si se va deschide o fereastra in care vom avea urmatorul cod SQL:

SELECT IESIRI.NR_IESIRE, IESIRI.DENUMIRE, IESIRI.SCADENT, IESIRI.NEACHITAT, IESIRI.AGENT;
FROM IESIRI;
WHERE IESIRI.NEACHITAT>0;
ORDER BY IESIRI.AGENT,IESIRI.DENUMIRE,IESIRI.SCADENT;
INTO DBF C:\TEMP\LAST_SEL.DBF

noi vom modifica acest cod, in asa fel incit acesta sa arate astfel:

SELECT IESIRI.NR_IESIRE, IESIRI.DENUMIRE, IESIRI.SCADENT, IESIRI.NEACHITAT, IESIRI.AGENT;
FROM IESIRI;
WHERE IESIRI.NEACHITAT>0 AND IESIRI.VALIDAT="V" AND IESIRI.SCADENT<=DATE() ;
ORDER BY IESIRI.AGENT,IESIRI.DENUMIRE,IESIRI.SCADENT;
INTO DBF C:\TEMP\LAST_SEL.DBF

Imediat dupa efectuarea modificarii, iesim din fereastra apasind combinatia de taste CTRL+W pentru a salva modificarile facute.

Daca va uitati cu atentie la cele doua comenzi, veti vedea ca am adaugat cele 2 conditii lipsa punind insa la conditia legata de data scadentei, conditia ca scadenta sa fie mai mica sau egala cu data generata de functia DATE().
Functia DATE() are rolul de a intoarce ca valoare data curenta, de aceea pentru rezultate corecte, data calculatorului trebuie sa fie setata corect.
Exemplu
Aceasta comanda rulata in data de 06/02/2006 va extrage lista facturilor validate neachitate si care au scadenta in data de 06/02/2006 sau au avut scadenta pina la acea data.


Tot ce trebuie sa fac de acum inainte pentru a obtine lista facturilor emise de catre clienti este:
1.sa aleg din meniu Administrare - Selectii Existente
2.sa ma pozitionez pe selectia dorita (asta in cazul in care am mai multe selectii)
3.sa apas butonul Start
4.din fereastra care va apare sa-mi aleg vizualizare si apoi sa listez

Sper ca am fost destul de explicit in modul de utilizare a procedurii de selectie a datelor

Scris: Lun Feb 06, 2006 11:07 am
de herganiec
tomac scrie:Pasul 1
Se intra in meniul Administrare si se alege optiunea Selectii din baza de date.
Aceasta optiune ne pune la dispozitie mecanisme puternice de extragere de date, seturi si/sau subseturi de date din tabelele utilizate de aplicatie.

selectie a datelor
:idea :!: ar tebui sa existe si 2-3 exemple de selectii implementate direct aici in program pt a putea invata utilizatorii sa-si faca apoi propriile selectii, pt mijloace fixe, pt salariati, furnizori clienti ... etc

De obicei managerul sau patronul mai cere anumite rapoarte ca s-ar putea lista prin selectiile acestea.
Poate pe viitor ... se fac cateva selectii utile si se pun aci in program :?:
Ar fii util ? ce credeti ? :roll:

Scris: Lun Feb 06, 2006 3:41 pm
de enachev932
uaaaau, Tomac, multumesc frumos, ai avut o rabdare sa-mi explici...daca a-si fi stiut ce-ti cer, sincer, nu a-si fi indraznit. Acum am deschis forumul, ma pun pe citit raspunsul tau si la munca!

Scris: Lun Feb 06, 2006 3:44 pm
de tomac
N-ai pentru ce.
De ce sa nu fi indraznit? De asta exista forumul. Daca exista o problema si cineva are o solutie, atunci trebuie publicata pentru ca toti cei care au o astfel de problema sa o poata rezolva sau pentru ca altcineva sa vina cu o solutie mult mai buna decit cea prezentata initial.

Scris: Mar Feb 07, 2006 4:14 am
de Administrator
:shock: :shock: :shock: :shock: :shock: :shock:
De obicei, daca mi se cer detalii despre utilizarea modulului de selectii din baza de date spun ca.. e mai greu.. ca nu se poate.. ca mai bine nu.. ca e numai pentru noi..

Scris: Mar Feb 07, 2006 9:59 am
de septimiuv
:roll: yo inca sunt la pasu' unu :D

n-am cuvinte pt tomac.... e o bomboana 8)

Scris: Mar Feb 07, 2006 12:37 pm
de tomac
Administrator scrie::shock: :shock: :shock: :shock: :shock: :shock:
De obicei, daca mi se cer detalii despre utilizarea modulului de selectii din baza de date spun ca.. e mai greu..
SQL nu e greu deloc. Se apropie de limbajul natural asa ca... :lol: :lol:
septimiuv scrie: inca sunt la pasu' unu.
n-am cuvinte pt tomac.... e o bomboana

:oops: :oops: multam'.

Scris: Mie Feb 08, 2006 5:41 pm
de enachev932
Am reusit! nu din prima incercare, desi nu-mi dau seama unde greseam.
Tomac, multumesc inca o data.

Pentru Admin: daca si un nespecialist o poate face, cred ca pt tine e usor sa adaugi in program o astfel de lista de scadente. Pentru agenti este foarte utila.

Scris: Mie Feb 08, 2006 6:03 pm
de tomac
enachev932 scrie:Am reusit! nu din prima incercare, desi nu-mi dau seama unde greseam.
Ma bucur. Inseamna ca am explicat suficient de bine, asa cum ai cerut (mai pe gustul unui inginer :lol: :lol: :lol: :lol: )
enachev932 scrie:Pentru Admin: daca si un nespecialist o poate face, cred ca pt tine e usor sa adaugi in program o astfel de lista de scadente. Pentru agenti este foarte utila.

De unde stii ca nu sunt specialist :?: :roll: :lol: :lol:
Glumesc. Imi place SQL inca de cind invatam Fox.
Nu dati in Admin. Au fost atit de multe alte prioritati incit...
Va exista la un moment dat, dar trebuie sa avem si noi rabdare. Puneti-va in locul Administratorului: trebuie sa multumeasca o gramada de utilizatori fiecare cu pretentiile lui si va asigur eu ca nu e usor defel.

Scris: Mie Feb 08, 2006 7:55 pm
de enachev932
Inseamna ca am explicat suficient de bine, asa cum ai cerut (mai pe gustul unui inginer :lol: :lol: :lol: :lol: )
Exact :D
Imi place SQL inca de cind invatam Fox.
Am facut si eu ceva "programare' in fac., dar nu s-a lipit de mine.
Nu dati in Admin.
nici gand n-am avut de asa ceva, am vrut doar sa prind un loc pe lista de sugestii cu rezolvare in viitor.

Scris: Joi Feb 09, 2006 2:21 pm
de enachev932
Dupa modelul de selectie pentru lista de scadente - iesiri (clienti), am creat-o si pe cea pentru scadente - intrari (furnizori). Acum plusez si mai pun o intrebare: cum pot da o comanda in codul SQL astfel incat sa am si totalul sumelor neachitate scadente prezente in lista? (sa-mi faca suma coloanei cu INTRARI/IESIRI.NEACHITAT) s-ar putea sa-mi faca si sume partiale, adica pe fiecare client/furnizor in parte? (cer prea mult? :D adevarul e ca imi place tot mai mult programul asta si daca mai si raspunde la cerinte proprii utilizatorilor e chiar perfect)

Alta problema: pot sa salvez baza de date si pe CD, nu numai pe discheta? Calculatorul meu nu are floppy disk, acu e musai sa ma duc sa-mi puna? (e in garantie, trebuie sa merg cu el la magazin). Daca se poate salva pe CD, ce fisiere trebuie sa copii?

Scris: Vin Feb 10, 2006 12:54 pm
de tomac
enachev932 scrie:Dupa modelul de selectie pentru lista de scadente - iesiri (clienti), am creat-o si pe cea pentru scadente - intrari (furnizori).
Felicitari! Se vede ca incepe sa-ti placa :lol:
enachev932 scrie:Acum plusez si mai pun o intrebare: cum pot da o comanda in codul SQL astfel incat sa am si totalul sumelor neachitate scadente prezente in lista? (sa-mi faca suma coloanei cu INTRARI/IESIRI.NEACHITAT) s-ar putea sa-mi faca si sume partiale, adica pe fiecare client/furnizor in parte? (cer prea mult?
Cel mai simplu se face prin modificarea raportului apelind la optiunea "Modificare raport". Nu cred ca se poate cu o singura comanda SQL pentru ca asta ar presupune ca acea comanda sa faca o selectie dintr-o tabela care sa junctioneze cu ea inasasi.
Clauza de grupare in acea comada select generata de program poate duce la obtinerea unei liste cu totalul pe fiecare firma, nu cu detalii si cu subtotaluri.
enachev932 scrie:Alta problema: pot sa salvez baza de date si pe CD, nu numai pe discheta? Calculatorul meu nu are floppy disk, acu e musai sa ma duc sa-mi puna? (e in garantie, trebuie sa merg cu el la magazin). Daca se poate salva pe CD, ce fisiere trebuie sa copii?

Salveaza din folderul SAGA S 3.0 cel in care s-a instalat programul folderul 0001 sau cum se numeste folderul care corespunde codului firmei pentru care salvezi datele.
Pentru o mai buna organizare a salvarilor pe CD poti face astfe:
1.Iti creezi un folder Salvari
2.In cadrul lui creezi un folder care se numeste aaaallzz (aaaa=an, ll=luna, zz=zi) de exemplu daca faci salvari in 10/02/2006, creezi in Salvari un folder cu numele 20060210
3.In Salvari->AAAALLZZ copiezi folderul pe care vrei sa-l salvezi

Daca doresti salvarea sub forma de arhiva, din folderul Salv_bd-cod firma poti salva fisierul care contine arhiva generata de program prin functia de intretinere bd.