sync SVN r18050
This commit is contained in:
@@ -2639,6 +2639,15 @@ DEFINE CLASS frm_firme_nou AS _frmbase OF "_frm_base.vcx"
|
||||
|
||||
poRec.reg_comert = Alltrim(Nvl(loPartener.regcom, ""))
|
||||
poRec.adresa = Alltrim(Nvl(loPartener.adresa, ""))
|
||||
*** CAEN-ul si revizia se completeaza doar daca ANAF le-a trimis: raspunsul servit din
|
||||
*** cache nu are cod_CAEN (nu e salvat in istoric_coduri_fiscale), iar revizia se poate
|
||||
*** deduce doar din numarul de registru in format nou - altfel nu stergem ce era in fisa.
|
||||
If Pemstatus(loPartener, "caen", 5) And !Empty(Alltrim(Nvl(loPartener.caen, "")))
|
||||
poRec.caen = Alltrim(Nvl(loPartener.caen, ""))
|
||||
Endif
|
||||
If Pemstatus(loPartener, "caen_revizie", 5) And !Empty(Alltrim(Nvl(loPartener.caen_revizie, "")))
|
||||
poRec.caen_revizie = Alltrim(Nvl(loPartener.caen_revizie, ""))
|
||||
Endif
|
||||
*** Judetul si localitatea se potrivesc peste nomenclator: denumirea de la ANAF poate fi
|
||||
*** scrisa altfel decat in syn_vnom_*, iar formularul are nevoie de id-uri, nu de text.
|
||||
lcNepotrivit = ""
|
||||
|
||||
@@ -170,6 +170,7 @@ diferit de metoda `goExport.export_xls`, doar nume identic.
|
||||
| VerificareCod (clasa) | validare completa cu webservice: metode VERIFICARE_CIF/VERIFICARE_CNP/ANAF/MFIN/VIES/validare/GetError | 169 |
|
||||
| VerificareANAF (clasa) | sincronizare lista CIF-uri cu ANAF (VerificaListaCIF, ANAF_SincronWebService_PlatitorTva) | 26 |
|
||||
| ParseAdresaAnaf / FaraPrefixLoc (VerificareANAF) | sparge adresa ANAF in judet/localitate/strada/nr/bloc/scara/etaj/apart; FaraPrefixLoc taie prefixul administrativ (JUD./MUN./ORS./COM./SAT, plus formele intregi MUNICIPIUL/JUDETUL - pe Bucuresti ANAF trimite "MUNICIPIUL BUCURESTI") pastrand denumirea intreaga. ORASUL/COMUNA/SATUL NU se taie: exista localitati care incep asa (ORASUL NOU). | - |
|
||||
| CaenAnaf / CaenRevizie (VerificareANAF) | CaenAnaf normalizeaza codul CAEN primit de la ANAF: vine NUMERIC, deci codurile din agricultura pierd zeroul din fata (0141 ajunge 141) - se completeaza inapoi la 4 cifre; intoarce '' pentru valori neplauzibile. CaenRevizie deduce revizia CAEN din formatul numarului de la Registrul Comertului: firmele obligate sa isi actualizeze codul CAEN la revizia 3 au primit atunci si numar in formatul nou, fara '/' (J2017000999304), deci format nou <=> revizia 3; formatul vechi intoarce '' si lasa valoarea din fisa neatinsa. | - |
|
||||
| test_cif / VALIDARE_CIF / test_cnp / VALIDARE_CNP | validari format + cifra control, offline | 27/19/9/15 |
|
||||
| VERIFICARE_PLATITORTVA / VIES_VAT / ONRC | platitor TVA / verificare VIES / interogare ONRC | 5/5/9 |
|
||||
| IntroducereCod (clasa Form) | formular introducere + validare cod | 25 |
|
||||
|
||||
@@ -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, ;
|
||||
|
||||
Reference in New Issue
Block a user