Fórum Está correta minha rotina para TEF? #351294

02/01/2008

0

Olá!

Tenho em meu sistemas, os seguintes códigos:

[b:ddb6bce745]Para criar o arquivo INTPOS.TMP na pasta REQ e adicionar os campos e após isso, renomear o arquivo para INTPOS.001.[/b:ddb6bce745]
[i:ddb6bce745]procedure TForm1.btnBanricomprasClick(Sender: TObject);
VAR
F: TEXTFILE;
S: STRING;
begin
AssignFile(F,´C:\TEF_DISC\BANRISUL\Req\IntPos.tmp´);
REWRITE(F); //cria arquivo
S:=´000-000 ´ + ´= ´ + dbeHeader.Text;
WRITELN(F,S);//adiciona nova linha no arquivo
S:=´001-000 ´ + ´= ´ + dbeIdentificacao.Text;
WRITELN(F,S);//adiciona nova linha no arquivo
S:=´002-000 ´ + ´= ´ + dbeDocFiscal.Text;
WRITELN(F,S);
S:=´003-000 ´ + ´= ´ + dbeValorTotal.Text;
WRITELN(F,S);
S:=´004-000 ´ + ´= ´ + dbeMoeda.Text;
WRITELN(F,S);
S:=´005-000 ´ + ´= ´ + dbeCMC7.Text;
WRITELN(F,S);
S:=´006-000 ´ + ´= ´ + dbeTipoPessoa.Text;
WRITELN(F,S);
S:=´007-000 ´ + ´= ´ + dbeDocPessoa.Text;
WRITELN(F,S);
S:=´008-000 ´ + ´= ´ + dbeDataCheque.Text;
WRITELN(F,S);
S:=´010-000 ´ + ´= ´ + dbeNomeRede.Text;
WRITELN(F,S);
S:=´012-000 ´ + ´= ´ + dbeNumTransacao.Text;
WRITELN(F,S);
S:=´022-000 ´ + ´= ´ + dbeDataTransacao.Text;
WRITELN(F,S);
S:=´023-000 ´ + ´= ´ + dbeHoraTransacao.Text;
WRITELN(F,S);
S:=´027-000 ´ + ´= ´ + dbeFinalizacao.Text;
WRITELN(F,S);
S:=´033-000 ´ + ´= ´ + dbeBanco.Text;
WRITELN(F,S);
S:=´034-000 ´ + ´= ´ + dbeAgencia.Text;
WRITELN(F,S);
S:=´035-000 ´ + ´= ´ + dbeAgenciaDC.Text;
WRITELN(F,S);
S:=´036-000 ´ + ´= ´ + dbeContaCorrente.Text;
WRITELN(F,S);
S:=´037-000 ´ + ´= ´ + dbeContaCorrenteDC.Text;
WRITELN(F,S);
S:=´038-000 ´ + ´= ´ + dbeNumeroCheque.Text;
WRITELN(F,S);
S:=´039-000 ´ + ´= ´ + dbeNumeroChequeDC.Text;
WRITELN(F,S);
S:=´041-000 ´ + ´= ´ + dbeCodBarras.Text;
WRITELN(F,S);
S:=´042-000 ´ + ´= ´ + dbeTrailer.Text;
WRITELN(F,S);
CLOSEFILE(F);//fecha arquivo
RenameFile(´C:\TEF_DISC\BANRISUL\Req\IntPos.tmp´,´C:\TEF_DISC\BANRISUL\Req\IntPos.001´);
end;[/i:ddb6bce745][b:ddb6bce745]
[b]
Fazer a leitura do arquivo INTPOS.001 da pasta RESP:[/b:ddb6bce745]
[i:ddb6bce745]procedure TForm1.btnLerClick(Sender: TObject);
begin
If FileExists(´C:\TEF_DISC\BANRISUL\Resp\IntPos.001´) = False Then
begin
ShowMessage(´Arquivo inativo!´);
end
else
begin
frmIntPos := TfrmIntPos.Create(Self);
try
frmIntPos.ShowModal;
finally
frmIntPos.Free;
end;
end;
end;[/i:ddb6bce745]

[b:ddb6bce745]Quando mostrar o formulário onde está o MEMO, com as linhas do INTPOS.001 da pasta RESP:[/b:ddb6bce745]
[i:ddb6bce745]procedure TfrmIntPos.FormShow(Sender: TObject);
var
Arquivo :TextFile;
Linha :String;
{
Fazer um LOOP no arquivo, abrindo-o
e lendo de linha-a-linha, adicionando no Memo.
}
begin
AssignFile(Arquivo, ´C:\TEF_DISC\BANRISUL\Resp\IntPos.001´);
Reset(Arquivo);
Repeat
ReadLn(Arquivo,Linha);
Memo1.Lines.Add(Linha);
until EOF(Arquivo);
end;[/i:ddb6bce745]


Só não sei pq os campos Agência e Conta Corrente aparecem, respectivamente, como 1234 e 1234567890, ao invés de retornar os valores que eu preenchi em meus edits.

O que pode estar errado em meus códigos?

Grato pela atenção.[/b]


Lucas_spohr

Lucas_spohr

Responder

Posts

02/01/2008

Lucas_spohr

up


Responder

Gostei + 0

02/01/2008

Lucas_spohr

up


Responder

Gostei + 0

02/01/2008

Lucas_spohr

vou tentar explicar melhor o que estou precisando:

Bom.
Tenho o meu projeto TEF em delphi, onde tenho todos os campos necessários, conforme descritos no Guia Técnico do Gerenciador Padrão. Preencho todos os DBEdits, os quais estão ligados num ClientDataSet. Após preenchê-los, clico no botão BanriCompras, o qual enviará para a pasta REQ o arquivo INTPOS.001, onde estará informado todos os valores conforme preenchi em meu projeto em Delphi; como o exemplo do layout abaixo; e abrirá também, o Gerenciador Padrão.

000-000 = HEADER
001-000 = IDENTIFICAÇÃO
002-000 = DOCUMENTO FISCAL VINCULADO
etc...

Após aberto o Gerenciador Padrão, eu efetuo um Pagamento à vista, confirmo o valor (que aparecerá, conforme preenchido no meu projeto do delphi), passo o cartão de débito no Pin-Pad e digito a senha.

Seguindo estes passos, eu abro o arquivo INTPOS.001 da pasta RESP. Todos os campos aparecem conforme preenchidos em meu projeto, exceto os campos AGÊNCIA e CONTA CORRENTE.

Alguém poderia me informar o porquê disso? Os códigos da minha aplicação estão acima.

Obrigado!


Responder

Gostei + 0

02/01/2008

Lucas_spohr

corrigindo:
[i:a564898a03]000-000 = CRT
001-000 = 1
002-000 = 123456[/i:a564898a03]


Responder

Gostei + 0

03/01/2008

Lucas_spohr

up


Responder

Gostei + 0

03/01/2008

Virus69

caro amigo, caso precise de alguma informação sobre o processo do TEF entre em contato comigo pelo meu email ou poste aqui.

elvirocavalcanti@hotmail.com


Grato


Responder

Gostei + 0

11/02/2009

Easytef

O já consolidado EasyTEF, componente TEF discado, que já homologou vários sistemas pra TEF, escreve corretamente o arquivo de requisição para todos os comandos da especificação TEF.

A versão de avaliação do componente pode ser baixada no seguinte endereço:

http://www.easytef.com.br/download.htm

Baixe o componente, siga o passo-a-passo da documentação, execute os roteiros de teste das redes de cartão, comprove que o componente funciona, então adquira o produto.

Qualquer dúvida, basta entrar em contato.

Atenciosamente,

EasyTEF Team


Responder

Gostei + 0

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

Aceitar