Errores en WSFEv1

Después de llamar a cualquiera de los métodos del WSFEv1, aparte de las propiedades específicas en donde se leen los resultados, existen un grupo de propiedades comunes a todos que contienen la lista de errores devueltos por AFIP (si los hubiere) y la lista de eventos (si los hubiere). Además los métodos "FECAESolicitar" y "FECAERegInformar" contienen propiedades específicas para validaciones propias de cada comprobante que se autoriza en AFIP.

En cada llamado al servidor del WSFEv1 este puede devolver 0, 1 o más errores que se leen en las propiedades (código y descripción):

f1ErrorCode1

f1ErrorCode2

f1ErrorMsg1

f1ErrorMsg2

Estas propiedades estarán vacias si no hubo errores. Es importante destacar que el WSFEv1 devuelve una lista de errores variables (que puede contener 0, 1 o más elementos). Las propiedades "f1ErrorMsg1" y "f1ErrorMsg2" junto con "f1ErrorCode1" y "f1ErrorCode2" solo son provistas por comodidad. La forma correcta es obtener la lista de errores devueltos es:

    • Consultar el valor de la propiedad "f1ErrorItemCantidad". (0 si no hubo errores, 1 o más si la lista contiene elementos).

    • En caso que f1ErrorItemCantidad sea mayor que 0. Cargar "f1IndiceItem" a 0.

    • Leer en las propiedad "f1ErrorMsg" y "f1ErrorCode" el primer error devuelto.

    • Continuar cargando "f1IndiceItem" a 1, 2 hasta "f1ErrorItemCantidad-1" y leer cada fila de la lista de errores en las propiedad "f1ErrorMsg" y "f1ErrorCode".

Es decir que las propiedades "f1ErrorMsg1" y "f1ErrorMsg2" apuntan a la primera y a la segunda fila de la lista de errores (contienen "vacio" si no hubo errores) y son provistas por simplicidad. En caso que "f1ErrorItemCantidad" muestre valor "1" (o superior) son equivalentes las propiedades:

mostrar el valor de "f1ErrorMsg1"

cargar "f1IndiceItem" a 0.

mostrar el valor de "f1ErrorMsg"

Y en caso que "f1ErrorItemCantidad" muestre el valor "2" o superior son equivalentes las propiedades:

mostrar el valor de "f1ErrorMsg2"

cargar "f1IndiceItem" a 0.

mostra el valor de "f1ErrorMsg".

Bajo ningún concepto deben confundirse la propiedades "f1ErrorMsg1", que referencia a un valor fijo: el primero de la lista de errores si lo hubiere, con la propiedad "f1ErrorMsg" que referencia un valor de una lista variable apuntada por "f1IndiceItem" y cuyo límite (cantidad de filas de la lista) está marcado por "f1ErrorItemCantidad".

Lo mismo se aplica a las propiedades "f1ErrorCode", "f1ErrorCode1" y "f1ErrorCode2".