Haciendo pruebas de suministro no tengo "eggs" a suministrarlo.
Este es mi código:
Código:
function suministra_cobros: string;
var
v_SuministroLRCobrosEmitidas: SuministroCobrosEmitidas.SuministroLRCobrosEmitidas;
v_RegistroLRCobrosEmitidas: SuministroCobrosEmitidas.Array_Of_LRCobrosEmitidasType;
v_RegistroCobros: SuministroCobrosEmitidas.CobrosType;
v_RespuestaLRCobrosEmitidas: SuministroCobrosEmitidas.RespuestaLRCobrosEmitidas;
v_registros_cobros: smallint;
v_dummy: smallint;
V_NIF : SuministroCobrosEmitidas.IDEmisorFactura7;
begin
(* -------------- BEGIN CABECERA -------------- *)
v_SuministroLRCobrosEmitidas := SuministroCobrosEmitidas.SuministroLRCobrosEmitidas.Create;
v_SuministroLRCobrosEmitidas.Cabecera := SuministroCobrosEmitidas.CabeceraSiiCobrosPagos.Create;
v_SuministroLRCobrosEmitidas.Cabecera.IDVersionSii := SuministroCobrosEmitidas.VersionSiiType(0);
v_SuministroLRCobrosEmitidas.Cabecera.Titular := SuministroCobrosEmitidas.PersonaFisicaJuridicaESType.Create;
v_SuministroLRCobrosEmitidas.Cabecera.Titular.NombreRazon := Main.g_name;
v_SuministroLRCobrosEmitidas.Cabecera.Titular.NIFRepresentante := Main.g_nif_representative;
v_SuministroLRCobrosEmitidas.Cabecera.Titular.NIF := Main.g_nif;
(* -------------- END CABECERA -------------- *)
v_RegistroLRCobrosEmitidas[0] := SuministroCobrosEmitidas.LRCobrosEmitidasType.Create;
v_RegistroLRCobrosEmitidas[0].IDFactura := SuministroCobrosEmitidas.IDFacturaExpedidaBCType.Create;
v_RegistroLRCobrosEmitidas[0].IDFactura.IdEmisorFactura := SuministroCobrosEmitidas.IDEmisorFactura7.Create;
v_RegistroLRCobrosEmitidas[0].IDFactura.IDEmisorFactura.nif := 'B00000000';
v_RegistroLRCobrosEmitidas[0].IDFactura.NumSerieFacturaEmisor := '3302';
v_RegistroLRCobrosEmitidas[0].IDFactura.FechaExpedicionFacturaEmisor := formatdatetime('dd-mm-yyyy',data.LibrosRegistros.FieldByName('fec_fra').AsDateTime);
SetLength(v_RegistroCobros,1);
v_RegistroCobros[0].Fecha := formatdatetime('dd-mm-yyyy',data.LibrosRegistros.FieldByName('fec_fra').AsDateTime);
v_RegistroCobros[0].Importe := '12.1'
v_RegistroCobros[0].Medio := SuministroCobrosEmitidas.MedioPagoType(00);
v_RegistroCobros[0].Cuenta_O_Medio := 'Al contado';
v_RegistroLRCobrosEmitidas[v_registros_cobros - 1].Cobros := v_RegistroCobros;
v_RespuestaLRCobrosEmitidas := SuministroCobrosEmitidas.GetsiiSOAP(true, '', Main.g_co_wsdl_localitation, Main.g_co_wsdl_port, Main.g_co_wsdl_service, data.HTTPRIO6).SuministroLRCobrosEmitidas(v_SuministroLRCobrosEmitidas);
end;
Este es el XML que crea:
Código:
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<SuministroLRCobrosEmitidas xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd">
<Cabecera xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
<IDVersionSii>1.1</IDVersionSii>
<Titular>
<NombreRazon>Empresa</NombreRazon>
<NIFRepresentante/>
<NIF>B0000000</NIF>
</Titular>
</Cabecera>
<RegistroLRCobros>
<IDFactura>
<IDEmisorFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
<NIF>B00000000</NIF>
</IDEmisorFactura>
<NumSerieFacturaEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">3302</NumSerieFacturaEmisor>
<FechaExpedicionFacturaEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">19-06-2023</FechaExpedicionFacturaEmisor>
</IDFactura>
<Cobros>
<Cobro>
<Fecha xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">23-06-2023</Fecha>
<Importe xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">12.1</Importe>
<Medio xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">01</Medio>
<Cuenta_O_Medio xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">Al contado</Cuenta_O_Medio>
</Cobro>
</Cobros>
</RegistroLRCobros>
</SuministroLRCobrosEmitidas>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
y me devuelve el siguiente código de error:
Código:
Codigo[4102].El XML no cumple el esquema. Falta informar campo obligatorio.: Cobro
Creo que no tengo bien definidas las variables o algo por el estilo o algo por ahí se me escapa, me podríais poner un ejemplo de suministro de cobros / pagos, please.