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:
@@ -832,7 +832,6 @@ DEFINE CLASS ct_selectie AS _container OF "_baza.vcx"
|
||||
Else
|
||||
lnPozitii = 1
|
||||
Endif
|
||||
SET STEP ON
|
||||
For i = lnPozitii To Alen(Thisform.ct_selectie1.aselectie,1)
|
||||
If !Empty(Thisform.ct_selectie1.aselectie[i,1])
|
||||
llSelectieVida = .F.
|
||||
@@ -1219,7 +1218,7 @@ DEFINE CLASS ct_selectie AS _container OF "_baza.vcx"
|
||||
Else
|
||||
lcNumeCamp = lcNume
|
||||
Endif
|
||||
This.do_adauga(lcNume,lcNumeCamp,.F.,.T.)
|
||||
This.do_adauga(lcNume,lcNumeCamp,.F.,.T.,.F.,.NULL.)
|
||||
Endfor
|
||||
Endif
|
||||
Bindevent(This,"lcrosstabulare",This,"do_actualizeaza_culori_sume",1)
|
||||
@@ -1812,7 +1811,7 @@ DEFINE CLASS ct_selectie_sql AS _container OF "_baza.vcx"
|
||||
Else
|
||||
lcNumeCamp = lcNume
|
||||
Endif
|
||||
This.do_adauga(lcNume,lcNumeCamp,.F.,.T.)
|
||||
This.do_adauga(lcNume,lcNumeCamp,.F.,.T.,.F.,.NULL.)
|
||||
Endfor
|
||||
Endif
|
||||
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" />
|
||||
|
||||
ADD OBJECT 'Ct_selectie1' AS ct_selectie WITH ;
|
||||
ccoloanesuma = facturat,incasat, ;
|
||||
ccoloanesuma = facturat|incasat, ;
|
||||
cnumetabela = fact_vrap_fact_incasari, ;
|
||||
Left = 24, ;
|
||||
Name = "Ct_selectie1", ;
|
||||
|
||||
Reference in New Issue
Block a user