9.3 KiB
Prompt de integrare pentru sesiunea planului #13 (frm_facturare_articole2)
Copiaza tot ce e sub linie in sesiunea #13.
Integreaza in lucrul tau modificarile facute de alta sesiune Claude (branch anaf-factura din COMUN, pe calculatorul lui Marius) pentru verificarea automata ANAF a clientului pe factura. Sunt aprobate si testate headless + UI de paritate; nu le reproiecta, doar integreaza-le peste versiunea ta.
Ce atinge COMUN\clase\ofacturare.vc2
frm_facturare_articole2(S2, commit5cf1010) - 10 linii, doar apeluri catreoAntet:Activate: dupa bloculaseaza_totaluri, dacaThis.oAntet.lVerificaLaActivare->This.oAntet.VerificaANAFAutomat(This, .T.).Init: in ramura cupoDate.id_client <> 0(dupa ToolTipText'Id client: ') ->.oAntet.MarcheazaVerificareLaActivare().Clb_dataact.TEXT_SIMPLU1.LostFocussiClb_dataireg.Text_simplu1.LostFocus:Thisform.oAntet.LaSchimbareData(Thisform)inainte deReturnpe ramura aviz si la finalul metodei.
frm_date_factura(dialogul vechi deschis din Comenzi; S2b, commit79fb578): proprietateoantet,Activatenou,oAntetcreat inInit,MarcheazaVerificareLaActivare,LaSchimbareDatape LostFocus date,do_cauta_client(tcCui)cu filtru + verificare/reset,do_verificadelegat laThis.oAntet.do_verifica(This).
Diff-ul exact (text FoxBin2Prg) e mai jos. Daca metodele tale din frm_facturare_articole2 s-au mutat sau rescris, pastreaza intentia: aceleasi apeluri, in aceleasi momente (dupa totaluri la Activate; dupa completarea clientului in Init; dupa recalcularea datelor la LostFocus).
Curatenie la integrare (dupa 558ccda): butonul de verificare nu mai pune nicio intrebare, deci in frm_date_factura.do_cauta_client linia This.oAntet.PuneFiltruCui(m.loHash, m.tcCui) si Lparameters tcCui (adaugate de S2b, diff-ul de mai jos) sunt redundante - tcCui vine mereu gol. Scoate-le la integrare (si PuneFiltruCui din ofacturare_antet.prg, care ramane fara apelant). Diff-ul de mai jos e cel initial 6acd1ea..79fb578; restul modificarilor de dupa sunt doar in .prg si .bmp.
Dependente (fara ele apelurile dau eroare)
Toata logica e in COMUN\programe\ofacturare_antet.prg (clasa oAntetFacturare: VerificaANAFAutomat, LaSchimbareData, MarcheazaVerificareLaActivare, ReseteazaIndicator, AplicaRezultatButon, PuneFiltruCui, lFormVechi...) si in modificarile S0/S1a din fisierele ANAF (ANAF_StarePartener cu parametrul 8 tlIstoricIntai, ocautare.prg). Deci ai nevoie de TOT branch-ul anaf-factura (commit-uri 5e7b11d..558ccda peste ca8e7ca sync SVN r18221), nu doar de .vc2. Branch-ul NU e pushat - cere-i lui Marius sa-l publice (push pe gitea romfast/comun) sau sa decida alta cale; nu reconstrui ofacturare_antet.prg din memorie.
Produsele care deschid aceste formulare trebuie sa aiba SET PROCEDURE TO ofacturare_antet.prg ADDITIVE (ROAFACTURARE si ROAACNPRO il au; daca #13 aduce formularele in alt produs, adauga-l acolo).
Procedura
- Merge / cherry-pick
anaf-facturapeste branch-ul tau; conflictele inofacturare.vc2se rezolva manual pe text, pastrand ambele seturi. - Write-back o singura data, din textul unit (skill
roa-vfp-text-edit,-ProjectRootexplicit), verificare prin reconversie. - Regresie:
COMUN\utile\Teste\anaf_factura\test_s2_declansatori.prg,test_s2b_dialog_vechi.prg,test_s3_buton_manual.prg(headless),test_s4_indicator_ui.ps1sitest_s4_dialog_vechi_ui.ps1(UI). - Observatie deschisa:
InitfaceSetFocus, care declanseazaActivateinca din Init, deci primul HTTP ANAF poate rula inainte ca formularul sa fie desenat (vezi raportul S4, defect 1). Nu il repara fara decizia lui Marius.
Diff ofacturare.vc2 (6acd1ea..79fb578)
diff --git a/clase/ofacturare.vc2 b/clase/ofacturare.vc2
index 21d37aa..4540ef4 100644
--- a/clase/ofacturare.vc2
+++ b/clase/ofacturare.vc2
@@ -8689,6 +8689,7 @@ DEFINE CLASS frm_date_factura AS _frmbase OF "_frm_base.vcx"
*p: nsoldlei && Sold lei client
*p: nsoldvaluta && sold vauta client
*p: ntip
+ *p: oantet && Verificarea ANAF si cautarile de antet (oAntetFacturare, ofacturare_antet.prg).
*</DefinedPropArrayMethod>
*<PropValue>
@@ -9092,6 +9093,15 @@ DEFINE CLASS frm_date_factura AS _frmbase OF "_frm_base.vcx"
Width = 118
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
+ PROCEDURE Activate
+ DoDefault()
+ If Vartype(This.oAntet) = "O"
+ If This.oAntet.lVerificaLaActivare
+ This.oAntet.VerificaANAFAutomat(This, .T.)
+ Endif
+ Endif
+ ENDPROC
+
PROCEDURE do_cauta_altele
Do Case
Case Thisform.nid_tip=2
@@ -9154,9 +9164,11 @@ DEFINE CLASS frm_date_factura AS _frmbase OF "_frm_base.vcx"
ENDPROC
PROCEDURE do_cauta_client
+ Lparameters tcCui
Local loCauta
loHash = GetHash([cTitlu=>Clienti??cCont=>4111??lAdaugCorespondente=>1??lVerificaANAF=>1])
loHash.SetValue('dDataDoc', Iif(Type('poDate.dataact') = 'D', poDate.dataact, {}))
+ This.oAntet.PuneFiltruCui(m.loHash, m.tcCui)
loCauta = CautPartenerContabilitate(loHash)
If !Empty(Nvl(loCauta.id_part,0)) And !Empty(loCauta.denumire)
If loCauta.id_part <> poDate.id_client
@@ -9196,6 +9208,7 @@ DEFINE CLASS frm_date_factura AS _frmbase OF "_frm_base.vcx"
This.ct_clb_lucrare.SetFocus()
This.ct_clb_nume_client.clb_TX_CAUTARE.text_SIMPLU1.ToolTipText = 'Id client: ' + TRANSFORM(poDate.id_client)
+ This.oAntet.VerificaANAFAutomat(This, .F.)
Else
poDate.listaid = []
poDate.descriere = []
@@ -9205,6 +9218,7 @@ DEFINE CLASS frm_date_factura AS _frmbase OF "_frm_base.vcx"
this.nSoldLei = 0
this.nSoldValuta = 0
+ This.oAntet.ReseteazaIndicator(This)
this.txtSoldLei.Refresh()
Endif
*!* modificare v 2.0.70
@@ -9593,18 +9607,7 @@ DEFINE CLASS frm_date_factura AS _frmbase OF "_frm_base.vcx"
ENDPROC
PROCEDURE do_verifica
- Local loDate As "empty"
- Local lnOptiune, lnRaspuns, loPartener
-
- lnOptiune = 1
- loPartener = Null
- loDate = Createobject("empty")
-
- AddProperty(loDate, "denumire", poDate.nume_client)
- AddProperty(loDate, "cod_fiscal", poDate.cod_fiscal)
- AddProperty(loDate, "tip_verificare", "ANAF_SERVICIU_WEB")
-
- lnRaspuns = VerificaCodFiscal(loDate, @lnOptiune, @loPartener)
+ Return This.oAntet.do_verifica(This)
ENDPROC
PROCEDURE inainte_de_do_termin
@@ -9741,6 +9744,8 @@ DEFINE CLASS frm_date_factura AS _frmbase OF "_frm_base.vcx"
This.lCopiere = (TYPE('toFactura') = 'O') && copiere factura
llCopiere = This.lCopiere
+ This.oAntet = Createobject('oAntetFacturare')
+ This.oAntet.lFormVechi = .T.
lnObiecte = 16 && ROACONTRACTE v 2.0.42 : 16
Dimension laPozitii(lnObiecte, 3)
@@ -9938,6 +9943,8 @@ DEFINE CLASS frm_date_factura AS _frmbase OF "_frm_base.vcx"
this.nSoldValuta = loSoldClient.sold_valuta
this.txtSoldLei.Refresh()
This.ct_clb_nume_client.clb_TX_CAUTARE.text_SIMPLU1.ToolTipText = 'Id client: ' + TRANSFORM(poDate.id_client)
+ This.oAntet.MarcheazaVerificareLaActivare()
+ This.txtCodFiscal.Refresh()
ENDIF
DO CASE
@@ -9965,6 +9972,7 @@ DEFINE CLASS frm_date_factura AS _frmbase OF "_frm_base.vcx"
Endif
*!* modificare v 2.0.56 ^
+ Thisform.oAntet.LaSchimbareData(Thisform)
ENDPROC
PROCEDURE Clb_dataireg.Text_simplu1.LostFocus
@@ -9983,6 +9991,7 @@ DEFINE CLASS frm_date_factura AS _frmbase OF "_frm_base.vcx"
*!* modificare v 2.0.56
Endif
*!* modificare v 2.0.56 ^
+ Thisform.oAntet.LaSchimbareData(Thisform)
ENDPROC
PROCEDURE Clb_nract.Text_simplu1.LostFocus
@@ -18238,6 +18247,11 @@ DEFINE CLASS frm_facturare_articole2 AS _frmbase OF "_frm_base.vcx"
This.ltotaluri_asezate = .T.
This.aseaza_totaluri()
Endif
+ If Vartype(This.oAntet) = "O"
+ If This.oAntet.lVerificaLaActivare
+ This.oAntet.VerificaANAFAutomat(This, .T.)
+ Endif
+ Endif
ENDPROC
PROCEDURE actualizeaza_tipincasare
@@ -21579,6 +21593,7 @@ DEFINE CLASS frm_facturare_articole2 AS _frmbase OF "_frm_base.vcx"
.nSoldValuta = loSoldClient.sold_valuta
.txtSoldLei.Refresh()
.ct_clb_nume_client.clb_tx_cautare.text_simplu1.ToolTipText = 'Id client: ' + Transform(poDate.id_client)
+ .oAntet.MarcheazaVerificareLaActivare()
Endif
Do Case
Case poDate.in_valuta = 1 And .ct_clb_valuta.Top < .clb_fdoc.Top And Empty(Nvl(poDate.nume_valuta, ''))
@@ -21941,6 +21956,7 @@ DEFINE CLASS frm_facturare_articole2 AS _frmbase OF "_frm_base.vcx"
If Thisform.oAntet.EsteAviz()
poDate.zi_curs = poDate.dataact
Thisform.clb_zi_curs.Refresh()
+ Thisform.oAntet.LaSchimbareData(Thisform)
Return
Endif
*!* modificare v 2.2.4 : daca scadenta nu e automata, atunci poate modifica data scadenta propusa
@@ -21957,6 +21973,7 @@ DEFINE CLASS frm_facturare_articole2 AS _frmbase OF "_frm_base.vcx"
Endif
*!* modificare v 2.0.56 ^
+ Thisform.oAntet.LaSchimbareData(Thisform)
ENDPROC
PROCEDURE Clb_dataireg.Text_simplu1.LostFocus
@@ -21965,6 +21982,7 @@ DEFINE CLASS frm_facturare_articole2 AS _frmbase OF "_frm_base.vcx"
Thisform.clb_dataact.Refresh()
poDate.zi_curs = poDate.dataact
Thisform.clb_zi_curs.Refresh()
+ Thisform.oAntet.LaSchimbareData(Thisform)
Return
Endif
poDate.dataact = poDate.dataireg
@@ -21982,6 +22000,7 @@ DEFINE CLASS frm_facturare_articole2 AS _frmbase OF "_frm_base.vcx"
*!* modificare v 2.0.56
Endif
*!* modificare v 2.0.56 ^
+ Thisform.oAntet.LaSchimbareData(Thisform)
ENDPROC
PROCEDURE clb_fdoc.cboFdoc.Init