Caro Parceiro,
Vamos implementar agora, a rotina que fará o acesso ao módulo administrativo das bandeiras – o Módulo ADM.
Este módulo permite acessar as funções de cancelamento, emissão de relatórios, fechamento de lote de transações, re-impressão de TEF e demais configurações específicas da bandeira escolhida.
Como já estamos familiarizados com as referências de dlls e também com as funções da classe TEF, podemos ir direto ao ponto, implementando a chamada ao módulo ADM.
Então, criamos um novo botão dando o nome de “FUNÇÕES ADMINISTRATIVAS”, conforme ilustração:
Abrimos o código deste botão e implementamos:
- em C#
private void btnfuncoesadm_Click(object sender, EventArgs e)
{
try
{
// CRIAÇÃO DA CHAMADA DO MÓDULO ADM DAS BANDEIRAS
SolicitacaoAdministrativa solicitacaoadm = BematechFiscal.TEF.CriarSolicitacaoAdministrativa();
Transacao resp = BematechFiscal.TEF.EnviarSolicitacao(solicitacaoadm);
if (Convert.ToInt32(resp.QuantidadeLinhas) > 0)
{
while (true)
{
try
{
BematechFiscal.TEF.TravarTeclado(true);
BematechFiscal.TEF.Vias = 1;
BematechFiscal.TEF.Imprimir(resp, true);
BematechFiscal.TEF.TravarTeclado(false);
break;
}
catch
{
BematechFiscal.TEF.TravarTeclado(false);
if (MessageBox.Show(“Impressora não responde. Tentar imprimir novamente ?”, “Atenção”, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) == DialogResult.No)
break;
}
}
}
}
catch (GerenciadorInativoException MensagemErro)
{
MessageBox.Show( “Mensagem Erro: ” + MensagemErro.Message );
}
BematechFiscal.TEF.Vias = 2;
}
- em VB.NET
Private Sub btnfuncoesadm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnfuncoesadm.Click
Try
‘ CRIAÇÃO DA CHAMADA DO MÓDULO ADM DAS BANDEIRAS
Dim solicitacaoadm As SolicitacaoAdministrativa = BematechFiscal.TEF.CriarSolicitacaoAdministrativa()
Dim resp As Transacao = BematechFiscal.TEF.EnviarSolicitacao(solicitacaoadm)
If (Convert.ToInt32(resp.QuantidadeLinhas > 0)) Then
While (True)
Try
BematechFiscal.TEF.TravarTeclado(True)
BematechFiscal.TEF.Vias = 1
BematechFiscal.TEF.Imprimir(resp, True)
BematechFiscal.TEF.TravarTeclado(False)
Exit While
Catch
BematechFiscal.TEF.TravarTeclado(False)
If (MessageBox.Show(“Impressora não responde. Tentar imprimir novamente ?”, “Atenção”, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) = DialogResult.No) Then
Exit While
End If
End Try
End While
End If
Catch MensagemErro As GerenciadorInativoException
MessageBox.Show(“Mensagem Erro: ” + MensagemErro.Message)
End Try
BematechFiscal.TEF.Vias = 2
End Sub
O acesso ao módulo administrativo é bem simples! Em nosso exemplo, criamos um objeto do tipo “SolicitacaoAdministrativa” e enviamos o mesmo ao GP através do método “EnviarSolicitacao”.
Obs: Note que estamos tratando um tipo de exceção que é a “GerenciadorInativoException” exclusiva para retornos relacionados ao GP das bandeiras.
Ao executar o código, teremos a janela do GP aberta para a escolha da bandeira que faremos a operação ADM. Dependendo da operação, podemos ou não ter uma resposta para imprimir, por exemplo, se optarmos por fazer uma re-impressão do TEF, um cancelamento de TEF ou um fechamento de lote, teremos resposta para imprimir. Sendo assim, usamos o método “Imprimir” semelhante a rotina de impressão dos comprovantes do TEF já vista nos Flash-Tips anteriores, porém com uma condição: através do método “QuantidadeLinhas” da classe “Transacao”, sabemos se a transação realizada possui ou não linhas para imprimir, se houverem linhas para impressão executamos a rotina, caso contrário não.
Fazemos também, o teste de verificação com a impressora. Se houver uma falha na comunicação, exibimos uma mensagem ao operador perguntando se deseja continuar a impressão ou não.
Próxima edição:
Em nosso último Flash-TIP da série sobre a “Classe TEF”, vamos explorar mais esta classe e conhecer como tratar o conteúdo do arquivo INTPOS.001 via Flash Builder.
Não perca!
Até lá e boas implementações!
Related posts:
- Edição 33 – Conhecendo a BemaSB32.dll Caro Parceiro, Agora, vamos conhecer a interface que iremos utilizar...
- Transferência Eletrônica de Fundos (T.E.F.) – Discado – Passo 3/10 ...
- Programando o horário de verão Com a chegada do horário de verão, as impressoras fiscais...
- Edição 62 – Analisando o Retorno Estendido Caro Partner e Desenvolvedor, Quando trabalhamos com o ECF (Emissor...
- Edição 82 – Identificando o Consumidor no Cupom Fiscal Caro Partner e Desenvolvedor Bematech, Nesta edição de nosso Flash...