"Numero di partita IVA scorretto". Perché???

Questo forum è dedicato alle discussioni riguardanti le contribution per osCommerce

Moderatore: mod Generali

Rispondi
spaceman813
membro Junior
membro Junior
Messaggi: 8
Iscritto il: 13/05/2004, 0:00
Località: italia

"Numero di partita IVA scorretto". Perché???

Messaggio da spaceman813 »

ho installato la contribution per avere Codice fiscale e Partita IVA nel modulo di registrazione; per il codice fiscale non c'è problema, lo accetta se è della lnghezza giusta ecc, mentre la Partita IVA me la considera sempre non corretta. Ho provato con numeri da 1 a 15 cifre, è sempre sbagliato.
Perché? Dove trovo i parametri per cambiare la lunghezza minima della partita iva?
Ho trovato solo queste righe nel file form_check.js che a giudicare dal nome dovrebbe fare proprio quello, ma non mi sembra proprio che controllino la lunghezza dell'input.

Codice: Seleziona tutto

//PIVACF start
<?php if (ACCOUNT_CF_REQ == 'true') echo '  check_input("cf", 0, "' . ENTRY_CF_ERROR . '");' . "\n"; ?>
<?php if (ACCOUNT_PIVA_REQ == 'true') echo '  check_input("pivae", 0, "' . ENTRY_PIVA_ERROR . '");' . "\n"; ?>
//PIVACF end
Aiutoooo! :cry:
taslach
membro Junior
membro Junior
Messaggi: 14
Iscritto il: 26/04/2007, 12:26

Messaggio da taslach »

Ma le prove le hai fatte inserendo numeri a caso?
La partita iva ha le sue "regole di composizione" come il codice fiscale, non è solo questione di lunghezza... quindi, probabilmente, se hai inserito una contribution che effettua un controllo sulla partita iva, questo controllo non si limita a verificare se il numero di cifre è quello giusto...

TASLACH
spaceman813
membro Junior
membro Junior
Messaggi: 8
Iscritto il: 13/05/2004, 0:00
Località: italia

Messaggio da spaceman813 »

No, ho provato con un vero numero di partita iva italiano. Ho provato anche a inserire IT prima del numero.
Ma niente......

Qualcuno sa come annullare tutti i controlli e lasciare che sia un campo libero come quello del nome o l'indirizzo? Anche perchè i VAT numbers di altri paesi europei hanno lunghezze diverse
maury2ma
membro Master
membro Master
Messaggi: 1669
Iscritto il: 10/02/2006, 14:04
Contatta:

Messaggio da maury2ma »

io lo so....... :o

se non ti riconosce il numero di partita iva italiano .... allora hai toppato da qualche parte. :?

per quanto riguarda il conrrollo solo se l'utente e' italino e' presto detto.

metti

Codice: Seleziona tutto

if ((ACCOUNT_CF == 'true') && ((int)$country == '105')) {
dove trovi

Codice: Seleziona tutto

if (ACCOUNT_CF == 'true') {
sia per il CF che per IVA

Codice: Seleziona tutto

if ((ACCOUNT_PIVA == 'true') && ((int)$country == '105')) {
spaceman813
membro Junior
membro Junior
Messaggi: 8
Iscritto il: 13/05/2004, 0:00
Località: italia

Messaggio da spaceman813 »

Grazie della risposta, ma io NON voglio che faccia alcun controllo, voglio solo che compaia il campo.

Ho trovato dove fa il controllo, ma non so come disabilitarlo. Nel file account_create.php:

Codice: Seleziona tutto

	//PIVACF start
	if (ACCOUNT_PIVA == 'true'){
	  if (($piva == "") && (ACCOUNT_PIVA_REQ == 'true')) {
	    $error = true;
		$messageStack->add('create_account', ENTRY_PIVA_ERROR);
	  } else if ((strlen($piva) != 11) && ($piva != ""))  {
        $error = true;
        $messageStack->add('create_account', ENTRY_PIVA_ERROR);
      } else if (strlen($piva) == 11) {
	    if( ! ereg("^[0-9]+$", $piva) ) {
	      $error = true;
	      $messageStack->add('create_account', ENTRY_PIVA_ERROR);
        } else {
	      $s = 0;
		  for( $i = 0; $i <= 9; $i += 2 ) $s += ord($piva[$i]) - ord('0');
		  for( $i = 1; $i <= 9; $i += 2 ) {
		    $c = 2*( ord($piva[$i]) - ord('0') );
		    if( $c > 9 ) $c = $c - 9;
		    $s += $c;
	      }
	      if( ( 10 - $s%10 )%10 != ord($piva[10]) - ord('0') ) {
            $error = true;
            $messageStack->add('create_account', ENTRY_PIVA_ERROR);
          }
	    }
	  }	
	}
Qualcuno capisce cosa devo fare? Ho provato a sostituire, all'inizio del codice, i due = 11 con > 5, ma non cambia niente.
spaceman813
membro Junior
membro Junior
Messaggi: 8
Iscritto il: 13/05/2004, 0:00
Località: italia

Messaggio da spaceman813 »

Risolto,
se interessasse a qualcuno, ho disabilitato il controllo annullando gran parte del codice, così:

Codice: Seleziona tutto

	//PIVACF start
	if (ACCOUNT_PIVA == 'true'){
	  if (($piva == "") && (ACCOUNT_PIVA_REQ == 'true')) {
	    $error = true;
		$messageStack->add('create_account', ENTRY_PIVA_ERROR);
	  } 
	 /* else if ((strlen($piva) > 5) && ($piva != ""))  {
        $error = true;
        $messageStack->add('create_account', ENTRY_PIVA_ERROR);
      } else if (strlen($piva) > 5) {
	    if( ! ereg("^[0-9]+$", $piva) ) {
	      $error = true;
	      $messageStack->add('create_account', ENTRY_PIVA_ERROR);
        } else {
	      $s = 0;
		  for( $i = 0; $i <= 9; $i += 2 ) $s += ord($piva[$i]) - ord('0');
		  for( $i = 1; $i <= 9; $i += 2 ) {
		    $c = 2*( ord($piva[$i]) - ord('0') );
		    if( $c > 9 ) $c = $c - 9;
		    $s += $c;
	      }
	      if( ( 10 - $s%10 )%10 != ord($piva[10]) - ord('0') ) {
            $error = true;
            $messageStack->add('create_account', ENTRY_PIVA_ERROR);
          }
	    }
	  }	
*/	}
Avatar utente
luxifer
membro Baby
membro Baby
Messaggi: 56
Iscritto il: 15/11/2006, 13:09
Località: Torino

Messaggio da luxifer »

Così però ti fa comunque il controllo che il campo della partita iva non sia vuoto...e restituisce la "barra rosa" dell'errore...
Rispondi