Página 1 de 1

Mudar Pict CNPJ CPF

Enviado: 10 Jan 2007 11:14
por Marsenne Negreiros
Tenho a seguinte necessidade:

wTpInsfe="CPF "
wInsFede=SPACE(14)
@ 10,10 SAY "Inscrição Federal (CNPJ/CPF)" GET wTpInsFe PICT "!!!!"
@ 12,10 SAY "Número" GET wInsFede PICT "@R 999.999.999-99"
READ

Como faço para mudar a máscar de CPF (999.999.999-99) para CNPJ (99.999.999/9999-99) sempre que o usuário mudar o tipo de inscrição?
É possível utilizar alguma função no mesmo READ?

Obrigado.
Marsenne Negreiros

Enviado: 10 Jan 2007 11:37
por momente
Amigo Marsenne Negreiros,

Eu faço assim, identifico se é pessoa física ou jurídica ( J/F ) ae abro uma variável e o usuário entra com os números sem pontos/barras, faço a validação do mesmo usando uma função para isto e retorno usando a função TRANSFORM(variavel, picture), Ex:

Se for jurídica ( J )
mNroDoc:=TRANSFORM(gCNPJ, "99.999.999/9999-99")
Se for física ( F )
mNroDoc:=TRANSFORM(gCPF, "999.999.999-99")

Valeu! :)Pos

Enviado: 10 Jan 2007 11:43
por Augusto
Parceiro... eu normalmente uso 2 campos: um que eu chamo de cpf_cnpj (N-14,0) e um outro tipo_pess (C-1)

Antes eu pergunto o Tipo de Pessoa (Física ou Juridica).
Dependendo da resposta eu peço CPF/CNPJ alterando a máscara de acordo. Ex:

Código: Selecionar todos

wCpf_Cnpj = space(18)
wTpPess   = space(1)

@ 09,10 SAY "Tipo de Pessoa (F)ísica ou (J)urídica:" GET wTpPess PICT "!" valid wTpPess $ "FJ"
read

If  wTpPess="F"
   @ 10,10 SAY "Inscrição Federal (CPF):" GET wCpf_Cnpj PICT "@R 99.999.999/9999-99" valid  empty(wCpf_Cnpj)=.f.
else 
   @ 10,10 SAY "Inscrição Federal (CNPJ):" GET wCpf_Cnpj PICT "@R 999.999.999-99" valid empty(wCpf_Cnpj)=.f.
endif
READ
Espero ter ajudado....

Enviado: 10 Jan 2007 12:38
por gvc
Do NG:

Picture (Assignable)

Contains a character value defining the PICTURE string that controls
formatting and editing for the Get object. See the @...GET entry in
this chapter for more information on PICTURE strings.

oGet:Picture := "@R (999)999-9999"

Boa sorte.

Enviado: 10 Jan 2007 12:50
por Toledo
Marsenne, vai ai um exemplo do que você pode fazer:

Código: Selecionar todos

LOCAL GetList := {}
cls
wTpInsfe="CPF "
wInsFede=SPACE(14)
v_pic="999.999.999-99"
@ 10,10 SAY "Inscricao Federal (CNPJ/CPF)" GET wTpInsFe PICT "!!!!"
@ 12,10 SAY "Numero" GET wInsFede PICT (v_pic) WHEN { |oGet| TROCA_PIC(oGet,wTpInsFe) }
READ 

RETU

FUNC TROCA_PIC(oGet,v_Tipo)
if v_Tipo = "CNPJ" 
  oGet:picture :="@R 99.999.999/9999-99"
else
  oGet:picture :="@R 999.999.999-99"
endif
retu .T.
Abraços,

Mudar Pict CNPJ CPF

Enviado: 10 Jan 2007 16:18
por Marsenne Negreiros
Fantástico. Funciona muito bem.
Obrigado
Marsenne Negreiros

Enviado: 13 Abr 2007 16:31
por filizola
obrigado a todos que me ajudaram, vou testar segunda feira no cliente e retorno a que melhor me atendeu.

um grande abraço.

Mudar Pict CNPJ CPF

Enviado: 21 Fev 2012 00:55
por clodoaldomonteiro
Muito obrigado, também, ao Toledo por esta maravilhosa dica.