Les hago una consulta, con el sistema se emiten varias miles de facturas por día y de ellos unos cuántos son errores de algún tipo. Tengo una larga lista de errores diferentes que me devuelve el AFIP, algunos están en los manuales (cuit del cliente no existe, fecha está mal, etc), otros son horribles mensajes de sus servidores caídos y otros son los de los manuales pero con espacios o caracteres raros en el medio. Por el momento tenemos un método que busca si el error es conocido (está en la lista de los que alguna vez recibimos) y trata de darle un lindo mensaje al usuario.
Estoy tratando de diseñar algo mejor, ¿Ustedes como manejan este tipo de errores?
Les tiro algunos de ejemplo de distintos tipos de error que obtengo de la salida de pyafipws (noten que el err_code a veces contiene espacios):
"err_code":" 501 ","err_msg":" 501: Error interno de base de datos - CuitsEnPadronSet. ORA-04068: existing state of packages has been discarded\u000bORA-04061: existing state of package body \"ORA.RECE_V1_PCK\" has been invalidated\u000bORA-04065: not executed, altered or dropped package body \"ORA.RECE_V1_PCK\"\u000bORA-06508: PL\/SQL: could not find program unit being called: \"ORA.RECE_V1_PCK\"\u000bORA-06512: at line 1\u000b ! ! "
"err_code":false,"err_msg":false
"err_code":" 1001","err_msg":"6 10016: El n\u00famero o fecha del comprobante no se corresponde con el pr\u00f3ximo a autorizar. Consultar metodo FECompUltimoAutorizado. ! ! "
Saludos
Andres Misiak