none
OffTopic: PDV Web RRS feed

  • Discussão Geral

  • Pessoal, por N problemas de arquitetura entre sistemas web e automação comercial, é complicado fazer um PDV pra browser.

    Mas que tal gerar um cupom fiscal para qualquer ECF a partir do Internet Explorer (outros navegadores não suportam ActiveX)?

    Isso é possível graças ao ACBrX, que é o nosso trabalho de porte de alguns dos componentes ACBr para o padrão ActiveX.

    É fácil, basta baixar a versão de avaliação do ACBrX (http://easysoftware.net.br/downloads/ACBrX.rar) e registrá-lo no Windows. O arquivo LEIAME.pdf mostra como fazê-lo.

    Depois, é só criar o seguinte arquivo HTML, com as modificações que achar necessárias, e abrir esse HTML pelo Internet Explorer:

    <HTML>
        <HEAD>
            <SCRIPT LANGUAGE="JavaScript">

            var ACBrECF = new ActiveXObject("ACBrX.ACBrECF");

            function gerarCupomFiscal()
            {
                /*    
                    ecfNaoFiscal = 1
                    ecfBematech = 2
                    ecfSweda = 3 (Usar somente para o emulador ou Sweda matricial)
                    ecfDaruma = 4
                    ecfSchalter = 5
                    ecfMecaf = 6
                    ecfYanco = 7
                    ecfDataRegis = 8
                    ecfUrano = 9
                    ecfICash = 10
                    ecfQuattro = 11
                    ecfFiscNET = 12
                    ecfEpson = 13
                    ecfNCR = 14
                    ecfSwedaSTX = 15
                */
                
                ACBrECF.Modelo = 3;
                ACBrECF.Porta = "COM1";
                
                if (!(ACBrECF.Ativo)) {
                    alert("Vai ativar o componente.")
                    if (!(ACBrECF.Ativar())) {
                        alert("Não foi possível ativar o componente ACBrX.ACBrECF.");
                        return false;
                    }
                    alert("Ativou o componente.")
                }
                
                /*
                    estNaoInicializada = 0 (Porta Serial ainda nao foi aberta)
                    estDesconhecido = 1 (Porta aberta, mas estado ainda nao definido)
                    estLivre = 2 (Impressora Livre, sem nenhum cupom aberto, pronta para nova venda, Reducao Z e Leitura X ok, pode ou nao já ter ocorrido 1ª venda no dia...)
                    estVenda = 3 (Cupom de Venda Aberto com ou sem venda do 1º Item)
                    estPagamento = 4 (Iniciado Fechamento de Cupom com Formas Pagto pode ou nao ter efetuado o 1º pagto. Nao pode mais vender itens, ou alterar Subtotal)
                    estRelatorio = 5 (Imprimindo Cupom Fiscal Vinculado ou Relatorio Gerencial)
                    estBloqueada = 6 (Reduçao Z já emitida, bloqueada até as 00:00)
                    estRequerZ = 7 (Reducao Z dia anterior nao emitida. Emita agora)
                    estRequerX = 8  (Esta impressora requer Leitura X todo inicio de dia. Imprima uma Leitura X para poder vender)
                    estNaoFiscal = 9  (Comprovante Nao Fiscal Aberto)
                */
                
                if (ACBrECF.Estado == 7) {
                    alert("Vai emitir Redução Z.");
                    if (!(ACBrECF.ReducaoZ(0))) {
                        alert("Não foi possível emitir a Redução Z.");
                        return false;
                    }
                }

                // cancela o cupom fiscal atual, caso exista, ou o último
                // para abrir um novo cupom fiscal de exemplo do componente
                ACBrECF.CancelaCupom();

                alert("Vai abrir o cupom fiscal.");
                if (!(ACBrECF.AbreCupom("11111111111", "Fulano de Tal", "Rua da Fantasia"))) {
                    alert("Não foi possível abrir o cupom fiscal.");
                    return false;
                }

                // Unidade:                      | Desconto Acréscimo   | Tipo Desconto Acréscimo
                // ------------------------------+----------------------+------------------------
                // II = Isento                   | D = Desconto         | % = Percentual
                // NN = Nao Incidencia           | A = Acréscimo        | $ = Valor
                // FF = Substituiçao Tributária  |                      |
                // SI = Isento ISSQN             |                      |
                // SN = Nao Incidencia ISSQN     |                      |
                // SF = Subst.Tributária ISSQN   |                      |

                alert("Vai vender um ítem.");
                if (!(ACBrECF.VendeItem("001", "DESCRICAO PRODUTO: 001", "NN", 1, 123.45, 0, "UN", "%", "D"))) {
                    alert("Não foi possível vender o ítem.");
                    return false;
                }

                alert("Vai subtotalizar o cupom fiscal.");
                if (!(ACBrECF.SubtotalizaCupom(0, ""))) {
                    alert("Não foi possível subtotalizar o cupom.");
                    return false;
                }

                alert("Vai efetuar a forma de pagamento Dinheiro.");
                if (!(ACBrECF.EfetuaPagamento("01", 123.45, "Quem quer Dinheiro?", false))) {
                    alert("Não foi possível efetuar a forma de pagamento de índice '01'.");
                    return false;
                }

                alert("Vai encerrar o cupom fiscal.");
                if (!(ACBrECF.FechaCupom("*** OBRIGADO E VOLTE SEMPRE!!! ***", 0))) {
                    alert("Não foi possível terminar o fechamento do cupom fiscal.");
                    return false;
                }
                
                alert("Cupom Fiscal emitido com sucesso.");
            }
            </SCRIPT>
        </HEAD>
        <BODY>
            <center>
                <form>
                    <input type="button" value="Gerar Cupom Fiscal" onclick="gerarCupomFiscal()">
                </form>
            </center>
        </BODY>
    </HTML>

    Qualquer dúvida, estamos a disposição.


    EasyTEF Team




    • Editado EasyTEF Team quarta-feira, 1 de agosto de 2012 20:31
    quarta-feira, 1 de agosto de 2012 20:27