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 15-11-2022
Garada Garada is offline
Miembro
 
Registrado: jul 2004
Posts: 66
Poder: 20
Garada Va por buen camino
¿Realmente el SII te echa para atrás los ID de extranjeros?

Creo recordar que bastaba con identificar el país y en el ID marcarlo como "otra identificacion"

Dudo que Hacienda pueda comprobar que un ID extranjero sea correcto como puede ser con los NIF que aparte del digito de control ya sabe el nombre.
Responder Con Cita
  #2  
Antiguo 16-11-2022
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.471
Poder: 21
newtron Va camino a la fama
Pues ahora que lo dices... después de poner el post me quedé dandole vueltas precisamente a ese detalle. Igual los únicos que controlan son los comunitarios y no los extranjeros. Es un tema que tengo que confirmar.

Gracias y un saludo.
__________________
Be water my friend.
Responder Con Cita
  #3  
Antiguo 30-01-2023
iMia iMia is offline
Miembro
 
Registrado: jul 2010
Posts: 141
Poder: 14
iMia Va por buen camino
Validador nif de la agencia tibutaria (AEAT)

Requisitos:
- Importar la wsdl: "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/burt/jdit/ws/VNifV2.wsdl"
- Tener capicom.dll registrada (regsvr32 C:\...\capicom.dll) y
- Importar el componente capicom.DLL creará el fuente CAPICOM_TBL
- Open ssl. (libeay.pas y openSsslUtils.pas).


Un form "TMain",
un TEdit "edNif", un TEdit "edNombre"
un TEdit "edCertificado", un TmaskEdit "mskCertPass"
un boton "btnValidarESNif"

opcional:
un TEdit "edResultado", un TEdit "edDNIValidado", un TEdit "edNombreValidado"


uses

Código:
uses
  // Windows API
  Winapi.Windows, Winapi.Messages, WinApi.WinInet,
  // System
  System.SysUtils, System.Variants, System.Classes, System.IniFiles, System.UITypes, System.Win.ComObj,
  System.Net.URLClient, System.Net.HttpClient, System.Net.HttpClientComponent,

  // Rest - JSON
  REST.Json,
  // Soap
  Soap.SOAPHTTPClient, Soap.SOAPHTTPTrans, Soap.InvokeRegistry, Soap.Rio,
  // aeat NIF VAlidador
  VNifV21; // Módulo creado al importar el wsdl


  CAPICOM_TLB, // Unidad creada al importar la dll de capicom.

  libeay32, OpenSSLUtils;
declarar el tipo:

Código:
type
  PCCERT_CONTEXT = type Pointer;
Código:
function TMain.validarESNif(): VNifV2Sal;
var
  nifValidatorWS: VNifV2;
  VNifV2Entrada: VNifV2Ent;
  VNifV2Salida: VNifV2Sal;
  contri: Contribuyente;
  HTTPRIO: THTTPRIO;
begin
  HTTPRIO := THTTPRIO.create(self);
  HTTPRIO.HTTPWebNode.OnBeforePost := HTTPWebNode1BeforePost;
    nifValidatorWS := GetVNifV2(false, '', HTTPRIO);
    if nifValidatorWS <> nil then
  begin
    contri := Contribuyente.Create;
    contri.Nif := edDni.text;
    contri.Nombre := edNombre.text;
    setLength(VNifV2Entrada, 1);
    VNifV2Entrada[0] := contri;
    try
      VNifV2Salida := nifValidatorWS.VNifV2(VNifV2Entrada);
    except
      on E: EDOMParseError do
        ShowMessage('Sin respuesta: ' + #10 + #13 + E.message);
    end;
  end;
  result := VNifV2Salida;
end;

procedure TMain.HTTPWebNode1BeforePost(const HTTPReqResp: THTTPReqResp; Data: Pointer);
begin
    SetCertificate(trim(edCertificado.text), mskCertPass.text, Data);
end;

procedure TMain.IdSSLIOHandlerGetPassword(var Password: string);
begin
  Password := mskCertPass.text;
end;

procedure TMain.btnValidarESNifClick(Sender: TObject);
var
  VNifV2Salida: VNifV2Sal;
begin
  VNifV2Salida := validarESNif();
  if VNifV2Salida <> nil then
  begin
    edResultado.Text := VNifV2Salida[0].Resultado;
    edDNIValidado.Text := VNifV2Salida[0].Nif;
    edNombreValidado.Text := VNifV2Salida[0].Nombre; // No importa por que por la LODP no devuelven el nombre. Dejan lo que se envía.
  end
  else ShowMessage('No se ha podido validar el NIF: ' + edDni.Text);
end;

Última edición por iMia fecha: 30-01-2023 a las 10:59:59.
Responder Con Cita
  #4  
Antiguo 30-01-2023
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.471
Poder: 21
newtron Va camino a la fama
Gracias iMia.

¿Podrías decirnos qué tipos de documentos valida esto?

Saludos.
__________________
Be water my friend.
Responder Con Cita
  #5  
Antiguo 30-01-2023
iMia iMia is offline
Miembro
 
Registrado: jul 2010
Posts: 141
Poder: 14
iMia Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Gracias iMia.

¿Podrías decirnos qué tipos de documentos valida esto?

Saludos.

Valida que el NIF/nombre sean correctos (en España)

Saludos

Pd.:
en genérico es es uso de un certificado con http, y con capicom, y no tener que pagar componentes de terceros (blackbox, inet, etc...)

Última edición por iMia fecha: 30-01-2023 a las 11:51:20.
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
Validar un XML r_e_g_2007 Varios 0 05-11-2011 08:00:21
validar RFC.. tebre Varios 12 06-01-2009 18:48:55
Validar Elite237 OOP 1 28-07-2007 23:25:30
Validar Nif Colgueit OOP 12 10-05-2006 02:50:28
validar en qry alcides SQL 2 06-01-2004 18:11:19


La franja horaria es GMT +2. Ahora son las 00:00:01.


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