Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-03-2017
PASPAS PASPAS is offline
Miembro
 
Registrado: feb 2017
Posts: 115
Poder: 8
PASPAS Va por buen camino
Consultas al SII

Hola todas, dar la enhorabuena a este foro.
Estoy implementando el SII creando el fichero directamente en XML. Hasta ahora veo que será la mejor opción. Por ahora no estoy teniendo problemas. Mi pregunta va sobre las consultas de los envios realizados. Alguién se está peleando con este apartado??
He enviado a la AEAT si van a proporcionar una parte para la consulta desde web. Me han respondido que si pero sin ninguna aclaración.
Alguién sabe si los tiros van por lo que existe actualmente: "Cotejo de documentos" >> https://www2.agenciatributaria.gob.e...is.VisualizaSc
Por tanto se introduce el CSV en el formulario y se obtiene el resultado del envío
o por otro lado
existirá un portal de acceso para ver listado de todos los envios realizados( tipo Maestro - Detalle).
Lo necesito por saber como de cara a los clientes tengo que indicar el procedimiento de consulta. Ya que quiero ver la posibilidad de mostrar la página web de la AEAT para mayor seguridad en el envío.
Responder Con Cita
  #2  
Antiguo 28-03-2017
CMB CMB is offline
Miembro
 
Registrado: ene 2017
Posts: 349
Poder: 8
CMB Va por buen camino
Cita:
Empezado por PASPAS Ver Mensaje
Hola todas, dar la enhorabuena a este foro.
Estoy implementando el SII creando el fichero directamente en XML. Hasta ahora veo que será la mejor opción. Por ahora no estoy teniendo problemas. Mi pregunta va sobre las consultas de los envios realizados. Alguién se está peleando con este apartado??
He enviado a la AEAT si van a proporcionar una parte para la consulta desde web. Me han respondido que si pero sin ninguna aclaración.
Alguién sabe si los tiros van por lo que existe actualmente: "Cotejo de documentos" >> https://www2.agenciatributaria.gob.e...is.VisualizaSc
Por tanto se introduce el CSV en el formulario y se obtiene el resultado del envío
o por otro lado
existirá un portal de acceso para ver listado de todos los envios realizados( tipo Maestro - Detalle).
Lo necesito por saber como de cara a los clientes tengo que indicar el procedimiento de consulta. Ya que quiero ver la posibilidad de mostrar la página web de la AEAT para mayor seguridad en el envío.
Para consultas manuales ve a https://www7.aeat.es/PRE-Exteriores/...formacion.html

Después elige la opción "Cliente de web service para el entorno de pruebas"

Saludos,
Responder Con Cita
  #3  
Antiguo 29-03-2017
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.030
Poder: 22
keys Va por buen camino
Buenos días. Por lo que se la hacienda va a poner una pagina de consulta donde poder comprobar todo lo presentado y su estado. Como dice el CMB ya lo tienes en el entorno de pruebas. Otra opción es desarrollarlo cada uno ya que la hacienda proporciona un webservice con el que se pueden hacer consultas y retorna la información presentada.

Un Saludo.
Responder Con Cita
  #4  
Antiguo 29-03-2017
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.030
Poder: 22
keys Va por buen camino
Hola a Todos. Ahora voy yo con una duda o problema por si le ha pasado a alguien.

Estomos desarrollando en delphi y a al hora de presentar mostramos todos los certificados disponibles en el equipo. En el equipo teníamos tres certificados, los cuales nos salian a la hora de obtenerlos. Uno de ellos estaba caducado y lo eliminamos del sistema, es decir ahora solo hay dos. Pero a la hora de obtener en delphi cuantos certificados hay me siguen saliendo tres, los dos que me quedan y uno en blanco.

A alguien le ha pasado esto o sabe por que es. La lista de certificados la estamos obteniendo de la siguiente forma.

Código Delphi [-]
   

function ObtenerCertificados(aList:TStringList):integer;
var
  hStore: HCERTSTORE;
  PrevContext, CurContext: PCERT_CONTEXT;
  cbSize: DWORD;
  sNombre: String;
begin
  aList.Clear;
  Result := 0;
  hStore := CertOpenSystemStore(0, PChar('MY'));
  if hStore <> nil then begin
     PrevContext := nil;
     CurContext := CertEnumCertificatesInStore(hStore, PrevContext);
     while CurContext <> nil do begin
       sNombre := '';
       cbSize := CertGetNameString(CurContext, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, nil, nil, 0);
       if cbSize > 0 then
       begin
          SetLength(sNombre, cbSize-1);
          CertGetNameString(CurContext, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, nil, PChar(sNombre), cbSize);
          aList.Add(sNombre);
       end;
       PrevContext := CurContext;
       CurContext  := CertEnumCertificatesInStore(hStore, PrevContext);
     end;
  end;
  result:=aList.count;
end;

Un Saludo.
Responder Con Cita
  #5  
Antiguo 29-03-2017
jacju jacju is offline
Registrado
NULL
 
Registrado: jun 2013
Posts: 8
Poder: 0
jacju Va por buen camino
Buenas a tod@s, lo primero felicitaros y agradeceros la creación de este tema, después de leerme todo y practicar algunos ejemplos
el resultado es que puedo enviar los ficheros que genero y los graba en la web pero al hacer la llamada:

result := GetsiiSOAP.SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);

me devuelve este error:

El sistema no puede encontrar el archivo especificado. - URL: https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP

Lo curioso es que en facturas recibidas también me da error, pero si que las graba en la web

Estoy desarrollando en Delphi este sistema y necesito un poco de ayuda, gracias

Un Saludo.
Responder Con Cita
  #6  
Antiguo 29-03-2017
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.030
Poder: 22
keys Va por buen camino
Cita:
Empezado por jacju Ver Mensaje
Buenas a tod@s, lo primero felicitaros y agradeceros la creación de este tema, después de leerme todo y practicar algunos ejemplos
el resultado es que puedo enviar los ficheros que genero y los graba en la web pero al hacer la llamada:

result := GetsiiSOAP.SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);

me devuelve este error:

El sistema no puede encontrar el archivo especificado. - URL: https://www7.aeat.es/wlpl/SSII-FACT/...iiFactFEV1SOAP

Lo curioso es que en facturas recibidas también me da error, pero si que las graba en la web

Estoy desarrollando en Delphi este sistema y necesito un poco de ayuda, gracias

Un Saludo.
Mira que tengas bien definido esto.

defWSDL = 'https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroFactEmitidas.wsdl';
defURL = 'https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP';
defSvc = 'siiService';
defPrt = 'SuministroFactEmitidasPruebas';
Responder Con Cita
  #7  
Antiguo 29-03-2017
jacju jacju is offline
Registrado
NULL
 
Registrado: jun 2013
Posts: 8
Poder: 0
jacju Va por buen camino
Cita:
Empezado por keys Ver Mensaje
Mira que tengas bien definido esto.

defWSDL = 'https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroFactEmitidas.wsdl';
defURL = 'https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP';
defSvc = 'siiService';
defPrt = 'SuministroFactEmitidasPruebas';

Gracias por contestar, pero tengo definido todo esto asi como lo pones tu, te tengo que decir que si lo hago con Delphi 10.2 el error es distinto, me dice
que no esperaba una cabecera txt/HTML y el código es el mismo en un sistema que en otro.

Lo mas curioso es que se quedan grabadas las facturas en la web del aeat y si subo el fichero XML manualmente desde la web que genera el HTTprio me lo acepta.

Creo que al final lo conseguiremos.
Responder Con Cita
  #8  
Antiguo 05-04-2017
joefrommalaka joefrommalaka is offline
Miembro
NULL
 
Registrado: mar 2017
Posts: 10
Poder: 0
joefrommalaka Va por buen camino
Cita:
Empezado por jacju Ver Mensaje
Buenas a tod@s, lo primero felicitaros y agradeceros la creación de este tema, después de leerme todo y practicar algunos ejemplos
el resultado es que puedo enviar los ficheros que genero y los graba en la web pero al hacer la llamada:

result := GetsiiSOAP.SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);

me devuelve este error:

El sistema no puede encontrar el archivo especificado. - URL: https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP

Lo curioso es que en facturas recibidas también me da error, pero si que las graba en la web

Estoy desarrollando en Delphi este sistema y necesito un poco de ayuda, gracias

Un Saludo.

Hola a todos. Antes de nada agradeceros a todos por la ayuda ofrecida que me ha sido de mucha utilidad.

jacju no se si solucionaste ya este problema, "El sistema no puede encontrar el archivo especificado. - URL: https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP", a mi también me estaba dando el mismo error y tras dar muchas vueltas al final me di cuenta que el mismo ejecutable con el mismo certificado en unas maquinas me funcionaba y en otras no. El problema es la versión de Internet Explorer, en mi caso por ejemplo en Internet Explorer 8 el certificado parece que no funciona correctamente, para solucionarlo debes tener instalado Internet Explorer 11.

Un saludo
Responder Con Cita
  #9  
Antiguo 05-04-2017
jacju jacju is offline
Registrado
NULL
 
Registrado: jun 2013
Posts: 8
Poder: 0
jacju Va por buen camino
Cita:
Empezado por joefrommalaka Ver Mensaje
Hola a todos. Antes de nada agradeceros a todos por la ayuda ofrecida que me ha sido de mucha utilidad.

jacju no se si solucionaste ya este problema, "El sistema no puede encontrar el archivo especificado. - URL: https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP", a mi también me estaba dando el mismo error y tras dar muchas vueltas al final me di cuenta que el mismo ejecutable con el mismo certificado en unas maquinas me funcionaba y en otras no. El problema es la versión de Internet Explorer, en mi caso por ejemplo en Internet Explorer 8 el certificado parece que no funciona correctamente, para solucionarlo debes tener instalado Internet Explorer 11.

Un saludo

Gracias por contestar, lo descubri ayer y estoy enviando y recibiendo todo sin problemas
Responder Con Cita
  #10  
Antiguo 05-07-2017
APO APO is offline
Miembro
 
Registrado: feb 2008
Posts: 121
Poder: 17
APO Va por buen camino
Cita:
Empezado por joefrommalaka Ver Mensaje
Hola a todos. Antes de nada agradeceros a todos por la ayuda ofrecida que me ha sido de mucha utilidad.

jacju no se si solucionaste ya este problema, "El sistema no puede encontrar el archivo especificado. - URL: https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP", a mi también me estaba dando el mismo error y tras dar muchas vueltas al final me di cuenta que el mismo ejecutable con el mismo certificado en unas maquinas me funcionaba y en otras no. El problema es la versión de Internet Explorer, en mi caso por ejemplo en Internet Explorer 8 el certificado parece que no funciona correctamente, para solucionarlo debes tener instalado Internet Explorer 11.

Un saludo
Muchas gracias por el aporte porque me he encontrado con la misma situación.

Entonces, ¿entiendo que no se pueden realizar envíos al SII con un Windows XP, ya que no se pueden instalar versiones superiores a Explorer 8?
Responder Con Cita
  #11  
Antiguo 29-03-2017
PepCat PepCat is offline
Miembro
 
Registrado: mar 2017
Posts: 96
Poder: 8
PepCat Va por buen camino
Cita:
Empezado por keys Ver Mensaje
Hola a Todos. Ahora voy yo con una duda o problema por si le ha pasado a alguien.

Estomos desarrollando en delphi y a al hora de presentar mostramos todos los certificados disponibles en el equipo. En el equipo teníamos tres certificados, los cuales nos salian a la hora de obtenerlos. Uno de ellos estaba caducado y lo eliminamos del sistema, es decir ahora solo hay dos. Pero a la hora de obtener en delphi cuantos certificados hay me siguen saliendo tres, los dos que me quedan y uno en blanco.

A alguien le ha pasado esto o sabe por que es. La lista de certificados la estamos obteniendo de la siguiente forma.

Código Delphi [-]
   

function ObtenerCertificados(aList:TStringList):integer;
var
  hStore: HCERTSTORE;
  PrevContext, CurContext: PCERT_CONTEXT;
  cbSize: DWORD;
  sNombre: String;
begin
  aList.Clear;
  Result := 0;
  hStore := CertOpenSystemStore(0, PChar('MY'));
  if hStore <> nil then begin
     PrevContext := nil;
     CurContext := CertEnumCertificatesInStore(hStore, PrevContext);
     while CurContext <> nil do begin
       sNombre := '';
       cbSize := CertGetNameString(CurContext, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, nil, nil, 0);
       if cbSize > 0 then
       begin
          SetLength(sNombre, cbSize-1);
          CertGetNameString(CurContext, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, nil, PChar(sNombre), cbSize);
          aList.Add(sNombre);
       end;
       PrevContext := CurContext;
       CurContext  := CertEnumCertificatesInStore(hStore, PrevContext);
     end;
  end;
  result:=aList.count;
end;

Un Saludo.
Hola Keys,

Después de ver todos los problemas que se han comentado en este foro con el envió de más de 13 facturas con la librería de certificados que incluye Delphi he optado por utilizar la librería CAPICOM y abrir directamente el fichero con el certificado.

Código Delphi [-]

procedure SetCertificate(const FileName, Password: string; var Data: Pointer);
var
  Cert : ICertificate2;
  CertContext : ICertContext;
  PCertContext : PCCERT_CONTEXT;
begin
  try
    Cert := CoCertificate.Create;
  except
    on E: EOleSysError  do
      raise Exception.Create('CAPICOM.DLL is not registered')
  end;

  Cert.Load(FileName, Password, CAPICOM_KEY_STORAGE_EXPORTABLE, CAPICOM_LOCAL_MACHINE_KEY);
  CertContext := Cert as ICertContext;
  CertContext.Get_CertContext(Integer(PCertContext));
  if InternetSetOption(Data, INTERNET_OPTION_CLIENT_CERT_CONTEXT, PCertContext, Sizeof(CERT_CONTEXT)) = False then
    raise Exception.Create ( 'Error setting "' + FileName + '" certificate in web service' )
end;

procedure TfEmitidas.emitidasHTTPWebNode1BeforePost(const HTTPReqResp: THTTPReqResp; Data: Pointer);
begin
  SetCertificate('C:\Cetificados\FicheroConCertificado.p12', '1234', Data);
end;
Responder Con Cita
  #12  
Antiguo 29-03-2017
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.030
Poder: 22
keys Va por buen camino
Lo primero gracias. El problema de las 13 facturas ya esta solucionado hace tiempo, se solucionó con el uso correcto de las CAPICOM, el problema no lo tengo con los envios, los hago correctamente. El problema es que si en el ordenador hay varios certificados hay que indicar con cual de ellos hacer el envío y como ya he dicho la función que los devuelve por lo visto tambien incluye los eliminados.
Responder Con Cita
  #13  
Antiguo 29-03-2017
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 18
Nasca Va por buen camino
Cita:
Empezado por keys Ver Mensaje
Lo primero gracias. El problema de las 13 facturas ya esta solucionado hace tiempo, se solucionó con el uso correcto de las CAPICOM, el problema no lo tengo con los envios, los hago correctamente. El problema es que si en el ordenador hay varios certificados hay que indicar con cual de ellos hacer el envío y como ya he dicho la función que los devuelve por lo visto tambien incluye los eliminados.
Entiendo que los certificados que usas con ese sistema son los del almacén del Sistema Operativo, los que usa Internet Explorer y Chrome.
Con lo cual la eliminación de, por ejemplo, Firefox no elimina el certificado.
Mira que no sea algo así.
Responder Con Cita
  #14  
Antiguo 29-03-2017
PepCat PepCat is offline
Miembro
 
Registrado: mar 2017
Posts: 96
Poder: 8
PepCat Va por buen camino
Cita:
Empezado por keys Ver Mensaje
Lo primero gracias. El problema de las 13 facturas ya esta solucionado hace tiempo, se solucionó con el uso correcto de las CAPICOM, el problema no lo tengo con los envios, los hago correctamente. El problema es que si en el ordenador hay varios certificados hay que indicar con cual de ellos hacer el envío y como ya he dicho la función que los devuelve por lo visto tambien incluye los eliminados.
Por eso he optado por cargar directamente al fichero y así no hace falta preguntar al usuario que certificado debe escoger.

De todas maneras para ver que certificados del “store” están vigentes, con CAPICOM puedes filtrarlos:


Código Delphi [-]
 for I := 1 to Certs.Count -1 do
  begin
    Cert := IInterface(Certs.Item[i]) as ICertificate;
    if Now <= Cert.ValidToDate  then
    begin
       aList.Add(Cert.SubjectName);
    end;
Responder Con Cita
  #15  
Antiguo 12-04-2017
elguille elguille is offline
Miembro
 
Registrado: ene 2005
Posts: 114
Poder: 20
elguille Va por buen camino
Cita:
Empezado por keys Ver Mensaje
Hola a Todos. Ahora voy yo con una duda o problema por si le ha pasado a alguien.

Estomos desarrollando en delphi y a al hora de presentar mostramos todos los certificados disponibles en el equipo. En el equipo teníamos tres certificados, los cuales nos salian a la hora de obtenerlos. Uno de ellos estaba caducado y lo eliminamos del sistema, es decir ahora solo hay dos. Pero a la hora de obtener en delphi cuantos certificados hay me siguen saliendo tres, los dos que me quedan y uno en blanco.

A alguien le ha pasado esto o sabe por que es. La lista de certificados la estamos obteniendo de la siguiente forma.

Código Delphi [-]
   

function ObtenerCertificados(aList:TStringList):integer;
var
  hStore: HCERTSTORE;
  PrevContext, CurContext: PCERT_CONTEXT;
  cbSize: DWORD;
  sNombre: String;
begin
  aList.Clear;
  Result := 0;
  hStore := CertOpenSystemStore(0, PChar('MY'));
  if hStore <> nil then begin
     PrevContext := nil;
     CurContext := CertEnumCertificatesInStore(hStore, PrevContext);
     while CurContext <> nil do begin
       sNombre := '';
       cbSize := CertGetNameString(CurContext, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, nil, nil, 0);
       if cbSize > 0 then
       begin
          SetLength(sNombre, cbSize-1);
          CertGetNameString(CurContext, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, nil, PChar(sNombre), cbSize);
          aList.Add(sNombre);
       end;
       PrevContext := CurContext;
       CurContext  := CertEnumCertificatesInStore(hStore, PrevContext);
     end;
  end;
  result:=aList.count;
end;

Un Saludo.
Para eliminar del sistema certificados caducados
-Pincha en Inicio/Ejecutar.
-Escribe: mmc y pulse "Aceptar".
-En la consola pulse en el menú Archivo o Consola (depende del sistema operativo). Selecciona "agregar o quitar complemento".
-En la ventana que aparece pulsa el botón "Agregar". Pinche en "certificados".
Agregar.
-Selecciona "Mi cuenta de usuario" en caso de no estar marcada, ya que suele estar marcada por defecto.
-Finalizar.
-Pulsa "cerrar" en la ventana que tiene delante y "aceptar" en la que aparecerá a continuación. Volverá a la ventana de Raíz de Consola.
-Podrás comprobar que ahora en la parte izquierda de la ventana tienes una nueva opción que se llama "Certificados" y que se puede desplegar.
-Despliega la carpeta "Certificados" y entre en la que dice "Personal". En la parte derecha aparecerán tantos certificados como tenga instalados en el navegador, incluidos los que no vea o tenga caducados.
-Pulsa encima del que desee eliminar con el botón derecho del ratón y selecciona "Eliminar".
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TICKET BAI (TicketBAI); Nuevo sistema de la Agencia Tributaria del Pais Vasco keys Internet 4170 Hace 1 Semana 17:29:05
AEAT envio de datos vía Webservice problemas con WSDL CelsoO Internet 11 09-10-2019 20:03:41
webService Soap de la Administración Digital Española notific@ apicito Internet 3 31-01-2017 11:25:28
Error en Webservice funcion envio de sms webmasterplc Delphi para la web 5 25-07-2013 20:10:29
Problemas con envío de XML a un WebService davidvamo Internet 1 13-02-2007 15:49:20


La franja horaria es GMT +2. Ahora son las 08:06:49.


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
Copyright 1996-2007 Club Delphi