JossMP / sunatphp

Realiza consultas a SUNAT Perú desde PHP
https://git.tryout.top/
MIT License
60 stars 51 forks source link

Error al buscar DNI inexistente #9

Closed velnae closed 3 years ago

velnae commented 5 years ago

Cuando se intenta buscar un DNI que no existe intencionalmente salta el error que se muestra al final:
(mas no sucede si se intenta buscar un RUC inexistente)

    $company = new \Sunat\Sunat( true, true );

    // $ruc = "12345678910";
    $dni = "12345678";

    //$search1 = $company->search( $ruc );
    $search2 = $company->search( $dni );

    // if( $search1->success == true )
    // {
    //  echo "Empresa: " . $search1->result->razon_social;
    // }

    if( $search2->success == true )
    {
        echo "Persona: " . $search2->result->razon_social;
    }

Error:

Notice: Undefined variable: rtn in Tests/busquedaPeru/vendor/jossmp/sunatphp/src/sunat.php on line 118

Warning: count(): Parameter must be an array or an object that implements Countable in Tests/busquedaPeru/vendor/jossmp/sunatphp/src/sunat.php on line 118

Se soluciona sencillamente agregando un if (isset($matches[0])) envolviendo toda el area de if( count($rtn) > 2 ) que provoca el error

espero se añada la corrección para la siguiente versión jeje

holacliente commented 5 years ago

`// chequear si esta inscrito en el RUC if( $this->cc->getHttpStatus() == 200 && $numRand != "" ) {

$patron = '/<td class=bg align="center"><strong>(.*)<\/strong><\/td>/';
$output = preg_match_all($patron, $page, $matches, PREG_SET_ORDER);

// dd( isset($matches[0][1]) );

if( isset($matches[0][1]) )
{
    // $mensaje = utf8_encode(str_replace('"','', ($matches[0][1])));
    $mensaje = "El DNI no esta inscrito en SUNAT";

    $response = new \response\obj(array(
        'success'   =>  false,
        'message'   =>  $mensaje
    ));
    return $response;                       
}

}`

En la linea 66 de sunat.php le agregue esto, al no encontrar el DNI inscrito en sunat arroja el error con el mensaje, pueden cambiar si quieren que les retorne el mensaje directo que sale de sunat

Gildus commented 5 years ago

+1 :+1: