facturista.com - Foros de Factura Electrónica (Comprobante Fiscal Digital por Internet)

Venta de timbres y programas para Generar, Sellar y Timbrar Factura Electrónica (CFDI) en México
Fecha actual Jue Mar 28, 2024 12:01 pm

Todos los horarios son UTC - 6 horas




Nuevo tema Responder al tema  [ 4 mensajes ] 
Autor Mensaje
NotaPublicado: Jue Dic 05, 2013 5:58 pm 
Desconectado

Registrado: Sab Mar 30, 2013 1:04 am
Mensajes: 47
Ejemplo en FoxPro:

En versión demo los caracteres son alterados, y xml_node() no encontraría el nodo Addenda.

Necesitará una licencia para que xml_insert() y xml_serialize() funcionen correctamente.

Código:
h = cfdi_xml_cargar('miarchivo.xml')
   
if h<>0
   
   lcXML = "<cfdi:Addenda><etiqueta1></etiqueta1></cfdi:Addenda>"
   
   if xml_insert(cfdi_raiz(h), 'cfdi:Comprobante', lcXML, 0, 0)=0
      messagebox(cfdi_error(h))
   else
      hnodoAddenda = xml_node(cfdi_raiz(h),"cfdi:Comprobante/cfdi:Addenda")
      if hnodoAddenda <> 0
         lc = xml_serialize(hnodoAddenda,1)
         messagebox(lc)
      endif
   endif
else
   messagebox("Error al cargar")
endif


Arriba
 Perfil  
 
NotaPublicado: Lun May 12, 2014 10:53 pm 
Desconectado

Registrado: Lun Dic 09, 2013 3:59 pm
Mensajes: 3
¿Tendrás un ejemplo en PHP?

Gracias!


Arriba
 Perfil  
 
NotaPublicado: Mié May 14, 2014 2:22 pm 
Desconectado

Registrado: Sab Mar 30, 2013 1:04 am
Mensajes: 47
Seria asi:

Código:
$h = cfdi_xml_cargar('miarchivo.xml');
   
if ($h != 0)
   {   
   lcXML = "<cfdi:Addenda><etiqueta1></etiqueta1></cfdi:Addenda>";
   
   if (xml_insert(cfdi_raiz(h), 'cfdi:Comprobante', lcXML, 0, 0)== 0)
      echo cfdi_error(h);
   else
      {
      $hnodoAddenda = xml_node(cfdi_raiz($h),"cfdi:Comprobante/cfdi:Addenda");
      if ($hnodoAddenda != 0)
         {
         $lc = xml_serialize($hnodoAddenda,1);
         echo $lc;
      }
      }
   }
else
   echo "Error al cargar";



Arriba
 Perfil  
 
NotaPublicado: Sab Ene 10, 2015 7:56 am 
Desconectado

Registrado: Sab Mar 30, 2013 1:04 am
Mensajes: 47
Código:
* Ejemplo para pegar el complemento de terceros al xml de un CFDI
* Se muestra tambien como extraer o convertir el XML a una cadena

local h, hx, lcxml, lcxmlterceros, lc, hnodoTerceros

set proc to libfacturista

init_libfacturista()

lcxml = 'paraterceros.xml' &&CFDI sin el complemento

*xml del concepto con el complemento, por ejemplo:
* '<cfdi:Concepto><cfdi:ComplementoConcepto><terceros:PorCuentadeTerceros>...</terceros:PorCuentadeTerceros></cfdi:ComplementoConcepto></cfdi:Concepto>'
lcxmlterceros = filetostr('terceros.xml')

h = 0
h = cfdi_xml_cargar(h,lcxml)

if h <> 0

      
   * Insertamos en el nodo Conceptos, el xml nuevo
   hx = xml_insert(cfdi_raiz(h), "cfdi:Comprobante/cfdi:Conceptos", lcxmlterceros, 0, 0)
   
   if hx <> 0
      * Guardamos el xml nuevo a otro archivo
      * Solo para proposito de visibilidad, se ha puesto el ultimo parametro a 1 (decorado),
      * se recomienda que sea 0
      if cfdi_xml_guardar(h,'cfditerceros.xml',0) <> 0

         * Convertimos a una cadena nuestro XML para mostrarlo      
         lc = xml_serialize(h,1)
         messagebox(lc)
         
         * Ahora mostramos la cadena XML del complemento
         hnodoTerceros = xml_node(cfdi_raiz(h), "cfdi:Comprobante/cfdi:Conceptos/cfdi:Concepto/cfdi:ComplementoConcepto/terceros:PorCuentadeTerceros")
         if hnodoTerceros <> 0
            lc = xml_serialize(hnodoTerceros,1)
            messagebox(lc)
         endif
      else
         messagebox("Error al guardar: "+ cfdi_error(h))
      endif
      
   else
      messagebox("No se pudo insertar el XML: "+ cfdi_error(h))
   endif
else
   messagebox("No se pudo cargar el archivo: "+ cfdi_error(h))
endif

clear dlls

set proc to



Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 4 mensajes ] 

Todos los horarios son UTC - 6 horas


¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 8 invitados


No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Buscar:
Saltar a:  
cron
Powered by phpBB® Forum Software © phpBB Group
Traducción al Español Mexicano por nextgen en colaboración con phpbb-es.com