Dado buen día
te agradeceria de antemano si me podrias ayudar que estoy haciendo mal, cuando re-sello el XML en el VALIDACFD sale bien
y comparo la cadena original y no veo diferencia alguna. Esta es la cadena que estoy generando
||2.0|14|2011-04-18T23:21:49|405762|2010|ingreso|Pago en una sola exhibicion|5956.68|5500.00|VEBE770703BQ6|ELOY VELAZQUEZ BELTRAN|FAROLITO|38|OTRA NO ESPECIFICADA EN EL CATALOGO|TEPIC|TEPIC|NAYARIT|México|63506|ENA831219N64|EMBOTELLADORA DEL NAYAR S.A DE C.V.|AV. INSURGENTES|1100 OTE|LLANITOS|TEPIC|NAYARIT|México|63170|1|--|SERVICIOS PRESTADOS DE SISTEMAS PROYECTO ROUTE TO MARKET|5956.68|5956.68|IVA|635.38|ISR|595.67|1231.05|IVA|16.00|953.07|953.07|1.0|178.70|0.00|ICED|3.00|178.70||
Mas sin embargo me marca sello invalido, te vuelvo anexar un xml y la parte donde agrego la anexo el complemento en la generación de la cadena original
if Complemento.ChildNodes.Count>0 then
with Complemento do
begin
if ChildNodes[0].NodeName = 'implocal:ImpuestosLocales' then
begin
AgregaDato(ChildNodes[0].Attributes['version']);
AgregaDato(ChildNodes[0].Attributes['TotaldeRetenciones']);
AgregaDato(ChildNodes[0].Attributes['TotaldeTraslados']);
if ChildNodes[0].ChildNodes[0].NodeName = 'implocal:RetencionesLocales' then
begin
AgregaDato(ChildNodes[0].ChildNodes[0].Attributes['ImpLocRetenido']);
AgregaDato(ChildNodes[0].ChildNodes[0].Attributes['TasadeRetencion']);
AgregaDato(ChildNodes[0].ChildNodes[0].Attributes['Importe']);
end;
end;
end; {with Complemento}
AgregaDato(pipe);
end; {with CFD}
Esto donde se genera el XML GeneraXMLRECI(FolioFactura : integer;SerieFact :String);
El Encabezado
XMLDoc.XML.Text := '<?xml version="1.0" encoding="UTF-8" ?><Comprobante xmlns="
http://www.sat.gob.mx/cfd/2"></Comprobante>';
XMLDoc.Active := True;
CFD := GetComprobante(XMLDoc);
with CFD do
begin
SetAttribute('xmlns:xsi','
http://www.w3.org/2001/XMLSchema-instance');
DeclareNamespace('implocal','
http://www.sat.gob.mx/implocal');
SetAttribute('xsi:schemaLocation','
http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd http://www.sat.gob.mx/implocal http://www.sat.gob.mx/sitio_internet/cf ... plocal.xsd');
Version := '2.0';
etc..
y aqui llego para insertar el impuesto local
if Frm_Cap_REcibo.Qry_Principal.FieldByName('IMP_CED').AsFloat >0.00 then
begin
with Complemento.AddChild('implocal:ImpuestosLocales') do begin
SetAttribute('version','1.0');
SetAttribute('TotaldeRetenciones',FloatToStrF(Frm_Cap_REcibo.Qry_Principal.FieldByName('IMP_CED').AsFloat,ffFixed,10,2));
SetAttribute('TotaldeTraslados','0.00');
with AddChild('implocal:RetencionesLocales') do begin
SetAttribute('ImpLocRetenido','ICED');
SetAttribute('TasadeRetencion',FloatToStrF(Frm_Cap_REcibo.Qry_Principal.FieldByName('POR_IMPC').AsFloat,ffFixed,10,2));
SetAttribute('Importe',FloatToStrF(Frm_Cap_REcibo.Qry_Principal.FieldByName('IMP_CED').AsFloat,ffFixed,10,2));
end;
end;
end; {Complemento}
Para no hacerla mas larga te envio el FacturaE.Pas y Sello.pas en la facturae divido la función GENERALXML en diferentes para ver si estoy haciendo una factura, un recibo de honorarios o nota de crédito
en este caso es la funcion
GeneraXMLRECI(FolioFactura : integer;SerieFact :String);
DADO si requiero de tu apoyo hechame la mano e
igual dime en cuanto me va salir hay que ser justo por el trabajo de cada quien, no puedo perder mas tiempo ya que tengo varios clientes q tienen el sistemas y siguen facturando y yo no dispongo en estos momentos de tiempo, ya que estoy trabajando para una sola empresa y no me deja mucho tiempo.
De antemano gracias
SALUDOS