Conhecendo o Framework Bematech Flash Builder .NET André Munhoz Coordenador de Suporte Técnico e BSP (Bematech Software Partners)
Bematech Flash Builder O que é Explorando o Framework Módulo Fiscal Módulo Não Fiscal Módulo Gerencial Módulo TEF Sintegra
Bematech Flash Builder O que é Framework para a plataforma .NET composto por bibliotecas de classes orientadas a objetos, que agilizam e simplificam o desenvolvimento da aplicação para os produtos Bematech. Distribuído em forma de dlls (assemblies) Bematech.dll (Bematech.xml) Bematech.Fiscal.dll (Bematech.Fiscal.xml) Bematech.MiniImpressoras.dll (Bematech.MiniImpressoras.xml) Bematech.Perifericos.dll (Bematech.Perifericos.xml) Bematech.Relatorios (Bematech.Relatorios.xml)
Aplicativo Frente de Caixa Funcionamento Aplicativo Frente de Caixa Módulo Fiscal Módulo Não Fiscal Módulo Periféricos Módulo Relatórios sintegra administrativo db
Namespaces
Bematech.CodigosDeBarras Implementa os códigos de barras suportados pelas impressoras térmicas. Classe CodigoBarras métodos EAN 13, EAN 8, CODABAR, CODE 128, CODE 93, CODE 39 MSI, ISBN, ITF, UPCA, UPCE, PDF 417 e PLESSEY
Bematech.Texto Classe TextoFormatado Usada para criar e preparar um objeto “Texto” para a impressão Classe TextoFormatado métodos Alinhamento (esquerdo, direito, centralizado, sem alinhamento) Formato (normal, expandido, negrito, itálico ou sublinhado) Tamanho (normal, elite ou condensado) Texto
Bematech.Fiscal.ECF Classe ImpressoraFiscal Classe StatusImpressora Controle das operações com a impressora fiscal Classe ImpressoraFiscal ImpressoraFiscal <objeto> = ImpressoraFiscal.Construir(); Classe StatusImpressora CupomFiscalAberto, CupomNaoFiscalAberto VinculadoAberto, GerencialAberto JaHouveReducaoZ TampaAberta (...)
Bematech.Fiscal.ECF Tratamentos de erro (exceções) FiscalException FimPapelException ComunicacaoException ParametroInvalidoException Enumerações (dados “tipados”) TipoAcrescimoDesconto TipoQuantidade (...)
Bematech.Fiscal.GerenciamentoDados Salva informações para geração do Sintegra e relatórios Administrativos Utiliza a estrutura DB definida pela Bematech definição das tabelas conexão utilizando a interface IDbConnection suporte a: OleDBConnection, SqlConnection, OdbcConnection, OracleConnection, MySqlConnection
Bematech.Fiscal.GerenciamentoDados Classe GerenciadorDados (GerenciadorDadosException) Síncrono (default) Acesso ao banco no fechamento/cancelamento do cupom fiscal ou na Redução Z Métodos só retornam após acesso ao banco de dados Assíncrono “thread” de gerenciamento Retorno imediato Método “Dispose” DEVE ser chamado
Bematech.Fiscal.GerenciamentoDados Exemplo (...) ImpressoraFiscal MeuECF = ImpressoraFiscal.Construir(); MySqlConnection MinhaConexao = new MySqlConnection(); MinhaConexao.ConnectionString = "server = DBServer; user id = restrictUser; password = <senha>; database = sintegra; pooling = false"; GerenciadorDados MeusDados = new GerenciadorDados( MinhaConexao ); MeusDados.Assincrono = true; MeuECF.GerenciamentoDados = MeusDados;
Bematech.Relatorio.Sintegra Classe RelatorioSintegra Responsável pela geração do Sintegra RegistroTipo10, RegistroTipo11 RegistroTipo50 RegistroTipo60A, RegistroTipo60M RegistroTipo60I, RegistroTipo60R RegistroTipo74 RegistroTipo75 RegistroTipo90
Bematech.Relatorio.Sintegra Exemplo (...) ImpressoraFiscal MeuECF = ImpressoraFiscal.Construir(); MySql.Data.MySqlClient.MySqlConnection MinhaConexao; MinhaConexao = new MySql.Data.MySqlClient.MySqlConnection(); MinhaConexao.ConnectionString = "server = DBServer; user id = restrictUser; password = <senhar>; database = sintegra; pooling = false"; GerenciadorSintegra MeuGerador = new GerenciadorSintegra( MinhaConexao ); MeuGerador.Assincrono = true; MeuECF.Sintegra = MeuGerador;
Bematech.Relatorio.Sintegra Exemplo (...) MySqlDataAdapter MeuAdapter = new MySqlDataAdapter(); RelatorioSintegra MeuSintegra = new RelatorioSintegra(); DataSetRelatorios MeuDataSet = MeuSintegra .GerarDataSetSintegra( <conexao_banco>, <data_inicial>, <data_final>, MeuAdapter ); MeuSintegra.Registro10.Cidade = “São Paulo”; MeuSintegra.Registro11.Contado = “Fulano”; MeuSintegra.Gerar( MeuDataSet, “Sintegra.txt” );
Bematech.Fiscal.TEF Classes Controle das operações TEF SolicitacaoAtivo (verificação do GP) <objeto pai>.TEF.CriarSolicitacaoAtivo() SolicitacaoCartao (forma de pagamento e valor pago) <objeto pai>.TEF.CriarSolicitacaoCartao() Transacao (controle de toda a transação) todos os campos do arquivo INTPOS.001 <objeto pai>.TEF.EnviarSolicitacao( <objeto solicitação> ); SolicitacaoConfirmacao <objeto pai>.TEF.CriarSolicitacaoConfirmacao() SolicitacaoNaoConfirmacao <objeto pai>.TEF.CriarSolicitacaoNaoConfirmacao()
Bematech.Fiscal.TEF Métodos TravarTeclado (boolean) Imprimir (controle do vinculado e gerencial) ConfirmarTransacao NaoConfirmarTransacao ClearTransacoes ArquivoResposta (usando a classe TEFDiscado) ArquivoSolicitacao (usando a classe TEFDiscado) GerenciadorInativoException
Bematech Flash Builder Explorando o Framework Bematech Módulo Fiscal Sintegra TEF
Conhecendo o Módulo Não Fiscal André Munhoz Coordenador de Suporte Técnico e BSP (Bematech Software Partners)
Bematech.MiniImpressoras Controle das operações com a impressora não fiscal Classe ImpressoraNaoFiscal ImpressoraNaoFiscal miniimpressora = new ImpressoraNaoFiscal( ModeloImpressoraNaoFiscal.MP4000TH, "COM1" ); métodos AbrirGaveta AutenticarDocumento CortarPapel Imprimir (4 overloads) LerStatus / LerStatusGaveta ...
Bematech.MiniImpressoras Classe StatusMiniImpressora HeadUp, OffLine, SemPapel, PoucoPapel (todos boolean) Classe ImpressaoBitmap métodos AjustaImagemAoPapel, FormatoPaisagem QualidadeImpressao ... MiniImpressoraException
Classe StatusMiniImpressora Exemplo (...) try { StatusMiniImpressora meustatus; meustatus = miniimpressora.LerStatus(); if (meustatus.OffLine) MessageBox.Show("A impressora está OFF-LINE !"); if (meustatus.SemPapel) MessageBox.Show("A impressora está sem papel !"); } catch (MiniImpressoraException erro) MessageBox.Show("Mensagem: " + erro.Message);
Bematech.Texto Exemplo (...) try { TextoFormatado meutexto = new TextoFormatado(); meutexto.Texto = "TESTE DE IMPRESSÃO\r\n"; meutexto.Alinhamento = TextoFormatado.TipoAlinhamento.Centralizado; meutexto.Formato = TextoFormatado.FormatoCaracter.Negrito; meutexto.Tamanho = TextoFormatado.TamanhoCaracter.Condensado; miniimpressora.Imprimir(meutexto); miniimpressora.CortarPapel(false); } catch (MiniImpressoraException erro) MessageBox.Show("Mensagem: " + erro.Message);
Bematech.CodigosDeBarras Exemplo (...) try { CodigoBarras meucodigo = new EAN13(); meucodigo.Codigo = "123456789012"; meucodigo.Fonte = CodigoBarras.FonteLegenda.Normal; meucodigo.Largura = CodigoBarras.LarguraBarra.Media; meucodigo.Posicao = CodigoBarras.PosicaoLegenda.Abaixo; miniimpressora.Imprimir(meucodigo); miniimpressora.CortarPapel(false); } catch (MiniImpressoraException erro) MessageBox.Show("Mensagem: " + erro.Message);
Classe ImpressaoBitmap Exemplo (...) try { ImpressaoBitmap minhaimagem = new ImpressaoBitmap("C:\\logoPartners.bmp"); minhaimagem.AjustaImagemAoPapel = false; minhaimagem.FormatoPaisagem = false; minhaimagem.QualidadeImpressao = QualidadeImpressao.Normal; miniimpressora.Imprimir(minhaimagem); miniimpressora.CortarPapel(false); } catch (MiniImpressoraException erro) MessageBox.Show("Mensagem: " + erro.Message);
Bematech.Perifericos Acesso aos periféricos de automação. Bematech.Perifericos.Leitores Bematech.Perifericos.Balancas (BP-6, CS-15 e T-9094) Bematech.Perifericos.Displays Bematech.Perifericos.ImpressorasCheque Bematech.Perifericos.Teclados (Gertec modelo TEC 65 DIS com leitor de cartão magnético) PerifericosException
Bematech.Perifericos.Leitores Classe LeitorSerial LeitorSerial meuleitor = new LeitorSerial( "COM2" ); métodos IniciarLeitura FinalizarLeitura ... evento OnLeituraCompleta
Bematech.Perifericos.Balancas Classe Balanca Balanca minhabalanca = new Balanca("COM1", ModeloBalanca.CS15); métodos AtivaMonitoramentoPeso DesativaMonitoramentoPeso ... propriedades Peso, PrecoPorKg, PrecoTotal evento OnLeituraCompleta
Bematech.Perifericos.Displays Classe CustomerDisplay CustomerDisplay meudisplay = new CustomerDisplay("COM2"); métodos ConfigurarCursor (BlocoPiscante, Underline ou Desligado) PosicionarCursor (linha X coluna) DeslocarDisplayEsquerda / DeslocarDisplayEsquerda MoverCursorEsquerda / MoverCursorDireita Enviar (texto) LimparDisplay ...
Bematech.Perifericos.ImpressorasCheque Classe ImpressoraCheque ImpressoraCheque cheque = new ImpressoraCheque("COM1"); métodos ProgramarBanco ProgramarFavorecido ProgramarDigitosAno Imprimir TravarDestravarDocumento (true/false) ...
Bematech.Perifericos.Teclados Classe Teclado Teclado meuteclado = new Teclado(); métodos AtivarTeclado DesativarTeclado EscreverNoDisplay LimparDisplay PosicionarCursor ...
Obrigado !