facturista.com - Foros de Factura Electrónica (Comprobante Fiscal Digital por Internet) http://facturista.com/foros/ |
|
Como pegar Addendas o Complementos http://facturista.com/foros/viewtopic.php?f=3&t=697 |
Página 1 de 1 |
Autor: | ariel_medina [ Jue Dic 05, 2013 5:58 pm ] |
Asunto: | Como pegar Addendas o Complementos |
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 |
Autor: | pabloczr [ Lun May 12, 2014 10:53 pm ] |
Asunto: | Re: Como pegar Addendas o Complementos |
¿Tendrás un ejemplo en PHP? Gracias! |
Autor: | ariel_medina [ Mié May 14, 2014 2:22 pm ] |
Asunto: | Re: Como pegar Addendas o Complementos |
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"; |
Autor: | ariel_medina [ Sab Ene 10, 2015 7:56 am ] |
Asunto: | Re: Como pegar Addendas o Complementos |
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 |
Página 1 de 1 | Todos los horarios son UTC - 6 horas |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |