Asunto: Diferenciar si un DNI/CIF es una persona física o jurídica
¿Cómo puedo diferenciar si un DNI o un CIF es de una persona física o jurídica (empresa)? me gustaría poder realizar una función en Delphi para este cometido.
Teniendo en cuenta que el CIF (Código de identificación fiscal) consta de 9 caracteres y el primero es una letra que sigue los siguientes criterios:
A -> Sociedades anónimas.
B -> Sociedades de responsabilidad limitada.
C -> Sociedades colectivas.
D -> Sociedades comanditarias.
E -> Comunidades de bienes.
F -> Sociedades cooperativas.
G -> Asociaciones y otros tipos no definidos.
H -> Comunidades de propietarios en régimen de propiedad horizontal.
N -> Entidades no residentes.
P -> Corporaciones locales.
Q -> Organismos autónomos, estatales o no, y asimilados, y congregaciones e instituciones religiosas.
S -> Órganos de la Administración del Estado y comunidades autónomas.
y teniendo en cuenta que los DNI no llevan letra al principio (salvo los de extranjeros, en los que no coincide la letra con las anteriores del CIF), podremos utilizar una función como esta:
Código:
function TformMenuPrincipal.obtenerTipoTercero (dni : string) : string;
var
pCaracter : string;
begin
result := '';
if dni <> '' then
begin
pCaracter := AnsiUpperCase (dni [1]);
if (pCaracter = 'A') or (pCaracter = 'B') or (pCaracter = 'C') or
(pCaracter = 'D') or (pCaracter = 'E') or (pCaracter = 'F') or
(pCaracter = 'G') or (pCaracter = 'H') or (pCaracter = 'N') or
(pCaracter = 'P') or (pCaracter = 'Q') or (pCaracter = 'S') then
result := 'J'
else
result := 'F';
end
else
result := 'F';
end;
Devolverá "F" si es persona física y "J" si es jurídica.
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A