Files
vfp_roaauto/COMUN/programe/oproceduri_atasamente.prg

634 lines
21 KiB
Plaintext

Procedure citeste_atasament_vanzari
Lparameters tnIdAtVanz,tcTip,tnNrAct
If !Empty(tnIdAtVanz)
Private poDocument
Store "" To poDocument
If Used('crsat')
Use In crsat
Endif
Local loTherm
loTherm = Newobject("_thermometer","_therm","","Citire document din baza de date...")
loTherm.AlwaysOnTop = .T.
loTherm.Show()
lcSelect = [select document from ] + gcS + [.atasamente_vanzari where ]
lcFiltru = [id_at_vanz=]+Alltrim(Str(tnIdAtVanz))
lcSchema = [document W]
lcOrder = []
llAfisare = .F.
GENCURSOR('poDocument','crsat',lcSelect,lcFiltru,lcSchema,lcOrder,llAfisare)
loTherm.Update(40, "Citire document din baza de date...")
poDocument.ca_baza1.afisare()
loTherm.Update(55, "Citire document din baza de date...")
lcFisier = gcTempPath + Alltrim(Str(tnNrAct,14,0)) + [_] + Alltrim(tcTip) + [.pdf]
loTherm.Update(65, "Testare creare fisier...")
If File(lcFisier)
Try
Delete File (lcFisier)
Catch To oException
lcFisier = Strtran(lcFisier,[.pdf],Ttoc(Datetime(),1)+[.pdf])
Endtry
Endif
Select crsat
loTherm.Update(85, "Creare fisier...")
Strtofile(Document,lcFisier)
loTherm.Update(95, "Deschidere fisier...")
open_default_app(lcFisier)
loTherm.Complete()
Use In crsat
Release poDocument,loTherm
Endif
Endproc && citeste_atasament_vanzari
***-----------------------------------------------------------------------------------------------------------------------------
Procedure arata_meniu_at_vanz
Lparameters tnCod,tcSerie,tnNrFactura,tcCampValoare
&& daca este completat si tcCampValoare, atunci apare in meniu si optiunea "Copiaza"
&& tcCampValoare trebuie sa fie de forma "cursor.coloana"
Local lnCod,lnNrAct,lcSerie
lnCod = tnCod
lnNrAct = tnNrFactura
lcSerie = Alltrim(Nvl(tcSerie,[]))
If Used('crsmeniu')
Use In crsmeniu
Endif
lcSql = [select a.id_at_vanz,a.tip,a.tip_doc from ] + gcS + [.vatasamente_vanzari a where a.cod = ] + Alltrim(Str(lnCod)) + [ order by a.tip]
lnSucces = goExecutor.oExecute(lcSql,[crsmeniu])
If lnSucces < 0
amessagebox(goExecutor.cEroare,16,"Eroare")
Else
Do Case
Case !Empty(tcCampValoare)
lcMeniu = [;\<Copiaza]
If Reccount('crsmeniu') > 0
lcMeniu = lcMeniu + [;\-]
Select crsmeniu
Scan
lcMeniu = lcMeniu + [;] + Alltrim(tip_doc)
Endscan
Endif
x = xmenu(Substr(lcMeniu,2))
Do Case
Case x = 1
_Cliptext = Transform(Evaluate(tcCampValoare))
Case Between(x,3,2+Reccount('crsmeniu'))
Select crsmeniu
Go (x - 2)
citeste_atasament_vanzari(crsmeniu.id_at_vanz,crsmeniu.tip_doc,lnNrAct)
Endcase
Case Reccount('crsmeniu') = 1
citeste_atasament_vanzari(crsmeniu.id_at_vanz,crsmeniu.tip_doc,lnNrAct)
Case Reccount('crsmeniu')>0
lcMeniu = []
Select crsmeniu
Scan
lcMeniu = lcMeniu + [;] + Alltrim(tip_doc)
Endscan
x = xmenu(Substr(lcMeniu,2))
Select crsmeniu
Go x
citeste_atasament_vanzari(crsmeniu.id_at_vanz,crsmeniu.tip_doc,lnNrAct)
Otherwise
amessagebox("Nu exista documente salvate in baza de date pentru factura "+lcSerie+" "+Alltrim(Str(lnNrAct,14,0)) + " !",48,"Atentie")
Endcase
Use In crsmeniu
Endif
Endproc && arata_meniu_at_vanz
***-----------------------------------------------------------------------------------------------------------------------------
Procedure make_crsAtasamente
Parameters tlToate
Private poLink
Store '' To poLink
Local lcSchema, lcSelect, lcOrder, lcFiltru, lcFiltruOriginal, llAfiseaza, lcgroup, lcFiltruOriginal
lcSchema = [id_referinta N(5), id_atas N(5), descriere c(50), nume_fisier c(200), fisier w, dataora t, utilizator c(100) ]
lcSelect = [select ar.id_referinta, ar.id_atas, ar.descriere, ar.nume_fisier, '' as fisier, dataora, utilizator ]+;
[ from VATAS_REFERINTE ar ]
lcOrder = [ar.nume_fisier, ar.descriere]
lcgroup = []
lcFiltru = []
*lcFiltruOriginal = [l.sters=0 and l.nume_fisier is not null and l.id_reg =]+Alltrim(Str(goRegistratura.id_reg))
Do Case
Case Upper(Alltrim(gcNumeProgram)) = "ROAREGISTRATURA"
lcFiltruOriginal = [ ar.nume_fisier is not null and ar.id_program = 70 and ar.id_entitate=]+Alltrim(Str(goRegistratura.id_reg))
Case Upper(Alltrim(gcNumeProgram)) = "ROACONTRACTE"
lcFiltruOriginal = [ ar.nume_fisier is not null and ar.id_program = 21 and ar.id_entitate=]+Alltrim(Str(goContract.id_ctr))
Case Upper(Alltrim(gcNumeProgram)) = "ROALUCRARI"
lcFiltruOriginal = [ ar.nume_fisier is not null and ar.id_program = 13 and ar.id_entitate=]+Alltrim(Str(crsProiecte.id_proiect))
Endcase
llModParam = .T.
llAfiseaza = .F.
GENCURSOR('poLink','crsAtasamenteI', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal)
poLink.ca_baza1.afisare()
Select * From crsAtasamenteI With (Buffering = .T.);
into Cursor crsAtasamente Readwrite
If Used('crsAtasamenteI')
Use In crsAtasamenteI
Endif
Endproc && make_crsAtasamente
***-----------------------------------------------------------------------------------------------------------------------------
PROCEDURE inchide_crsAtasamente
IF USED('crsAtasamente')
USE IN crsAtasamente
ENDIF
ENDPROC && inchide_crsAtasamente
***-----------------------------------------------------------------------------------------------------------------------------
Procedure upload
Parameters tcTabel
Private pnId_entitate, pcLink, pcDescriere, pcFis_name, pcFisier, pnId_atas &&,pntip_entitate modificare 30.05.2011
Store 0 To pnTip_entitate, pnId_atas &&,pnTip_entitate modificare 30.05.2011
Store "" To pcDescriere, pcFis_name, pcFisier, pcLink
* pcLink - private - folosit in frm_atas_nou
Local llReturn,lcSql,lnSucces
llReturn = .T.
Local lcTabelLinkuri
Store '' To lcTabelLinkuri
If !Empty(tcTabel)
lcTabelLinkuri = Alltrim(tcTabel) && Thisform.grid_linkuri.RecordSource
Select (lcTabelLinkuri)
Scatter Name poLink Blank Memo
Else
Create Cursor crsAtasTemp (id_atas N(5), descriere c(50), nume_fisier c(200), fisier w)
Select crsAtasTemp
Scatter Name poLink Blank Memo
Use In crsAtasTemp
Endif
If Upper(Alltrim(gcNumeProgram)) = "ROAREGISTRATURA"
AddProperty(poLink,'id_proiect',goRegistratura.id_proiect)
AddProperty(poLink,'proiect',Alltrim(goRegistratura.proiect))
Else
AddProperty(poLink,'id_proiect',0)
AddProperty(poLink,'proiect','')
Endif
AddProperty(poLink,'id_ctr',0)
AddProperty(poLink,'contract','')
lodn = Createobject("frm_atas_nou")
lodn.Show(1)
If gnButon = 2
Return
Endif
If Upper(Alltrim(gcNumeProgram)) = "ROAREGISTRATURA"
pnId_entitate = goRegistratura.id_reg
*!* pnTip_entitate = 1 modificare 30.05.2011
Endif
If Upper(Alltrim(gcNumeProgram)) = "ROACONTRACTE"
pnId_entitate = goContract.id_ctr
*!* pnTip_entitate = 2 modificare 30.05.2011
Endif
If Upper(Alltrim(gcNumeProgram)) = "ROALUCRARI"
pnId_entitate = Alltrim(Str(crsProiecte.id_proiect))
*!* pnTip_entitate = 3 modificare 30.05.2011
Endif
pcDescriere = Upper(Alltrim(poLink.descriere))
pcFis_name = Upper(Alltrim(poLink.nume_fisier))
If Empty(pcLink)
Return
Endif
pcFisier = Filetostr(pcLink)
lnSucces = SQLSetprop(gnhandle,"Transactions",2)
If lnSucces < 0
amessagebox("Programul nu a reusit sa treaca pe tranzactie manuala! Reintrati in program si incercati din nou!",48,"Atentie")
Else
lcSql = [insert into atas_atasamente(fisier, nume_fisier, descriere, id_util) ]+;
[values (?pcFisier, ?pcFis_name, ?pcDescriere, ?gnIdUtil) ] + ;
[ returning id_atas into ?@pnId_atas]
lnSucces = goExecutor.oExecute(lcSql)
If lnSucces < 0
aMessagebox(goExecutor.cEroare,0+16,'Eroare')
Else
If Upper(Alltrim(gcNumeProgram)) = "ROAREGISTRATURA"
lcSql = [update registratura set id_proiect = ?polink.id_proiect where id_reg = ?pnId_entitate]
lnSucces = goExecutor.oExecute(lcSql)
If lnSucces < 0
aMessagebox(goExecutor.cEroare,0+16,'Eroare')
Else
lcSql = [insert into atas_referinte(id_atas, id_program, id_entitate, id_util) ]+;
[values (?pnId_atas, ?gnIdProgram, ?pnId_entitate, ?gnIdUtil) ] && registratura modificare 30.05.2011 : am inlocuit pnTip_Entitate cu gnIdProgram
lnSucces = goExecutor.oExecute(lcSql)
If lnSucces < 0
aMessagebox(goExecutor.cEroare,0+16,'Eroare')
Else
If !Empty(Nvl(poLink.id_ctr,0)) And poLink.id_ctr<> -1
lcSql = [insert into atas_referinte(id_atas, id_program, id_entitate, id_util) ]+;
[values (?pnId_atas, ?gnIdProgram, ?polink.id_ctr, ?gnIdUtil) ] && contracte modificare 30.05.2011 : am inlocuit pnTip_Entitate cu gnIdProgram
lnSucces = goExecutor.oExecute(lcSql)
If lnSucces < 0
aMessagebox(goExecutor.cEroare,0+16,'Eroare')
Else
If !Empty(Nvl(poLink.id_proiect,0)) And poLink.id_proiect <> -1
lcSql = [insert into atas_referinte(id_atas, id_program, id_entitate, id_util) ]+;
[values (?pnId_atas, ?gnIdProgram, ?polink.id_proiect, ?gnIdUtil) ] && lucrari modificare 30.05.2011 : am inlocuit pnTip_Entitate cu gnIdProgram
lnSucces = goExecutor.oExecute(lcSql)
If lnSucces < 0
aMessagebox(goExecutor.cEroare,0+16,'Eroare')
Endif
Endif
Endif
Endif
Endif
Endif
Else && RoaContracte, RoaLucrari
lcSql = [insert into atas_referinte(id_atas, id_program, id_entitate, id_util) ]+;
[values (?pnId_atas, ?gnIdProgram, ?pnId_entitate, ?gnIdUtil) ] && modificare 30.05.2011 : am inlocuit pnTip_Entitate cu gnIdProgram
lnSucces = goExecutor.oExecute(lcSql)
If lnSucces < 0
aMessagebox(goExecutor.cEroare,0+16,'Eroare')
Endif
Endif
Endif
Endif
If lnSucces < 0
lcSql = "ROLLBACK"
Else
lcSql = "COMMIT"
Endif
lnSucces2 = goExecutor.oExecute(lcSql)
If lnSucces2 < 0
amessagebox(lcSql + Chr(13) + goExecutor.cEroare,0+16,"Eroare")
Endif
lnSucces2 = SQLSetprop(gnhandle,"Transactions",1)
If lnSucces2 < 0
amessagebox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!',0+48,'Atentie!')
Else
If lcSql = "COMMIT"
If !Empty(lcTabelLinkuri)
Select (lcTabelLinkuri)
Append Blank
Gather Name poLink Memo
Replace fisier With pcFisier, id_atas With pnId_atas, nume_fisier With pcFis_name, descriere With pcDescriere, dataora With Datetime(), utilizator With gcUserNameApp
Endif
Do Case
Case Upper(Alltrim(gcNumeProgram)) = "ROAREGISTRATURA"
goRegistratura.proiect = poLink.proiect
goRegistratura.id_proiect = poLink.id_proiect
Replace are_link With 1 In cRegistratura
Replace id_proiect With poLink.id_proiect In cRegistratura
Replace proiect With poLink.proiect In cRegistratura
Case Upper(Alltrim(gcNumeProgram)) = "ROACONTRACTE"
Replace are_link With 1 In cContracte
Endcase
Endif
Endif
Endproc && upload
***-----------------------------------------------------------------------------------------------------------------------------
Procedure import_atasamente
Parameters tnTipEntitate
&& completare campuri nume_fis si link_bd din link - la versiunea 2.0.7 - se salveaza atasamentele in bd
&& ver. 2.0.12 - preluare din ctr_linkuri (reg_linkuri) in atas_atasamente, atas_referinte
&& tnTipEntitate/gnIdProgram = 70-RoaRegistratura, 21-RoaContracte, 13-RoaLucrari
Private poLink, pcFisier, pcNume_fis, pcDescriere, pnId_entitate, pnId_atas, pnId_link, pnTipEntitate
Store '' To poLink
Store 0 To pnId_entitate, pnId_atas, pnId_link
*!* modificare 31.05.2011
*!* If Empty(tnTipEntitate)
*!* Return
*!* Endif
*!* pnTipEntitate= tnTipEntitate
pnTipEntitate = IIF(EMPTY(tnTipEntitate),gnIdProgram,tnTipEntitate)
*!* modificare 31.05.2011 ^
Local lcSchema, lcSelect, lcOrder, lcFiltru, lcFiltruOriginal, llAfiseaza, lcgroup, lcFiltruOriginal
lcSchema = [id_link N(5), id_entitate n(5), descriere c(50), link c(200) ]
Do Case
Case Upper(Alltrim(gcNumeProgram)) = "ROACONTRACTE"
lcSelect = [select id_link, id_ctr as id_entitate, DENUMIRE AS descriere, link ]+;
[from ctr_linkuri]
Case Upper(Alltrim(gcNumeProgram)) = "ROAREGISTRATURA"
lcSelect = [select id_link, id_reg as id_entitate, DENUMIRE AS descriere, link ]+;
[from reg_linkuri]
Case Upper(Alltrim(gcNumeProgram)) = "ROALUCRARI"
lcSelect = [select id_link, id_proiect as id_entitate, DENUMIRE AS descriere, link ]+;
[from con_linkuri]
Endcase
lcOrder = []
lcgroup = []
lcFiltru = [STERS=0]
lcFiltruOriginal = [link is not null and id_link not in (select id_link from atas_atasamente where id_tip_ent_prel = ?pnTipEntitate)]
llModParam = .T.
llAfiseaza = .F.
GENCURSOR('poLink','cCtrLink2', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal)
poLink.ca_baza1.afisare()
Private pnId_link, pcNume_fis, pcLink_bd
Local lcMesaj
lcMesaj = ''
Select cCtrLink2
Calculate Cnt() To lnFisiere
lnIndex = 0
Scan
pnId_link = id_link
pnId_entitate = id_entitate
lcLink = Alltrim(Link)
pcNume_fis = Justfname(lcLink)
pcDescriere = Upper(Alltrim(descriere))
lnIndex = lnIndex + 1
Wait Window Alltrim(Str(lnIndex)) + '/' + Alltrim(Str(lnFisiere)) + " " + pcNume_fis Nowait
If File(lcLink)
pcFisier = Filetostr(lcLink)
*lcSql = [update ctr_linkuri set nume_fis=?pcNume_fis, link_bd = ?pcLink_bd where id_link=?pnId_link]
lcSql = [insert into atas_atasamente (fisier, nume_fisier, id_util, descriere, id_link, id_tip_ent_prel) ]+;
[values (?pcFisier, ?pcNume_fis, ?gnIdUtil, ?pcDescriere, ?pnId_link, ?pnTipEntitate) ] +;
[returning id_atas into ?@pnId_atas]
lnSucces = goExecutor.oExecute(lcSql)
If lnSucces < 0
If amessagebox(goExecutor.cEroare + Chr(13) + Chr(10) + 'Doriti sa continuati?',4+48,'Eroare') # 6
Exit
Endif
Else
lcSql = [insert into atas_referinte (id_atas, id_program, id_entitate, id_util) ]+;
[values (?pnId_atas, ?pnTipEntitate, ?pnId_entitate, ?gnIdUtil)]
lnSucces = goExecutor.oExecute(lcSql)
If lnSucces < 0
If amessagebox(goExecutor.cEroare + Chr(13) + Chr(10) + 'Doriti sa continuati?',4+48,'Eroare') # 6
Exit
Endif
Endif
Endif
Else
lcMes = 'Nu exista fisierul '+lcLink+Chr(13)
lcMesaj = lcMesaj + lcMes
Endif
Select cCtrLink2
Endscan
If !Empty(lcMesaj)
amessagebox(lcMesaj)
Endif
If Used('cCtrLink2')
Use In cCtrLink2
Endif
Endproc && import_atasamente
***-----------------------------------------------------------------------------------------------------------------------------
Procedure modifica_atasament
Parameters tcTabel
Private pcDescriere, pnId_atas
Store 0 To pnId_atas
Store "" To pcDescriere
* pcLink - private - folosit in frm_atas_nou
Local llReturn,lcSql,lnSucces
llReturn = .T.
Local lcTabelLinkuri
If !Empty(tcTabel)
lcTabelLinkuri = Alltrim(tcTabel) && Thisform.grid_linkuri.RecordSource
Select (lcTabelLinkuri)
Scatter Name poLink Memo
Else
Return
Endif
If Upper(Alltrim(gcNumeProgram)) = "ROAREGISTRATURA"
AddProperty(poLink,'id_proiect',goRegistratura.id_proiect)
AddProperty(poLink,'proiect',Alltrim(goRegistratura.proiect))
Else
AddProperty(poLink,'id_proiect',0)
AddProperty(poLink,'proiect','')
Endif
AddProperty(poLink,'id_ctr',0)
AddProperty(poLink,'contract','')
lodn = Createobject("frm_atas_nou")
lodn.Command3.Enabled=.F.
lodn.Show(1)
If gnButon = 2
Return
Endif
pnId_atas = poLink.id_atas
pcDescriere = Upper(Alltrim(poLink.descriere))
lcSql = [update atas_atasamente set descriere = ?pcDescriere ]+;
[where id_atas = ?pnId_atas]
lnSucces = goExecutor.oExecute(lcSql)
If lnSucces < 0
aMessagebox(goExecutor.cEroare,0+16,'Eroare')
Endif
If !Empty(lcTabelLinkuri)
Select (lcTabelLinkuri)
Gather Name poLink Memo
Replace descriere With pcDescriere
Endif
Endproc && modifica_atasament
***-----------------------------------------------------------------------------------------------------------------------------
Procedure salveaza_atasamente
Parameters tcTabel
Local lcTabel
lcTabel = tcTabel
lcSql = [select ar.id_referinta ]+;
[ from VATAS_REFERINTE ar ]+;
[ where ar.nume_fisier is not null and ar.id_program = ?gnIdProgram and ar.id_entitate=]+Alltrim(Str(goContract.id_ctr))
lcCursor = 'crsAtasamente_server'
lnSucces = goExecutor.oExecute(lcSql, lcCursor)
If lnSucces < 0
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
Return lnSucces
Endif
* daca exista id_referinta in plus in cursorul de pe local, adaug pe server
Private pnId_entitate, pcLink, pcDescriere, pcFis_name, pcFisier, pnId_atas
Store 0 To pnId_entitate, pnId_atas
Store "" To pcDescriere, pcFis_name, pcFisier, pcLink
pnId_entitate = goContract.id_ctr
Select * From (lcTabel) ;
Where (Empty(id_referinta) Or Isnull(id_referinta)) ;
INTO Cursor cAtasamente_nou
Select cAtasamente_nou
Scan
pcDescriere = Upper(Alltrim(descriere))
pcFis_name = Upper(Alltrim(nume_fisier))
*!* If Empty(pcLink)
*!* Return
*!* Endif
* pcFisier = Filetostr(pcLink)
pcFisier = fisier
lcSql = [insert into atas_atasamente(fisier, nume_fisier, descriere, id_util) ]+;
[values (?pcFisier, ?pcFis_name, ?pcDescriere, ?gnIdUtil) ] + ;
[ returning id_atas into ?@pnId_atas]
lnSucces = goExecutor.oExecute(lcSql)
If lnSucces < 0
aMessagebox(goExecutor.cEroare,0+16,'Eroare')
Endif
lcSql = [insert into atas_referinte(id_atas, id_program, id_entitate, id_util) ]+;
[values (?pnId_atas, ?gnIdProgram, ?pnId_entitate, ?gnIdUtil) ]
lnSucces = goExecutor.oExecute(lcSql)
If lnSucces < 0
aMessagebox(goExecutor.cEroare,0+16,'Eroare')
Return lnSucces
Endif
Select cAtasamente_nou
Endscan
If Used('cAtasamente_nou')
Use In cAtasamente_nou
Endif
* daca exista id_referinta pe server, care nu mai sunt pe local, sterg
*!* Select id_referinta From crsAtasamente_server ;
*!* Where id_referinta Not In (Select id_referinta From cId_ref) ;
*!* INTO Cursor cAtasamente_sters
lcDeleted = Set("Deleted")
Set Deleted Off
Select * From (lcTabel) Where Deleted() And !Empty(id_referinta);
INTO Cursor cAtasamente_sters
Select cAtasamente_sters
Scan
*pcId_atas = Alltrim(Str(id_atas))
lcId_referinta = Alltrim(Str(id_referinta))
lcSql = [update atas_referinte set sters = 1, dataoras = SYSDATE, id_utils = ] + Alltrim(Str(gnIdUtil)) + ;
[ WHERE id_referinta = ] + lcId_referinta
lnSucces = goExecutor.oExecute(lcSql)
If lnSucces < 0
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
Return lnSucces
Endif
Select cAtasamente_sters
Endscan
If Used('cAtasamente_sters')
Use In cAtasamente_sters
Endif
Set Deleted &lcDeleted
If Used('cAtasamente_sters')
Use In cAtasamente_sters
Endif
If Used('crsAtasamente_server')
Use In crsAtasamente_server
Endif
Return lnSucces
Endproc && salveaza_atasamente
***-----------------------------------------------------------------------------------------------------------------------------
Procedure arata_linkuri
Private poLink
Store '' To poLink
Local lcMenu, lnx, lcDocument,lnNrLinkuri, lnIdAtas
Local lcSchema, lcSelect, lcOrder, lcFiltru, lcFiltruOriginal, llAfiseaza, lcgroup, lcFiltruOriginal
Store '' To lcMenu
Store 0 To lnNrLinkuri, lnIdAtas
Do make_crsAtasamente In oproceduri_atasamente.prg
lcMenu = lcMenu + "Ataseaza ...;\-;"
Select crsAtasamente
Scan
lcMenu = lcMenu + Alltrim(Nvl(descriere,''))+ ' - ' + Alltrim(Nvl(nume_fisier,'')) +';'
lnNrLinkuri = lnNrLinkuri + 1
Select crsAtasamente
Endscan
If Upper(Alltrim(gcNumeProgram)) = "ROALUCRARI" And lnNrLinkuri > 0
lcMenu = lcMenu + '\-;'+ "Vizualizare atasamente ...;"
Endif
If !Empty(lcMenu)
lcMenu = Substr(lcMenu,1,Len(lcMenu)-1)
lnx = xmenu(lcMenu)
Do Case
Case lnx = 1 && Ataseaza
Do upload In oproceduri_atasamente.prg
Case lnx = lnNrLinkuri + 4
Select crsAtasamente
Go Top
ofrmVizAtas = Createobject('frm_viz_atasamente')
ofrmVizAtas.Show(1)
Release ofrmVizAtas
Otherwise
Select crsAtasamente
Locate For Recno() = lnx - 2
If Found()
lnIdAtas = id_atas
lcNume_fisier = Alltrim(nume_fisier)
lcSchema = [fisier w ]
lcSelect = [select fisier from atas_atasamente where id_atas = ] + Alltrim(Str(lnIdAtas))
lcOrder = []
lcgroup = []
lcFiltru = []
lcFiltruOriginal = []
llModParam = .T.
llAfiseaza = .F.
GENCURSOR('poLink','cRegFisierTemp', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal)
poLink.ca_baza1.afisare()
If Used('cRegFisierTemp')
lcFisier = fisier
Use In (Select('cRegFisierTemp'))
lcFisSalvat = Addbs(gcTempPath)+lcNume_fisier
Strtofile(lcFisier, lcFisSalvat)
open_default_app(lcFisSalvat)
Endif
Endif
Endcase
If Used('crsAtasamente')
Use In crsAtasamente
Endif
Endif
Endproc && arata_linkuri
***-----------------------------------------------------------------------------------------------------------------------------