Imprimir Cupom Fiscal
14/02/2006
0
Um de meus clientes disse que daqui um tempo ele vai querer emitir cupom fiscal na empresa dele e me perguntou se tinha como meu sistema fazer isso. (delphi + firebird)
Bom, dando uma garimpada no forum achei varios topicos relacionados e aproveitei muita coisa deles, a primeira coisa que fiz foi entrar no site da bematech e baixar o exemplo, a DLL e o emulador da impressora (pra não gastar dinheiro comprando uma :lol: ).
Do exemplo tirei algumas conclusões e aqui está o ponto G ... hehehe ... me corrijam se eu estiver errado por favor.
Para impressão de um cupom fiscal percebi os seguintes passos:
1º - Abre o cupom fiscal
2º - Vende Itens
3º - Inicia fechamento do cupom
4º - Efetua forma de pagamento do cupom
5º - Finaliza o cupom
Notei tb que existem alguns relatórios como:
Leitura X
Redução Z
Queria saber de vcs que tem experiência na área quais os processos que uma empresa que emite cupom fiscal deve seguir, por ex:
A impressão do cupom é naquela ordem mesmo ou tem mais algum passo?
No final do dia é necessário tirar a Redução Z?
Quando se emite a Leitura X?
Vi tb que o sistema deve ser homologado pela receita estadual, como é feita essa homologação? Eles verificam o sistema pra ver se tudo está correto?
Agradeço antecipadamente
Armando.boza
Posts
14/02/2006
Dopi
Permita-me indicar esse forum específico sobre [url=http://www.forumweb.com.br/foruns/index.php?showforum=416]Automação Comercial[/url]
No forum acima posso recomendar os seguinte tópicos:
http://www.forumweb.com.br/foruns/index.php?showtopic=38345
http://www.forumweb.com.br/foruns/index.php?showtopic=38700
14/02/2006
Marcosrodias
Eu tenho uma aplicacao em dephi 7 e firebird. E roda tudo bem.
Vc deve estar atento ao seguinte.
1) A sequencia de venda que vc colocou esta correta. Só lembre que pode dar desconto ou acrescimo e pode ter mais de uma forma de pagamentol Por exemplo voce pode pagar o cupom com dinheiro e cheque por exemplo.
2) Leitura x geralmente é usado para tirar relatorios voce tem até 10 minutos para a impressao. Caso passe deste tempo a impressora fecha o relatorio automaticamente.
3) A reduzao é obrigatario. No caso da bematech se voce nao tirar a reducao no dia quando voce ligar a ecf no proximo dia ele vair tirar a reducao sozinha.
4) Leve em conta os status da impressora. Se esta ligada se tem papel, se tem erro na memoria fiscal. Voce tem que monitorar essas informações.
5) Se quiser colocar tef tem os comando espcificos para isso mas voce vai ter que homologar junto a adminitradores de cartao de credito e ai vc vai ter que ter ter uma impressora e ir para sao paulo, caso voce seja de outra localidade e ainda vai pagar pela homologacao. Entçao pense nisso
6) Por causa do sintegra voce tem que gerar as vendas corretamente. Aqui em salvador/ba o fisco exigiu que todos os softwares fossem certificados por ela. Se voce quiser vender seu software aquie me salvaodr por exemplo vai ter que viar aqui para certificar. Mais uma vez voce paga para isso.
7) Geralmente as empressas fabricantes da ecf tem um driver para comunicação com a ecf e um exemplo em varias linguagems que vai lhe auxilir. Só é baixar e ver.
Qualquer coisa estout a disposicao.
Marcos Roberto / SSA BA
14/02/2006
Marcosrodias
Agora só uso das proprias ecfs;
14/02/2006
Dopi
Se vc quer uma opção que seja Multi-ECF experimente conhecer o componente ACBrECF do [URL=http://acbr.sf.net]Projeto ACBr[/url]... Veja [url=http://acbr.sourceforge.net/wiki/index.php/ECF]aqui os modelos suportados[/url] (mais de 10)
- Não usa nenhuma DLL, apenas a comunicação direta com o ECF via Serial
- É multi-plataforma (Delphi / Kylix)
- É OpenSource
- Suporte á vários outros equipamentos, como Impressoras de Cheques, Balanças, Display de Msgs, Gavetas, Micro-Terminais, etc...
- Componente para válidar CPF, CNPJ, I.E. (todos Estados do Brasil), Cheque, Cartao, PIS, CEP
14/02/2006
Armando.boza
Valew .. ja me clareou bastante ...
O que seria esse SINTEGRA ???
22/02/2006
Dberlese
Estou tentando utilizar os componentes da ACBr, assim como disse nosso amigo acima tem uma ´regra´ a ser seguida, no meu caso tenho uma impressora mecaf IM113I, é uma impressora não fiscal, gostaria apenas de imprimir um cupom com os itens da venda, nome do cliente e nada mais, porem nao estou conseguindo fazer isso, pois é registrado itens vendidos, tem q abir cupom, leiturax, reducao Z... fazer uma serie de coisas q sera desnecesario no meu caso.
Alguem sugere uma ideia?
Obrigado
22/02/2006
Edilcimar
22/02/2006
Andremuller
Voltei atrás e estou utilizando as interfaces dos fabricantes, onde algumas vem com exemplos e até aplicações que captam as saídas enviadas pelo teu programa e simulam a existência de um impressora, o que facilita pra quem não tem a impressora no local.
Basta organização, eu criei um pattern factory que instancia a classe da impressora a partir do modelo utilizado. Então numa Custom criei os métodos abstratos necessários para manipulação da impressora. Aí é só especializar a Custom de acordo com os modelos que vou disponibilizando de acordo com a necessidade dos clientes.
Essa é uma idéia de diversas possíveis
22/02/2006
Edilcimar
22/02/2006
Kitsystem
ACbr faz isto para vc
22/02/2006
Andremuller
É só criar uma Abstact Factory. Media dúzia de linhas e foi.
28/02/2006
Zumbi
vlw..
28/02/2006
Dopi
Acredito que o amigo não tenha conhecimento da diversidade de ´linguagens´ e maneiras de funcionamento entre os diversos ECFs utilizados no Brasil... Suportar 2 ou 3 ECFs até é possível com um monte de IFs e ELSEs, mas para suportar vários fabricantes e modelos acredito que o mais indicado seja usar os recursos da O.O. (herança e polimorfismo)
28/02/2006
Dopi
Estranho, pois tenho e-mails de usuários que tiveram um ganho real de performance usando o ACBr... Mas é claro que tudo depende da Marca, Modelo de ECF e do teste que vc fez... Gostaria de mais informações se possível.. No projeto: [i:472778e008]\ACBr\Source\Pascal\Demo\VCL\[b:472778e008]ECFTeste.dpr[/b:472778e008][/i:472778e008], existe a opção CupomFiscal, Teste de Velocidade, que cronometra a impressão de um cupom completo de 1 a n itens
No Inicio do tópico vc citou que está usando uma Mecaf [b:472778e008]NAO FISCAL[/b:472778e008], ou seja, uma impressora comum, e não um ECF... O ACBr possui um [b:472778e008]Emulador de ECF[/b:472778e008] interno, que é o modelo [b:472778e008]ecfNaoFiscal[/b:472778e008]... Ele é um programa em Delphi que imita um ECF em todas as operações, até mesmo com necessidade de Redu.Z e Leit.X... é muito útil para escrever um programa com suporte a ECFs para quem não tem um ECF para testes... se vc reparar no código fonte, verá que ele usa [b:472778e008]writeln[/b:472778e008] para imprimir...
O ACBr apenas cresce graças a coperação de usuários que estão dispostos a ajudar... ainda não temos manual dos componentes... Mas se vc procurasse um pouco mais, veria que todos os componentes possuem excelentes Demos na pasta
[i:472778e008]\ACBr\Source\Pascal\Demo\VCL\[/i:472778e008]
01/03/2006
Andremuller
Trabalhar com design patterns é a coisa mais OO que existe. E Abstract Factory é implementação pura de herança e polimorfismo.
Então o que você faz. Cria uma classe abstrata com os principais métodos de uma ECF. Depois cria uma classe concreta para cada ECF. Então cria uma ClassControl que instancie a classe concreta dentro de um objeto declarado como com o tipo da classe abstrata, pronto, esta aí a interface com a ECF.
Tipo assim:
TCustomECF = class(TObject) public AvancarLinha; abstract virtual; end;
TECFShalter = class(TCustomECF) public AvancarLinha; override; //aqui você coloca a Dll do fabricante end;
TControlECF = class(TObject) public property ECF: TCustomECF read FECF write FECF; constructor Create; reintroduce; end; TControlECF.Create; begin //aqui vai o único case de todo código, nada de monte de ifs e elses case GetModeloECF do ECF := TECFShalter.Create; end; end;
o que acontece então, em toda tua aplicação tu acessa o oControl.ECF.AvancarLinha que ele vai executar o método na classe concreta onde consta o real comando com a DLL.
Tá aí, esse é um pattern, porém existem diversos patterns que deixam o código mais limpo, organizado e OO. Pra quem tem interece procurar sobre o assunto, os principais autores são GOMS (The Gang of Four)
Clique aqui para fazer login e interagir na Comunidade :)