GARANTIR DESCONTO

Fórum carregando o conteúdo de um field na tabela em um Edit #549686

28/03/2016

0

Boa tarde.

tenho uma tabela de cliente e preciso carregar o CPF ou CNPJ de um determinado cliente em um Edit.

tenho uma procedure que chama o Form de pesquisa

procedure Chama_pesq_CadCliente ( campo : TEdit );
var PesqCadClientes : TFrmPesqCadClientes;
begin
PesqCadClientes := TFrmPesqCadClientes.Create(Application);
PesqCadClientes.Edit_retorno := campo;
PesqCadClientes.campo_retorno := 'CL_CNPJ_CPF';
PesqCadClientes.ShowModal;
FreeAndNil ( PesqCadClientes );

end;

essa procedure está implementada em uma Unit Funções, é nessa Unit que fica todas as minhas Funções e Procedures Globais.


no Form em questão onde preciso carregar o CPF ou CNPJ do cliente no edit eu faço a chamada da procedure Chama_pesq_CadCliente
no evento OnClick do botão com o respectivo código

procedure TfrmRelNotasCliente.BtnPesqClick(Sender: TObject);
begin
inherited;
Chama_pesq_CadCliente(MskCpf);
end;

isso vai abri o Form de pesquisa de cliente e ao escolher no cliente o mesmo deveria me retornar o cnpj ou cpf no edit
=====================================================


Nos eventos OnExit desse edit em questão eu tenho o código abaixo

=====================================================
procedure TfrmRelNotasCliente.MskCpfExit(Sender: TObject);
begin
inherited;
If Length(apenas_numeros(MskCpf.Text)) = 14 then
begin
MskCpf.Text := FormatMaskText('99.999.999/9999-99;0;', MskCpf.Text);
//MskCpf(Sender).Text := Mascara(MskCpf(Sender).Text, '99.999.999/9999-99');
end;

If Length(apenas_numeros(MskCpf.Text)) = 11 then
begin
MskCpf.Text := FormatMaskText('999.999.999-99;0;', MskCpf.Text);
//MskCpf(Sender).Text := Mascara(MskCpf(Sender).Text, '999.999.999-99;0;');
end;
end;

já tentei de duas formas mostrar e formatar o conteúdo mais seque é carregado o campo
Emanuel Gonçalves

Emanuel Gonçalves

Responder

Posts

28/03/2016

Raimundo Pereira

MskCpf.Text:= DM.SBACKUP_SVD.FieldByName('DOC').AsString; // Carregando número do documento da tabela para meu MskCpf.Text

if Length(MskCpf.Text)=11 then
BEGIN
MskCpf.Text:=FormatMaskText('999.999.999-99;0', MskCpf.Text);
END
ELSE
BEGIN
if Length(MskCpf.Text)=14 then
BEGIN
MskCpf.Text:=FormatMaskText('99.999.999/9999-99;0', MskCpf.Text);
END;
END;
end;

Funcionando
Responder

Gostei + 0

29/03/2016

Emanuel Gonçalves

MskCpf.Text:= DM.SBACKUP_SVD.FieldByName('DOC').AsString; // Carregando número do documento da tabela para meu MskCpf.Text

if Length(MskCpf.Text)=11 then
BEGIN
MskCpf.Text:=FormatMaskText('999.999.999-99;0', MskCpf.Text);
END
ELSE
BEGIN
if Length(MskCpf.Text)=14 then
BEGIN
MskCpf.Text:=FormatMaskText('99.999.999/9999-99;0', MskCpf.Text);
END;
END;
end;

Funcionando



Eu fiz assim P2

procedure TfrmRelNotasCliente.MskCpfExit(Sender: TObject);
begin
inherited;

MskCpf.TEXT:=FrmPesqCadClientes.FDPesqPadrao.FieldByName('CL_CNPF_CPF').ASSTRING; <<<<<<<<<<<<<<<<<

If Length(apenas_numeros(MskCpf.Text)) = 14 then
begin

MskCpf.Text := FormatMaskText('99.999.999/9999-99;0;', MskCpf.Text);
//MskCpf(Sender).Text := Mascara(MskCpf(Sender).Text, '99.999.999/9999-99');
end;

If Length(apenas_numeros(MskCpf.Text)) = 11 then
begin
MskCpf.Text := FormatMaskText('999.999.999-99;0;', MskCpf.Text);
//MskCpf(Sender).Text := Mascara(MskCpf(Sender).Text, '999.999.999-99;0;');
end;
end;


Não deu certo!!
Responder

Gostei + 0

29/03/2016

Emanuel Gonçalves

Analisando com calma a função a baixo já faz isso P2, ela vai capturar o conteúdo do field CL_CNPJ_CPF e retornar o conteúdo para o componente edit

procedure Chama_pesq_CadCliente ( campo : TEdit );
var PesqCadClientes : TFrmPesqCadClientes;
begin
PesqCadClientes := TFrmPesqCadClientes.Create(Application);
PesqCadClientes.Edit_retorno := campo;
PesqCadClientes.campo_retorno := 'CL_CNPJ_CPF';
PesqCadClientes.ShowModal;
FreeAndNil ( PesqCadClientes );

end;
Responder

Gostei + 0

29/03/2016

Emanuel Gonçalves

Por algum motivo o não consigo carregar no edit
Responder

Gostei + 0

29/03/2016

Emanuel Gonçalves

P2 eu limpei o código no evento OnExit do componente edit e a coisa resolveu

agora ficou assim

if Length(MskCpf2.Text) = 11 then
MskCpf.Text := FormatMaskText('999.999.999-99;0;', MskCpf.Text)
else
if Length(MskCpf2.Text) = 14 then
MskCpf.Text := FormatMaskText('99.999.999/9999-99;0;', MskCpf.Text);


antes era assim

If Length(apenas_numeros(MskCpf2.Text)) = 14 then
begin
MskCpf2.Text := FormatMaskText('99.999.999/9999-99;0;', MskCpf2.Text);
end;

If Length(apenas_numeros(MskCpf2.Text)) = 11 then
begin
MskCpf2.Text := FormatMaskText('999.999.999-99;0;', MskCpf2.Text);
end;
Responder

Gostei + 0

29/03/2016

Emanuel Gonçalves

código final no evento OnExit do componente Edit

procedure TfrmRelNotasCliente.MskCpfExit(Sender: TObject);
var tam : integer;
begin
inherited;

tam:= Length(MskCpf.Text);

if tam = 11 then
begin
MskCpf.Text := FormatMaskText('999.999.999-99;0;', MskCpf.Text);
end
else
if tam = 14 then
MskCpf.Text := FormatMaskText('99.999.999/9999-99;0;', MskCpf.Text);
end;
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar