Conhecendo o assembly Bematech.Fiscal.dll
Caro parceiro,
Na edição passada de nosso Flash Tip, pudemos conhecer a nova ferramenta de conectividade da Bematech - o Bematech Flash Builder.
Vimos a sua diferença em relação a BemaFI32.dll e suas principais vantagens.
Vimos também, como esta ferramenta está estrutura e seus principais assemblies.
Nesta edição, iremos "colocar a mão na massa" e iniciar o nosso primeiro projeto. Mas antes, é importante sabermos que esta nova ferramenta possui tipos variados de tratamento de erro (exceptions), que são levantados quando ocorre algum erro. São eles:
• BematechException
Classe abstrata herdada por todas as exceções levantadas pelo Bematech Flash Builder.
• FiscalException
Erro de exceção levantado sempre que um comando enviado à impressora fiscal não for executado.
Através da exceção FiscalException, não é mais necessário verificar o estado da impressora após cada execução de comando. A própria ferramenta se encarrega de verificar isso para você.
• ParametroInvalidoException
É o erro de exceção levantado sempre quando um parâmetro de comando é inválido.
• ComunicacaoException
É o erro de exceção levantado quando ocorre alguma falha na comunicação com a impressora fiscal (erro de porta serial).
• FimPapelException
É o erro de exceção levantado quando há falta de papel na impressora fiscal.
Importante: Não existe uma exceção para o estado de "pouco papel", pois este estado não significa um erro e, sim, uma informação. Veremos este estado e outros que a impressora possui, na classe "StatusImpressora".
Observação: Veremos as demais exceções durante o desenvolvimento.
Quando ocorrer algum tipo de erro, podemos verificar onde este erro ocorreu (origem da exceção) e qual o seu código, podendo tratar e informar, de forma mais clara, o operador.
Você já pensou na agilidade que isso nos traz?
Referenciando o assembly ao projeto
Depois de conhecermos as exceptions levantadas pela ferramenta, vamos iniciar o nosso pequeno projeto de solução comercial, começando pela adição do(s) assembly(ies) que iremos utilizar.
Estaremos utilizando o Visual Studio .NET 2003 e os códigos estarão nas versões C# e VB.NET.
Iniciamos o nosso projeto com a impressora fiscal, então, os assemblies que iremos referenciar são: Bematech.dll e Bematech.Fiscal.dll.
Depois de criar o projeto e já estando com a tela de design aberta, clique com o botão direito do mouse na opção "References", da janela "Solution Explorer", e escolha "Add Reference...". Procure por Bematech.dll e Bematech.Fiscal.dll, e clique em OK.
Os dois assemblies aparecem na jabela "Solution Explorer".

O próximo passo é declarar os namespaces que iremos usar. Para isso, vá até o início do código e acrescente as seguintes linhas:
• para C#
using Bematech;
using Bematech.Fiscal.ECF;
using Bematech.Fiscal.ECF.CupomFiscal;
using Bematech.Fiscal.ECF.OperacoesNaoFiscais;
using Bematech.Fiscal.ECF.RelatoriosFiscais;
using Bematech.Fiscal.ECF.Informacoes; |
• para VB.NET
Imports Bematech
Imports Bematech.Fiscal.ECF
Imports Bematech.Fiscal.ECF.CupomFiscal
Imports Bematech.Fiscal.ECF.OperacoesNaoFiscais
Imports Bematech.Fiscal.ECF.RelatoriosFiscais
Imports Bematech.Fiscal.ECF.Informacoes |
Criando a Impressora Fiscal
Para podermos utilizar os métodos das classes referenciadas ao projeto, será necessário criarmos a impressora fiscal. No conceito de orientação a objetos, usaríamos "New()", mas como a impressora fiscal é única no PDV, usaremos o método "Construir()" da classe ImpressoraFiscal, que será o nosso "ponto de partida" para todas as operações envolvendo a impressora fiscal.
Vamos criá-la no public class do form principal.
• em C#
| ImpressoraFiscal BematechFiscal = ImpressoraFiscal.Construir(); |
• em VB .NET
| Public BematechFiscal As ImpressoraFiscal = ImpressoraFiscal.Construir() |
Onde:
ImpressoraFiscal é a classe que detém os métodos da impressora fiscal;
BematechFiscal é o objeto (variável) que receberá a instância dos métodos e;
ImpressoraFiscal.Construir() é o método construtor da classe.
A partir desta construção, todos os demais métodos serão exibidos através do nosso objeto BematechFiscal.