Cita:
Empezado por Neftali [Germán.Estévez]
|
Gracias. He probado el código y efectivamente me genera el XML del RF que estoy creando, pero me añade un nodo que no debería ir:
<?xml version="1.0"?>
<RegistroAlta>
<RegistroFacturacionType>
<IDVersion>1.0</IDVersion>
<IDFactura>
Y además añade ese
<?xml version="1.0"?> al principio, aunque eso es lo de menos porque puedo quitarlo a mano.
Supongo que también debo quitar a mano el <RegistroFacturacionType> y </RegistroFacturacionType> para dejarlo limpio?
Ahora que tengo la parte del XML correspondiente al RF (uno o varios), habría que crear el XML del envío, con el "bloque" de RF a enviar.
¿Hay algún ejemplo para extraer todos los XML de los RF a enviar al crear el XML del envío?
Yo lo tengo más o menos así:
Código:
veriFactu:=RegFactuSistemaFacturacion.Create;
veriFactu.Cabecera := cabeceratype.Create;
veriFactu.Cabecera.ObligadoEmision := PersonaFisicaJuridicaESType.Create;
veriFactu.Cabecera.ObligadoEmision.NombreRazon := VeriFactuForm.Edit7.Text;
veriFactu.Cabecera.ObligadoEmision.NIF := VeriFactuForm.Edit8.Text;
veriFactu.Cabecera.RemisionVoluntaria := RemisionVoluntaria.Create;
veriFactu.Cabecera.RemisionVoluntaria.Incidencia := IncidenciaType(1); //0=S / 1=N
setLength(listaFacturas,Query.RecordCount);
j:=0;
while not (Query.Eof) do
begin
mov:=Query.FieldByName('TIPO').AsString;
fac:=Query.FieldByName('NUM').AsString;
ser:=Query.FieldByName('SER').AsString;
//Añadiendo Fac. al bloque...
FacturaEnvio := obtenerXMLdelRF();
listaFacturas[ j]:= FacturaEnvio;
Query.next;
inc(j);
end;
veriFactu.RegistroFactura:= listaFacturas;
if length(listaFacturas)>0 then
enviarbloque(verifactu);
La verdad es que no esperaba encontrarme con este inconveniente de tener que tratar con los XML. Yo era super feliz generando y enviando los XML sobre la marcha
