Pipes intermedios.....dice el anexo 20, la cadena original INICIA con doble Pipe y TERMINA con doble pipe.....cmarquez escribió:Dado, buenas tardesDADO escribió:@cmarquez
FTP. Me es dificil descubrir el error "desde aqui", para una conexion a internet hay mil variables, proxis, firewalls, lo ultimo que se me ocurre es que hagas un "port forwarding" desde tu router, es una funcion en la que defines que TODO el puerto 20 y 21 se pase SIN NAT'S o Firewalls o NADA hacia el ValidaCFD_cl
"Datos no valido para....(vacio)". Ese es un tema que ya habia expuesto en el foro te paso la conclusion : EL XML ESTA MAL DEBES REGRESARLO AL EMISOR, si quieres mas explicacion, comentarios etc visita el foro mencionado y puedes expresar tu opinion.
Emisor.RFC no aparece en la lista.......deja investigo de que se trata.
1. Insisto en éste foro porque considero oportunidad de mejora a ValidaCFD_cl; trato de explicar:
La factura la reporta con sello invalido unicamente ValidaCFD_cl.
Califican el sello como valido SAT y http://www.misfacturas.net
Adicionalmente, xsltproc genera la cadena original con los "||" intermedios.
No encuentro en el anexo 20 la indicacion de que no se permiten "||" intermedios. Dice que la cadena inicia y termina con un "||", pero no restringe explicitamente los intermedios.
Es claro que si hay otro error por la falta de país, pero pido no considerarlo en éste momento.
No es un caso frecuente, pero pregunto: ¿porque devolver una factura por sello invalido cuando otros validadores lo califican como válido?
2. Acerca de actualizacion de base de datos, ¿que problema habría para agregarle a ValidaCFD_cl la funcionalidad de actualizar a partir de archivos en disco? Esto porque ya tenemos programada la descarga automatica desde SAT por medio de FTP.
Imagina la siguiente cadena
||2.0|A|123454||AAA010101XXX|Concepto1||
Las COMPUTADORAS van a seguir la orden.....TERMINAR en doble pipe :
Cadena Original = ......||.....2.0.....|....A.....|....12345....|| OK, doble pipe FIN DE CADENA!!!...conclusion, NO SE PERMITE DOBLE PIPE INTERMEDIO ya que ese el el indicador para FIN DE CADENA, queda implicito que esta prohibido intermedio.
Ahora, como los abogados.....YA EN MAS DE UNA OCASION EL SAT HA MENTIDO TERRIBLEMENTE y por andar ajustando el ValidaCFD al validador oficial se han cometido errores fatales.
EJEMPLO mas claro es el caso MD5 / SHA1, tuve enormes quejas que "como permitio el ValidaCFD" validar documentos firmados con MD5 estando en el 2011, mi respuesta era "porque el validador los acepta, yo tambien los tengo que aceptar" PERO cambio el validador (no me quiero acordar del lunes negro del 3-ene) y corrigieron ese error.
De cualquier manera, la validacion ES MUCHO MAS QUE EL Sello de Valida/no valida. Los datos vacios ESTAN PROHIBIDOS y tienes (me parece) 3 de ellos, eso es motivo suficiente para rechazar el XML y son precisamente los que provocan el doble pipe.
Tambien en el anexo 20 "los datos opcionales no expresados NO APARECERAN EN LA CADENA Y NO TENDRAN DELIMITADOR ALGUNO", tambien dice "Cada dato individual se encontrara separado de su dato subsiguiente en caso de existir mediante un pipe"
El dato (vacio) no es precisamente un dato, es una de las reglas de computacion, si una cadena="" entonces la cadena "no existe" es vacia.
Un dato vacio ROMPE CON MAS DE 5 REGLAS ! el resultado es un XML INVALIDO (nota que no puse "sello invalido" ya que el CFD es TODO el XML y no solo un sello)
Por ultimo, El validador del SAT NO LO ACEPTO ! Este es parte de tu mensaje :
Insisto, la validacion NO ES UNICAMENTE EL SELLO......pero aprobado por el validador del SAT:
Resumen del análisis del XML
Archivo XML :IMSA_P00230_2011-01-17_GDE-3736_CFD.xml
Ruta :C:\Users\cmarquez.IMSAAIB\Documents\CFD\IMSA_P00230_2011-01-17_GDE-3736_CFD.xml
Estructura :
1 Dato no válido para el atributo 'no. Exterior'
2 Dato no válido para el atributo 'estado'
3 Dato no válido para el atributo 'país'
Por ultimo, creeme, corregir este "detalle" es agregar dos palabras por ahi a mi codigo fuente, cambiar de false(falso) a true (verdadero) en cada uno de los atributos, de verdad te digo, estoy dedicando mas tiempo esfuerzo y palabras a este mismisimo mensaje que cambiar tres "false" por tres "true" y recompilar, no es porque no quiera cambiarlos, es porque creo firmemente que el SAT esta mal y no seria la primera vez en que yo tengo la razon (despues de todo, detras del validador del SAT esta gente comun y corriente como nosotros, no son mejores o peores, cada quien hace su mejor esfuerzo)