Import parteneri: coduri fiscale/CNP invalide se salveaza gol, partenerii straini nu se valideaza romaneste
This commit is contained in:
@@ -272,7 +272,7 @@ DEFINE CLASS form1 AS form
|
||||
* Completez id_part
|
||||
Local lcBanca, lcCod_fiscal, lcCont_Banca, lcCorespDel, lcDenumire, lcIdString, lcId_categ_ent
|
||||
Local lcId_loc_inreg, lcId_util, lcMesaj, lcMotiv_inactiv, lcNume, lcPrefix, lcPrenume, lcReg_comert
|
||||
Local lcSql, lcSqlInsert, lcSufix, lcTip_persoana, lcinactiv, lnSucces
|
||||
Local lcSql, lcSqlInsert, lcSufix, lcTip_persoana, lcinactiv, lnSucces, lcCodValid, lnTip_persoana, lcCodTara
|
||||
Local lcAdresa, lcAdreseParteneri, lcApart, lcBloc, lcCaleImport, lcCod, lcCodpostal, lcDA_apare
|
||||
Local lcDenumire_adresa, lcEmail, lcEtaj, lcFax, lcFile, lcIdPart, lcId_Judet, lcId_loc, lcId_tara
|
||||
Local lcItem1, lcItem2, lcItem3, lcItem4, lcJudet, lcJudetBucuresti, lcLocalitate, lcNumar
|
||||
@@ -401,29 +401,24 @@ DEFINE CLASS form1 AS form
|
||||
***************************
|
||||
lcCod=Alltrim(Upper(Nvl(m.lcCod_fiscal,"")))
|
||||
lcTip_persoana="2" && 1 = juridica, 2 = fizica
|
||||
* Prefer persoanele fizice pentru ca sunt mai multe fata de persoanele juridice
|
||||
* Sunt multe persoane fizice cu CNP-uri gresite
|
||||
* Prefer persoanele fizice pentru ca sunt mai multe fata de persoanele juridice.
|
||||
* Sunt multe persoane fizice cu CNP-uri gresite (lungime gresita sau cifra de control gresita).
|
||||
* GetCodFiscalValid curata si valideaza codul; daca este invalid intoarce sir gol,
|
||||
* deci partenerul se salveaza in ROA FARA cod fiscal si nu mai da erori la D394/D406.
|
||||
If !Empty(m.lcCod)
|
||||
If Left(lcCod,2)="RO"
|
||||
lcCod=Substr(m.lcCod,3)
|
||||
lcTip_persoana="1"
|
||||
ENDIF
|
||||
IF ISALPHA(m.lcCod)
|
||||
lcTip_persoana="1"
|
||||
ENDIF
|
||||
|
||||
If Len(m.lcCod)=13 And Isdigit(m.lcCod)
|
||||
If !cValidCNP(m.lcCod)
|
||||
* daca CNP invalid, sterg CNP, sa nu dea eroare la D406
|
||||
lcCod_fiscal = ''
|
||||
Endif
|
||||
ELSE
|
||||
* PJ din ROMANIA au coduri fiscale intre 2-10 cifre
|
||||
* Exista si PJ din alte tari care pot avea coduri fiscale cu alt numar de cifre, dar sunt exceptii
|
||||
If Len(m.lcCod)>=2 And Len(m.lcCod)<=10 And Isdigit(m.lcCod)
|
||||
lcTip_persoana="1"
|
||||
Endif
|
||||
Endif
|
||||
lnTip_persoana = 0
|
||||
lcCodTara = Alltrim(Upper(Nvl(cod_tara, "")))
|
||||
lcCodValid = GetCodFiscalValid(m.lcCod, @lnTip_persoana, m.lcCodTara)
|
||||
Do Case
|
||||
Case !Empty(m.lcCodValid)
|
||||
lcCod_fiscal = m.lcCodValid
|
||||
lcTip_persoana = Iif(m.lnTip_persoana = 1, "1", "2")
|
||||
Otherwise
|
||||
* numeric dar invalid (12/14/15 cifre, cifra de control gresita): sterg codul
|
||||
Thisform.trace('Cod fiscal invalid, se salveaza gol: [' + m.lcCod + '] ' + Alltrim(m.lcDenumire))
|
||||
lcCod_fiscal = ''
|
||||
lcTip_persoana = "2"
|
||||
Endcase
|
||||
ENDIF
|
||||
IF m.lcTip_Persoana = "2"
|
||||
lnPos = At(' ', m.lcNume)
|
||||
|
||||
Reference in New Issue
Block a user