sync SVN r18050

This commit is contained in:
2026-08-23 21:23:35 +03:00
parent 019d241e50
commit 6b77d210ab
3 changed files with 65 additions and 8 deletions

View File

@@ -671,6 +671,8 @@ Define Class VerificareCod As Custom
lcAdresa = ''
lcJudet = ''
lcRegCom = ''
lcCaen = ''
lcCaenRevizie = ''
lcCodpostal = ''
lcTelefon = ''
lcFax = ''
@@ -695,7 +697,7 @@ Define Class VerificareCod As Custom
Store {} To ldInceputScpTva, ldSfarsitScpTva, ldAnulImpScpTva, ldInceputTvaInc, ldSfarsitTvaInc, ldInactivare, ldReactivare
Create Cursor cVerificareCod (Valid L, eroare c(250), cod V(100) Null, firma V(100), adresa V(250), judet V(100), ;
regcom V(30), codpostal V(20), telefon V(30), fax V(30), datatvamfin V(30), platitortvamfin L, VIES L, PlatitorTVA L, ;
regcom V(30), caen V(10), caen_revizie V(1), codpostal V(20), telefon V(30), fax V(30), datatvamfin V(30), platitortvamfin L, VIES L, PlatitorTVA L, ;
stare V(100), strada V(100), nr V(25), localitate V(100), Bloc V(30), Scara V(10), Etaj V(10), Apart V(20), ;
tvaincasare L, splittva L, inactiv L, sursa C(20), data_sursa D, ;
data_inceput_scptva D, data_sfarsit_scptva D, data_anul_imp_scptva D, data_inceput_tvainc D, data_sfarsit_tvainc D, data_inactivare D, data_reactivare D)
@@ -722,6 +724,9 @@ Define Class VerificareCod As Custom
lcAdresa = loMFIN.adresa
lcJudet = loMFIN.judet
lcRegCom = loMFIN.regcom
*!* 23.08.2026 marius.mutu: cod_CAEN vine doar de la ANAF; pe traseul mfinante.ro ramane gol
lcCaen = Iif(Pemstatus(loMFIN, 'caen', 5), Alltrim(Nvl(loMFIN.caen, '')), '')
lcCaenRevizie = Iif(Pemstatus(loMFIN, 'caen_revizie', 5), Alltrim(Nvl(loMFIN.caen_revizie, '')), '')
lcCodpostal = loMFIN.codpostal
lcTelefon = loMFIN.telefon
lcFax = loMFIN.fax
@@ -800,9 +805,9 @@ Define Class VerificareCod As Custom
lcStrada = This.RemoveCharacters(m.lcStrada)
TRY
Insert Into cVerificareCod(Valid, eroare, cod, firma, adresa, judet, regcom, codpostal, telefon, fax, datatvamfin, platitortvamfin, VIES, PlatitorTVA, stare, strada, nr, localitate, bloc, scara, etaj, apart, tvaincasare, splittva, inactiv, sursa, data_sursa, ;
Insert Into cVerificareCod(Valid, eroare, cod, firma, adresa, judet, regcom, caen, caen_revizie, codpostal, telefon, fax, datatvamfin, platitortvamfin, VIES, PlatitorTVA, stare, strada, nr, localitate, bloc, scara, etaj, apart, tvaincasare, splittva, inactiv, sursa, data_sursa, ;
data_inceput_scptva, data_sfarsit_scptva, data_anul_imp_scptva, data_inceput_tvainc, data_sfarsit_tvainc, data_inactivare, data_reactivare) ;
Values (m.llValid, Left(m.lcEroare, 250), m.lcVerificareCod, m.lcFirma, m.lcAdresa, m.lcJudet, m.lcRegCom, m.lcCodpostal, m.lcTelefon, m.lcFax, m.lcDataTVAMFIN, m.llPlatitorTVAMFIN, m.llVies, m.llPlatitorTVA, m.lcStare, m.lcStrada, m.lcNr, m.lcLocalitate, m.lcBloc, m.lcscara, m.lcetaj, m.lcapart, m.llTVAIncasare, m.llSplitTVA, m.llInactiv, m.lcSursa, m.ldDataSursa, ;
Values (m.llValid, Left(m.lcEroare, 250), m.lcVerificareCod, m.lcFirma, m.lcAdresa, m.lcJudet, m.lcRegCom, m.lcCaen, m.lcCaenRevizie, m.lcCodpostal, m.lcTelefon, m.lcFax, m.lcDataTVAMFIN, m.llPlatitorTVAMFIN, m.llVies, m.llPlatitorTVA, m.lcStare, m.lcStrada, m.lcNr, m.lcLocalitate, m.lcBloc, m.lcscara, m.lcetaj, m.lcapart, m.llTVAIncasare, m.llSplitTVA, m.llInactiv, m.lcSursa, m.ldDataSursa, ;
m.ldInceputScpTva, m.ldSfarsitScpTva, m.ldAnulImpScpTva, m.ldInceputTvaInc, m.ldSfarsitTvaInc, m.ldInactivare, m.ldReactivare)
Select cVerificareCod
@@ -883,6 +888,8 @@ Define Class VerificareCod As Custom
loMFIN.adresa = adresa
loMFIN.judet = judet
loMFIN.regcom = nrregcom
loMFIN.caen = Nvl(caen, '')
loMFIN.caen_revizie = Nvl(caen_revizie, '')
loMFIN.codpostal = ''
loMFIN.telefon = ''
loMFIN.fax = ''
@@ -1633,6 +1640,9 @@ Define Class VerificareCod As Custom
AddProperty(loMFIN, "Adresa", "")
AddProperty(loMFIN, "Judet", "")
AddProperty(loMFIN, "Regcom", "")
*!* 23.08.2026 marius.mutu: cod_CAEN de la ANAF + revizia dedusa din formatul numarului de registru
AddProperty(loMFIN, "caen", "")
AddProperty(loMFIN, "caen_revizie", "")
AddProperty(loMFIN, "codpostal", "")
AddProperty(loMFIN, "telefon", "")
AddProperty(loMFIN, "fax", "")
@@ -2383,7 +2393,7 @@ Define Class VerificareANAF As Custom
lcAlias = Iif(!Empty(m.tcAlias) And Type('tcAlias') = "C", m.tcAlias, "crsANAF")
If !Used(m.lcAlias)
Create Cursor (m.lcAlias) (cui N(13), data D, denumire V(100), firma V(100), adresa C(244), nrRegCom C(30), scpTVA L, data_inceput_ScpTVA D, data_sfarsit_ScpTVA D, data_anul_imp_ScpTVA D, mesaj_ScpTVA C(244), ;
Create Cursor (m.lcAlias) (cui N(13), data D, denumire V(100), firma V(100), adresa C(244), nrRegCom C(30), caen C(10), caen_revizie C(1), scpTVA L, data_inceput_ScpTVA D, data_sfarsit_ScpTVA D, data_anul_imp_ScpTVA D, mesaj_ScpTVA C(244), ;
dataInceputTvaInc D, dataSfarsitTvaInc D, dataActualizareTvaInc D, dataPublicareTvaInc D, tipActTvaInc C(100), statusTvaIncasare L, dataInactivare D, dataReactivare D, dataPublicare D, dataRadiere D, statusInactivi L, ;
dataInceputSplitTVA D, dataAnulareSplitTVA D, statusSplitTVA L, ;
tva L, tvaincasare L, splittva L, inactiv L, ;
@@ -2429,8 +2439,11 @@ Define Class VerificareANAF As Custom
loDate.etaj = loAdresa.etaj
loDate.apart = loAdresa.apart
loDate.nrRegCom = IIF(TYPE('loDateGenerale.nrRegCom') <> 'U', loDateGenerale.nrRegCom, '')
ENDIF
loDate.nrRegCom = IIF(TYPE('loDateGenerale.nrRegCom') <> 'U', loDateGenerale.nrRegCom, '')
*!* 23.08.2026 marius.mutu: cod_CAEN vine numeric, fara zeroul din fata (0141 ajunge 141) - il aducem inapoi la 4 cifre
loDate.caen = This.CaenAnaf(IIF(TYPE('loDateGenerale.cod_CAEN') <> 'U', loDateGenerale.cod_CAEN, ''))
loDate.caen_revizie = This.CaenRevizie(loDate.nrRegCom)
ENDIF
IF TYPE('loRec.inregistrare_scop_tva') = 'O'
loInregistrareTVA = loRec.inregistrare_scop_tva
@@ -2534,7 +2547,7 @@ Define Class VerificareANAF As Custom
lcAlias = Iif(!Empty(m.tcAlias) And Type('tcAlias') = "C", m.tcAlias, "crsANAF")
If !Used(m.lcAlias)
Create Cursor (m.lcAlias) (cui N(13), data D, denumire V(100), firma V(100), adresa C(244), nrRegCom C(30), scpTVA L, data_inceput_ScpTVA D, data_sfarsit_ScpTVA D, data_anul_imp_ScpTVA D, mesaj_ScpTVA C(244), ;
Create Cursor (m.lcAlias) (cui N(13), data D, denumire V(100), firma V(100), adresa C(244), nrRegCom C(30), caen C(10), caen_revizie C(1), scpTVA L, data_inceput_ScpTVA D, data_sfarsit_ScpTVA D, data_anul_imp_ScpTVA D, mesaj_ScpTVA C(244), ;
dataInceputTvaInc D, dataSfarsitTvaInc D, dataActualizareTvaInc D, dataPublicareTvaInc D, tipActTvaInc C(100), statusTvaIncasare L, dataInactivare D, dataReactivare D, dataPublicare D, dataRadiere D, statusInactivi L, ;
dataInceputSplitTVA D, dataAnulareSplitTVA D, statusSplitTVA L, ;
tva L, tvaincasare L, splittva L, inactiv L, ;
@@ -2772,6 +2785,40 @@ Define Class VerificareANAF As Custom
Return m.lcItem
Endproc
*************************************
*** Normalizeaza codul CAEN primit de la ANAF.
*** ANAF il trimite NUMERIC, deci codurile din sectiunea agricultura pierd zeroul din fata:
*** 0141 ajunge 141, 0111 ajunge 111. Nomenclatorul CAEN are intotdeauna 4 cifre.
*** Intoarce '' pentru orice valoare care nu e un cod plauzibil (gol, 0, peste 4 cifre).
*************************************
Procedure CaenAnaf
Lparameters tuCaen
Local lcCaen
lcCaen = Alltrim(Strtran(Transform(Nvl(m.tuCaen, '')), ' ', ''))
If Empty(m.lcCaen) Or !Isdigit(m.lcCaen) Or Val(m.lcCaen) = 0 Or Len(m.lcCaen) > 4
Return ''
Endif
Return Padl(m.lcCaen, 4, '0')
Endproc
*************************************
*** Deduce revizia nomenclatorului CAEN din formatul numarului de la Registrul Comertului.
*** Firmele au fost obligate ca la prima modificare depusa sa isi actualizeze codul CAEN la
*** revizia 3 si au primit atunci si numar in formatul nou, fara '/' (ex. J2017000999304 in
*** loc de J13/626/1991). Deci format nou <=> cod CAEN in revizia 3.
*** Formatul vechi NU inseamna automat revizia 2 - firma poate avea alta revizie aleasa
*** manual - asa ca intoarce '' si lasa valoarea din formular neatinsa.
*************************************
Procedure CaenRevizie
Lparameters tcRegCom
Local lcRegCom
lcRegCom = Alltrim(Nvl(m.tcRegCom, ''))
If Empty(m.lcRegCom) Or '/' $ m.lcRegCom
Return ''
Endif
Return '3'
Endproc
*************************************
*** Parcurge un cursor in forma crsANAF si salveaza fiecare rand in ISTORIC_CODURI_FISCALE
*** prin pack_parteneri.save_istoric_cod_fiscal (26 parametri); commit din 100 in 100 si la final
@@ -2880,7 +2927,7 @@ Define Class VerificareANAF As Custom
If !Used(m.lcAlias)
*!* 31.07.2026 marius.mutu: aceeasi forma ca crsANAF din ParseJsonANAFv8 - Null pe cele 9 campuri de data muta problema in ParseJsonANAFv8 (SCATTER/aritmetica pe date); NULL-ul din Oracle e tratat cu Nvl la Insert Into, mai jos
Create Cursor (m.lcAlias) (cui N(13), data D, denumire V(100), firma V(100), adresa C(244), nrRegCom C(30), scpTVA L, data_inceput_ScpTVA D, data_sfarsit_ScpTVA D, data_anul_imp_ScpTVA D, mesaj_ScpTVA C(244), ;
Create Cursor (m.lcAlias) (cui N(13), data D, denumire V(100), firma V(100), adresa C(244), nrRegCom C(30), caen C(10), caen_revizie C(1), scpTVA L, data_inceput_ScpTVA D, data_sfarsit_ScpTVA D, data_anul_imp_ScpTVA D, mesaj_ScpTVA C(244), ;
dataInceputTvaInc D, dataSfarsitTvaInc D, dataActualizareTvaInc D, dataPublicareTvaInc D, tipActTvaInc C(100), statusTvaIncasare L, dataInactivare D, dataReactivare D, dataPublicare D, dataRadiere D, statusInactivi L, ;
dataInceputSplitTVA D, dataAnulareSplitTVA D, statusSplitTVA L, ;
tva L, tvaincasare L, splittva L, inactiv L, ;