sync SVN r18238
This commit is contained in:
12
docs/erori_deschise.md
Normal file
12
docs/erori_deschise.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Erori deschise — formular facturare unificat
|
||||
|
||||
Erori observate la rulare, neinvestigate inca. Se sterge intrarea cand e reparata.
|
||||
|
||||
## 1. `Alias 'CRSGESTIUNE' is not found.` la parasirea combo-ului de gestiune
|
||||
|
||||
- **Unde:** `FRM_FACTURARE_ARTICOLE2.GRD_FACTURA.CGESTIUNE.CCBOGESTIUNE.LOSTFOCUS`, linia 5
|
||||
- **Linia:** `REPLACE nume_gestiune WITH crsGestiune.nume_gestiune, id_gestiune WITH crsGestiune.id_gestiune IN crsFactura`
|
||||
- **Mediu:** MARIUSM_AUTO, 09.09.2026
|
||||
- **De verificat:** cine creeaza `crsGestiune` si pe ce cale de cod ajunge `LostFocus` sa ruleze
|
||||
inainte (sau dupa inchiderea) cursorului — probabil combo-ul isi pierde focusul intr-un context
|
||||
in care cursorul nu a fost creat sau a fost deja inchis.
|
||||
65
docs/handoff_anaf_factura.md
Normal file
65
docs/handoff_anaf_factura.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# HANDOFF - verificare automata ANAF pe factura
|
||||
|
||||
> 30.09 seara, la cererea lui Marius: STERSE din docs/ planul, progresul, autoplan_anaf/, investigatia, diagnosticul si toate rapoartele (raport_*.md) citate mai jos. Au ramas doar acest fisier si `prompt_integrare_13_anaf.md`. Starea reala = git log pe `anaf-factura` in COMUN (`ca8e7ca..558ccda`) + mesajele de commit. Singurul pas ramas: aducerea pe `main` prin SVN + roa_sync, FARA branch (Marius: "nu vreau niciun branch"). Lista si pasii: `docs/svn_commit_anaf.md`. Probele de test: Marius a decis stergerea - sterse de pe disc 30.09 (apar `D` in git pe branch, dispar cu el).
|
||||
|
||||
Actualizat 29.09.2026, la ~257k context in sesiunea orchestratoare (prag Regula zero). STARE, nu instructiune noua.
|
||||
|
||||
## Stare
|
||||
|
||||
- Plan APROBAT: `docs/plan_anaf_factura.md` - corectiile din fazele CEO/Design/Eng + "APROBAT" + "Rezultat proba D1" au prioritate fata de textul initial al stories.
|
||||
- Progres: `docs/progres_anaf_factura.md` (sursa de stare pe stories). Probe: `docs/autoplan_anaf/3_test_plan.md`. Tabel stari/tooltip-uri: `docs/autoplan_anaf/2_design.md` (iconitele: vezi "Rezultat proba D1" din plan, care inlocuieste `exclamare_*.bmp`/`terminat_*` din tabelul Design).
|
||||
- Branch `anaf-factura` in `D:\roa\ROAFACTURARE\COMUN`:
|
||||
- `5e7b11d` S0 - filtru istoric la/dupa data ceruta + `ocautare.prg:224` transmite sursa. Raport `docs/raport_s0_anaf.md`.
|
||||
- `6acd1ea` S1a - `ANAF_StarePartener(..., tlIstoricIntai)` (pozitia 8) + `lRadiatANAF`/`dRadiereANAF` doar live + `dataRadiere` in obiectul single-CUI. Raport `docs/raport_s1a_anaf.md` (11 PASS; partener_anaf UI nerulat).
|
||||
- `65a063b` S1b - logica indicatorului in `oAntetFacturare` (+ `lVerificaLaActivare`, `CodFiscalClient` accepta id negativ). Raport `docs/raport_s1b_anaf.md` (82 PASS; T-S1-6 Oracle indisponibil nerulat).
|
||||
- `5cf1010` S2 - declansatori (vc2 + write-back vcx/vct verificat prin reconversie). Raport `docs/raport_s2_anaf.md` (43 PASS). Copierea NU s-a atins: `cod_fiscal` se completeaza in `MarcheazaVerificareLaActivare` din Init. DE INTREBAT Marius: anularea dialogului de cautare client pe factura pune indicatorul pe NEUTRU desi clientul ramane afisat (ramura Else existenta goleste deja soldul).
|
||||
- `08353ef` S3 - buton manual la data facturii + "alt client". Raport `docs/raport_s3_anaf.md` (32 PASS). DE CONFIRMAT Marius: filtrul pe CUI se pune doar cand exista >=2 parteneri cu acel CUI.
|
||||
- Proba D1 facuta: `docs/raport_s1_d1.md`; .ico accepta transparenta, BMP opac.
|
||||
- ROAFACTURARE radacina: pe `main`, nimic comis; `docs/` sunt documente de lucru (nu se comit pe main).
|
||||
|
||||
## Ce urmeaza
|
||||
|
||||
1. ~~S1b~~ GATA (`65a063b`). Text initial: in `COMUN\programe\ofacturare_antet.prg` (clasa `oAntetFacturare`): `VerificaANAFAutomat(toForm, tlIstoricIntai)`, `ClasificaRezultat` (separata, testabila fara UI), `AplicaIndicatorANAF` (tolerant la lipsa `But_verifica1`; seteaza `cpictureup`+`cpicturedown`+`Picture`+`BackColor`+`ToolTipText`+`StatusBarText`, taiere 255), `LaSchimbareData`, `CodFiscalClient`; proprietati pe `oAntet`: `lInVerificare`, `cCheieVerificata`, steag activare, cache local `negasit`, instanta `anaf_verif_cautare` pentru `TextAnaf`. Data goala -> NEUTRU; gestiune dupa `poDate.tip IN (23,25,41)`; `lEditare` -> NEUTRU; nivel ANAF 0 -> NEUTRU. Proba headless pe toate starile (mock `ANAF_VerificaCuiSingle` primul in SET PROCEDURE).
|
||||
2. ~~S2~~ GATA (`5cf1010`). Text initial: declansatori, write-back pe `COMUN\clase\ofacturare.vc2` (skill `roa-vfp-text-edit`, `-ProjectRoot` explicit, un singur scriitor): `Activate` existent `:18235-18241` (dupa `aseaza_totaluri`), marcaj in `Init` `:21575-21582`, `Clb_dataact` `:21940` si `Clb_dataireg` `:21962` -> `oAntet.LaSchimbareData`; `do_cauta_client` factura (dupa `:217`), aviz-partener (`:150-152`, completeaza `cod_fiscal`), ramura client sters -> NEUTRU; copiere `ofacturare_comun.prg:440-441` completeaza `cod_fiscal`.
|
||||
3. ~~S3~~ GATA (`08353ef`). Text initial: `do_verifica` (`ofacturare_antet.prg:746-760`) transmite `poDate.dataact`; indicator din rezultatul butonului (fallback `goCacheANAF_Sesiune.Remove` cu CUI normalizat); Da/Nu "Alegeti alt client?" implicit Nu, filtru `cFiltruOrig` pe CUI numeric, fara filtru daca nu exista partener.
|
||||
4. **S4 GATA-PARTIAL** (`22aa977` probe; raport `docs/raport_s4_anaf.md`: UI 35/35 pe ambele formulare, partener_anaf 75/2 FAIL vechi). Changelog 2.11.20 in `changelog_roafacturare.txt` NECOMIS (radacina e pe main -> SVN la Marius). Datorii manuale: raport sect. 7; prioritar defect 1 (Activate ruleaza in Init via SetFocus -> HTTP inainte de desenare). Prompt pentru #13: `docs/prompt_integrare_13_anaf.md`. Branch nepushat. Istoric: INTRERUPT la resume (fara raport; au ramas necomise probele `test_s4_indicator_ui.prg/.ps1`, `probe_s4_stack.*`, `mock_s4_stack.prg`; changelog neatins). Marius testeaza manual 29.09. Text initial: proba UI `vfp_ui_harness.ps1` (+ ROACONT/ROAGEST), captura designer, changelog; manual ramas = datorie deschisa.
|
||||
|
||||
## Decizie Marius 29.09 (dupa testul manual)
|
||||
|
||||
- Factura din tab-ul Comenzi deschide dialogul mic "FACTURARE" (probabil `frm_date_factura`), fara declansatori -> nimic vizibil. Se lucreaza S2b pe acest dialog (diagnostic: `docs/diag_anaf_indicator.md`).
|
||||
- `frm_facturare_articole2` e lucrat de sesiunea planului #13 pe alt calculator: `svn revert` facut pe `ofacturare.vcx/.vct` (binarul NU mai contine S2). Textul S2 ramane comis in git pe `anaf-factura` (`5cf1010`). La final: prompt pentru sesiunea #13 ca sa integreze cele 10 linii S2 in `frm_facturare_articole2`.
|
||||
- Marius: S2b se face DIRECT cu write-back pe `ofacturare.vcx` (ramane modificat); promptul final pentru #13 mentioneaza S2 + S2b.
|
||||
- `79fb578` S2b - dialog vechi `frm_date_factura` (raport `docs/raport_s2b_anaf.md`, 20 PASS + regresie). Write-back facut: binarul contine acum S2 + S2b, text=binar. "View Parameter poDate.id_client" = bug de harness (PRIVATE), nu productie.
|
||||
- Mesaj User-Agent (lipit de Marius) IGNORAT - Marius a confirmat ca era pentru sesiunea ROACONT.
|
||||
- (depasit dupa S2b) ATENTIE: text `.vc2` (cu S2) != binar (fara S2) acum. NU rula `git_sync.ps1` pe ROAFACTURARE pe branch-ul `anaf-factura` - ar sterge S2 din text.
|
||||
|
||||
- `5f64bc7` decizii Marius 30.09: anularea cautarii pastreaza indicatorul (garda in ReseteazaIndicator, fara .vc2); filtrul CUI >=2 parteneri ramane. Regresie S1b 82, S2 44, S2b 21, S3 32 - toate PASS.
|
||||
|
||||
- `bc10cf6` + `d08adb2` (30.09, feedback Marius "urat"): fara BackColor, doar iconite din setul butonului (terminat_*_verde / exclamare_* / help_* 23x21 / original), text txtCodFiscal colorat (DisabledForeColor; OK RGB(0,110,0), ATENTIE RGB(192,64,0)). Raport `docs/raport_stil_indicator_anaf.md`. Toate probele PASS. Fara .vc2 -> promptul #13 ramane valabil (range pana la `d08adb2`).
|
||||
|
||||
- `1f70a0b` (30.09): iconita "!!" originala recolorata pe stare - `COMUN\grafice\verificare{1,2}_{verde,portocaliu,gri}.bmp` NOI (necesita `svn add`). Raport `docs/raport_iconite_anaf.md`. Regresia PASS. Promptul #13: range pana la `1f70a0b`.
|
||||
|
||||
- `7ff8450` (30.09): cod romanesc invalid (ANAF_ValidareCod, ocautare.prg:329) -> ATENTIE rosu; ATENTIE rosu peste tot (verificare_rosu.bmp nou); verde/gri refacute pentru contrast. Raport `docs/raport_cod_invalid_anaf.md`. Toate PASS.
|
||||
- CONFIRMAT 30.09 (in lucru, agent schema-anaf, raport `docs/raport_schema_anaf.md`): schema de mai jos + CNP invalid rosu + iconite putin mai deschise (contrast ~10-11) + butonul NU mai pune nicio intrebare (intrebarea "alt client" din S3 eliminata; linia PuneFiltruCui din frm_date_factura.do_cauta_client .vc2 ramane no-op, de scos la integrare #13). Schema: TEXTUL = verdict (verde OK / rosu problema / normal), ICONITA = sursa (colorata ca textul cand ANAF a raspuns sau istoricul e valabil; GRI cand ANAF n-a putut fi interogat; albastru original = nimic de verificat). Istoric mai vechi decat factura + ANAF cazut: problema -> text rosu + iconita gri; OK -> text normal + iconita gri. Portocaliu nefolosit (fisierele pot fi sterse).
|
||||
|
||||
- `68c6f07` schema finala (text=verdict, iconita=sursa, CNP invalid rosu, contrast ~10.5) + `558ccda` butonul nu mai pune nicio intrebare. Regresie: S1b 104, S2 44, S2b 20, S3 30, S4 50+42 PASS. Changelog 2.11.20 rescris pe schema finala (necomis, radacina = SVN). Prompt #13 actualizat (range `..558ccda` + curatenie PuneFiltruCui/tcCui in frm_date_factura).
|
||||
- RAMAS LA MARIUS: test manual schema; proba fereastra goala la deschidere (client fara istoric); push `anaf-factura`; SVN: ofacturare.vcx/.vct, changelog, 8 .bmp noi `COMUN\grafice\verificare{1,2}_{verde,rosu,gri,portocaliu}.bmp` (portocaliu nefolosit - poate fi sters).
|
||||
|
||||
- 30.09 seara: changelog 2.11.20 scurtat (necomis). Prompt #13 dat lui Marius (inline, fara diff; varianta cu diff in `docs/prompt_integrare_13_anaf.md`). Curatenie facuta: sterse logurile/FXP/screenshots/uisync din `COMUN\utile\Teste\anaf_factura`, probe_s4_stack*/mock_s4_stack, patch-urile, scripturile .py de iconite, handoff-urile intermediare, `ofacturare.vc2.pre_runda_s2.bak`. Pastrate: plan, progres, acest handoff, prompt #13, rapoartele, `iconite_anaf_marite.png`. Alte .bak/.FXP din COMUN (alte lucrari) NEATINSE.
|
||||
- DECIZIE MARIUS 30.09: NU push pe `anaf-factura`; modificarile trebuie sa ajunga pe `main`. NEFACUT. Regula (skill `roa-git-svn-commit`): pe `main` din COMUN scrie DOAR `roa_sync`; drumul e svn commit tintit al fisierelor branch-ului (din COMUN, SVN = sursa de adevar) -> roa_sync aduce pe git main. De urmat skill-ul intr-o sesiune proaspata; lista fisierelor: `git -C COMUN diff --stat ca8e7ca 558ccda` + binarele ofacturare.vcx/.vct + .bmp noi (svn add). Promptul #13 trebuie ajustat: nu mai cere branch-ul, ci `main` dupa sync.
|
||||
|
||||
## Neterminat / de curatat
|
||||
|
||||
- `COMUN\utile\Teste\anaf_factura\sonda_d1_backcolor_buton.prg` necomis (+ log, .fxp, screenshots, uisync ignorate/necomise): decide la S4 daca scriptul intra in commit; `.fxp`/png/log nu.
|
||||
- partener_anaf (teste UI) nerulate dupa S1a - de rulat in S4 (dialogul de cautare arata acum si radiatul).
|
||||
- Nicio tranzactie deschisa, niciun proces vfp9 propriu viu, date de test Oracle curatate (CUI 8000596 si familia 80000xx dupa rapoarte).
|
||||
|
||||
## Stabilit, nu se reia
|
||||
|
||||
- Tot codul facturii e in COMUN (cross-project); commit-uri pe `anaf-factura` in `COMUN\`, niciodata pe `main` din COMUN. Mandat: executie continua, commit dupa fiecare story, fara push/SVN/merge.
|
||||
- T1=A (activ peste tot), T3=B (radiat doar live), T2/T4-T10 recomandate; T8 inchis de D1 (EXCLAM.ICO).
|
||||
- Subagenti: Sonnet, prompt cu interdictii la inceput, livrabil pe disc + "GATA". opencode (`opencode-go/deepseek-v4.1-flash`) doar pentru voci de revizie; crapa fara limite de grep.
|
||||
|
||||
## Interzis
|
||||
|
||||
- `git pull`/`git stash` in COMUN; push; svn commit; editare `.prg`/`.vc2` cu Edit/sed (cp1250) - script Python binar; doi scriitori pe acelasi fisier; proba vfp9 in paralel cu write-back.
|
||||
195
docs/prompt_integrare_13_anaf.md
Normal file
195
docs/prompt_integrare_13_anaf.md
Normal file
@@ -0,0 +1,195 @@
|
||||
# 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, commit `5cf1010`) - 10 linii, doar apeluri catre `oAntet`:
|
||||
- `Activate`: dupa blocul `aseaza_totaluri`, daca `This.oAntet.lVerificaLaActivare` -> `This.oAntet.VerificaANAFAutomat(This, .T.)`.
|
||||
- `Init`: in ramura cu `poDate.id_client <> 0` (dupa ToolTipText `'Id client: '`) -> `.oAntet.MarcheazaVerificareLaActivare()`.
|
||||
- `Clb_dataact.TEXT_SIMPLU1.LostFocus` si `Clb_dataireg.Text_simplu1.LostFocus`: `Thisform.oAntet.LaSchimbareData(Thisform)` inainte de `Return` pe ramura aviz si la finalul metodei.
|
||||
- `frm_date_factura` (dialogul vechi deschis din Comenzi; S2b, commit `79fb578`): proprietate `oantet`, `Activate` nou, `oAntet` creat in `Init`, `MarcheazaVerificareLaActivare`, `LaSchimbareData` pe LostFocus date, `do_cauta_client(tcCui)` cu filtru + verificare/reset, `do_verifica` delegat la `This.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
|
||||
1. Merge / cherry-pick `anaf-factura` peste branch-ul tau; conflictele in `ofacturare.vc2` se rezolva manual pe text, pastrand ambele seturi.
|
||||
2. Write-back o singura data, din textul unit (skill `roa-vfp-text-edit`, `-ProjectRoot` explicit), verificare prin reconversie.
|
||||
3. 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.ps1` si `test_s4_dialog_vechi_ui.ps1` (UI).
|
||||
4. Observatie deschisa: `Init` face `SetFocus`, care declanseaza `Activate` inca 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
|
||||
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
|
||||
```
|
||||
43
docs/svn_commit_anaf.md
Normal file
43
docs/svn_commit_anaf.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# SVN commit - verificare automata ANAF pe factura (pe main, fara branch)
|
||||
|
||||
Verificat 30.09.2026 cu `svn status`. Working copy-ul are acum pe disc continutul branch-ului git `anaf-factura` (COMUN).
|
||||
**NU face `git checkout main` in COMUN inainte de svn commit** - ar readuce fisierele la versiunea veche si commit-ul SVN ar pleca gol.
|
||||
|
||||
## 1. svn add (fisiere noi)
|
||||
|
||||
```
|
||||
cd /d D:\roa\ROAFACTURARE
|
||||
svn add COMUN\grafice\verificare1_verde.bmp COMUN\grafice\verificare2_verde.bmp COMUN\grafice\verificare1_rosu.bmp COMUN\grafice\verificare2_rosu.bmp COMUN\grafice\verificare1_gri.bmp COMUN\grafice\verificare2_gri.bmp
|
||||
```
|
||||
`verificare{1,2}_portocaliu.bmp` NU se folosesc - nu le adauga; le poti sterge de pe disc (sunt in git pe branch, dispar odata cu el).
|
||||
|
||||
## 2. svn commit tintit
|
||||
|
||||
```
|
||||
svn commit -m "ROAFACTURARE 2.11.20 - verificare automata ANAF a clientului pe factura si aviz (cod fiscal verde/rosu, iconita gri cand ANAF nu raspunde)" ^
|
||||
COMUN\programe\ofacturare_antet.prg ^
|
||||
COMUN\programe\ocautare.prg ^
|
||||
COMUN\programe\validare.prg ^
|
||||
COMUN\clase\ofacturare.vcx ^
|
||||
COMUN\clase\ofacturare.vct ^
|
||||
COMUN\grafice\verificare1_verde.bmp COMUN\grafice\verificare2_verde.bmp ^
|
||||
COMUN\grafice\verificare1_rosu.bmp COMUN\grafice\verificare2_rosu.bmp ^
|
||||
COMUN\grafice\verificare1_gri.bmp COMUN\grafice\verificare2_gri.bmp ^
|
||||
changelog_roafacturare.txt
|
||||
```
|
||||
`ofacturare.vc2` e ignorat de SVN (textul il regenereaza git_sync din binar). `.vcx`/`.vct` contin S2 + S2b (write-back verificat prin reconversie).
|
||||
|
||||
**ATENTIE `ofacturare.vcx`:** sesiunea planului #13 lucreaza pe acelasi binar (`frm_facturare_articole2`). Daca a comis-o deja in SVN, `svn update` inainte da conflict pe binar - atunci nu comite binarul, da-i sesiunii #13 promptul din `prompt_integrare_13_anaf.md`.
|
||||
|
||||
## 3. Dupa svn commit - git fara branch
|
||||
|
||||
In `D:\roa\ROAFACTURARE\COMUN` (skill `roa-git-svn-commit`, pasii lui au prioritate):
|
||||
1. `git checkout main` apoi `roa_sync` -> aduce revizia SVN noua pe git main (inclusiv `.vc2` regenerat).
|
||||
2. Verifica: `git diff 558ccda main -- programe clase/ofacturare.vc2 grafice` sa nu arate diferente de cod (doar ce a mai intrat din SVN intre timp).
|
||||
3. `git branch -D anaf-factura`.
|
||||
|
||||
## INCHIS - probele de test (30.09): Marius a ales (c). Sterse de pe disc (`utile/Teste/anaf_factura/`, `utile/Teste/cache_anaf/test_s0_istoric_data_ceruta.prg`); in git apar ca `D` pe branch - ignora; fisierele nu exista pe main, deci `git checkout main` trece, iar ele dispar definitiv la `git branch -D anaf-factura`. Fara `git stash` in COMUN.
|
||||
|
||||
## (istoric) probele de test
|
||||
|
||||
`COMUN\utile\Teste` e **svn:ignore** -> cele 24 de probe din `utile/Teste/anaf_factura/` si `utile/Teste/cache_anaf/test_s0_istoric_data_ceruta.prg` NU ajung pe main prin roa_sync si se pierd la `git branch -D`. Alege: (a) le salvezi inainte (copie in afara repo-ului), sau (b) commit git direct pe main doar pentru `utile/Teste/**` dupa roa_sync (exceptie de la regula "pe main scrie doar roa_sync" - decizia ta), sau (c) renunti la ele.
|
||||
Reference in New Issue
Block a user