A nosotros tambien nos estaba dando el mensaje "invalid property element: 1.1".
Y queriamos tener las dos versiones en el mismo ejecutable.
Tuvimos la precaucion de las units generadas por el importador wdsl, meterlas en fuentes distintas.
Despues de mirar y remirar, vimos que utilizan el mismo GUID .
siiSOAP = interface(IInvokable)
['{4AABBA37-5B85-4921-9DF2-46F4EFF93A02}']
function SuministroLRFacturasRecibidas(const SuministroLRFacturasRecibidas: SuministroLRFacturasRecibidas): RespuestaLRFacturasRecibidas; stdcall;
Lo que hemos hecho ha sido generar nuevos GUIDS para la version 1.1.
Y de momento en pruebas nos están pasando sin problemas las facturas tanto la version 1.0 como la version 1.1.
Todo desde el mismo ejecutable
Cita:
Empezado por APO
Muchas gracias por vuestra ayuda y aportaciones. Finalmente ya he dado con la solución gracias a otro forero que le pasaba lo mismo.
El tema está, en que si en el proyecto Delphi se hace referencia a las dos versiones la 1.0 y la 1.1, si se envía al SII con la versión 1.1 da el error Invalid property element. En cambio, si en el proyecto se quita todo lo que haga referencia a la versión 1.0 entonces sí que funciona correctamente (un poco alucinante).
Entonces, una solución rápida para salir del paso es generar dos ejecutables distintos. Para distinguirlos se pueden generar utilizando directivas de compilación, algo del estilo (en el dproj):
Código Delphi [-]{$ifdef SII_CURRENT_VERSION}
SuministroFactEmitidas11 in 'SII\1.1\SuministroFactEmitidas11.pas',
SuministroFactRecibidas11 in 'SII\1.1\SuministroFactRecibidas11.pas',
SuministroOpTrascendTribu11 in 'SII\1.1\SuministroOpTrascendTribu11.pas',
otros ficheros *.pas que trabajan con la 1.1
{$else}
SuministroFactEmitidas10 in 'SII\1.0\SuministroFactEmitidas10.pas',
SuministroFactRecibidas10 in 'SII\1.0\SuministroFactRecibidas10.pas',
SuministroOpTrascendTribu10 in 'SII\1.0\SuministroOpTrascendTribu10.pas',
otros ficheros *.pas que trabajan con la 1.0
{$endif SII_CURRENT_VERSION}
|