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


.

Como unir o pegar dos XML (Addendas)

La factura esta basada en XML, independiente del lenguaje de programacion todos debemos saber acerca de esta tecnologia
[[ FORO CERRADO DEBIDO A QUE YA LA INFORMACION YA NO ES VIGENTE ]]
Cerrado
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Como unir o pegar dos XML (Addendas)

Mensaje por Dado »

Si tienen necesidad de crear una addenda les puede ser util este tip:

Yo lo que hago es tener un XML principal, es decir el CFD.

Muy aparte en otro apartado de mi programa genero OTRO XML independiente, que represente la Addenda que necesito.

Asi pues tengo por ejemplo

CFD principal

Código: Seleccionar todo

<Comprobante>
   <Emisor rfc="abc090909qw3" etc/>
   <Conceptos/>
   etc
</Comprobante>
Addenda

Código: Seleccionar todo

<Datos>
   <Remision Numero="12344"/>
   <ORden de compara>
   etc
</Datos>
EN LAS RUTINAS QUE VENDO EN MERCADO LIBRE la instruccion para pegar la addenda al CFD principal es muy simple :

Código: Seleccionar todo

	FacturaEForm.CFD.Addenda.ChildNodes.Add(Addenda); //Addenda es de tipo TXMLDoc;
Y entonces quedaria asi:

Código: Seleccionar todo

<Comprobante>
   <Emisor rfc="abc090909qw3" etc/>
   <Conceptos/>
   etc
   <Addenda>
      <Datos>
      <Remision Numero="12344"/>
      <ORden de compara>
      etc
      </Datos>
   <Addenda/>
</Comprobante>
Nota que el tag <Addenda> se crea automatico.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
EJSG
Mensajes: 73
Registrado: Jue Jul 08, 2010 7:18 pm

Re: Como unir o pegar dos XML (Addendas)

Mensaje por EJSG »

Hola Dado, de casualidad tendras por ahi un ejemplo en Delphi para agregar la addenda al XML? Adicionalmente una pregunta, la addenda no se agrega en la cadena original, verdad? Muchas gracias por todo tu apoyo.
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Como unir o pegar dos XML (Addendas)

Mensaje por Dado »

EJSG escribió:Hola Dado, de casualidad tendras por ahi un ejemplo en Delphi para agregar la addenda al XML? Adicionalmente una pregunta, la addenda no se agrega en la cadena original, verdad? Muchas gracias por todo tu apoyo.
No, no tengo ejemplo en Delphi.

Por otro lado, la addenda no interviene en la formacion de la cadena original. Incluso puedes sellar primero tu XML y despues agregar la addenda.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
anibalbg
Mensajes: 15
Registrado: Sab Jul 17, 2010 9:39 am

Re: Como unir o pegar dos XML (Addendas)

Mensaje por anibalbg »

Hola dado oyes si tienes la addenda en texto como la unes al xml
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Como unir o pegar dos XML (Addendas)

Mensaje por Dado »

anibalbg escribió:Hola dado oyes si tienes la addenda en texto como la unes al xml
Mi recomendacion es que conviertas ese texto a un nodo y asi lo pegas.

Por ejemplo (Nota importante, este codigo NO ESTA PROBADO, asi que no copies y pegues, es solo "la punta de la madeja" para que tu termines de desarrollarlo)

var
addenda : string;
DocNodo : TXMLDocument; //componente de la paleta de internet

addenda := '<miaddenda><bla /><blah2 /></miaddenda>'; // quiero enteder que tu addenda la haces "a mano", sobre una string
Docnodo.XML.Text := addenda;
DocNodo.Active := true;

Ahora en DocNodo tienes tu Addenda ya como un XML real y no solo una string, con esto ya puedes pegar nodos

FacturaElectronica.Addenda.ChildNodes.Add(DocNodo);

Mmmh, me quede pensando, si no te funciona la instruccion anterior es posible que necesites especificar el nodo raiz de la siguiente forma

FacturaElectronica.Addenda.ChildNodes.Add(DocNodo.DocumentElement);
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
Cerrado