From 349d04acef7cac2ba069a29ed58491e66dd8de10 Mon Sep 17 00:00:00 2001 From: Marius Mutu Date: Mon, 27 Jul 2026 15:49:30 +0300 Subject: [PATCH] Rapoarte articole: coloana Cont; sters orapoarte.vcx local (2008, nefolosit) Changelog 2.11.10 si versiune_db 2026_07_27_01 pentru coloana "Cont" din rapoartele de articole (view-urile fact_vrap_fact_articole si fact_vrap_articole_vandute, migrare ff_2026_07_27_01_FACTURARE.sql). Sters Clase/orapoarte.vcx: copie din 2008 (SVN rev 4745), cu ct_selectie in varianta veche, pe 4 parametri si separator virgula. Nu era folosita - proiectul refera comun\clase\orapoarte.vcx, iar formularele din COMUN isi rezolva biblioteca in directorul propriu. Prezenta ei ascundea versiunea din COMUN la "Set Classlib To orapoarte" si dadea rezultate diferite intre EXE si rulare din sursa. Linia respectiva a fost mutata imediat dupa ofacturare_rapoarte, care depinde de ea. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01P1J6WjsQn7i7c9uF7VweGc --- Clase/orapoarte.vc2 | 1282 ------------------------------------ Programe/roafacturare.prg | 2 +- changelog_roafacturare.txt | 8 + versiune_db.txt | 2 +- 4 files changed, 10 insertions(+), 1284 deletions(-) delete mode 100644 Clase/orapoarte.vc2 diff --git a/Clase/orapoarte.vc2 b/Clase/orapoarte.vc2 deleted file mode 100644 index d97a446..0000000 --- a/Clase/orapoarte.vc2 +++ /dev/null @@ -1,1282 +0,0 @@ -*-------------------------------------------------------------------------------------------------------------------------------------------------------- -* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! -*-------------------------------------------------------------------------------------------------------------------------------------------------------- -*< FOXBIN2PRG: Version="1.21" SourceFile="orapoarte.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) -* -* -DEFINE CLASS ct_grup_camp AS _container OF "..\comun\clase\_baza.vcx" - *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> - - *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder - *< OBJECTDATA: ObjPath="ck_ordine" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="lb_nume_camp" UniqueID="" Timestamp="" /> - - * - *m: do_actualizeaza_ordine - *p: ccamp - *p: cnumecamp - *p: ngrupat - *p: nordine - *p: _memberdata && XML Metadata for customizable properties - * - - * - BorderWidth = 0 - ccamp = - cnumecamp = - Height = 17 - Name = "ct_grup_camp" - ngrupat = 0 - nordine = 0 - Width = 183 - _memberdata = - - - - - - - * - - ADD OBJECT 'ck_ordine' AS _checkbox WITH ; - Alignment = 0, ; - AutoSize = .F., ; - Caption = "[Ordine camp]", ; - Height = 17, ; - Left = 122, ; - Name = "ck_ordine", ; - Top = 1, ; - Width = 43 - *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> - - ADD OBJECT 'lb_nume_camp' AS lb_simplu WITH ; - AutoSize = .F., ; - Caption = "[Explicatie camp]", ; - Height = 17, ; - Left = 2, ; - Name = "lb_nume_camp", ; - Top = 1, ; - Width = 118 - *< END OBJECT: ClassLib="..\comun\clase\lb.vcx" BaseClass="label" /> - - PROCEDURE do_actualizeaza_ordine - Lparameters tnOrdine - If !Empty(tnOrdine) - This.lb_nume_camp.FontBold = .T. - This.ck_ordine.Caption = Alltrim(Str(tnOrdine)) - This.ngrupat = 1 - Else - This.lb_nume_camp.FontBold = .F. - This.ck_ordine.Caption = [] - This.ngrupat = 0 - Endif - This.nordine = tnOrdine - - ENDPROC - - PROCEDURE Init - Lparameters tcCamp,tcNumeCamp - This.ccamp = tcCamp - This.cnumeCamp = tcNumeCamp - This.lb_nume_camp.Caption = This.cnumeCamp - This.do_actualizeaza_ordine(0) - - ENDPROC - - PROCEDURE ck_ordine.Click - This.Parent.Parent.do_modifica_ordine(This.Parent.Name,This.Parent.nordine,This.Value) - ENDPROC - -ENDDEFINE - -DEFINE CLASS ct_grupare AS _container OF "..\comun\clase\_baza.vcx" - *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> - - *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder - *< OBJECTDATA: ObjPath="lb_grupare" UniqueID="" Timestamp="" /> - - * - *m: do_adauga_ct - *m: do_modifica_ordine - *m: do_sterge_ct - *p: cclasa && Numele clasei ce va fi instantiata la adaugare. - *p: nleft - *p: nleft2 && 90 - *p: nmaxtop - *p: nmaxtop2 - *p: nmax_ordine - *p: _memberdata && XML Metadata for customizable properties - * - - * - cclasa = ct_grup_camp - Height = 200 - Name = "ct_grupare" - nleft = 15 - nleft2 = 90 - nmaxtop = 0 - nmaxtop2 = 0 - nmax_ordine = 0 - Width = 353 - _memberdata = - - - - - - - - * - - ADD OBJECT 'lb_grupare' AS lb_simplu WITH ; - Caption = "Grupat dupa :", ; - Height = 17, ; - Left = 12, ; - Name = "lb_grupare", ; - TabIndex = 8, ; - Top = 6, ; - Visible = .T., ; - Width = 76 - *< END OBJECT: ClassLib="..\comun\clase\lb.vcx" BaseClass="label" /> - - PROCEDURE do_adauga_ct - Lparameters tcCamp,tcNumeCamp - Local lcClasa,lcNumeObiect - If Empty(This.cclasa) - lcClasa = [CT_GRUP_CAMP] - Else - lcClasa = Upper(Alltrim(This.cclasa)) - Endif - lcNumeObiect = Upper(Alltrim([ct_grup_] + Strtran(tcCamp,[.],[_]))) - This.AddObject(lcNumeObiect,lcClasa,tcCamp,tcNumeCamp) - With This.&lcNumeObiect. - .Left = This.nLeft - .Top = This.nMaxTop - This.nMaxTop = .Top + .Height - 2 - .Visible = .T. - Endwith - ENDPROC - - PROCEDURE do_modifica_ordine - Lparameters tcNumeObiect,tnOrdine,tnValoare - If Empty(This.cclasa) - lcClasa = [CT_GRUP_CAMP] - Else - lcClasa = Upper(Alltrim(This.cclasa)) - Endif - If tnValoare = 0 - For i = 1 To This.Objects.Count - With This.Objects(i) - If Upper(Alltrim(.Class))=lcClasa - Do Case - Case .nordine = tnOrdine - If Pemstatus(This.Parent,"do_modifica",5) - This.Parent.do_modifica(2,.ccamp,.nordine - 1) - Endif - .do_actualizeaza_ordine(0) - Case .nordine > tnOrdine - If Pemstatus(This.Parent,"do_modifica",5) - This.Parent.do_modifica(2,.ccamp,.nordine - 1) - Endif - .do_actualizeaza_ordine(.nordine - 1) - Endcase - Endif - Endwith - Endfor - This.nmax_ordine = This.nmax_ordine - 1 - Else - This.nmax_ordine = This.nmax_ordine + 1 - With This.&tcNumeObiect. - If Pemstatus(This.Parent,"do_modifica",5) - This.Parent.do_modifica(2,.ccamp,This.nmax_ordine) - Endif - .do_actualizeaza_ordine(This.nmax_ordine) - Endwith - Endif - - ENDPROC - - PROCEDURE do_sterge_ct - Lparameters tcCamp - Local lcClasa,lcNumeObiect - If Empty(This.cclasa) - lcClasa = [CT_GRUP_CAMP] - Else - lcClasa = Upper(Alltrim(This.cclasa)) - Endif - lcNumeObiect = Upper(Alltrim([ct_grup_] + Strtran(tcCamp,[.],[_]))) - If Type('this.'+lcNumeObiect)<>'U' - With This.&lcNumeObiect. - lnHeight = .Height - lnTop = .Top - lnOrdine = .nordine - Endwith - This.RemoveObject(lcNumeObiect,lcClasa) - For i = 1 To This.Objects.Count - With This.Objects(i) - If Upper(Alltrim(.Class))=lcClasa - If lnOrdine > 0 And .nordine > lnOrdine - If Pemstatus(This.Parent,"do_modifica",5) - This.Parent.do_modifica(2,.ccamp,.nordine - 1) - Endif - .do_actualizeaza_ordine(.nordine - 1) - Endif - If .Top > lnTop - .Top = .Top - lnHeight + 2 - Endif - Endif - Endwith - Endfor - This.nMaxTop = This.nMaxTop - lnHeight + 2 - This.nmax_ordine = This.nmax_ordine - Iif(lnOrdine = 0,0,1) - Endif - ENDPROC - - PROCEDURE Init - DoDefault() - This.nmaxtop = This.lb_grupare.Top + This.lb_grupare.Height - ENDPROC - -ENDDEFINE - -DEFINE CLASS ct_ordine_camp AS _container OF "..\comun\clase\_baza.vcx" - *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> - - *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder - *< OBJECTDATA: ObjPath="ck_ordine" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="lb_nume_camp" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="opt_ordine" UniqueID="" Timestamp="" /> - - * - *m: do_actualizeaza_ordine - *p: ccamp - *p: cnumecamp - *p: csens - *p: nordine - * - - * - BorderWidth = 0 - ccamp = - cnumecamp = - csens = - Height = 17 - Name = "ct_ordine_camp" - nordine = 0 - Width = 302 - * - - ADD OBJECT 'ck_ordine' AS _checkbox WITH ; - Alignment = 0, ; - AutoSize = .F., ; - Caption = "[Ordine camp]", ; - Height = 17, ; - Left = 122, ; - Name = "ck_ordine", ; - Top = 0, ; - Width = 43 - *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> - - ADD OBJECT 'lb_nume_camp' AS lb_simplu WITH ; - AutoSize = .F., ; - Caption = "[Explicatie camp]", ; - Height = 17, ; - Left = 2, ; - Name = "lb_nume_camp", ; - Top = 0, ; - Width = 118 - *< END OBJECT: ClassLib="..\comun\clase\lb.vcx" BaseClass="label" /> - - ADD OBJECT 'opt_ordine' AS _optiongrup WITH ; - BorderStyle = 0, ; - Height = 28, ; - Left = 160, ; - Name = "opt_ordine", ; - Top = -6, ; - Width = 146, ; - Option1.AutoSize = .T., ; - Option1.Caption = "Crescator", ; - Option1.FontName = "Arial Narrow", ; - Option1.Left = 5, ; - Option1.Name = "Option1", ; - Option1.Top = 5, ; - Option2.AutoSize = .T., ; - Option2.Caption = "Descrescator", ; - Option2.FontName = "Arial Narrow", ; - Option2.Left = 68, ; - Option2.Name = "Option2", ; - Option2.Top = 5 - *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="optiongroup" /> - - PROCEDURE do_actualizeaza_ordine - Lparameters tnOrdine - If !Empty(tnOrdine) - This.lb_nume_camp.FontBold = .T. - This.ck_ordine.Caption = Alltrim(Str(tnOrdine)) - This.opt_ordine.Visible = .T. - Else - This.lb_nume_camp.FontBold = .F. - This.ck_ordine.Caption = [] - With This.opt_ordine - .Visible = .F. - .Value = 1 - Endwith - Endif - This.nordine = tnOrdine - - ENDPROC - - PROCEDURE Init - Lparameters tcCamp,tcNumeCamp - This.ccamp = tcCamp - This.cnumecamp = tcNumeCamp - This.lb_nume_camp.Caption = tcNumeCamp - This.do_actualizeaza_ordine(0) - - ENDPROC - - PROCEDURE ck_ordine.Click - This.Parent.Parent.do_modifica_ordine(This.Parent.Name,This.Parent.nordine,This.Value) - ENDPROC - - PROCEDURE opt_ordine.InteractiveChange - If This.Value = 1 - This.Parent.csens = [] - Else - This.Parent.csens = [DESC] - Endif - This.Parent.Parent.do_modifica_sens(This.Parent.ccamp,This.Value) - ENDPROC - -ENDDEFINE - -DEFINE CLASS ct_ordonare AS _container OF "..\comun\clase\_baza.vcx" - *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> - - *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder - *< OBJECTDATA: ObjPath="lb_ordonare" UniqueID="" Timestamp="" /> - - * - *m: do_adauga_ct - *m: do_modifica_ordine - *m: do_modifica_sens - *m: do_sterge_ct - *p: cclasa && Numele clasei ce va fi instantiata la adaugare. - *p: nleft - *p: nleft2 && 90 - *p: nmaxtop - *p: nmaxtop2 - *p: nmax_ordine - *p: _memberdata && XML Metadata for customizable properties - * - - * - cclasa = ct_ordine_camp - Height = 200 - Name = "ct_ordonare" - nleft = 9 - nleft2 = 90 - nmaxtop = 0 - nmaxtop2 = 0 - nmax_ordine = 0 - Width = 353 - _memberdata = - - - - - - - - * - - ADD OBJECT 'lb_ordonare' AS lb_simplu WITH ; - Caption = "Ordonate dupa:", ; - Height = 17, ; - Left = 8, ; - Name = "lb_ordonare", ; - TabIndex = 8, ; - Top = 6, ; - Visible = .T., ; - Width = 87 - *< END OBJECT: ClassLib="..\comun\clase\lb.vcx" BaseClass="label" /> - - PROCEDURE do_adauga_ct - Lparameters tcCamp,tcNumeCamp - Local lcClasa,lcNumeObiect - If Empty(This.cclasa) - lcClasa = [CT_ORDINE_CAMP] - Else - lcClasa = Upper(Alltrim(This.cclasa)) - Endif - lcNumeObiect = Upper(Alltrim([ct_ordine_] + Strtran(tcCamp,[.],[_]))) - This.AddObject(lcNumeObiect,lcClasa,tcCamp,tcNumeCamp) - With This.&lcNumeObiect. - .Left = This.nLeft - .Top = This.nMaxTop - This.nMaxTop = .Top + .Height - 2 - .Visible = .T. - Endwith - ENDPROC - - PROCEDURE do_modifica_ordine - Lparameters tcNumeObiect,tnOrdine,tnValoare - If Empty(This.cclasa) - lcClasa = [CT_ORDINE_CAMP] - Else - lcClasa = Upper(Alltrim(This.cclasa)) - Endif - If tnValoare = 0 - For i = 1 To This.Objects.Count - With This.Objects(i) - If Upper(Alltrim(.Class))=lcClasa - Do Case - Case .nordine = tnOrdine - If Pemstatus(This.Parent,"do_modifica",5) - This.Parent.do_modifica(3,.ccamp,0) - Endif - .do_actualizeaza_ordine(0) - Case .nordine > tnOrdine - If Pemstatus(This.Parent,"do_modifica",5) - This.Parent.do_modifica(3,.ccamp,.nordine - 1) - Endif - .do_actualizeaza_ordine(.nordine - 1) - Endcase - Endif - Endwith - Endfor - This.nmax_ordine = This.nmax_ordine - 1 - Else - This.nmax_ordine = This.nmax_ordine + 1 - With This.&tcNumeObiect. - If Pemstatus(This.Parent,"do_modifica",5) - This.Parent.do_modifica(3,.ccamp,This.nmax_ordine) - Endif - .do_actualizeaza_ordine(This.nmax_ordine) - Endwith - Endif - - ENDPROC - - PROCEDURE do_modifica_sens - Lparameters tcCamp,tnSens - If Pemstatus(This.Parent,"do_modifica",5) - This.Parent.do_modifica(4,tcCamp,tnSens) - Endif - ENDPROC - - PROCEDURE do_sterge_ct - Lparameters tcCamp - Local lcClasa,lcNumeObiect - If Empty(This.cclasa) - lcClasa = [CT_ORDINE_CAMP] - Else - lcClasa = Upper(Alltrim(This.cclasa)) - Endif - lcNumeObiect = Upper(Alltrim([ct_ordine_] + Strtran(tcCamp,[.],[_]))) - If Type('this.'+lcNumeObiect)<>'U' - With This.&lcNumeObiect. - lnHeight = .Height - lnTop = .Top - lnOrdine = .nordine - Endwith - This.RemoveObject(lcNumeObiect,lcClasa) - For i = 1 To This.Objects.Count - With This.Objects(i) - If Upper(Alltrim(.Class))=lcClasa - If lnOrdine > 0 And .nordine > lnOrdine - If Pemstatus(This.Parent,"do_modifica",5) - This.Parent.do_modifica(3,.ccamp,.nordine - 1) - Endif - .do_actualizeaza_ordine(.nordine - 1) - Endif - If .Top > lnTop - .Top = .Top - lnHeight + 2 - Endif - Endif - Endwith - Endfor - This.nMaxTop = This.nMaxTop - lnHeight + 2 - This.nmax_ordine = This.nmax_ordine - Iif(lnOrdine = 0,0,1) - Endif - ENDPROC - - PROCEDURE Init - DoDefault() - This.nmaxtop = This.lb_ordonare.Top + This.lb_ordonare.Height - ENDPROC - -ENDDEFINE - -DEFINE CLASS ct_selectie AS _container OF "..\comun\clase\_baza.vcx" - *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> - - *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder - *< OBJECTDATA: ObjPath="Ct_grupare1" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="Ct_ordonare1" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="lb_coloane" UniqueID="" Timestamp="" /> - - * - *m: do_adauga - *m: do_compune_ordine_selectie - *m: do_instructiune_sql - *m: do_modifica - *m: do_sterge - *p: cclasa && Clasa folosita pentru checkbox-urile din selectii. - *p: ccoloanesuma && Numele coloanelor care sunt agregate. - *p: clistacoloaneordine && Lista delimitata prin virgula ce contine pozitiile din ccoloanesuma pentru care se vor adauga containere la ordonare. - *p: cnumecoloanesuma - *p: cnumetabela && Numele tabelei/view-ului din care se face selectia. - *p: cordine - *p: csql - *p: nelemente && Numarul de elemente din this.aselectie - *a: aselectie[30,4] - * - - * - cclasa = ct_selectie_camp - ccoloanesuma = - clistacoloaneordine = - cnumecoloanesuma = - cnumetabela = - cordine = - csql = - Height = 364 - Name = "ct_selectie" - nelemente = 0 - Width = 332 - * - - ADD OBJECT 'Ct_grupare1' AS ct_grupare WITH ; - Height = 133, ; - Left = 5, ; - Name = "Ct_grupare1", ; - Top = 227, ; - Width = 320, ; - lb_grupare.Name = "lb_grupare" - *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> - - ADD OBJECT 'Ct_ordonare1' AS ct_ordonare WITH ; - Height = 133, ; - Left = 5, ; - Name = "Ct_ordonare1", ; - Top = 95, ; - Width = 320, ; - lb_ordonare.Name = "lb_ordonare" - *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> - - ADD OBJECT 'lb_coloane' AS lb_simplu WITH ; - Caption = "Coloane in selectie:", ; - Height = 17, ; - Left = 10, ; - Name = "lb_coloane", ; - TabIndex = 9, ; - Top = 6, ; - Width = 111 - *< END OBJECT: ClassLib="..\comun\clase\lb.vcx" BaseClass="label" /> - - PROCEDURE do_adauga - Lparameters tcCamp,tcNumeCamp,tlGrupare,tlOrdine - This.nelemente = This.nelemente + 1 - Ains(This.aselectie,This.nelemente) - This.aselectie[This.nelemente,1]=Upper(Alltrim(tcCamp)) - This.aselectie[this.nelemente,2]=0 - This.aselectie[this.nelemente,3]=0 - This.aselectie[this.nelemente,4]=0 - If tlGrupare - This.ct_grupare1.do_adauga_ct(Upper(Alltrim(tcCamp)),tcNumeCamp) - Endif - If tlOrdine - This.ct_ordonare1.do_adauga_ct(Upper(Alltrim(tcCamp)),tcNumeCamp) - Endif - - ENDPROC - - PROTECTED PROCEDURE do_compune_ordine_selectie - Lparameters taArraySelectie - Local lcOrdine, lcSens - lcOrdine = [] - ASORT(taArraySelectie,3) - For i = 1 To Alen(taArraySelectie,1) - If !Empty(taArraySelectie[i,1]) And !Empty(Nvl(taArraySelectie[i,3],0)) - If Empty(taArraySelectie[i,4]) Or (taArraySelectie[i,4] = 1) - lcSens = [] - Else - lcSens = [ DESC] - Endif - lcOrdine = lcOrdine + [,] + taArraySelectie[i,1] + lcSens - Endif - Endfor - This.cOrdine = lcOrdine - ENDPROC - - PROCEDURE do_instructiune_sql - Local llSelectieVida,lcSql,lcColoaneGrupate,lcAlteColoane,lcColoaneSuma,lcSelect,lcFiltru,lcGroupBy,lcOrderBy,lcOrdine,lcOrdineGrup - Local lnPozitii - Store .T. To llSelectieVida - If !Empty(This.clistacoloaneordine) - lnPozitii = Getwordcount(This.clistacoloaneordine,[,]) + 1 - Else - lnPozitii = 1 - Endif - For i = lnPozitii To Alen(Thisform.ct_selectie1.aselectie,1) - If !Empty(Thisform.ct_selectie1.aselectie[i,1]) - llSelectieVida = .F. - Exit - Endif - Endfor - If llSelectieVida - lcSql = [] - Else - Dimension laArraySelectie(This.nelemente,4) - Acopy(This.aselectie,laArraySelectie,1,This.nelemente*4) - This.do_compune_ordine_selectie(@laArraySelectie) - lcColoaneAgregare = This.ccoloanesuma - lcView = gcS + [.] + This.cnumetabela - lcColoaneGrupate = [] - lcAlteColoane = [] - lcColoaneSuma = [] - lcSelect = [] - lcFiltru = [1=2] - lcGroupBy = [] - lcOrderBy = [] - lcOrdine = This.cordine - lcOrdineGrup = [] - If !Empty(This.clistacoloaneordine) - *!* sterg coloana pentru care se va face suma - For i = 1 To lnPozitii - 1 - lnPozColoana = VAL(GETWORDNUM(this.clistacoloaneordine,i,[,])) - lcColoana = GETWORDNUM(this.ccoloanesuma,lnPozColoana,[,]) - lnRand = ASCAN(laArraySelectie,lcColoana,1,ALEN(laArraySelectie,1),1,15) - Adel(laArraySelectie,lnRand) - *!* Adel(laArraySelectie,1) - Endfor - Dimension laArraySelectie(This.nelemente-lnPozitii+1,4) - Endif - Asort(laArraySelectie,2) - For i = 1 To Getwordcount(lcColoaneAgregare,[,]) - lcNumeColoana = Getwordnum(lcColoaneAgregare,i,[,]) - lcColoaneSuma = lcColoaneSuma + [,SUM(] + lcNumeColoana + [) as ] + lcNumeColoana - Endfor - For i = 1 To Alen(laArraySelectie,1) - If !Empty(laArraySelectie[i,1]) - If !Empty(laArraySelectie[i,2]) - lcColoaneGrupate = lcColoaneGrupate + [,] + Alltrim(laArraySelectie[i,1]) - Else - lcAlteColoane = lcAlteColoane + [,] + Alltrim(laArraySelectie[i,1]) - Endif - Endif - Endfor - If !Empty(lcColoaneGrupate) - lcSelect = [GROUPING_ID(]+Substr(lcColoaneGrupate,2)+lcAlteColoane+[) AS GID] + lcColoaneGrupate - lcOrdineGrup = Substr(lcColoaneGrupate,2) + [,GID] - If Empty(lcAlteColoane) - lcSelect = lcSelect + lcColoaneSuma - lcGroupBy = [ GROUP BY ROLLUP(]+Substr(lcColoaneGrupate,2)+[) ] - Else - lcSelect = lcSelect + lcAlteColoane + lcColoaneSuma - lcGroupBy = [ GROUP BY ROLLUP(]+Substr(lcColoaneGrupate,2)+[,(]+Substr(lcAlteColoane,2)+[)) ] - Endif - Else - lcSelect = lcSelect + [GROUPING_ID(] + SUBSTR(lcAlteColoane,2) +[) AS GID] + ; - lcAlteColoane + lcColoaneSuma - lcGroupBy = [ GROUP BY ROLLUP((] + SUBSTR(lcAlteColoane,2) + [))] - lcOrdineGrup = [GID] - Endif - Do Case - Case !Empty(lcOrdine) And !Empty(lcOrdineGrup) - lcOrderBy = [ ORDER BY ] + lcOrdineGrup + lcOrdine - Case !Empty(lcOrdine) And Empty(lcOrdineGrup) - lcOrderBy = [ ORDER BY ] + Substr(lcOrdine,2) - Case !Empty(lcOrdineGrup) - lcOrderBy = [ ORDER BY ] + lcOrdineGrup - Otherwise - lcOrderBy = [] - Endcase - - lcSql = [SELECT ] + lcSelect + [ FROM ] + lcView + ; - [ WHERE ] + lcFiltru + lcGroupBy + lcOrderBy - Release laArraySelectie - Endif - This.cSql = lcSql - - ENDPROC - - PROCEDURE do_modifica - Lparameters tnColoana,tcCamp,tnValoare - && tnColoana : 2 - ordine grupare - && 3 - ordine la ordonare - && 4 - sens la ordonare = 1 - ASC - && 2 - DESC - lnPozitie=Ascan(This.aselectie,Upper(Alltrim(tcCamp)),1,30,1,9) - If lnPozitie > 0 - This.aselectie[lnPozitie,tnColoana]=tnValoare - Endif - - ENDPROC - - PROCEDURE do_sterge - Lparameters tcCamp,tcNumeCamp - lnPozitie=Ascan(This.aselectie,Upper(Alltrim(tcCamp)),1,30,1,9) - If lnPozitie > 0 - Adel(This.aselectie,lnPozitie) - This.nelemente = This.nelemente - 1 - Endif - This.ct_grupare1.do_sterge_ct(tcCamp) - This.ct_ordonare1.do_sterge_ct(tcCamp) - - ENDPROC - - PROCEDURE Init - If !Empty(This.clistacoloaneordine) - *!* se adauga la ordine si prima coloana din coloanele de sume - lcLista = Alltrim(Iif(Type('This.clistacoloaneordine')='C',This.clistacoloaneordine,Str(This.clistacoloaneordine))) - This.clistacoloaneordine=lcLista - For i = 1 To Getwordcount(lcLista,[,]) - lnPozitie=Val(Getwordnum(lcLista,i,[,])) - lcNume=Proper(Getwordnum(This.ccoloanesuma,lnPozitie,[,])) - If !Empty(This.cnumecoloanesuma) - lcNumeCamp=Proper(Getwordnum(This.cnumecoloanesuma,lnPozitie,[,])) - Else - lcNumeCamp = lcNume - Endif - This.do_adauga(lcNume,lcNumeCamp,.F.,.T.) - Endfor - Endif - - ENDPROC - -ENDDEFINE - -DEFINE CLASS ct_selectie_camp AS _container OF "..\comun\clase\_baza.vcx" - *< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" /> - - *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder - *< OBJECTDATA: ObjPath="ck_camp" UniqueID="" Timestamp="" /> - - * - *m: actualizeaza_container - *p: ccamp - *p: cnumecamp - *p: csens - *p: lgrupare && .T. daca se pot face grupari dupa acest camp. - *p: lordine && .T. daca se poate ordona dupa acest camp. - *p: nid_container - *p: nordine_grup - *p: nordine_ordine - *p: nselectat - * - - * - BorderWidth = 0 - ccamp = - cnumecamp = - csens = - Height = 19 - lgrupare = .T. - lordine = .T. - Name = "ct_selectie_camp" - nid_container = 0 - nordine_grup = 0 - nordine_ordine = 0 - nselectat = 0 - Width = 108 - * - - ADD OBJECT 'ck_camp' AS _checkbox WITH ; - Alignment = 0, ; - Caption = "Camp", ; - Left = 9, ; - Name = "ck_camp", ; - Top = 1 - *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> - - PROCEDURE actualizeaza_container - Lparameters llVizibil - This.Visible=llVizibil - This.ck_camp.FontBold = .F. - This.ck_camp.Value = 0 - This.ngrupat = 0 - ENDPROC - - PROCEDURE Init - This.ck_camp.Caption = This.cnumecamp - ENDPROC - - PROCEDURE ck_camp.Click - This.Parent.nselectat = This.Value - If This.Value = 1 - This.FontBold=.T. - This.Parent.Parent.do_adauga(This.Parent.ccamp,This.Parent.cnumecamp,This.Parent.lgrupare,This.Parent.lordine) - Else - This.FontBold = .F. - This.Parent.Parent.do_sterge(This.Parent.ccamp) - Endif - ENDPROC - -ENDDEFINE - -DEFINE CLASS frm_date_rapoarte AS _frmbase OF "..\comun\clase\_frm_base.vcx" - *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> - - *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder - *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="Ct_clb_raport" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="Ct_clb_raport.But_sterge1" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="Clb_data_referinta" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="Clb_perioada" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="Ct_opt_agent" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="Ct_opt_masina" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="Ct_opt_delegat" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="Ct_opt_client" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="Ct_selectie1" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nract" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_datascad" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_agent" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_delegat" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nrinmat" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_client" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_dataact" UniqueID="" Timestamp="" /> - *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> - - * - *m: do_adauga_filtru - *m: do_cauta_agent - *m: do_cauta_client - *m: do_cauta_delegat - *m: do_cauta_masina - * - - * - DoCreate = .T. - Height = 470 - Name = "frm_date_rapoarte" - Width = 696 - _shape1.Height = 29 - _shape1.Left = 0 - _shape1.Name = "_shape1" - _shape1.Top = 0 - _shape1.Width = 696 - _shape2.Height = 29 - _shape2.Left = 600 - _shape2.Name = "_shape2" - _shape2.Top = 0 - _shape2.Width = 96 - Lb_titlu_alb_b121.Caption = "CRITERII DE SELECTIE" - Lb_titlu_alb_b121.FontBold = .T. - Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" - Lb_titlu_alb_b121.TabIndex = 22 - BUT_TERMIN1.Left = 664 - BUT_TERMIN1.Name = "BUT_TERMIN1" - BUT_TERMIN1.TabIndex = 18 - BUT_TERMIN1.Top = 1 - GRIDSORT1.Left = 480 - GRIDSORT1.Name = "GRIDSORT1" - GRIDSORT1.Top = 36 - * - - ADD OBJECT 'But_listare1' AS but_listare WITH ; - Left = 634, ; - Name = "But_listare1", ; - Top = 1 - *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> - - ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; - Left = 603, ; - Name = "But_salveaza1", ; - TabIndex = 20, ; - Top = 1, ; - Visible = .F. - *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> - - ADD OBJECT 'Clb_data_referinta' AS clb_tx_simplu WITH ; - Left = 383, ; - Name = "Clb_data_referinta", ; - TabIndex = 3, ; - Top = 100, ; - Text_simplu1.ControlSource = "poListare.data_referinta", ; - Text_simplu1.Height = 23, ; - Text_simplu1.Left = 126, ; - Text_simplu1.Name = "Text_simplu1", ; - Text_simplu1.Top = 3, ; - Text_simplu1.Width = 159, ; - Lb_simplu1.Caption = "Data de referinta", ; - Lb_simplu1.Name = "Lb_simplu1" - *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> - - ADD OBJECT 'Clb_perioada' AS clb_n1n2_simplu WITH ; - Left = 383, ; - Name = "Clb_perioada", ; - TabIndex = 2, ; - Top = 72, ; - tx_n1.ControlSource = "poListare.datai", ; - tx_n1.Left = 127, ; - tx_n1.Name = "tx_n1", ; - tx_n1.Top = 2, ; - Lb_simplu1.Caption = "Perioada", ; - Lb_simplu1.Name = "Lb_simplu1", ; - tx_n2.ControlSource = "poListare.dataf", ; - tx_n2.Name = "tx_n2" - *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> - - ADD OBJECT 'Ct_clb_raport' AS ct_clb_cautare WITH ; - Height = 31, ; - Left = 23, ; - Name = "Ct_clb_raport", ; - TabIndex = 21, ; - Top = 36, ; - Visible = .F., ; - Width = 396, ; - img_cautare.Height = 25, ; - img_cautare.Left = 321, ; - img_cautare.Name = "img_cautare", ; - img_cautare.Top = 3, ; - img_cautare.Width = 30, ; - clb_tx_cautare.Lb_simplu1.Caption = "Raport", ; - clb_tx_cautare.Lb_simplu1.Name = "Lb_simplu1", ; - clb_tx_cautare.Name = "clb_tx_cautare", ; - clb_tx_cautare.TabIndex = 1, ; - clb_tx_cautare.Text_simplu1.Height = 23, ; - clb_tx_cautare.Text_simplu1.Left = 71, ; - clb_tx_cautare.Text_simplu1.Name = "Text_simplu1", ; - clb_tx_cautare.Text_simplu1.Top = 3, ; - clb_tx_cautare.Text_simplu1.Width = 239 - *< END OBJECT: ClassLib="..\comun\clase\caut_ora.vcx" BaseClass="container" /> - - ADD OBJECT 'Ct_clb_raport.But_sterge1' AS but_sterge WITH ; - Height = 27, ; - Left = 361, ; - Name = "But_sterge1", ; - TabIndex = 2, ; - Top = 1, ; - Width = 30 - *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> - - ADD OBJECT 'Ct_opt_agent' AS ct_opt_cautare WITH ; - cprocedura = thisform.do_cauta_agent, ; - cvar_afisata = poListare.nume_agent, ; - Left = 383, ; - Name = "Ct_opt_agent", ; - TabIndex = 5, ; - Top = 198, ; - tx_cautare.Name = "tx_cautare", ; - opt_cautare.Name = "opt_cautare", ; - opt_cautare.OPTION1.Left = 5, ; - opt_cautare.OPTION1.Name = "OPTION1", ; - opt_cautare.OPTION1.Top = 5, ; - opt_cautare.OPTION2.Left = 5, ; - opt_cautare.OPTION2.Name = "OPTION2", ; - opt_cautare.OPTION2.Top = 24, ; - lb_explicatie.Caption = "Agent", ; - lb_explicatie.Name = "lb_explicatie" - *< END OBJECT: ClassLib="..\comun\clase\caut_ora.vcx" BaseClass="container" /> - - ADD OBJECT 'Ct_opt_client' AS ct_opt_cautare WITH ; - cprocedura = thisform.do_cauta_client, ; - cvar_afisata = poListare.nume_client, ; - Left = 383, ; - Name = "Ct_opt_client", ; - TabIndex = 4, ; - Top = 128, ; - tx_cautare.Name = "tx_cautare", ; - opt_cautare.Name = "opt_cautare", ; - opt_cautare.OPTION1.Left = 5, ; - opt_cautare.OPTION1.Name = "OPTION1", ; - opt_cautare.OPTION1.Top = 5, ; - opt_cautare.OPTION2.Left = 5, ; - opt_cautare.OPTION2.Name = "OPTION2", ; - opt_cautare.OPTION2.Top = 24, ; - lb_explicatie.Caption = "Client", ; - lb_explicatie.Name = "lb_explicatie" - *< END OBJECT: ClassLib="..\comun\clase\caut_ora.vcx" BaseClass="container" /> - - ADD OBJECT 'Ct_opt_delegat' AS ct_opt_cautare WITH ; - cprocedura = thisform.do_cauta_delegat, ; - cvar_afisata = poListare.nume_delegat, ; - Left = 383, ; - Name = "Ct_opt_delegat", ; - TabIndex = 6, ; - Top = 268, ; - tx_cautare.Name = "tx_cautare", ; - opt_cautare.Name = "opt_cautare", ; - opt_cautare.OPTION1.Left = 5, ; - opt_cautare.OPTION1.Name = "OPTION1", ; - opt_cautare.OPTION1.Top = 5, ; - opt_cautare.OPTION2.Left = 5, ; - opt_cautare.OPTION2.Name = "OPTION2", ; - opt_cautare.OPTION2.Top = 24, ; - lb_explicatie.Caption = "Delegat", ; - lb_explicatie.Name = "lb_explicatie" - *< END OBJECT: ClassLib="..\comun\clase\caut_ora.vcx" BaseClass="container" /> - - ADD OBJECT 'Ct_opt_masina' AS ct_opt_cautare WITH ; - cprocedura = thisform.do_cauta_masina, ; - cvar_afisata = poListare.nrinmat, ; - Left = 383, ; - Name = "Ct_opt_masina", ; - TabIndex = 7, ; - Top = 338, ; - tx_cautare.Name = "tx_cautare", ; - opt_cautare.Name = "opt_cautare", ; - opt_cautare.OPTION1.Left = 5, ; - opt_cautare.OPTION1.Name = "OPTION1", ; - opt_cautare.OPTION1.Top = 5, ; - opt_cautare.OPTION2.Left = 5, ; - opt_cautare.OPTION2.Name = "OPTION2", ; - opt_cautare.OPTION2.Top = 24, ; - lb_explicatie.Caption = "Masina", ; - lb_explicatie.Name = "lb_explicatie" - *< END OBJECT: ClassLib="..\comun\clase\caut_ora.vcx" BaseClass="container" /> - - ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ; - ccoloanesuma = facturat,incasat, ; - cnumetabela = fact_vrap_fact_incasari, ; - Left = 24, ; - Name = "Ct_selectie1", ; - Top = 72, ; - Ct_grupare1.lb_grupare.Name = "lb_grupare", ; - Ct_grupare1.Name = "Ct_grupare1", ; - Ct_ordonare1.lb_ordonare.Name = "lb_ordonare", ; - Ct_ordonare1.Name = "Ct_ordonare1", ; - lb_coloane.Name = "lb_coloane" - *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> - - ADD OBJECT 'Ct_selectie1.Ct_selectie_dataact' AS ct_selectie_camp WITH ; - ccamp = dataact, ; - cnumecamp = Data factura, ; - Left = 17, ; - Name = "Ct_selectie_dataact", ; - nid_container = 2, ; - TabIndex = 37, ; - Top = 36, ; - ck_camp.Alignment = 0, ; - ck_camp.Name = "ck_camp" - *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> - - ADD OBJECT 'Ct_selectie1.Ct_selectie_datascad' AS ct_selectie_camp WITH ; - ccamp = datascad, ; - cnumecamp = Data scadenta, ; - Left = 17, ; - Name = "Ct_selectie_datascad", ; - nid_container = 3, ; - TabIndex = 31, ; - Top = 51, ; - ck_camp.Alignment = 0, ; - ck_camp.Name = "ck_camp" - *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> - - ADD OBJECT 'Ct_selectie1.Ct_selectie_nract' AS ct_selectie_camp WITH ; - ccamp = nract, ; - cnumecamp = Nr. factura, ; - Left = 17, ; - Name = "Ct_selectie_nract", ; - nid_container = 1, ; - TabIndex = 30, ; - Top = 22, ; - ck_camp.Alignment = 0, ; - ck_camp.Name = "ck_camp" - *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> - - ADD OBJECT 'Ct_selectie1.Ct_selectie_nrinmat' AS ct_selectie_camp WITH ; - ccamp = nrinmat, ; - cnumecamp = Masina, ; - Left = 180, ; - Name = "Ct_selectie_nrinmat", ; - TabIndex = 35, ; - Top = 51, ; - ck_camp.Alignment = 0, ; - ck_camp.Name = "ck_camp" - *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> - - ADD OBJECT 'Ct_selectie1.Ct_selectie_nume_agent' AS ct_selectie_camp WITH ; - ccamp = nume_agent, ; - cnumecamp = Agent, ; - Left = 180, ; - Name = "Ct_selectie_nume_agent", ; - nid_container = 5, ; - TabIndex = 33, ; - Top = 22, ; - ck_camp.Alignment = 0, ; - ck_camp.Name = "ck_camp" - *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> - - ADD OBJECT 'Ct_selectie1.Ct_selectie_nume_client' AS ct_selectie_camp WITH ; - ccamp = nume_client, ; - cnumecamp = Client, ; - Left = 17, ; - Name = "Ct_selectie_nume_client", ; - nid_container = 4, ; - TabIndex = 36, ; - Top = 67, ; - ck_camp.Alignment = 0, ; - ck_camp.Name = "ck_camp" - *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> - - ADD OBJECT 'Ct_selectie1.Ct_selectie_nume_delegat' AS ct_selectie_camp WITH ; - ccamp = nume_delegat, ; - cnumecamp = Delegat, ; - Left = 180, ; - Name = "Ct_selectie_nume_delegat", ; - TabIndex = 34, ; - Top = 36, ; - ck_camp.Alignment = 0, ; - ck_camp.Name = "ck_camp" - *< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" /> - - PROCEDURE do_adauga_filtru - Lparameters lcSql - lcFiltru = [WHERE DATAACT BETWEEN ?poListare.datai AND ?poListare.dataf] - If !Empty(Nvl(poListare.nume_client,[])) - lcFiltru = lcFiltru + [ AND nume_client = ?poListare.nume_client] - Endif - - If !Empty(Nvl(poListare.nume_agent,[])) - lcFiltru = lcFiltru + [ AND nume_agent = ?poListare.nume_agent] - Endif - - If !Empty(Nvl(poListare.nume_delegat,[])) - lcFiltru = lcFiltru + [ AND nume_delegat = ?poListare.nume_delegat] - Endif - - If !Empty(Nvl(poListare.nrinmat,[])) - lcFiltru = lcFiltru + [ AND nrinmat = ?poListare.nrinmat] - Endif - poListare.csql = Strtran(lcSql,[WHERE 1=2],lcFiltru) - - ENDPROC - - PROCEDURE do_cauta_agent - Private pnIdPart,pcNumePart - lcTitlu=[ALEGETI AGENTUL] - pnIdPart=0 - pcNumePart=[] - - If caut_partener_dupa_tip(gnIdTipAgenti,lcTitlu,@pnIdPart,@pcNumePart) - poListare.id_agent = pnIdPart - poListare.nume_agent = Alltrim(pcNumePart) - Thisform.ct_opt_agent.Refresh() - Thisform.ct_opt_delegat.SetFocus() - Else - If Empty(Nvl(poListare.nume_agent,[])) - Thisform.ct_opt_agent.opt_cautare.Value=1 - Endif - Thisform.ct_opt_agent.SetFocus() - Endif - - ENDPROC - - PROCEDURE do_cauta_client - Private pnIdPart,pcNumePart - Store 0 To pnIdPart - Store "" To pcNumePart - If cauta_client(@pnIdPart,@pcNumePart) - poListare.id_client = pnIdPart - poListare.nume_client = pcNumePart - - Thisform.ct_opt_client.Refresh() - Thisform.ct_opt_agent.SetFocus() - Else - If Empty(Nvl(poListare.nume_client,[])) - Thisform.ct_opt_client.opt_cautare.Value=1 - Endif - Thisform.ct_opt_client.SetFocus() - Endif - - ENDPROC - - PROCEDURE do_cauta_delegat - Local loCauta - loCauta=caut_delegati() - If !Empty(loCauta.id_responsabil) - poListare.id_delegat = loCauta.id_responsabil - poListare.nume_delegat = Alltrim(loCauta.nume) - Thisform.ct_opt_delegat.Refresh() - Thisform.ct_opt_masina.SetFocus() - Else - If Empty(Nvl(poListare.nume_delegat,[])) - Thisform.ct_opt_delegat.opt_cautare.Value = 1 - Endif - Thisform.ct_opt_delegat.SetFocus() - Endif - - ENDPROC - - PROCEDURE do_cauta_masina - locauta=caut_masina_gs() - If !Empty(locauta.id_masina) - poListare.nrinmat = Alltrim(locauta.nrinmat) - poListare.id_masina = locauta.id_masina - - Thisform.ct_opt_masina.Refresh() - Else - If Empty(Nvl(poListare.nrinmat,[])) - Thisform.ct_opt_masina.opt_cautare.Value = 1 - Endif - Thisform.ct_opt_masina.SetFocus() - Endif - - ENDPROC - - PROCEDURE do_listare - lccontrol = Upper(This.ActiveControl.BaseClass ) - If Inlist(lccontrol,"TEXTBOX","EDITBOX","COMBOBOX") - lcval=This.ActiveControl.ControlSource - &lcval=Thisform.ActiveControl.Value - Endif - - Do Case - Case Empty(Nvl(poListare.datai,{})) - amessagebox("Nu ati completat data initiala!",0+48,"Atentie") - Thisform.clb_perioada.tx_n1.SetFocus() - Return - Case Empty(Nvl(poListare.dataf,{})) - amessagebox("Nu ati completat data finala!",0+48,"Atentie") - Thisform.clb_perioada.tx_n2.SetFocus() - Return - Case Empty(Nvl(poListare.data_referinta,{})) - amessagebox("Nu ati completat data de referinta!",0+48,"Atentie") - Thisform.clb_data_referinta.SetFocus() - Return - Otherwise - With This.ct_selectie1 - .do_instructiune_sql() - lcSql = .csql - Endwith - If Empty(lcSql) - amessagebox("Nu ati ales coloane pentru selectie!",0+48,"Atentie") - Thisform.ct_selectie1.SetFocus() - Return - Else - This.do_adauga_filtru(lcSql) - Endif - Endcase - - If Used('crsraport') - Use In crsraport - Endif - *!* STRTOFILE(poListare.cSql,[c:\sql.txt]) - lnSucces = goExecutor.oExecute(poListare.csql,'crsraport') - If lnSucces < 0 - amessagebox(goExecutor.oPrelucrareEroare(),16,"Eroare") - Endif - - pcDataora = get_ora(2) - If Reccount('crsraport')<>0 - Thisform.AlwaysOnTop = .F. - Select crsraport - Report Form raport_facturat To Printer Prompt Preview - Thisform.AlwaysOnTop = .T. - Else - amessagebox("Nu exista rezultate pentru listare!",0+48,"Atentie") - Endif - - If Used('crsraport') - Use In crsraport - Endif - ENDPROC - - PROCEDURE Clb_perioada.tx_n1.Valid - *!* - ENDPROC - -ENDDEFINE diff --git a/Programe/roafacturare.prg b/Programe/roafacturare.prg index 51463d6..3245d13 100644 --- a/Programe/roafacturare.prg +++ b/Programe/roafacturare.prg @@ -154,12 +154,12 @@ Set Classlib To onomenclatoare Additive Set Classlib To onomenclatoare2 Additive Set Classlib To ofacturare Additive Set Classlib To ofacturare_rapoarte Additive +Set Classlib To orapoarte Additive Set Classlib To ferestre_oracle Additive Set Classlib To Messagebox Additive Set Classlib To otoolbar Additive Set Classlib To onom_curs Additive Set Classlib To comun Additive -Set Classlib To orapoarte Additive Set Classlib To ferestre_cere_date Additive *** *!* Set Classlib To wwxml Additive diff --git a/changelog_roafacturare.txt b/changelog_roafacturare.txt index a5a09e8..0d0e26f 100644 --- a/changelog_roafacturare.txt +++ b/changelog_roafacturare.txt @@ -1,3 +1,11 @@ + +