Página 4 de 12

Re: Validador SAT-Error: CFD no codificado en: UTF-8.

Publicado: Mié Jul 13, 2011 10:17 am
por Jesus Castelo
Otro cambio de la noche a la mañana, bueno, si entendi bien lo que he leido en el foro, si yo agrego lo del BOM a mis archivos XML y despues SAT dice "Oigan siempre no vamos a validar lo del BOM, no es necesario que lo pongan", mis archivos van a pasar correctamente por el validador? o tendre que quitar despues lo del BOM.

Re: Validador SAT-Error: CFD no codificado en: UTF-8.

Publicado: Mié Jul 13, 2011 10:30 am
por CesarIn
Parece que no van a recular estos imbeciles del SAT. (Ya modifique mi aplicacion de Facturas Electronicas y ya me validan Ok en el Validador). Para los que desarrollamos en PHP les dejo mi solucion.

De antes ya utilizaba una variable donde guardo toda la definicion del XML antes de grabarlo en un archivo en disco, la variable se llama: $cNuevoXML, por lo que la correccion que hice quedo asi:

Código: Seleccionar todo

 [b]$cIniHexXML = hex2bin("efbbbf");[/b]
 $cNuevoXML = [b]$cIniHexXML.$cNuevoXML;[/b]
Defini una nueva variable ($cIniHexXML) que contiene la etiqueta EF BB BF, conviertiendola con la funcion (hex2bin) y simplemente anexo esta ultima al principio de la variable contenedora del XML (antes de guardar el archivo en disco):

La funcion hex2bin (encontrada con San Google) es como sigue:

Código: Seleccionar todo

function hex2bin($h)
{
   if (!is_string($h)) return null;
   $r='';
   for ($a=0; $a<strlen($h); $a+=2) { 
      $r.=chr(hexdec($h{$a}.$h{($a+1)})); 
   }
   return $r;
} 
Espero les sirva.

Re: Validador SAT-Error: CFD no codificado en: UTF-8.

Publicado: Mié Jul 13, 2011 10:36 am
por CesarIn
El codigo anterior queda como sigue:

Código: Seleccionar todo

$cIniHexXML = hex2bin("efbbbf");
$cNuevoXML = $cIniHexXML.$cNuevoXML;
(Las etiquetas de Negritas "[ B ]" y "[ /B ]" no van).

Re: Validador SAT-Error: CFD no codificado en: UTF-8.

Publicado: Mié Jul 13, 2011 10:56 am
por acanas
Yo sugiero esperar por el momento a que se calmen las aguas y solo implementar si y solo si aparece en el Diario Oficial de la Federación como un update al anexo 20.

Re: Validador SAT-Error: CFD no codificado en: UTF-8.

Publicado: Mié Jul 13, 2011 11:33 am
por ccrux713
Seria una opcion, pero que harias si un cliente no te recibe tu factura por ese error que marca en el validador del SAT?
Y mira, que me ha tocado ver, yo como cliente, como algunos proveedores son tan tercos y cerrados que toman la palabra del validador del SAT como palabra divina, y se niegan a cambiarte una factura aunque legalmente sea incorrecta. A mi me ha tocado vivirlo como cliente, pero seguro que esa misma actitud tienen ellos cuando reciben facturas cuya validación por el sat es marcada como erronea.


acanas escribió:Yo sugiero esperar por el momento a que se calmen las aguas y solo implementar si y solo si aparece en el Diario Oficial de la Federación como un update al anexo 20.

Saludos,

Re: Validador SAT-Error: CFD no codificado en: UTF-8.

Publicado: Mié Jul 13, 2011 12:02 pm
por eduardoaap
Ya lo acabo de agregar en java, por si alguien tiene duda, es muy sencillo:

Código: Seleccionar todo

final byte[] bom = new byte[] { (byte)0xEF, (byte)0xBB, (byte)0xBF };
Solo es necesario abrir el XML y poner esto al principio.

Re: Validador SAT-Error: CFD no codificado en: UTF-8.

Publicado: Mié Jul 13, 2011 12:32 pm
por QC2011
Me ha dado el error que comentan en XML que ya habia validado...¿saben si tengo que cambiar algo en la programación para que me acepte los XMLS ?...nuestro XML si esta CODIFICADO EN UTF-8 por favor su ayuda de alguien que ya haya solucionado este detalle.

Re: Validador SAT-Error: CFD no codificado en: UTF-8.

Publicado: Mié Jul 13, 2011 12:35 pm
por Vlad
Hola,

Lo que hice fue abrir el archivo xml con el bloc de notas, inserte una linea, luego la borre y guarde los cambios ( no se altero nada , solo la fecha al momento de guardarlo), y asi me permitió validar, llevo 3 archivos....

Saludos.

Re: Validador SAT-Error: CFD no codificado en: UTF-8.

Publicado: Mié Jul 13, 2011 12:36 pm
por Dado
QC2011 escribió:Me ha dado el error que comentan en XML que ya habia validado...¿saben si tengo que cambiar algo en la programación para que me acepte los XMLS ?...nuestro XML si esta CODIFICADO EN UTF-8 por favor su ayuda de alguien que ya haya solucionado este detalle.
Amigo, empeñate un poco, tienes que LEER DESDE EL POST No. 1 de este foro, hay comentarios interesantes, opiniones, bueno....hasta hay codigo en una docena de lenguajes para resolver el caso.........

Re: Validador SAT-Error: CFD no codificado en: UTF-8.

Publicado: Mié Jul 13, 2011 12:38 pm
por mariscal
En mi trabajo hemos optado por esperar un poco mas para ver si Hacienda publica algo :idea: o bien quita esa validacion :roll: .

Pero en lo que son peras o manzanas comence a realizar una version de mi aplicacion en cobol :o para agregarle el BOM, sin problema alguno.

Tambien realize el siguiente script en bash (trabajo en linux) para agregarle el BOM a los xml's existentes:

Código: Seleccionar todo

#
Directorio="/user/cfd"
xmls=`find $Directorio -maxdepth 1 -type f -name '*.xml'`

for xml in $xmls; do
    contador=$(sed -n '/\xEF\xBB\xBF/p' $xml | wc -l)
    if [ $contador -eq 0 ]; then
       sed -i '1s/^/\xEF\xBB\xBF/' $xml
    fi
done

exit
#
# eof()
#
Ojala les ayude.