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 @@
+
+