Este é um post disponível para assinantes MVPVideo: Cartão de crédito: Desenvolvendo venda TEF - Curso PAF - ECF com Delphi 7 e Dlls dos fabricantes - aplicação completa - Parte 18
Neste vídeo aula, será desenvolvida a parte do TEF que se refere a venda com cartão de crédito ou débito em nosso projeto.
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
Título: Cartão de crédito: Desenvolvendo venda TEF - Curso PAF - ECF com Delphi 7 e Dlls dos fabricantes - aplicação completa - Parte 18
Tempo: 31:32 min.
Míni Resumo: Neste vídeo aula, será
desenvolvida a parte do TEF que se refere a venda com cartão de crédito ou
débito em nosso projeto. Seguindo o exemplo do TEF administrativo criado no
vídeo anterior, nós iremos criar as funções para realizar a comunicação com o
gerenciador padrão, analisar o arquivo de retorno do mesmo, e na seqüência nós
iremos concluir o fechamento do cupom fiscal para posterior imprimir o
comprovante vinculado de venda a cartão. Tudo isso seguindo as regras
estabelecidas no roteiro certificação do TEF Discado.
Tecnologias utilizadas: Delphi 7, Firebird 2.1.
Exemplos construídos: Comunicação com gerenciador
padrão para RedTEF.
Palavras chaves: PAF-ECF, TEF,
ASSINATURA EAD, HOMOLOGAÇÃO.
Luis Carlos Godinho
Programador formado em 1995, pela ETEIT – Escola técnica da UNIVALE. Atualmente trabalhando com a plataforma Delphi. Tem se dedicado nos últimos anos, ao desenvolvimento de aplicações PAF-ECF, SPED fiscal e NFe.
22 COMENTÁRIOS
// begin
DM.AbreTabelaProdutos(EdtLocalizar.Text,RadioOpcao.ItemIndex);
// end;
QryProdutos.Close;
QryProdutos.Params.Clear;
QryProdutos.SQL.Add('select * from produtos');
case fTipo of ...
Neste caso você tem 2 opções para resolver segundo o roteiro de homologação.
{$I-}
CloseFile( cArquivo );
{$I+}
e correto fazer isso ou tem outra maneira para que nao aconteção esses erros de I/O error 32?
suas aulas estão de parabens. :D
Estou tendo um problema na função que imprime a transacao TEF e ja tem dias eheehee
Nessa parte aqui da função.
while not System.EOF(cArquivo) do
begin
ReadLn(cArquivo,cLinhaArquivo);
if StrToInt(copy(cLinhaArquivo,1,3)) = 029 then
begin
aTextoLinha := copy(cLinhaArquivo,11,Length(cLinhaArquivo)-10);
if pTipoRel = 0 then
iRetorno := Bematech_FI_UsaComprovanteNaoFiscalVinculadoTEF(pchar(aTextoLinha))
else if pTipoRel = 1 then
iRetorno := Bematech_FI_RelatorioGerencialTEF(pchar(aTextoLinha));
if iRetorno <> 1 then
begin
Result := false;
Abort;
end;
depois de varios testes notei que ele da o retorno de -27 entao ele para com a função e o cupom nao termina de ser impresso ai peguei um exemplo da bematech exemploDelphiTEF e nele a impressao sai toda correta mesmo no emulador que estou usando o emul2100 ultima versao disponivel no site vc tem alguma ideia do q pode ser?
iRetorno := Bematech_FI_UsaComprovanteNaoFiscalVinculadoTEF(aTextoLinha)
else if pTipoRel = 1 then
iRetorno := Bematech_FI_RelatorioGerencialTEF(aTextoLinha);
if DataProduto.DataSet.FieldByname('FRACIONADO').AsString = 'S' then
begin
aTipoQuant := 'F';
aQuant := StrToFloat(sQuant);
aQuantidade := FormatFloat('0.000',aQuant);
end
else
begin
aTipoQuant := 'I';
aQuantidade := ZeroEsquerda(sQuant,4);
end;
// define descricao
aDescricao := Trim(Copy(DataProduto.DataSet.FieldByName('descricao').AsString,1,29));
// define valor
aValor := FormatFloat('0.00',DataItensCupom.DataSet.FieldByName('preco').AsFloat);
ZeroEsquerda(aValor,8);
meu arquivo intPos.001 esta da da seguinte forma:
000-000 = CRT
001-000 = 085149
002-000 = 000012
003-000 = 37,90
999-999 = 0
so que porem quando o gerenciador abre na tela o valor da venda aparece no seguinte formato
37,,90 (com duas virgulas) entao la no cupom fiscal quando ele passa o pagamento ele ta passando so os 37,00 e ignora os 90 centavos vc tem ideia do q posso fazer pois conferi e o valor q e atribuido a variavel pValor ta passando normal so
com uma virgula e esse conteudo do arquivo intpos.001 peguei direto la em C:\TEF_DIAL\resp no momento em q ele abre o gerenciador padrao.
001-000 = 085149
002-000 = 000012
003-000 = 3790
999-999 = 0
Abs!
estou indo de vento e poupa.
mais gostaria de saber, se este video vai ter TEF dedicado.
Infelizmente não. Apenas o discado mesmo.
Abs!
Parabens pelas aulas.
Vi algum comentário sobre usar acbr, achei interessante, pois esse curso nos dá um boa base para irmos em frente.
Estou com um problema aqui, já tentei varias vezes, fiz muitas pesquisas, e não consigo instalar ACBrECF no Delphi7, se puder dar uma dica agradeço.
Por outro lado tenho Instalado o ACBrMonitor, minha pergunta:
Tem alguma diferença em desenvolver com o componente ACBrECF ou ACBrMonitor?
Não pergunto isso com relação ao sistema em si, claro isso tem diferença, mas sim com relação a Homologação do sistema.
Vê algum inconveniente?
Eu nunca usei o AcBrMonitor, então não saberei te dizer se há deferença.
Com relação à instalação, basta seguir o orientação que tem no arquivo leiame.txt que vem junto com os códigos, quando são baixados via SVN.
Antes de instalar, te indica a remover qualquer outra instalação do AcBr que tiver anteriormente instalada.
Abs.!
O sistema traz um erro a partir do projeto da aula 17
"Não foi possivel localizar o ponto de entrada do procedimento Bematech_FI_ArquivoMFD na biblioteca de vinculo dinâmico BEMAFI32.DLL"
pode dar uma ajuda?
Obrigado
A DLL que esta usando não tem esta função. Cerifique-se de não ter outras DLL's espalhadas em outros pontos e se a que tem esta atualizada.
Abs.!
Estou fazendo o seu curso e quero te parabenizar pelo mesmo. Estou implementando o TEF conforme você explicou, porém não consegui fazer o simulador gerar a venda pelo cartão, tem alguma configuração a fazer nos simuladores de cartão de crédito, ou é simplesmente instalá-los e usar?
Att,
Patrick
Tem as configurações porem ao instalar já ficam por default da forma necessária. Informe o que esta acontecendo exatamente para que eu possa tentar ajudar.
Abs.!

download

