126 lines
5.3 KiB
Plaintext
126 lines
5.3 KiB
Plaintext
***************************************************************************************************************
|
|
**** Proceduri:
|
|
**** vizualizeaza_curs
|
|
**** citeste_cursuri_stoc
|
|
**** citeste_curs_zi
|
|
***************************************************************************************************************
|
|
****************************************** INCEPUT: vizualizeaza_curs *****************************************
|
|
Procedure vizualizeaza_curs
|
|
*!* modificare ROAFACTURARE v 2.0.46
|
|
Lparameters tdDataCurs
|
|
*!* modificare ROAFACTURARE v 2.0.46 ^
|
|
Private poCurs
|
|
Local lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, loFrmCurs
|
|
Store .F. To llAfiseaza
|
|
Store '' To poCurs
|
|
If Used('crscurs')
|
|
Use In crscurs
|
|
Endif
|
|
|
|
lcSchema = ['id_curs n(10),id_valuta n(10),data d,data2 d,nume_val c(100),curs n(20,gnPCurs),multiplicator N(10),id_valuta_iso N(10),iso_valuta C(3),curs_bnr n(20,4)']
|
|
lcSelect = ['select id_curs,id_valuta,data,data2,nume_val,curs,multiplicator,id_valuta_iso,iso_valuta,curs_bnr from ] + gcS + [.vcurs where 2=2']
|
|
lcOrder = [data]
|
|
*!* modificare ROAFACTURARE v 2.0.46
|
|
*!* lcFiltru = [1 = 2]
|
|
lcFiltru = Iif(Empty(tdDataCurs),[1 = 2],[data <= to_date('] + Dtoc(tdDataCurs,1) + [','YYYYMMDD') ] + ;
|
|
[and data2 >= to_date('] + Dtoc(tdDataCurs,1) + [','YYYYMMDD') ])
|
|
*!* modificare ROAFACTURARE v 2.0.46 ^
|
|
llAfiseaza = .F.
|
|
gencursor('poCurs', 'crscurs', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza)
|
|
poCurs.ca_baza1.afisare()
|
|
|
|
*!* modificare ROAFACTURARE v 2.0.46
|
|
*!* loFrmCurs = Createobject("frm_curs")
|
|
loFrmCurs = Createobject("frm_curs",tdDataCurs)
|
|
*!* modificare ROAFACTURARE v 2.0.46 ^
|
|
loFrmCurs.Show(1)
|
|
|
|
Release loFrmCurs, poCurs
|
|
If Used('crscurs')
|
|
Use In crscurs
|
|
Endif
|
|
Endproc
|
|
****************************************** SFARSIT: vizualizeaza_curs *****************************************
|
|
***************************************** INCEPUT: citeste_cursuri_stoc ****************************************
|
|
Function citeste_cursuri_stoc
|
|
Lparameters tdData,tnIdValuta
|
|
Private pdDataCurs,pnIdValuta
|
|
Local lcCursor, llContinuare,lcListaValute
|
|
pdDataCurs = tdData
|
|
pnIdValuta = tnIdValuta
|
|
lcCursor = [crscursuri]
|
|
llVerificare = .T.
|
|
llContinuare = .T.
|
|
lnIncercari = 1
|
|
|
|
Do While llVerificare
|
|
If llContinuare
|
|
If Used(lcCursor)
|
|
Use In (lcCursor)
|
|
Endif
|
|
lcSql = [select a.id_valuta, b.curs, b.multiplicator, c.nume_val, c.moneda_nationala from ] + ;
|
|
[(select distinct id_valuta from ] + gcS + [.stoc where an = ?gnAn and luna = ?gnLuna ] + gcCondSucursala + ;
|
|
[and id_gestiune in (select distinct b.id_gestiune from ] + gcS + [.gest_coresp_util_grupe a ] + ;
|
|
[left join ] + gcS + [.gest_coresp_grupe_gestiuni b on a.id_grupe = b.id_grupe ] + ;
|
|
[left join ] + gcS + [.nom_gestiuni c on b.id_gestiune = c.id_gestiune ] + ;
|
|
[where a.id_util = ?gnIdUtil and a.sters = 0 and b.sters = 0 and c.nr_pag ] + IIF(gnTipGest=6,[=],[<>]) + [ 6) ] + ;
|
|
[union select ?pnIdValuta as id_valuta from dual) a ] + ;
|
|
[left join ] + gcS + [.curs b on a.id_valuta = b.id_valuta and b.data <= ?pdDataCurs and b.data2 >= ?pdDataCurs and b.sters = 0 ] + ;
|
|
[left join ] + gcS +[.nom_valute c on a.id_valuta = c.id_valuta ] + ;
|
|
[where c.moneda_nationala = 0 and a.id_valuta is not null]
|
|
lnSucces = goExecutor.oExecute(lcSql,lcCursor)
|
|
If lnSucces < 0
|
|
amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare")
|
|
llVerificare = .F.
|
|
llContinuare = .F.
|
|
Else
|
|
If Reccount(lcCursor) > 0
|
|
lcListaValute = []
|
|
Select (lcCursor)
|
|
Scan For Isnull(Curs)
|
|
lcListaValute = lcListaValute + Alltrim(Upper(nume_val)) + [,]
|
|
Endscan
|
|
If !Empty(lcListaValute)
|
|
If Used(lcCursor)
|
|
Use In (lcCursor)
|
|
Endif
|
|
If lnIncercari >= 2 And aMessagebox("Doriti sa continuati introducerea datelor?",4+32,"Confirmare continuare")==7
|
|
llVerificare = .F.
|
|
llContinuare = .F.
|
|
Else
|
|
lcListaValute = Substr(lcListaValute,1,Len(lcListaValute)-1) + [ !]
|
|
amessagebox("Pentru data de "+Dtoc(pdDataCurs)+" nu exista cursul pentru " + ;
|
|
IIF(Getwordcount(lcListaValute,[,])=1,"valuta ","valutele ")+lcListaValute,48,"Atentie")
|
|
vizualizeaza_curs()
|
|
Endif
|
|
Else
|
|
llVerificare = .F.
|
|
Endif
|
|
Else
|
|
amessagebox("Cautarea cursurilor pentru ziua de "+Dtoc(pdDataCurs)+" nu a intors rezultate!",16,"Eroare")
|
|
llVerificare = .F.
|
|
llContinuare = .F.
|
|
Endif
|
|
Endif
|
|
Endif
|
|
lnIncercari = lnIncercari + 1
|
|
Enddo
|
|
|
|
Return llContinuare
|
|
Endfunc && citeste_cursuri_stoc
|
|
***************************************** SFARSIT: citeste_cursuri_stoc ****************************************
|
|
***************************************** INCEPUT: citeste_curs_zi ****************************************
|
|
Procedure citeste_cursuri_zi
|
|
Lparameters tdDataCurs
|
|
Local lcCursor
|
|
lcCursor = [crscursuri]
|
|
lcSql = [select nume_val,curs,id_valuta,multiplicator from ] + gcS + [.vcurs where data <= to_date('] + Dtoc(tdDataCurs,1) + [','YYYYMMDD') ] + ;
|
|
[and data2 >= to_date('] + Dtoc(tdDataCurs,1) + [','YYYYMMDD') order by nume_val]
|
|
lnSucces = goExecutor.oExecute(lcSql,lcCursor)
|
|
If lnSucces < 0
|
|
amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare")
|
|
EndIf
|
|
Release lcCursor
|
|
Endproc && citeste_curs_zi
|
|
***************************************** SFARSIT: citeste_curs_zi ****************************************
|