Ver Mensaje Individual
  #22  
Antiguo 16-05-2019
APO APO is offline
Miembro
 
Registrado: feb 2008
Posts: 121
Reputación: 17
APO Va por buen camino
Hola mtxtania,

Pues vaya con los de la AEAT! Bueno, de momento, puedes gestionarlo como lo estoy haciendo yo, que es trabajar sobre el XML de respuesta. Para ello, lo que yo he hecho es crear una variable de tipo TXMLDocument e ir recorriendo los nodos. Te pongo una muestra de ejemplo:

Código Delphi [-]
procedure TfrmMantenimientoTabla.ProcesarXML;
var
   XMLDocument: TXMLDocument;
   XMLDocumentBody, XMLDocumentRechazado, XMLDocumentAceptado: IXMLNode;
   i: integer;
begin
   XMLDocument:=TXMLDocument.Create(Self);
   XMLDocument.Active:=False;
   try
      XMLDocument.LoadFromXML(mXML.Text); //Memo donde tengo cargado el XML
      XMLDocument.Active:=True;
      for i:=0 to XMLDocument.DocumentElement.ChildNodes.Count-1 do
      begin
         if UpperCase(trim(XMLDocument.DocumentElement.ChildNodes[i].LocalName))='BODY' then
         begin
            XMLDocumentBody:=XMLDocument.DocumentElement.ChildNodes[i];
            for j:=0 to XMLDocumentBody.ChildNodes.Count-1 do
            begin
               if UpperCase(trim(XMLDocumentBody.ChildNodes[j].LocalName))='IE204' then
               begin
                  //MENSAJE RECHAZADO (Si el mensaje de respuesta tiene el nodo Ie204 es que ha sido rechazado)
                  XMLDocumentRechazado:=XMLDocumentBody.ChildNodes[j];
                  //...

               end
               else
               begin
                  //MENSAJE ACEPTADO
                  if UpperCase(trim(XMLDocumentBody.ChildNodes[j].LocalName))='IE201' then
                  begin
                     XMLDocumentAceptado:=XMLDocumentBody.ChildNodes[j];
                     //…
                  end;
               end;
            end;
         end;
      end;
   except

   end;
end;

Y respecto a la hora correcto, es como lo estoy haciendo yo también:

Código Delphi [-]
XML.Cabecera.HoraPreparacion.XSToNative(FormatDateTime('hh:mm:ss',now));

Saludos!
Responder Con Cita