PAF-ECF - ALGUEM JA DESENVOLVEU PARA ECF EPSON?

MENDESCCO 11/08/2010 14:29:31
#349993
Boa tarde caros colegas.

Venho pedir atraves do forum, se alguem ja desenvolveu para a ECF Epson, utilizando comunicação direta com a Interface.dll que a propria fabricante oferece.
Motivo da pergunta? estou desenvolvendo para essa ECF Epson TM-T81, e ocorre problemas como o fechamento do VB 6.0 (ferramenta que utilizo para desenvolver), fecha toda a ferramenta e aplicação. Erro de Stacke Size (memoria)
Conversei muito tanto com o suporte da Epson e até mesmo o Engenheiro da Epson, porém até hoje nenhum conseguiu solucionar ou encontrar o problema.
O máximo foi que o Engenheiro falou é sobre o Stacke, que a dll da Epson necessita de 2.5MB de memoria para funcionar.
Então o Engenheiro me pediu para [Ô]aumentar[Ô] a memoria do compilador do VB 6.0 ( não sei se isso é possivel se alguém sabe como por favor me conte!)

Agradeço a todos que se colocarem a disposição para ajudar.
AJSO 11/08/2010 15:08:11
#350001
Resposta escolhida

Eu homologuei para equipamentos da EPSON utilizando a dll e não tive este problema.
Na classe do comando de inicio processo e termino
tem um módulo que vc tem que declarar
Module InterfaceEpson (Module.bas)
Classe de comando Class.cls
para checar erros nas classes execute o comando Ctrl + F5 no Vb6 e aparecerá erros ou não de sintaxes do compilador.
E para evitar erros de transação dos comandos da dll [Ô]InterfaceEpson.dll[Ô] tenha em mente que sua classe abriu a porta serial e executou várias transações e após isto vc tem que fechar seguindo a logica do manual dos equipamentos da EPSON

EPSON_Serial_Abrir_Porta
comandos
EPSON_Serial_Fechar_Porta
encerrar seu aplicativo

MENDESCCO 11/08/2010 15:43:35
#350003
AJSO,

Nao utilizei ainda o Module InterfaceEpson (Module.bas)
Classe de comando Class.cls
Nao tenho isso incluso no projeto, irei adicionar para testes.

Quanto ao ctrl + F5, sim, utilizo e muito, porém o problema não é erro de sintaxe ou argumento, etc. E sim o problema é justamente o que voce citou, das transações, que são várias checagens no PAF-ECF (conforme manda a LEI prevista de ECF atual).

O que vou lhe pedir é, para toda e qualquer execução de função, por exemplo, abertura de cupom fiscal, devo abrir e fechar a porta serial?
Para cada função que for executada na Epson, devo abrir e fechar SEMPRE porta serial?

Motivo da pergunta: o suporte da Epson, me falou que era pra ser RETIRADA aberturas e os fechamentos das portas seriais, deixando somente quando realmente necessario, para usar minima vez.

O que voce sugere neste meu caso na questão da porta serial?

Hoje faço o seguinte, quando inicio o sistema, abro a porta serial e nao a fecho, executo um monte de funcao ( verifica cupom aberto, se a ecf ta ligada, se tem cupom pendente, grande total, dados da impressora, nro de serie) enfim, varias coisas, e so fecho a serial quando finalizo um cupom, ou ainda quando saio do sistema.
Se puder analisar essa informação que lhe passo agradeço.
AJSO 11/08/2010 16:06:40
#350006
Ok
Para os teste se vc não seguir o exemplo que eles disponibilizam vc terá problemas na homologação do ECF(ECF Fiscal só pode ser utilizado se vc homologar)

com as classes vc pode tratar seu cmando com processor de identificação de erros para cada comando executado por isso que te falei das classes e Modulos.

Quanto ao comando de EPSON_Serial_Abrir_Porta uma vez aberta e testada vc não pode ficar abrindo e fechado abrindo várias vezes

exemplo eu faça o seguinte:
Quando vou abrir o Caixa com o um Usuário para Venda eu faço EPSON_Serial_Abrir_Porta dai faço N vendas e quando encerro o Caixa dando um Logout do Usuário ai
EPSON_Serial_Fechar_Porta.

Só um detalhe vc tem que prever quedas de enegia e desligamento inesperado do PC e da Impressora Fiscal eles testam isso na homologação tbem. Quanto ao conselho da EPSON dessas retiradas de abrir e fechar Portas (é sempre bom para o funcionamento de seu sistema abrir testar se ta aberte e fechar corretamente pois comunicação destes equipamentos não só EPSON mas todos os ECF é sempre bom fazer, evita problemas com o teu Software) pois para os fabricantes de ECF as impressoras nunca dão Problemas e sempre a culpa é do sistema. se tem aquele comando é porque em algum momento é necessário.
Quanto ao método que vc tá utilizando parece correto a forma que utiliza, dá uma olhada no manual Manual EPmfd_v2.2.3.pdf vai te ajudar a entender melhor os mecanismos da EPSON e como vc previnir os erros.

qq dúvida tamos ai

MENDESCCO 11/08/2010 16:23:58
#350007
AJSO,

Não consegui exemplo do Module InterfaceEpson (Module.bas) e Classe de comando Class.cls
Não sei se poderia me passar o exemplo disso. ( se é que tem pronto, ou se eu mesmo deveria criar, ficou não muito claro essa parte para mim)

Ja homologuei o PAF-ECF, menos no caso para a Epson, e hoje tenho a necessidade, pois tenho clientes que só tem Epson como ECF.

Estou tratando tudo no sistema como no seu exemplo citado anteriormente. Acredito estar seguindo uma lógica correta quanto a isso.

Obrigado pela ajuda dada, e aguardo retorno seu.

Abraço
AJSO 11/08/2010 16:37:03
#350008
Quanto aos Módulos e Classes não posso passar pois já modifiquei para meu PAF-ECF e TEF e adicionei todos os Fabricantes que homologuei
Daruma Bematech Elgin EPSON DataRegis Sweda


mas tenho um exemplo da EPSON de execução dos Comandos para ECF de equipamentos EPSON talves possa te ajudar

ele tá em VB.Net
MENDESCCO 11/08/2010 17:33:10
#350014
AJSO,

Baixei o exemplo o qual forneceu, e nele contem a InterfaceEpson.VB, que dentro existe o Module, cujo contém todas as funcoes para chamadas na dll.
No meu sistema, tenho isso, porém nao tenho o Module InterfaceEpson e o End Module. Isso influencia em algo?

Voce separou no seu aplicativo esse module como um .bas?
AJSO 11/08/2010 19:25:19
#350020
Isso mesmo neste arquivo conte os comandos para utilizar na impressoa Fiscal


eu fiz o seguinte criei um modulo declarando os comandos referenciando a dll Module.bas
fiz uma Classe para executar cada comando input e output de dados aplicção para impressora e vice-versa.
e por ultimo em cada ação da aplicação que trata dados para o ECF eu faço referencia apenas a classe e o comando Get e Set e Left para tratar cada refencia e os dados manipulados.
MENDESCCO 12/08/2010 09:27:50
#350042
Bom dia meu caro.

Realizei o procedimento de colocar um module para epson ( unica diferenca é que coloquei public declare function).
Mesmo assim ainda persistem erros.
em anexo 2 erros que ocorreram agora pela manhã.
MENDESCCO 12/08/2010 09:33:57
#350044
outro erro seria este.

Questão realmente é algo relacionado a memoria.

Nao sei se quando da erro, a dll da epson fica [Ô]cheia[Ô] e ai vira e mexe da pau.

Tenho tudo isolado como voce deu como exemplo ( so tenho a dll da epson, isolei o fonte sem dll das outras ecf)
Mesmo assim o erro persiste.

Voce desenvolveu seu paf em VB 6.0 ou VB.NET ?
Tópico encerrado , respostas não são mais permitidas