Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice (https://www.clubdelphi.com/foros/showthread.php?t=91252)

didou 28-06-2017 17:21:47

Cita:

Empezado por PepCat (Mensaje 518818)
En la pagina 99 tienes la solución post #1976


Muchas gracias PepCat, funciona perfectamente.

richihu 28-06-2017 17:26:52

SOS "Error en el soporte del canal seguro"
 
Hola a todos,

He revisado todos los posts y he probado a cargar un certificado válido con CAPICOM en el OnBeforePost del HTTPRIO pero me sige dando el error, por favro si alguien se le ocurre algo...Gracias!

procedure TfrmMain.HTTPReqResp1BeforePost(const HTTPReqResp: THTTPReqResp; Data: Pointer);
var
FCertificatesList: TInterfaceList;
i, j: Integer;
Store: ICertificates;
Certificate: ICertificate2;

ExtProperty: IExtendedProperty;

PCertContext : PCCERT_CONTEXT;
CertContext : ICertContext;
stAux: String;

CertsUtils: TUtilities;
begin
inherited;


FCertificatesList := TInterfaceList.Create();

//CAPICOM_LOCAL_MACHINE_STORE
Store1.Open(CAPICOM_CURRENT_USER_STORE, 'My', CAPICOM_STORE_OPEN_READ_ONLY); //CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED or CAPICOM_STORE_OPEN_INCLUDE_ARCHIVED or CAPICOM_STORE_OPEN_EXISTING_ONLY

Store := Store1.Certificates;

try
CertsUtils := TUtilities.Create(Self);

for I := 1 to Store1.Certificates.Count do
begin
Certificate := IInterface(Store.Item[i]) as ICertificate2;

Certificate.GetInfo(CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME);
// dtcCerts.Values[i-1, 1] := Certificate.GetInfo(CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME);
// dtcCerts.Values[i-1, 2] := Certificate.ValidToDate;

stAux := '';
for j := 1 to Certificate.ExtendedProperties.Count do
begin
ExtProperty := IInterface(Certificate.ExtendedProperties.Item[j]) as IExtendedProperty;
if ExtProperty.PropID = CAPICOM_PROPID_FRIENDLY_NAME then
begin
stAux := CertsUtils.BinaryStringToByteArray(ExtProperty.Value[CAPICOM_ENCODE_BINARY]);
break;
end;
end;

stAux := Certificate.SerialNumber;

// Cargo certificado válido
if Certificate.SerialNumber = '2C2DBEE53ACFD8965809C4707F55FE28' then
begin
CertContext:= Certificate as ICertContext;
CertContext.Get_CertContext(Integer(PCertContext));

// Por aquí pasa y no devuelve error pero aún así...
if InternetSetOption(Data, INTERNET_OPTION_CLIENT_CERT_CONTEXT, PCertContext, Sizeof(CERT_CONTEXT))= False then
ShowMessage('Error en InternetSetOption');
end;

FCertificatesList.Add(Certificate);
end;

finally
// dtcCerts.EndUpdate();
CertsUtils.Free();
end;

PepCat 28-06-2017 17:28:55

Cita:

Empezado por newtron (Mensaje 518825)
A eso pero el código Delphi que lo genera, si es posible.

Gracias

Mira la página 21 post #414

newtron 28-06-2017 17:37:58

Cita:

Empezado por PepCat (Mensaje 518828)
Mira la página 21 post #414

^\||/^\||/, muchas gracias.

newtron 28-06-2017 17:39:25

Cita:

Empezado por richihu (Mensaje 518827)
Hola a todos,

He revisado todos los posts y he probado a cargar un certificado válido con CAPICOM en el OnBeforePost del HTTPRIO pero me sige dando el error, por favro si alguien se le ocurre algo...Gracias!

procedure TfrmMain.HTTPReqResp1BeforePost(const HTTPReqResp: THTTPReqResp; Data: Pointer);
var
FCertificatesList: TInterfaceList;
i, j: Integer;
Store: ICertificates;
Certificate: ICertificate2;

ExtProperty: IExtendedProperty;

PCertContext : PCCERT_CONTEXT;
CertContext : ICertContext;
stAux: String;

CertsUtils: TUtilities;
begin
inherited;


FCertificatesList := TInterfaceList.Create();

//CAPICOM_LOCAL_MACHINE_STORE
Store1.Open(CAPICOM_CURRENT_USER_STORE, 'My', CAPICOM_STORE_OPEN_READ_ONLY); //CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED or CAPICOM_STORE_OPEN_INCLUDE_ARCHIVED or CAPICOM_STORE_OPEN_EXISTING_ONLY

Store := Store1.Certificates;

try
CertsUtils := TUtilities.Create(Self);

for I := 1 to Store1.Certificates.Count do
begin
Certificate := IInterface(Store.Item[i]) as ICertificate2;

Certificate.GetInfo(CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME);
// dtcCerts.Values[i-1, 1] := Certificate.GetInfo(CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME);
// dtcCerts.Values[i-1, 2] := Certificate.ValidToDate;

stAux := '';
for j := 1 to Certificate.ExtendedProperties.Count do
begin
ExtProperty := IInterface(Certificate.ExtendedProperties.Item[j]) as IExtendedProperty;
if ExtProperty.PropID = CAPICOM_PROPID_FRIENDLY_NAME then
begin
stAux := CertsUtils.BinaryStringToByteArray(ExtProperty.Value[CAPICOM_ENCODE_BINARY]);
break;
end;
end;

stAux := Certificate.SerialNumber;

// Cargo certificado válido
if Certificate.SerialNumber = '2C2DBEE53ACFD8965809C4707F55FE28' then
begin
CertContext:= Certificate as ICertContext;
CertContext.Get_CertContext(Integer(PCertContext));

// Por aquí pasa y no devuelve error pero aún así...
if InternetSetOption(Data, INTERNET_OPTION_CLIENT_CERT_CONTEXT, PCertContext, Sizeof(CERT_CONTEXT))= False then
ShowMessage('Error en InternetSetOption');
end;

FCertificatesList.Add(Certificate);
end;

finally
// dtcCerts.EndUpdate();
CertsUtils.Free();
end;

Mira en el post que hay justo anterior al tuyo.

richihu 28-06-2017 18:39:16

Revisado pero...me sigue dando el mismo error
 
Hola, lo primero muchísimas gracias por la respuesta. No obstante, me tiene bastante mosqueado, he probado a cambiar números de serie y el error que devuelve es que hace falta un certificado válido, es decir, el context y el número de serie se informan bien (depurando está todo correctamente informado) pero por lo que sea sigue dando el mismo error, los certificados con los que he probado son de la FNMT y están operativos porque los uso en real, son los que uso para firma de Facturae...Estoy usando XE7 con Windows 8.1 ¿alguna idea?

Gracias de antemano.

richihu 28-06-2017 18:40:42

Revisado pero...me sigue dando el mismo error
 
Cita:

Empezado por newtron (Mensaje 518831)
Mira en el post que hay justo anterior al tuyo.

Hola, lo primero muchísimas gracias por la respuesta. No obstante, me tiene bastante mosqueado, he probado a cambiar números de serie y el error que devuelve es que hace falta un certificado válido, es decir, el context y el número de serie se informan bien (depurando está todo correctamente informado) pero por lo que sea sigue dando el mismo error, los certificados con los que he probado son de la FNMT y están operativos porque los uso en real, son los que uso para firma de Facturae...Estoy usando XE7 con Windows 8.1 ¿alguna idea?

Gracias de antemano.

richihu 28-06-2017 20:57:32

Cita:

Empezado por seccion_31 (Mensaje 512861)
Me han contestado de la aeat, diciéndome que "se esta tramitando..."

Pero el encabezado de respuesta era sospechosamente este:

"Re: [Posible SPAM] Error al enviar 13 o mas facturas"

uuummm....

lo han dividido para dividir por usos... igual piensan que es mejor por si alguien no usa recibidas, y si emitidas....

Si usas la llamada:

Código:

result := GetsiiSOAP(true,'',HTTPRIO1).SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);
necesitas indicar en el httipro el WSDLLOCATION

Si usas:

Código:

result := GetsiiSOAP.SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);
Te sirve sin ningún httipro, es mas: ! lo puedes quitar del form !

Pero cuidado, con el nuevo interface 0.5 el puerto que tienen puesto es el real, fijaros en la función GetsiiSOAP

Saludos !

Hola a todos,

He leído y releído los posts, uso un HTTPRIO con el certificado precargado, estoy haciendo pruebas, me da siempre el mismo error, "Error en el soporte del canal seguro" ¿alguna idea? ¿puede ser un problema de los servidores de la AEAT?

Gracias

CMB 01-07-2017 09:48:58

Libros registro de IVA a través de la Sede electrónica de la AEAT
 
El portal interactivo de producción ya está abierto en

https://www.agenciatributaria.gob.es...ini/G417.shtml

Saludos,

newtron 01-07-2017 10:44:45

Cita:

Empezado por CMB (Mensaje 518844)
El portal interactivo de producción ya está abierto en

https://www.agenciatributaria.gob.es...ini/G417.shtml

Saludos,

^\||/^\||/ Gracias.

Llegó el día. A ver si salimos por la puerta grande o por el chiquero.

RubenMon 01-07-2017 10:48:34

Cita:

Empezado por richihu (Mensaje 518834)
Hola a todos,

He leído y releído los posts, uso un HTTPRIO con el certificado precargado, estoy haciendo pruebas, me da siempre el mismo error, "Error en el soporte del canal seguro" ¿alguna idea? ¿puede ser un problema de los servidores de la AEAT?

Gracias

Hola.

Mira en la pagina 56 la entrada 1115. Yo tuve el mismo problema y era culpa de la configuración del IE. En otros equipos el programa funciona correctamente.

Un saludo.
Rubén.

manelb 01-07-2017 11:13:07

La AEAT publica un asistente virtual del SII
 
Alguien ha visto esto???

https://www2.agenciatributaria.gob.e...dos%20al%20SII

A mi no me funciona.
He probado con diferentes navegadores i sistemas operativos i el botón "Iniciar Asistente" no hace nada.

xamminf 01-07-2017 12:11:08

Cita:

Empezado por newtron (Mensaje 518845)
^\||/^\||/ Gracias.

Llegó el día. A ver si salimos por la puerta grande o por el chiquero.

Me conformo con aplausos y vuelta al ruedo.
Para los hispanimalistas, por supuesto, Newtron and me estamos hablando de carreras de motos.

newtron 01-07-2017 12:48:21

Cita:

Empezado por xamminf (Mensaje 518848)
Me conformo con aplausos y vuelta al ruedo.
Para los hispanimalistas, por supuesto, Newtron and me estamos hablando de carreras de motos.

Bien visto compañero. :D:D:D

PASPAS 01-07-2017 14:37:46

Calculadora de plazos sii
 
https://www2.agenciatributaria.gob.e...lazos?OpenPage

Nueva opcion para aplicar al software implementado

Saludos

newtron 03-07-2017 09:29:55

Pues empezamos bien.... a mi no me funciona el entorno de pruebas ni para enviar ni para consultar, ¿alguien ha probado hoy?

Saludos

mrobles 03-07-2017 09:43:19

Cita:

Empezado por newtron (Mensaje 518869)
Pues empezamos bien.... a mi no me funciona el entorno de pruebas ni para enviar ni para consultar, ¿alguien ha probado hoy?

Saludos

Yo llame y me dijeron que tienen errores en produccion, que si sigue asi que en lugar de llamar que mande una solicitud por el formulario :confused:

jodaws 03-07-2017 09:58:22

A mi tampoco me funciona, me da error: Bad Gateway (502) - 'https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP'

pesadillator 03-07-2017 09:59:30

Problemas al instalar en el ordenador del cliente
 
Hola a todos, tengo un grave problema, desarrolle la aplicación en embarcadero XE2 en un ordenador con windows 7 32 bits, y funciona perfectamente, pero al instalarlo en el ordenador del cliente que tiene windows 10 64 bits, cuando voy a conectar me da el siguiente error:

ClassFactory no puede suministrar a la clase solicitada, ClassId:
{78E61E52-0E57-4456-A2F2-517492BCBF8F}

Necesito ayuda urgente, gracias de antemano.

joefrommalaka 03-07-2017 10:07:39

Cita:

Empezado por pesadillator (Mensaje 518873)
Hola a todos, tengo un grave problema, desarrolle la aplicación en embarcadero XE2 en un ordenador con windows 7 32 bits, y funciona perfectamente, pero al instalarlo en el ordenador del cliente que tiene windows 10 64 bits, cuando voy a conectar me da el siguiente error:

ClassFactory no puede suministrar a la clase solicitada, ClassId:
{78E61E52-0E57-4456-A2F2-517492BCBF8F}

Necesito ayuda urgente, gracias de antemano.

Ese error te indica que la clase capicom.dll no la tienes registrada correctamente en el ordenador del cliente. Debes copiar capicom.dll en carpeta de sistema de 32 bits de windows (system32 para 32 bits y syswow64 para 64 bits) y ejecutar el comando "regsvr32 capicom.dll" como administrador desde linea de comandos.


La franja horaria es GMT +2. Ahora son las 12:08:19.

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