thegreenter / demo

Ejemplos utilizando Greenter (UBL 2.1, SOAP, Firma digital, PDF, QR)
https://greenter-sample.herokuapp.com
MIT License
60 stars 51 forks source link

problemas al enviar boletas con estado anulado #70

Closed abelnexus closed 5 years ago

abelnexus commented 5 years ago

cuando trato de enviar el resumen diario con alguna boleta con estado anulado me bota null como respuesta siempre, $mensajeError = $result->getError(); - esto uso para obtener la respuesta y me da null. si uso esto: $result->getError()->getMessage(); me bota este error: Fatal error: Uncaught Error: Call to a member function getMessage() on null in C:\xampp\htdocs\arkialum\controllers\resumen_diario.php:212 Stack trace:

esta varios dias, semanas asi

abelnexus commented 5 years ago

esto uso para enviar el estado de si es anulado o no: if($value['estado'] == "GENERADO"){ $estado = "1"; } else if($value['estado'] == "MODIFICADO"){ $estado = "2"; } else if($value['estado'] == "ANULAR"){ $estado = "3"; }

giansalex commented 5 years ago

Puedes hacer un var_dump($result)

abelnexus commented 5 years ago

object(Greenter\Model\Response\StatusResult)#141 (5) { ["code":protected]=> string(4) "0098" ["cdrZip":protected]=> NULL ["cdrResponse":protected]=> NULL ["success":protected]=> bool(true) ["error":protected]=> NULL }

abelnexus commented 5 years ago

revisando las boletas vi que una boleta de mas de 1000 s/ no tiene un dni valido, puede ser por eso pero asi sea el caso no envia un mensaje de error sobre eso ?

giansalex commented 5 years ago

Es por que el cdr del resumen aun no esta listo

image

abelnexus commented 5 years ago

ya le cambie por dni´s validos y hasta ahora nada: se queda en: Error: La numeracion o nombre del documento ya ha sido enviado anteriormente - Detalle: xxx.xxx.xxx value='ticket: error: El documento: 20603655941-RC-20190726-00000062 ya fue enviado y se encuentra en estado 98; por favor espere a que se termine de procesar el envio.' desde el 59 esta asi y hasta ahora no me acepta, use el 59,60, y 61 y no me da el cdr hasta ahora ni me carga el sunat sol las boletas enviadas

giansalex commented 5 years ago

Debes volver a consultar el estado, con getStatus, y si no muestra las boletas en el portal parece ser un problema con sunat, o algun OSE que estes usando?

thefantas commented 5 years ago

He tenido detalles como el tuyo, lo primero, es error común de los registradores de clientes, tienes que filtrar los datos con el tipo de documento y tipo de persona según el número de caracteres. En el último mensaje de Abel se debe a que greenter logró enviar el documento y la sunat lo aceptó pero por diversos motivos no pudiste capturar bien la respuesta y estás volviendo a enviar dándote la respuesta indica en tu comentario. Como dice Gian, tengo algunos manejadores de errores que me devuelve sunat (para boletas o documentos que permiten corregir y reenviar) donde antes de hacer el segundo intento compruebo su estado (getstatus) y según el resultado lo proceso.

saludos.

abelnexus commented 5 years ago

nada aun no puedo solucionar, que ocurre si declaro boletas que no envie a sunat? es alguna multa observacion ?

thefantas commented 5 years ago

Entra al portal de la sunat y busca a tu comprobante, con el ese hash puedes recuperar el CDR.