Imagen

DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.


CARTA PORTE V3.1

ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03


.

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

La Razon de ser de este sitio, aqui va a ver anuncios, comentarios dudas y quejas de este programa de validacion de Comprobantes Fiscales Digitales.
Jesus Castelo
Mensajes: 384
Registrado: Lun Feb 14, 2011 6:37 pm

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

Mensaje 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.
CesarIn
Mensajes: 10
Registrado: Lun Jul 11, 2011 4:31 pm

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

Mensaje 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.
CesarIn
Mensajes: 10
Registrado: Lun Jul 11, 2011 4:31 pm

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

Mensaje 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).
Avatar de Usuario
acanas
Mensajes: 477
Registrado: Mar Ene 11, 2011 3:18 pm

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

Mensaje 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.
Zyphersoft Development
ccrux713
Mensajes: 49
Registrado: Jue Feb 10, 2011 11:19 am

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

Mensaje 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,
eduardoaap
Mensajes: 27
Registrado: Vie Feb 04, 2011 10:15 am

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

Mensaje 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.
QC2011
Mensajes: 1
Registrado: Mié Jul 13, 2011 11:58 am

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

Mensaje 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.
Vlad
Mensajes: 1
Registrado: Mié Jul 13, 2011 12:31 pm

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

Mensaje 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.
Avatar de Usuario
Dado
Mensajes: 15980
Registrado: Mar Jul 06, 2010 7:56 pm

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

Mensaje 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.........
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
mariscal
Mensajes: 7
Registrado: Lun Ene 24, 2011 10:18 am
Ubicación: Guadalajara, Jal.

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

Mensaje 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.
Cerrado