Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Colaboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #11  
Antiguo 09-10-2024
Delphier Delphier is offline
Miembro
 
Registrado: feb 2024
Posts: 42
Poder: 0
Delphier Va por buen camino
Smile Generar y Recuperar posteriormente IXML RegistroAlta

Por si alguien sabe la solución , si la tiene... mientras seguiremos investigando...


Generar el XML RegistroAlta con IXML.

Código:
var FacturaIXML : SuministroInformacion.IXMLRegistroFacturacionAltaType;


  FacturaIXML := NewXMLDocument.GetDocBinding('sum:RegistroAlta', SuministroInformacion.TXMLRegistroFacturacionAltaType, '') as SuministroInformacion.IXMLRegistroFacturacionAltaType;

  FacturaIXML.DeclareNamespace('sum','https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd');
  FacturaIXML.DeclareNamespace('sum1','https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd');


  // Si lo defino así , se le queda el Prefijo sum: de RegistroAlta en lugar de sum1: que es lo que interesa para Verifactu
  FacturaIXML.IDVersion := '1.0';


  // Para que el Prefijo sea sum1: se puede hacer así 
  FacturaIXML.AddChild('sum1:IDVersion').NodeValue := '1.0';


  FacturaExpedida := NewXMLDocument.GetDocBinding('sum1:IDFactura', SuministroInformacion.TXMLIDFacturaExpedidaType, '') as SuministroInformacion.IXMLIDFacturaExpedidaType;

  FacturaExpedida.IDEmisorFactura        := DTFactura.FieldByName('EmisorNIF').AsString;
  FacturaExpedida.NumSerieFactura        := ReferenciaDocumento;
  FacturaExpedida.FechaExpedicionFactura := StringReplace(DTFactura.FieldByName('FECH').AsString,FormatSettings.DateSeparator,'-',[rfReplaceAll, rfIgnoreCase]); // (dd-mm-yyyy)
  FacturaIXML.ChildNodes.Add(FacturaExpedida);


  Resto del fichero....

El problema que me he encontrado es que como el XML Tiene dos Prefijos , sum: en RegistroAlta y Sum1: En IDVersion y el resto , luego no puedo Recuperar el Objeto SuministroInformacion.IXMLRegistroFacturacionAltaType Correctamente.


Código:
var FacturaCargadaIXML : SuministroInformacion.IXMLRegistroFacturacionAltaType;
var XMLVerifactu : String;


       XMLVerifactu := 'El XML creado con anterioridad...'   

       FacturaCargadaIXML :=
       LoadXMLData(XMLVerifactu).GetDocBinding('sum:RegistroAlta', TXMLRegistroFacturacionAltaType, '') as SuministroInformacion.IXMLRegistroFacturacionAltaType;
FacturaCargadaIXML.XML es correcto, varga el XML , la carga , pero el FacturaCargadaIXML.IDVersion , etc... esta vacío , parece que no coloca los nodos en su sitio.


Antes de no poder usar LoadXMLData igual alguien tiene una solución.

Gracias y Saludos
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Hijo de Informáticos gluglu Humor 3 13-03-2007 11:05:35
Adictos informaticos ... Trigger Humor 2 11-10-2004 12:18:32
Nosotros los Informáticos Trigger Humor 1 10-10-2004 14:58:09
Patrón de los Informáticos. obiwuan Varios 20 10-09-2003 14:44:54
Chistes Informaticos jhonny Humor 2 11-08-2003 21:59:09


La franja horaria es GMT +2. Ahora son las 21:03:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi