Import initial din SVN ROAAUTO/Trunk @HEAD
This commit is contained in:
125
COMUN/programe/oproceduri_curs.prg
Normal file
125
COMUN/programe/oproceduri_curs.prg
Normal file
@@ -0,0 +1,125 @@
|
||||
***************************************************************************************************************
|
||||
**** 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 ****************************************
|
||||
Reference in New Issue
Block a user