Página 1 de 1
Adiconar ADDENDA FEMSA
Publicado: Vie Jun 29, 2012 8:04 pm
por foxito
Que tal lista: Vengo nuevamente a que me apoyen jejejej, tengo el siguiente detalle estoy adicionando una addenda a mi XML de la siguiente manera:
Código: Seleccionar todo
AddFemsa := '<Documento>'+
'<FacturaFemsa>' +
'<noVersAdd>1</noVersAdd>'+
'<claseDoc>1</claseDoc>'+
'<noSociedad>0123</noSociedad>'+
'<noProveedor>56782</noProveedor>'+
'<noPedido>939 </noPedido>'+
'<moneda>MXN</moneda>'+
'<noEntrada>0047014408</noEntrada>'+
'<noRemision></noRemision>'+
'<noSocio/>'+
'<centroCostos/>'+
'<iniPerLiq/>'+
'<finPerLiq/>'+
'<retencion1/>'+
'<retencion2/>'+
'<email>micorreo@prodigy.net.mx </email>'+
'</FacturaFemsa>'+
'</Documento>';
XMLDocument1.XML.Text :=AddFemsa;
XMLDocument1.Active := True;
//Cargamos el CFD previamente creado
if CFD.LoadFromFile('D:\SISTEMAS\F-E7.xml') then //usamos un if, para validar que si se haya cargado correctamente
//LIMPIAMOS CUALQUIER DATO QUE PUEDA TENER EL XML DE ADDENDA
// CFD.BorraAddendas;
// AGREGAR ADDENDA
CFD.Datos.Addenda.ChildNodes.Add(XMLDocument1.DocumentElement);
//Enviamos a un "TreeView"
// CFD.SendToTree(TreeView1);
//GRABAR EL CFD EN DISCO
CFD.SaveToFile('D:\SISTEMAS\F-E7_addenda.xml');
Al generado obtengo este resultado:
Código: Seleccionar todo
-<Addenda>-<Documento xmlns="">-<FacturaFemsa><noVersAdd>1</noVersAdd><claseDoc>1</claseDoc><noSociedad>0123</noSociedad><noProveedor>56782</noProveedor><noPedido>939 </noPedido><moneda>MXN</moneda><noEntrada>0047014408</noEntrada><noRemision/><noSocio/><centroCostos/><iniPerLiq/><finPerLiq/><retencion1/><retencion2/><email>hermur@prodigy.net.mx </email></FacturaFemsa></Documento> </Addenda></Comprobante>
y tengo este problema en la seccion <Documento me anexa
xmlns="" y en ningún momento lo adiciono...
Gracias y espero sus comentarios
Atte.
A.H.C.
Re: Adicionar ADDENDA FEMSA
Publicado: Lun Jul 02, 2012 6:32 pm
por foxito
Ya estuve checando los archivos CfdCore.pas y Cfdv2030.pas y no encuentro donde se adiciona eso... espero que alguien me pueda ayudar...
ATTE.
A.H.C.
Re: Adiconar ADDENDA FEMSA
Publicado: Mar Jul 03, 2012 7:13 pm
por RickAlanis
No sé en qué estás programando.
Se me hace que, como estás creando un XML a partir de un string, espera que al menos haya un namespace y, como no lo agregas, lo pone con un valor nulo.
Checa bien la forma de crearlos, a lo mejor tienes manera de eliminar el parámetro con alguna declaración o algo.
Si no, una vez que lo agregues al CFD, deberás cargarlo como string y quitarlo a mano, como DADO ya le recomendó a alguien con la addenda de AHMSA.
Saludos!
Re: Adiconar ADDENDA FEMSA
Publicado: Mar Jul 03, 2012 8:24 pm
por foxito
RickAlanis escribió:No sé en qué estás programando.
Se me hace que, como estás creando un XML a partir de un string, espera que al menos haya un namespace y, como no lo agregas, lo pone con un valor nulo.
Checa bien la forma de crearlos, a lo mejor tienes manera de eliminar el parámetro con alguna declaración o algo.
Si no, una vez que lo agregues al CFD, deberás cargarlo como string y quitarlo a mano, como DADO ya le recomendó a alguien con la addenda de AHMSA.
Saludos!
Antes que nada mucha gracias
RickAlanis por tomarte un tiempo en contestarme... te agradezco tu respuesta y referente a la solución mejor opte por realizarlo asi y quedo perfecto... anexo mi código talvez pueda servir a alguien... creo que hay mas manera pero por el momento esta me funciono....
Código: Seleccionar todo
XMLDocument1.FileName := 'D:\SISTEMAS\F-7.xml';
XMLDocument1.Active := True;
RootNode := XMLDocument1.DocumentElement.AddChild('Addenda');
AddNode := RootNode.AddChild('Documento');
AddNode2 := AddNode.AddChild('FacturaFemsa');
DatoNode := AddNode2.AddChild('noVersAdd');
DatoNode.Text := '1';
DatoNode := AddNode2.AddChild('claseDoc');
DatoNode.Text := '1';
DatoNode := AddNode2.AddChild('noSociedad');
DatoNode.Text := '123';
DatoNode := AddNode2.AddChild('noProveedor');
DatoNode.Text := '56782';
DatoNode := AddNode2.AddChild('noPedido');
DatoNode.Text := '939';
DatoNode := AddNode2.AddChild('moneda');
DatoNode.Text := 'MXP';
DatoNode := AddNode2.AddChild('noEntrada');
DatoNode.Text := '0047014408';
DatoNode := AddNode2.AddChild('noRemision');
DatoNode.Text := '';
DatoNode := AddNode2.AddChild('noSocio');
DatoNode.Text := '';
DatoNode := AddNode2.AddChild('centroCostos');
DatoNode.Text := '';
DatoNode := AddNode2.AddChild('iniPerLiq');
DatoNode.Text := '';
DatoNode := AddNode2.AddChild('finPerLiq');
DatoNode.Text := '';
DatoNode := AddNode2.AddChild('retencion1');
DatoNode.Text := '';
DatoNode := AddNode2.AddChild('retencion2');
DatoNode.Text := '';
DatoNode := AddNode2.AddChild('email');
DatoNode.Text := 'micorreo@prodigy.net.mx';
XMLDocument1.SaveToFile('D:\SISTEMAS\F-7_Addenda.xml');
Re: Adiconar ADDENDA FEMSA
Publicado: Vie Ago 31, 2012 12:33 pm
por NetFcruz
Hola amigo estoy viendo tu codigo y trato de comparar, puesto queesta un sistema actualmente en la empresa y hay un requisito con la addenda Soriana y llevo 3 semanas buscando informacion y veo este post, pasa que la factura es cfdi, entonces generan la factrua pero falta la addenda de soriana, esta pues quiero integrarsela a el XML exixtente, es decir cargar o leer un XML externo y despues de leerlo poderle agregar loa datos de la addenda como un nuevo nodo.
Pondre el archivo como lo genera el sistema, el cual solo quiero pegarle la parte de addenda:
Este es sin addenda:
Código: Seleccionar todo
<?xml version="1.0" encoding="utf-8"?>
<cfdi:Comprobante xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 cfdv3.xsd" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version = "3.2" fecha = "2012-06-12T16:10:50" sello = "Hli164P9Pum78+MSAKAKASKDMAKSDMKASMKSAXO3OI3IO3O33K3K3K3K3KKK3K3K3+4z6gn+DK44upNfQv81/qfuVQKZwFtDGq1LQ+ulruih7WUpqpBoCwEuEFMXnk3=" subTotal = "10443.24" total = "11592.00" certificado = "y AUN SIGUE 4+9Mwooz8sxllXFjVDNkES1waNsTOTGGjnz6qPhhWwRRc6EoqY19EQmzUlm98qZYw12iuU/gwu1llEWIHc63Ch0AnSKqvxw2PH6GhGZEdHHruNAmCHQJ5ok8DUslBK0ZWiB5g+suSO3MrvDAgMBAAGjHTAbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMA0GCSqGSIb3DQEBBQUAA4IBAQBclpZ3PmjgS50L+ZECs1nW5hUPo08Iqd9aIB70sxdmruIKTO4xnsgMPHptD3dd1Jxn5ykdH7EG9bK+WE91F1jsEQhie2gco/NZZ1csvEJQy+zkx0POJHl9QSBWeUF/SbQ9Cd9woEI4fx+dDAabF5SzsavfrSFvbMCo6xlelC25+DAlAq3Lbu95" formaDePago = "PAGO EN UNA SOLA EXHIBICION" noCertificado = "01010aaa01_DEMO_01" tipoDeComprobante = "ingreso" >
<cfdi:Emisor rfc = "MIC3R71F1C4D0" nombre ="MI EMPRESA, S.A. DE C.V.">
<cfdi:DomicilioFiscal calle = "MI CALLE" noExterior = "500" colonia = "RIO MANTE" localidad = "MICIUDAD" municipio = "MICIUDAD" estado = "MIESTADO" pais = "MEXICO" codigoPostal = "80000"/>
<cfdi:ExpedidoEn calle ="MI CALLE" noExterior ="500" colonia ="RIO MANTE" municipio ="MICIUDAD" estado ="MI ESTADO" pais ="MEXICO" codigoPostal ="80000"/>
</cfdi:Emisor>
<cfdi:Receptor rfc ="SU RFC" nombre ="TIENDAS SORIANA S.A. DE C.V." >
<cfdi:Domicilio calle ="ALEJANDRO DE RODAS # 3000-A" colonia ="CUMBRES 8VO. SECTOR" municipio ="MONTERREY" estado ="NUEVO LEON" pais ="MEXICO" codigoPostal ="64610"/>
</cfdi:Receptor>
<cfdi:Conceptos>
<cfdi:Concepto cantidad ="1" unidad ="PUB" noIdentificacion ="PUB-001" descripcion ="TIENDAS SORIANA . . ., MEDIDA :(16.0 X 6.0 MOD), NO. DE INSERCION: (N198134) Fecha :08/06/2012" valorUnitario ="5221.62" importe ="5221.62"/>
<cfdi:Concepto cantidad ="1" unidad ="PUB" noIdentificacion ="PUB-001" descripcion ="TIENDAS SORIANA . . . ., MEDIDA :(16.0 X 6.0 MOD), NO. DE INSERCION: (N197803) Fecha :01/06/2012" valorUnitario ="5221.62" importe ="5221.62"/>
</cfdi:Conceptos>
<cfdi:Impuestos totalImpuestosTrasladados="1148.76">
<cfdi:Traslados>
<cfdi:Traslado tasa="0.00" importe="0.00" impuesto="IVA" />
<cfdi:Traslado impuesto ="IVA" tasa ="11.00" importe ="1148.76"/>
</cfdi:Traslados>
</cfdi:Impuestos>
<cfdi:Complemento>
<tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" version="1.0" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/TimbreFiscalDigital/TimbreFiscalDigital.xsd" UUID="B97C8707-4000-46AA-B1F8-00000000" FechaTimbrado="2012-06-12T16:17:27" selloCFD="KMIIINI3I3I33J33N3N2N2N4NN2122N2KJ+4z6gn+DKuLASSS333=" noCertificadoSAT="01010aaa01_DEMO_01" selloSAT="INICIA CERTICIADO/FbsrGaermbp6fQzs=" /></cfdi:Complemento>
</cfdi:Comprobante>
Ok, y este es un ejemplo de Addenda que genero por separado:
Como podria una vez que genere esta addenda, cargar el XML de arriba y con un boton pegar este codigo que eh generado?
Código: Seleccionar todo
- <Addenda>
- <od:RequestForPayment version="2.0">
- <od:AS400 cuenta="0000814863" numOrden="11,846,729" consecutivoOrden="1" fechaOrden="2010/06/16" fechaEntrega="2010/06/17" condiciones="Inmediato" comentarios="30 DIAS DE GTIA EN PAPELERIA">
- <od:Enviado nombre="QUALITAS COMPANIA DE SEGUROS, S.A.B. DE C.V" ruta="2">
<od:DomicilioEnviado calle="BLVD DURANGO" noExterior="N 200" colonia="FRACC LOMAS DEL GUADIANA" localidad="DURANGO" municipio="DURANGO" estado="DURANGO" pais="MEXICO" codigoPostal="34110" />
</od:Enviado>
- <od:Conceptos>
<od:Concepto sku="8101" cantidadPedida="3" cantidadEnviada="3" precioUnitario="18.87931" importe="56.64" />
<od:Concepto sku="6" cantidadPedida="2" cantidadEnviada="2" precioUnitario="34.39655" importe="68.79" />
<od:Concepto sku="8347" cantidadPedida="1" cantidadEnviada="1" precioUnitario="103.36207" importe="103.36" />
<od:Concepto sku="6369" cantidadPedida="1" cantidadEnviada="1" precioUnitario="361.20690" importe="361.21" />
<od:Concepto sku="27965" cantidadPedida="3" cantidadEnviada="3" precioUnitario="85.34483" importe="256.03" />
<od:Concepto sku="1553" cantidadPedida="1" cantidadEnviada="1" precioUnitario="15.43103" importe="15.43" />
<od:Concepto sku="7258" cantidadPedida="1" cantidadEnviada="1" precioUnitario="21.46552" importe="21.47" />
</od:Conceptos>
- <od:FormasPago>
<od:FormaPago descripcion="CA Efectivo" importe="1024.20" />
</od:FormasPago>
</od:AS400>
</od:RequestForPayment>
</Addenda>
Y Finalmente me quede asi? Claro que con su respectivo formato, lo del XML si es por mi parte y funciona al 100 esa Factura pero lo de addenda lo copie de una de Office Depot.
Código: Seleccionar todo
<?xml version="1.0" encoding="utf-8"?>
<cfdi:Comprobante xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 cfdv3.xsd" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version = "3.2" fecha = "2012-06-12T16:10:50" sello = "Hli164P9Pum78+MSAKAKASKDMAKSDMKASMKSAXO3OI3IO3O33K3K3K3K3KKK3K3K3+4z6gn+DK44upNfQv81/qfuVQKZwFtDGq1LQ+ulruih7WUpqpBoCwEuEFMXnk3=" subTotal = "10443.24" total = "11592.00" certificado = "y AUN SIGUE 4+9Mwooz8sxllXFjVDNkES1waNsTOTGGjnz6qPhhWwRRc6EoqY19EQmzUlm98qZYw12iuU/gwu1llEWIHc63Ch0AnSKqvxw2PH6GhGZEdHHruNAmCHQJ5ok8DUslBK0ZWiB5g+suSO3MrvDAgMBAAGjHTAbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMA0GCSqGSIb3DQEBBQUAA4IBAQBclpZ3PmjgS50L+ZECs1nW5hUPo08Iqd9aIB70sxdmruIKTO4xnsgMPHptD3dd1Jxn5ykdH7EG9bK+WE91F1jsEQhie2gco/NZZ1csvEJQy+zkx0POJHl9QSBWeUF/SbQ9Cd9woEI4fx+dDAabF5SzsavfrSFvbMCo6xlelC25+DAlAq3Lbu95" formaDePago = "PAGO EN UNA SOLA EXHIBICION" noCertificado = "01010aaa01_DEMO_01" tipoDeComprobante = "ingreso" >
<cfdi:Emisor rfc = "MIC3R71F1C4D0" nombre ="MI EMPRESA, S.A. DE C.V.">
<cfdi:DomicilioFiscal calle = "MI CALLE" noExterior = "500" colonia = "RIO MANTE" localidad = "MICIUDAD" municipio = "MICIUDAD" estado = "MIESTADO" pais = "MEXICO" codigoPostal = "80000"/>
<cfdi:ExpedidoEn calle ="MI CALLE" noExterior ="500" colonia ="RIO MANTE" municipio ="MICIUDAD" estado ="MI ESTADO" pais ="MEXICO" codigoPostal ="80000"/>
</cfdi:Emisor>
<cfdi:Receptor rfc ="SU RFC" nombre ="TIENDAS SORIANA S.A. DE C.V." >
<cfdi:Domicilio calle ="ALEJANDRO DE RODAS # 3000-A" colonia ="CUMBRES 8VO. SECTOR" municipio ="MONTERREY" estado ="NUEVO LEON" pais ="MEXICO" codigoPostal ="64610"/>
</cfdi:Receptor>
<cfdi:Conceptos>
<cfdi:Concepto cantidad ="1" unidad ="PUB" noIdentificacion ="PUB-001" descripcion ="TIENDAS SORIANA . . ., MEDIDA :(16.0 X 6.0 MOD), NO. DE INSERCION: (N198134) Fecha :08/06/2012" valorUnitario ="5221.62" importe ="5221.62"/>
<cfdi:Concepto cantidad ="1" unidad ="PUB" noIdentificacion ="PUB-001" descripcion ="TIENDAS SORIANA . . . ., MEDIDA :(16.0 X 6.0 MOD), NO. DE INSERCION: (N197803) Fecha :01/06/2012" valorUnitario ="5221.62" importe ="5221.62"/>
</cfdi:Conceptos>
<cfdi:Impuestos totalImpuestosTrasladados="1148.76">
<cfdi:Traslados>
<cfdi:Traslado tasa="0.00" importe="0.00" impuesto="IVA" />
<cfdi:Traslado impuesto ="IVA" tasa ="11.00" importe ="1148.76"/>
</cfdi:Traslados>
</cfdi:Impuestos>
<cfdi:Complemento>
<tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" version="1.0" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/TimbreFiscalDigital/TimbreFiscalDigital.xsd" UUID="B97C8707-4000-46AA-B1F8-00000000" FechaTimbrado="2012-06-12T16:17:27" selloCFD="KMIIINI3I3I33J33N3N2N2N4NN2122N2KJ+4z6gn+DKuLASSS333=" noCertificadoSAT="01010aaa01_DEMO_01" selloSAT="INICIA CERTICIADO/FbsrGaermbp6fQzs=" /></cfdi:Complemento>
<Addenda>
<od:RequestForPayment version="2.0">
<od:AS400 cuenta="0000814863" numOrden="11,846,729" consecutivoOrden="1" fechaOrden="2010/06/16" fechaEntrega="2010/06/17" condiciones="Inmediato" comentarios="30 DIAS DE GTIA EN PAPELERIA">
<od:Enviado nombre="QUALITAS COMPANIA DE SEGUROS, S.A.B. DE C.V" ruta="2">
<od:DomicilioEnviado calle="BLVD DURANGO" noExterior="N 200" colonia="FRACC LOMAS DEL GUADIANA" localidad="DURANGO" municipio="DURANGO" estado="DURANGO" pais="MEXICO" codigoPostal="34110" />
</od:Enviado>
<od:Conceptos>
<od:Concepto sku="8101" cantidadPedida="3" cantidadEnviada="3" precioUnitario="18.87931" importe="56.64" />
<od:Concepto sku="6" cantidadPedida="2" cantidadEnviada="2" precioUnitario="34.39655" importe="68.79" />
<od:Concepto sku="8347" cantidadPedida="1" cantidadEnviada="1" precioUnitario="103.36207" importe="103.36" />
<od:Concepto sku="6369" cantidadPedida="1" cantidadEnviada="1" precioUnitario="361.20690" importe="361.21" />
<od:Concepto sku="27965" cantidadPedida="3" cantidadEnviada="3" precioUnitario="85.34483" importe="256.03" />
<od:Concepto sku="1553" cantidadPedida="1" cantidadEnviada="1" precioUnitario="15.43103" importe="15.43" />
<od:Concepto sku="7258" cantidadPedida="1" cantidadEnviada="1" precioUnitario="21.46552" importe="21.47" />
</od:Conceptos>
<od:FormasPago>
<od:FormaPago descripcion="CA Efectivo" importe="1024.20" />
</od:FormasPago>
</od:AS400>
</od:RequestForPayment>
</Addenda>
</cfdi:Comprobante>
Pasa que el sistema por donde sale la Factura CFDI e en VFP9 y yo soy medio en VB.NET entonces estoy haciendo un tipo de aplicacion externa para cuadno generen la factura ya timbrada y sellada, abran la aplicacion de VB.NET y carguen el XML le den capturar los conceptos de el formulario de la parte de addenda mediante un boton Generar Addenda y el Otro Agregar Addenda a XML que haga esa parte la cual quiero que la inserte al XML leido y cargado, ya que se trataria de dos XML separados practivamente, cierto, espero haberme explicado.
Saludos espero me puedan auxiliar.
Graxias desde ya.
