Rapoarte generice: corectare do_adauga, separator coloane de suma, scoatere SET STEP ON
ct_selectie.Init si ct_selectie_sql.Init apelau do_adauga cu 4 argumente, desi metoda e declarata cu 6. lcCampId ajungea .F., iar Nvl(.F.,lcCamp) dadea Error 11 la deschiderea oricarui formular de raport generic, urmata de o cascada in ct_ordonare1._scrollcontainer1.do_adaugaobiect. ccoloanesuma si cnumecoloanesuma erau stocate cu virgula in formulare, dar codul le citeste cu "|" (contract documentat in ct_selectie.Init: o coloana poate fi o expresie de forma round(...,...)). Rezulta SUM(cantitate,valoare_ftva,valoare) si ORA-00909. Migrate cele 12 valori pe "|"; clistacoloaneordine ramane pe virgula, asa cum o citeste codul. Scos SET STEP ON din ct_selectie.do_instructiune_sql si din frm_date_rapoarte_articole_v.do_cauta - in EXE nu au efect, dar la rularea din sursa opreau executia in debugger. Adaugata coloana "Cont" in rapoartele de articole: contul de venit preluat din nota contabila a politicii de preturi (primul rand dupa ORDINE), cu regula debit/credit dupa structura notei. Verificat headless: cele 6 formulare de raport se deschid cu 0 erori (inainte 10/10/14/9/1/9), do_instructiune_sql intoarce .T., iar SQL-ul generat se executa pe Oracle si returneaza 31 de randuri grupate pe cont. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P1J6WjsQn7i7c9uF7VweGc
This commit is contained in:
@@ -22,6 +22,7 @@ DEFINE CLASS frm_date_rapoarte_articole AS _frmbase OF "_frm_base.vcx"
|
|||||||
*< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_client" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_nume_client" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_serie" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_serie" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_numar_act" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_numar_act" UniqueID="" Timestamp="" />
|
||||||
|
*< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_cont" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="Ct_opt_categorie" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="Ct_opt_categorie" UniqueID="" Timestamp="" />
|
||||||
@@ -243,9 +244,9 @@ DEFINE CLASS frm_date_rapoarte_articole AS _frmbase OF "_frm_base.vcx"
|
|||||||
*< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" />
|
*< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" />
|
||||||
|
|
||||||
ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ;
|
ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ;
|
||||||
ccoloanesuma = cantitate,valoare_ftva,valoare, ;
|
ccoloanesuma = cantitate|valoare_ftva|valoare, ;
|
||||||
clistacoloaneordine = 1,2, ;
|
clistacoloaneordine = 1,2, ;
|
||||||
cnumecoloanesuma = Cantitate,Valoare fara TVA,Valoare cu TVA, ;
|
cnumecoloanesuma = Cantitate|Valoare fara TVA|Valoare cu TVA, ;
|
||||||
cnumetabela = fact_vrap_fact_articole, ;
|
cnumetabela = fact_vrap_fact_articole, ;
|
||||||
Height = 384, ;
|
Height = 384, ;
|
||||||
Left = 24, ;
|
Left = 24, ;
|
||||||
@@ -292,6 +293,18 @@ DEFINE CLASS frm_date_rapoarte_articole AS _frmbase OF "_frm_base.vcx"
|
|||||||
ck_camp.Name = "ck_camp"
|
ck_camp.Name = "ck_camp"
|
||||||
*< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" />
|
*< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" />
|
||||||
|
|
||||||
|
ADD OBJECT 'Ct_selectie1.Ct_selectie_cont' AS ct_selectie_camp WITH ;
|
||||||
|
ccamp = cont, ;
|
||||||
|
cnumecamp = Cont, ;
|
||||||
|
Left = 120, ;
|
||||||
|
Name = "Ct_selectie_cont", ;
|
||||||
|
nid_container = 8, ;
|
||||||
|
TabIndex = 9, ;
|
||||||
|
Top = 57, ;
|
||||||
|
ck_camp.Alignment = 0, ;
|
||||||
|
ck_camp.Name = "ck_camp"
|
||||||
|
*< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" />
|
||||||
|
|
||||||
ADD OBJECT 'Ct_selectie1.Ct_selectie_data_act' AS ct_selectie_camp WITH ;
|
ADD OBJECT 'Ct_selectie1.Ct_selectie_data_act' AS ct_selectie_camp WITH ;
|
||||||
ccamp = data_act, ;
|
ccamp = data_act, ;
|
||||||
cnumecamp = Data factura, ;
|
cnumecamp = Data factura, ;
|
||||||
@@ -927,9 +940,9 @@ DEFINE CLASS frm_date_rapoarte_articole_tr AS frm_termin OF "_frm_child.vcx"
|
|||||||
*< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" />
|
*< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" />
|
||||||
|
|
||||||
ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ;
|
ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ;
|
||||||
ccoloanesuma = adaos,cantitate,valoare_ftva,valoare,val_achizitie, ;
|
ccoloanesuma = adaos|cantitate|valoare_ftva|valoare|val_achizitie, ;
|
||||||
clistacoloaneordine = 1,2,3,4, ;
|
clistacoloaneordine = 1,2,3,4, ;
|
||||||
cnumecoloanesuma = Adaos,Cantitate,Valoare fara TVA,Valoare cu TVA,Valoare achizitie, ;
|
cnumecoloanesuma = Adaos|Cantitate|Valoare fara TVA|Valoare cu TVA|Valoare achizitie, ;
|
||||||
cnumetabela = fact_vrap_articole_transfer, ;
|
cnumetabela = fact_vrap_articole_transfer, ;
|
||||||
Height = 158, ;
|
Height = 158, ;
|
||||||
Left = 7, ;
|
Left = 7, ;
|
||||||
@@ -1576,6 +1589,7 @@ DEFINE CLASS frm_date_rapoarte_articole_v AS frm_termin OF "_frm_child.vcx"
|
|||||||
*< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_procent_adaos" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_procent_adaos" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_valoare_achizitie" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_valoare_achizitie" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_valoare_adaos" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_valoare_adaos" UniqueID="" Timestamp="" />
|
||||||
|
*< OBJECTDATA: ObjPath="Ct_selectie1.Ct_selectie_cont" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="Ct_opt_categorie" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="Ct_opt_categorie" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="Ct_opt_grupa" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="Ct_opt_grupa" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="Ct_opt_subgrupa" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="Ct_opt_subgrupa" UniqueID="" Timestamp="" />
|
||||||
@@ -1794,9 +1808,9 @@ DEFINE CLASS frm_date_rapoarte_articole_v AS frm_termin OF "_frm_child.vcx"
|
|||||||
|
|
||||||
ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ;
|
ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ;
|
||||||
Anchor = 15, ;
|
Anchor = 15, ;
|
||||||
ccoloanesuma = cantitate,valoare_ftva,valoare, ;
|
ccoloanesuma = cantitate|valoare_ftva|valoare, ;
|
||||||
clistacoloaneordine = 1,2, ;
|
clistacoloaneordine = 1,2, ;
|
||||||
cnumecoloanesuma = Cantitate,Valoare fara TVA, Valoare cu TVA, ;
|
cnumecoloanesuma = Cantitate|Valoare fara TVA| Valoare cu TVA, ;
|
||||||
cnumetabela = fact_vrap_articole_vandute, ;
|
cnumetabela = fact_vrap_articole_vandute, ;
|
||||||
Height = 479, ;
|
Height = 479, ;
|
||||||
Left = 4, ;
|
Left = 4, ;
|
||||||
@@ -1857,6 +1871,18 @@ DEFINE CLASS frm_date_rapoarte_articole_v AS frm_termin OF "_frm_child.vcx"
|
|||||||
ck_camp.Name = "ck_camp"
|
ck_camp.Name = "ck_camp"
|
||||||
*< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" />
|
*< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" />
|
||||||
|
|
||||||
|
ADD OBJECT 'Ct_selectie1.Ct_selectie_cont' AS ct_selectie_camp WITH ;
|
||||||
|
ccamp = cont, ;
|
||||||
|
cnumecamp = Cont, ;
|
||||||
|
Left = 248, ;
|
||||||
|
Name = "Ct_selectie_cont", ;
|
||||||
|
nid_container = 15, ;
|
||||||
|
TabIndex = 8, ;
|
||||||
|
Top = 57, ;
|
||||||
|
ck_camp.Alignment = 0, ;
|
||||||
|
ck_camp.Name = "ck_camp"
|
||||||
|
*< END OBJECT: ClassLib="orapoarte.vcx" BaseClass="container" />
|
||||||
|
|
||||||
ADD OBJECT 'Ct_selectie1.Ct_selectie_data_act' AS ct_selectie_camp WITH ;
|
ADD OBJECT 'Ct_selectie1.Ct_selectie_data_act' AS ct_selectie_camp WITH ;
|
||||||
ccamp = data_act, ;
|
ccamp = data_act, ;
|
||||||
cnumecamp = Data factura, ;
|
cnumecamp = Data factura, ;
|
||||||
@@ -2041,7 +2067,6 @@ DEFINE CLASS frm_date_rapoarte_articole_v AS frm_termin OF "_frm_child.vcx"
|
|||||||
Thisform.clb_data_referinta.SetFocus()
|
Thisform.clb_data_referinta.SetFocus()
|
||||||
Return
|
Return
|
||||||
Otherwise
|
Otherwise
|
||||||
SET STEP ON
|
|
||||||
With This.ct_selectie1
|
With This.ct_selectie1
|
||||||
.do_instructiune_sql()
|
.do_instructiune_sql()
|
||||||
lcSql = .csql
|
lcSql = .csql
|
||||||
@@ -2544,9 +2569,9 @@ DEFINE CLASS frm_date_rapoarte_avize AS _frmbase OF "_frm_base.vcx"
|
|||||||
*< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" />
|
*< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" />
|
||||||
|
|
||||||
ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ;
|
ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ;
|
||||||
ccoloanesuma = avizat,facturat, ;
|
ccoloanesuma = avizat|facturat, ;
|
||||||
clistacoloaneordine = 1, ;
|
clistacoloaneordine = 1, ;
|
||||||
cnumecoloanesuma = Valoare avizata,Valoare facturata, ;
|
cnumecoloanesuma = Valoare avizata|Valoare facturata, ;
|
||||||
cnumetabela = fact_vrap_avize_fact, ;
|
cnumetabela = fact_vrap_avize_fact, ;
|
||||||
Height = 408, ;
|
Height = 408, ;
|
||||||
Left = 24, ;
|
Left = 24, ;
|
||||||
@@ -3202,7 +3227,7 @@ DEFINE CLASS frm_date_rapoarte_avize_tr AS _frmbase OF "_frm_base.vcx"
|
|||||||
ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ;
|
ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ;
|
||||||
ccoloanesuma = avizat, ;
|
ccoloanesuma = avizat, ;
|
||||||
clistacoloaneordine = 1, ;
|
clistacoloaneordine = 1, ;
|
||||||
cnumecoloanesuma = Valoare avizata,Valoare facturata, ;
|
cnumecoloanesuma = Valoare avizata|Valoare facturata, ;
|
||||||
cnumetabela = fact_vrap_avize_transfer, ;
|
cnumetabela = fact_vrap_avize_transfer, ;
|
||||||
Height = 408, ;
|
Height = 408, ;
|
||||||
Left = 24, ;
|
Left = 24, ;
|
||||||
@@ -3802,9 +3827,9 @@ DEFINE CLASS frm_date_rapoarte_facturi AS _frmbase OF "_frm_base.vcx"
|
|||||||
*< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" />
|
*< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" />
|
||||||
|
|
||||||
ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ;
|
ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ;
|
||||||
ccoloanesuma = facturat,incasat, ;
|
ccoloanesuma = facturat|incasat, ;
|
||||||
clistacoloaneordine = 1, ;
|
clistacoloaneordine = 1, ;
|
||||||
cnumecoloanesuma = Valoare facturata,Valoare incasata, ;
|
cnumecoloanesuma = Valoare facturata|Valoare incasata, ;
|
||||||
cnumetabela = fact_vrap_fact_incasari, ;
|
cnumetabela = fact_vrap_fact_incasari, ;
|
||||||
Height = 444, ;
|
Height = 444, ;
|
||||||
Left = 24, ;
|
Left = 24, ;
|
||||||
|
|||||||
@@ -832,7 +832,6 @@ DEFINE CLASS ct_selectie AS _container OF "_baza.vcx"
|
|||||||
Else
|
Else
|
||||||
lnPozitii = 1
|
lnPozitii = 1
|
||||||
Endif
|
Endif
|
||||||
SET STEP ON
|
|
||||||
For i = lnPozitii To Alen(Thisform.ct_selectie1.aselectie,1)
|
For i = lnPozitii To Alen(Thisform.ct_selectie1.aselectie,1)
|
||||||
If !Empty(Thisform.ct_selectie1.aselectie[i,1])
|
If !Empty(Thisform.ct_selectie1.aselectie[i,1])
|
||||||
llSelectieVida = .F.
|
llSelectieVida = .F.
|
||||||
@@ -1219,7 +1218,7 @@ DEFINE CLASS ct_selectie AS _container OF "_baza.vcx"
|
|||||||
Else
|
Else
|
||||||
lcNumeCamp = lcNume
|
lcNumeCamp = lcNume
|
||||||
Endif
|
Endif
|
||||||
This.do_adauga(lcNume,lcNumeCamp,.F.,.T.)
|
This.do_adauga(lcNume,lcNumeCamp,.F.,.T.,.F.,.NULL.)
|
||||||
Endfor
|
Endfor
|
||||||
Endif
|
Endif
|
||||||
Bindevent(This,"lcrosstabulare",This,"do_actualizeaza_culori_sume",1)
|
Bindevent(This,"lcrosstabulare",This,"do_actualizeaza_culori_sume",1)
|
||||||
@@ -1812,7 +1811,7 @@ DEFINE CLASS ct_selectie_sql AS _container OF "_baza.vcx"
|
|||||||
Else
|
Else
|
||||||
lcNumeCamp = lcNume
|
lcNumeCamp = lcNume
|
||||||
Endif
|
Endif
|
||||||
This.do_adauga(lcNume,lcNumeCamp,.F.,.T.)
|
This.do_adauga(lcNume,lcNumeCamp,.F.,.T.,.F.,.NULL.)
|
||||||
Endfor
|
Endfor
|
||||||
Endif
|
Endif
|
||||||
Bindevent(This,"lcrosstabulare",This,"do_actualizeaza_culori_sume",1)
|
Bindevent(This,"lcrosstabulare",This,"do_actualizeaza_culori_sume",1)
|
||||||
@@ -2046,7 +2045,7 @@ DEFINE CLASS frm_date_rapoarte AS _frmbase OF "_frm_base.vcx"
|
|||||||
*< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" />
|
*< END OBJECT: ClassLib="caut_ora.vcx" BaseClass="container" />
|
||||||
|
|
||||||
ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ;
|
ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ;
|
||||||
ccoloanesuma = facturat,incasat, ;
|
ccoloanesuma = facturat|incasat, ;
|
||||||
cnumetabela = fact_vrap_fact_incasari, ;
|
cnumetabela = fact_vrap_fact_incasari, ;
|
||||||
Left = 24, ;
|
Left = 24, ;
|
||||||
Name = "Ct_selectie1", ;
|
Name = "Ct_selectie1", ;
|
||||||
|
|||||||
Reference in New Issue
Block a user