Business - Automação Comercial

Bematech Flash Builder - Verificando o GP

Nesta edição e nas próximas que iremos apresentar, vamos colocar a "mão na massa" e desenvolver nossa aplicação de TEF!

por Andre Schikovski



Na edição 28 de nosso Flash-Tip, conhecemos a Classe TEF e seus principais métodos e propriedades. Nesta edição e nas próximas que iremos apresentar, vamos colocar a "mão na massa" e desenvolver nossa aplicação de TEF!

Dando continuidade, vamos montar um pequeno exemplo para testarmos o Gerenciado Padrão (GP), se o mesmo está ativo ou não. Esta verificação é muito importante e deve ser sempre executada antes da criação de uma transação TEF. Além disso, usaremos a classe GerenciadorInativoException que é uma segunda opção de verificação do GP inativo, ou seja, caso o GP não seja tratado diretamente pelo método "GerenciadorAtivo", a exception "GerenciadorInativoException" será levantada avisando-nos que o GP se encontra desabilitado. Vamos lá!

Começaremos reforçando a estrutura dos assemblies fiscais dentro do projeto:

- em C#

using Bematech;
using Bematech.Fiscal;
using Bematech.Fiscal.ECF;
using Bematech.Fiscal.ECF.CupomFiscal;
using Bematech.Fiscal.TEF
;

- em VB.NET

Imports Bematech
Imports Bematech.Fiscal
Imports Bematech.Fiscal.ECF
Imports Bematech.Fiscal.ECF.CupomFiscal
Imports Bematech.Fiscal.TEF

Podemos visualizar os assemblies na janela Solution Explorer, conforme mostra a figura abaixo:

Após as referências das dlls no projeto e dos namespaces declarados, vamos criar um objeto do tipo ImpressoraFiscal que será usado durante todo o nosso desenvolvimento. É por meio deste objeto que iremos chamar os métodos e usar as propriedades da impressora fiscal. Este objeto é criado dentro da classe do formulário.

- em C#

ImpressoraFiscal BematechFiscal = ImpressoraFiscal.Construir();

- em VB.NET

Public BematechFiscal As ImpressoraFiscal = ImpressoraFiscal.Construir();

Vamos entender agora, como funciona a análise do GP através da classe SolicitacaoAtivo.

SolicitacaoAtivo

Esta classe gera uma solicitação que permite verificar se o GP está ativo ou não (ATV).

Vamos criar um botão e implementar esta verificação. Apenas lembrando, é importante que o GP e pelo menos o módulo de uma das bandeiras (AMEX, Redecard ou VISA) estejam instalados no computador para termos os resultados esperados. O GP e os módulos das bandeiras podem ser baixados no site da Software Express (http://www.softwareexpress.com.br/tefdial).

- em C#

private void btngp_Click(object sender, EventArgs e)
{
try
{
SolicitacaoAtivo ativo = BematechFiscal.TEF.CriarSolicitacaoAtivo();

if (BematechFiscal.TEF.GerenciadorAtivo(ativo))
{
MessageBox.Show("Gerenciador está Ativo !!!");
}
else
{
MessageBox.Show("Gerenciador não está Ativo !!!");
}
}
catch (GerenciadorInativoException erro)
{
MessageBox.Show(erro.Message);
}
}

- em VB.NET

Private Sub btngp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btngp.Click
Try
Dim ativo As SolicitacaoAtivo = BematechFiscal.TEF.CriarSolicitacaoAtivo()

If BematechFiscal.TEF.GerenciadorAtivo(ativo) Then
MsgBox("Gerenciador está ativo", MsgBoxStyle.Information, "Informação")
Else
MsgBox("Gerenciador não está ativo", MsgBoxStyle.Exclamation, "Erro!")
End If
Catch erro As GerenciadorInativoException
MsgBox(erro.Message)
End Try
End Sub

Neste exemplo, criamos um objeto "ativo" do tipo "SolicitacaoAtivo" que é uma rotina onde o próprio Flash Builder irá executar a solicitação de verificação do GP, qualquer retorno diferente de "GP ativo" ou "GP Inativo", será tratado pela exception GerenciadorInativoException retornando em tela a mensagem de erro.

Repare que toda a rotina foi criada dentro de uma estrutura Try/Catch, onde os possíveis erros que por ventura venham a ocorrer, serão tratados diretamente pela classe GerenciadorInativoException.

Andre Schikovski

Andre Schikovski