Página 1 de 1
Contar quantidade caracteres campo
Enviado: 21 Set 2008 10:00
por gilsonpaulo
Bom dia.
É o sequinte tenho um banco de clientes onde o cpf e o cnpj são cadastrados no mesmo campo, ja usei o strtran com sucesso para retirar os ".", "-" e "/", agora preciso filtrar isso para classificar como pessoa juridica e fisica para aplicar a mascara.
CAMPO CNPJCPF = 05796221000131
CAMPO PESSOA = J // PESSOA JURIDICA
CAMPO CNPJCPF = 03295459706
CAMPO PESSOA = F // PESSOA FISICA
No filtro quando o campo CNPJCPF estiver proenchido com 14 caracteres sera marcado o compo pessoa como J, sendo 11 caracteres sera marcado com F.
Desde ja agradeço.
Gilson Paulo Schuck
Enviado: 21 Set 2008 10:17
por Maligno
Simples: conte os caracteres de pois de eliminar os espaços. Se obter 14, pessoa jurídica. Caso contrário, só pode ser pessoa física. Agora, se está convertendo isso de uma base antiga, seria prudente também validar o número obtido, a fim de não manter inscrições inválidas.
Re: Contar quantidade caracteres campo
Enviado: 21 Set 2008 10:30
por gilsonpaulo
A base é antiga, como sou meio novo na ramo do clipper, presciso saer qual funcao faz isso, só para corrigir esta base de dados.
Enviado: 21 Set 2008 10:33
por Maligno
Enviado: 21 Set 2008 10:36
por Maligno
Em tempo: se quiser validar os campos, claro, o Clipper não tem isso nativo. Use alguma função, própria ou de terceiros. Divulguei minhas funções de validação na seção "Código Fonte". Não só para CNPJ e CPF, mas também pra vários outros documentos.
Re: Contar quantidade caracteres campo
Enviado: 21 Set 2008 10:41
por gilsonpaulo
Obrigado Maligno, funcionou.
Sei que são coisas bestas, mas como estou a pouco tempo no mundo clipper, desconheco algumas funções.
Com relação a valiadação de CNPJ e CPF, ja as uso, peguei aqui do site mesmo. Funcionam corretamente
Código: Selecionar todos
IF ipes1 = "F"
@ 07,13 GET icgc1 PICTURE "@KR 999.999.999-99" VALID !EMPTY(VCPF(icgc1))
ELSE
@ 07,13 GET icgc1 PICTURE "@KR 99.999.999/9999-99" VALID !EMPTY(VCGC(icgc1))
ENDIF
Ficou assim o procedimento:
Código: Selecionar todos
use cadcli alias cli
while !eof()
cli->cgccli:=strtran(strtran(strtran(cli->cgccli, "."),"-"),"/")
cli->inscli:=strtran(strtran(strtran(cli->inscli, "."),"-"),"/")
if len(alltrim(cli->cgccli)) = 14
replace cli->pessoa with "J"
else
replace cli->pessoa with "F"
end
dbskip()
end
dbcommit()
Enviado: 21 Set 2008 10:45
por Maligno
Tudo bem. No início é tudo meio confuso mesmo. Mas procure no seu tempo vago ler o NG e ir tomando ciência do que o Clipper coloca à sua disposição, mesmo sem o compromisso de conhecer os detalhes. Pior que não conhecer os detalhes de um recurso é não saber que ele existe.

Re: Contar quantidade caracteres campo
Enviado: 21 Set 2008 10:52
por gilsonpaulo
Na verdade não programava em clipper, eu trabalhava com manutenção de redes e computadores e o rapaz com programação, ai ele se encheu e foi criar avestruz, e deixou todo e legado dele para min, pois eu era a pessoa de confiança dele, ele me ensinou algumas coisas, mas conforme as coisas vão apertando e as modificações que os clientes pedem vão ficando um pouco complexas eu me enrolo um pouco.
Mas valeu a ajuda.
Enviado: 21 Set 2008 11:02
por Maligno
Então, se quer levar adiante sua nova profissão, leve bem a sério o meu conselho. Até porquê, Clipper é muito fácil. A dificuldade será multiplicada várias vezes quando migrar pra Windows.
Re: Contar quantidade caracteres campo
Enviado: 21 Set 2008 11:13
por gilsonpaulo
Tenho varias libs que ele me passou com as fontes assim que eu der uma garimpada nelas e deixalar prontas para harbour, vou disponibilizar elas para vcs.