Business - Automação Comercial
Bematech: Transferência Eletrônica de Fundos (T.E.F.) - Discado - Passo 2/10 - Comunicando com o Gerenciador Padrão
Vimos no artigo passado, a lógica de funcionamento do TEF. Agora vamos "colocar a mão na massa" e começar a desenvolver as nossas rotinas!
por André Luiz R. MunhozVimos no artigo passado, a lógica de funcionamento do TEF. Agora vamos
"colocar a mão na massa" e começar a desenvolver as nossas rotinas!
Nesta edição, iremos realizar a primeira comunicação com o Gerenciador
Padrão e tratar todos os retornos e mensagens possíveis. Estaremos visualizando
esta rotina em dois exemplos básicos. Um desenvolvido em Delphi e outro em
Visual Basic .
A idéia é verificarmos se o Gerenciador Padrão está
ativo, antes de iniciarmos uma transação TEF.
- Exemplo em
Delphi
//////////////////////////////////////////////////////////
// Esta função verifica se o Gerenciador Padrão está ATIVO ////////////////////////////////////////////////////////// function VerificaGerenciadorPadrao; var cConteudoArquivo: string; cIdentificacao : TDateTime; cArquivo : TextFile; iTentativas : integer; lFlag : longbool; begin AssignFile( cArquivo, "INTPOS.001"); cConteudoArquivo := ""; cIdentificacao := Time; cConteudoArquivo := "000-000 = ATV" + #13 + #10 + "001-000 = " + FormatDateTime( "hhmmss", cIdentificacao ) + #13 + #10 + "999-999 = 0"; ReWrite( cArquivo ); WriteLn( cArquivo, cConteudoArquivo ); CloseFile( cArquivo ); CopyFile( pchar( "INTPOS.001" ), pchar( "C:\TEF_DIAL\REQ\INTPOS.001" ), lFlag ); DeleteFile( "INTPOS.001" ); for iTentativas := 1 to 7 do begin if ( FileExists( "C:\TEF_DIAL\RESP\ATIVO.001" ) ) or ( FileExists( "C:\TEF_DIAL\RESP\INTPOS.STS" ) ) then begin Application.MessageBox( "O Gerencial Padrão se encontra ATIVO !", "Atenção", MB_IconInformation + MB_OK ); break; end; Sleep( 1000 ); if ( iTentativas = 7 ) then begin Application.MessageBox( "O Gerencial Padrão INATIVO!", "Atenção", MB_IconInformation + MB_OK ); Break; end; end; end; |
- Exemplo em Visual Basic
" Declaração da função Sleep (API kernel32) Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) " " Esta função verifica se o Gerenciador Padrão está Ativo. " Function VerificaGerenciadorPadrao() Dim cArquivo As String Dim cConteudoArquivo As String Dim cIdentificacao As String Dim iTentativas As Integer Open App.Path & "\INTPOS.001" For Binary As #1 cIdentificacao = Time() cConteudoArquivo = "" cConteudoArquivo = "000-000 = ATV" + Chr(13) + Chr(10) + _ "001-000 = " + Format(cIdentificacao, "hhmmss") + _ Chr(13) + Chr(10) + _ "999-999 = 0" Put #1, , cConteudoArquivo Close #1 FileCopy App.Path & "\INTPOS.001", "C:\TEF_DIAL\REQ\INTPOS.001" Kill App.Path & "\INTPOS.001" iTentativas = 1 For iTentativas = 1 To 7 cArquivoATIVO = Dir("C:\TEF_DIAL\RESP\ATIVO.001") cArquivoSTS = Dir("C:\TEF_DIAL\RESP\INTPOS.STS") If cArquivoATIVO <> "" Or cArquivoSTS <> "" Then MsgBox "O Gerencial Padrão se encontra ATIVO !", vbInformation + _ vbOKOnly, "Atenção" iTentativas = 8 End If Sleep (1000) If iTentativas = 7 Then MsgBox "O Gerencial Padrão se encontra INATIVO !", vbInformation + _ vbOKOnly, "Atenção" iTentativas = 8 End If Next End Function |
- DarumaFramework.SO no LinuxAutomação Comercial
- Palavra de status da impressora na DarumaFrameworkAutomação Comercial
- TEF – Comprovante de Crédito ou DébitoAutomação Comercial
- Comunicar com equipamentos Daruma em linguagens 16bits e DOSAutomação Comercial
- Verificando Redução Z nas Impressoras DarumaAutomação Comercial