Business - Automação Comercial

Desenvolvendo um Software de Automação Comercial em ASP NET - Parte III

Nos artigos anteriores, desenvolvemos a interface, o banco de dados e usamos todas as facilidades do DotNet para conectá-los. Essa é a parte fácil, pois existe muita informação demonstrando como realizá-los, de diferentes formas.

por Fábio de Souza Torres



Nos artigos anteriores, desenvolvemos a interface, o banco de dados e usamos todas as facilidades do DotNet para conectá-los. Essa é a parte fácil, pois existe muita informação demonstrando como realizá-los, de diferentes formas.

O que está faltando para o nosso software de automação é integrá-lo à impressora fiscal, que é o assunto deste artigo.

O que é necessário

O primeiro passo para conectarmos a impressora fiscal ao nosso software é fazer o download do componente WEB, que pode ser feito no site da Bematech através do link:

http://www.bematech.com.br/suporte/downloads/fisc_win/bemaFisc.zip

No site você também encontra informações de como instalar o componente, por isso vou apenas explicar como usá-lo.

Adicionando o componente ao software

Todo controle ActiveX tem um “classid” único que o identifica. Para adicioná-lo ao nosso software, utilizamos a Tag HTML “object” onde passamos o “classid” e o “id” que é o nome que damos ao nosso componente. Abaixo segue um exemplo de como adicionar o Componente WEB em nosso software. Este código deve ser adicionado em todos os Web-Forms que comunicarem com a impressora.

<object classid="clsid:2F9082AF-E2A7-4F20-9D6B-3855D79A3D86" id="BemaWeb"></object>

Para utilizar o componente WEB após essa declaração, basta chamar seu ID.NomeFunção, todas as funções do componente WEB estão idênticas a DLL bemafi32, tanto quanto a nomenclatura quanto a número e tipos de parâmetros.

Abrindo o Cupom Fiscal

O formInical.aspx será utilizado para abrir o cupom, para realizar isso no evento onclick do botão “abri cupom” vamos chamar a seguinte função:

<script language="javascript">

function AbreCupomFiscal(){

iRet = BemaWeb.AbreCupom("");

if (iRet == 1){

window.location.href = "./FormVenda.aspx";

}

else

alert("Não foi possível abrir o cupom fiscal ERRO: " + iRet);

}

</script>

Nesta função já é possível observar a primeira interação com a impressora fiscal, através da função AbreCupom. Se o cupom fiscal for aberto com sucesso, a página será redirecionada para a de venda de itens.

Vendendo itens

<script language="javascript">

function set_focus(){

document.Form1.TextCodProduto.focus()

document.Form1.TextCodProduto.value = "";

Imprimir();

}

function Imprimir(){

Codigo = "<%=TextCodProduto.Text %>";

if (Codigo != ""){

Descricao = "<%=sProdutoName %>";

ValorUnitario = "<%=fValorItem %>";

Quantidade = "<%=iQuantidade %>";

BemaWeb.VendeItem(Codigo,Descricao,"FF","I", Quantidade,"2",ValorUnitario,"%","0") }

}

function AlterarQuantidade(){

document.Form1.TextQuantidade.focus() document.Form1.TextQuantidade.value = "";

}

function FecharVenda(){

window.location.href = "./Formconcluir.aspx?var1=" +

document.Form1.TextTotalCupom.value;

}

function CancelarVenda(){

iRet = BemaWeb.CancelaCupom();

if (iRet == 1){

window.location.href = "./FormInicial.aspx";

}

else

alert("Não foi possível cancelar o cupom ERRO: " + iRet);

}

</script>

A função set_focus será chamada no evento <body onload="set_focus()"> com a intenção de limpar o TextCodProduto, voltar o foco da este Text e chamar a função Imprimir.

Quando falei no artigo anterior que seria necessário declarar algumas variáveis globais, estava pensando em utilizá-las dentro da função Imprimir. Esta função contém parte do seu código em ASP, que será executado no servidor após a execução da função Click do botão. A condição existente na função Imprimir tem por finalidade tentar a venda do item somente quando o mesmo for encontrado no banco de dados. E, por último, chamamos a função VendeItem do componente WEB. Aqui caberia um código de tratamento de erros, mas isso fica para uma nova série de artigos.

Quando todos os itens do cliente já tiverem registrados chamaremos a função FecharVenda que irá redirecionar para o FormConcluir para finalizarmos o Cupom Fiscal.

Fechando o Cupom Fiscal

No FormConcluir.aspx teremos o seguinte código ASP.NET no evento Page_Load, que será utilizado para obter o valor total do cupom fiscal:

private void Page_Load(object sender, System.EventArgs e)

{

lbTotalCupom.Text = Request.QueryString["var1"];

}

No botão “Fechar Cupom Fiscal” chamamos a função FechaCupomResumido que vai identificar o forma de pagamento selecionada e fechar o cupom fiscal com o seu valor exato.

<script language="javascript">

function FechaCupomResumido(){

if (document.Form1.rbFormaPagamento[0].checked)

FormaPagamento = "Dinheiro"

else

if (document.Form1.rbFormaPagamento[1].checked)

FormaPagamento = "Cartao"

else

if (document.Form1.rbFormaPagamento[2].checked)

FormaPagamento = "ticket"

else

FormaPagamento = "Cheque";

iRet = BemaWeb.FechaCupomResumido(FormaPagamento,

"Obrigado. Volte Sempre!");

if (iRet == 1){

window.location.href = "./FormInicial.aspx";

}

else

alert("Não foi possível fechar o cupom ERRO: " + iRet);

}

</script>

Conclusão

Falei brevemente sobre como desenvolver um software WEB, mas com essa série de artigos, já é possível ganhar bastante tempo na hora de criar um software.

Até o próximo artigo!

Fábio de Souza Torres

Fábio de Souza Torres - Bematech: DSP - Desenvolvimento de Software e Parcerias.
Visite o site:
http://www.bematech.com.br.