Página 1 de 1

InterfaceEpsonNF.dll

Enviado: 20 Ago 2015 18:23
por malcarli
Boa noite, estou implementado a Nfc_e com Sat. Para imprimir vou usar a impressora não-fiscal epson tm-t20. Já estou tentando a vários dias, mas não consigo que as funções da dll funcionem. Estou usando harbour x minigui extended 2.5.1. Com fivewin funciona. Existe alguma incompatibilidade com a declaração da dll na minigui. Tentei fazer rotinas em c, usando diversas formas, mas sem sucesso. Alguém tem a solução ? Desde já agradeço qq ajuda. Obrigado

InterfaceEpsonNF.dll

Enviado: 26 Ago 2015 17:34
por momente
makcarli,

boa tarde!

Qual SAT vc esta utilizando (marca/modelo), outra coisa você tem certeza que esta impressora Epson TM-T20 esta homologada pra utilizar com esta SAT que você esta utilizando?

abraço!

InterfaceEpsonNF.dll

Enviado: 27 Ago 2015 08:55
por malcarli
Bom dia o sat que estamos usando é da sweda SS-1000. O Sat está funcionando perfeitamente. Para a impressão o cliente optou pela impressora da epson tm-t20, mas a dll que tem o comando de impressão do xml, não funciona em harbour com minigui. Funciona em fivewin. Vi que no fivewin as chamadas são diferentes. Este equipamento pode ser usado com o sat, assim como qq impressora não fiscal. Com impressoras da sweda, daruma e bematech funcionou sem problemas


Att.

Marcelo A. L. Carli
Marília/SP
Capital Nacional do Alimento ®

http://marcelo.lx.com.br
http://www.marazambon.blogspot.com/
Email / Skype: malcarli@life.com.br

******************************************************************************
Se for repassar, apague o meu nome e endereço.
Ajude a combater a propagação de vírus e spams
coloque TODOS os destinatários em CÓPIA OCULTA (Cco / Bcc)
******************************************************************************

InterfaceEpsonNF.dll

Enviado: 31 Ago 2015 10:56
por HASA
Marcelo, veja a ultima opção desse link, talvez ajude:
http://global.latin.epson.com/Peps/FAQ
:)Pos
HASA

InterfaceEpsonNF.dll

Enviado: 31 Ago 2015 13:47
por malcarli
Obrigado irei testar e comento o resultado aqui, posteriormente

Att.
Marcelo A. L. Carli
Marília/SP
Capital Nacional do Alimento ®
http://marcelo.lx.com.br
http://www.marazambon.blogspot.com/
email / Skype: malcarli@life.com.br

InterfaceEpsonNF.dll

Enviado: 09 Set 2015 17:12
por malcarli
Caro HASA, seguindo todos os passos do link que enviou, não deixa instalar conforme as instruções do próprio passo a passo. Em contato com o suporte da Epson, os mesmos não sabem explicar este processo de instalação

InterfaceEpsonNF.dll

Enviado: 10 Set 2015 11:58
por HASA
:))
Marcelo, agora vai, https://pctoledo.org/forum/viewto ... 423#p99423, :xau
HASA

InterfaceEpsonNF.dll

Enviado: 11 Set 2015 08:52
por malcarli
Obrigado, estava começando a fazer em miniprint também já que não consegui usar a dll. Queria a solução da dll para ganhar tempo na implementação, pois o ideal é não depender de nenhuma dll. Mas com certeza irá servir

InterfaceEpsonNF.dll

Enviado: 11 Set 2015 09:16
por HASA
:))
Bacana que gostou, sobre fazer via miniprint/hbprint também é possível, mas... tem um limite de pagina tipo não vai aceitar mais de 30 a 40 itens + qrcode, para vendas com poucos itens 30 no máximo ( acredito eu ) dará certo e fica com a liberdade de colocar imagem (logo da empresa) no cabeçalho, estou estudando como passar a barreira dos itens e poder imprimir com itens infinitos, mas... pelo que já li no forum do acbr não tem jeito, a luta continua...
:)Pos
HASA

InterfaceEpsonNF.dll

Enviado: 11 Set 2015 09:47
por malcarli
Hum não sabia deste detalhe. Usei o teste para imprimir em uma lx-300 e não imprimiu o qrcode. Vc testou na t-20, pois não estou com ela aqui no momento

InterfaceEpsonNF.dll

Enviado: 11 Set 2015 09:57
por HASA
:?
Não imprime o qrcode em matricial, somente em jato de tinta, laser ou térmica ok.
:)Pos
HASA

InterfaceEpsonNF.dll

Enviado: 11 Set 2015 10:21
por malcarli
obg irei testar então em uma laser

InterfaceEpsonNF.dll

Enviado: 11 Set 2015 10:58
por HASA
:?
Creio eu que não dará certo por causa dos comandos tipo D.O.S chr...., quando falei das jato de tinta e laser me refiro a impressão via Miniprint e Hbprint, ou seja, com os comandos dessas lib´s, com os comandos chr... em impressora matricial aceita expandido, negrito menos qrcode e código de barras acredito também que não, finalizando chr... para qrcode somente em térmicas.
HASA

InterfaceEpsonNF.dll

Enviado: 14 Set 2015 11:52
por malcarli
Finalmente o pessoal da Epson fez um exemplo usando (x)harbour x minigui utilizando a dll. Notem que tem outros parâmetros que não estão documentados. Tem que instalar ela como vender class, conforme as instruções abaixo. O problema se usar como vender class é que vc só consegui imprimir usando dll, não dá por exemplo para enviar comandos de impressão com miniprint, chr etc

Vejam o exemplo:

Código: Selecionar todos

/*****************************************************************************
 * SISTEMA  : ROTINA EVENTUAL                                                *
 * PROGRAMA : EXEMPLO_EPSON.PRG   		                             *
 * OBJETIVO : Impressão de XML do Cupom Fiscal Eletrônico - EPSON            *
 * AUTOR    :                                                                *
 * DATA     : 11.09.2015                                                     *
 * ULT. ALT.: 11.09.2015                                                     *
 *****************************************************************************/
#include <minigui.ch>
#define HB_DYN_CALLCONV_STDCALL             0x0100000 /* Windows API default */

Procedure Main()
	Public hLib
  
	REQUEST HB_LANG_PT
	HB_LangSelect([PT])
	REQUEST HB_CODEPAGE_PT850 &&& PARA INDEXAR CAMPOS ACENTUADOS
	HB_SETCODEPAGE([PT850])   &&& PARA INDEXAR CAMPOS ACENTUADOS

	Set wrap on
	Set talk off
	Set date briti             &&& data no formato dd/mm/aaaa
	Set dele on                &&& ignora registros marcados por deleção
	Set score off
	Set exact on
	Set ToolTip on
	Setcancel(.F.)             &&& evitar cancelar sistema c/ ALT + C
	Set cent on                &&& ano com 4 dígitos
	Set epoch to 2000          &&& ano a partir de 2000
	Set excl off               &&& abre arquivos em modo compartilhado
	Set navigation extended    &&& enter no lugar do tab
	Set language to portuguese &&& mensagens em português
	Set multiple off warning   &&& abrir 1 cópia somente
	Set browsesync on          &&& para o comando browse funcionar ok
	Set tooltipstyle balloon   &&& para mensagem dos campos em forma de balão
	Set menustyle extended     &&& padrão é standard, extended estilo office 2007
	Set programmaticchange off &&& introduzida na build 1.9.94

	define window main at 0, 0 width 200 height 150 ICON "demo.ico" NOTIFYICON "demo.ico" MAIN title [Impressão de XML do Cupom Fiscal Eletrônico - Epson] NOSIZE NOMAXIMIZE on init {|| fIniciar()}  on release {|| fLiberar()}

		define button btn_Abrirporta
			row 10
			col 10
			width 120
			caption [&Abrir Porta]
			action {|| fAbrirPorta()}
			DEFAULT .t.
		end button

		define button btn_Imprimir
			row 50
			col 10
			width 120
			caption [&Imprimir Nfc-e]
			action {|| fImprimirNfce()}
			DEFAULT .t.
		end button

		define button btn_FecharPorta
			row 90
			col 10
			width 120
			caption [&Fechar Porta]
			action {|| fFecharPorta()}
			default .t.
		end button
		
		on key escape action {|| thiswindow.release}
	end window

	main.center()
	main.activate()
Return (Nil)

Procedure fIniciar()
	If !File([InterfaceEpsonNF.dll])
	   MsgStop([InterfaceEpsonNF.dll não encontrada na pasta atual.], [Erro])
	   Quit
	Endif
	hLib := hb_libLoad( "InterfaceEpsonNF.dll" )

        If !File([sat.xml])
           MsgStop([Não achei o sat.xml para Imprimir], [Erro])
	   Quit
        Endif
Return (Nil)

Procedure fLiberar()
	hb_libFree( hLib )
Return (Nil)

Function fAbrirPorta()
	Local iRetorno:= 0

	iRetorno:= hb_DynCall( { "IniciaPorta", hLib, HB_DYN_CALLCONV_STDCALL }, [USB], , , 1, , 1, 1, .T.)
	If iRetorno == 0
		MsgStop([Erro ao abrir a porta], [Erro])
		Return (.F.)
	Else
		MsgInfo([Retorno IniciaPorta ] + Iif(valtype(iRetorno) == [N], str(iRetorno), iRetorno) , [Erro])
		Return (.T.)
	Endif
Return (Nil)

Function fImprimirNfce()
	Local iRetorno:= 0

	iRetorno:= hb_DynCall( { "EPSON_SAT_Imprimir", hLib, HB_DYN_CALLCONV_STDCALL }, [sat.xml],[C] , , 1, , 1, 1, .T.)
	If iRetorno == 0
		MsgStop([Erro ao imprimir o XML], [Erro])
		Return (.F.)
	Else
		MsgInfo([Retorno EPSON_SAT_Imprimir ] + Iif(valtype(iRetorno) == [N], str(iRetorno), iRetorno) , [Erro])
		Return (.T.)
	Endif

	iRetorno:= hb_DynCall( { "AcionaGuilhotina", hLib, HB_DYN_CALLCONV_STDCALL }, 1, , ,1, , 1, 1, .T.)
	If iRetorno == 0
		MsgStop([Erro ao cortar papel], [Erro])
		Return (.F.)
	Else
		MsgInfo([Retorno AcionaGuilhotina ] + Iif(valtype(iRetorno) == [N], str(iRetorno), iRetorno) , [Erro])
		Return (.T.)
	Endif


Return (Nil)

Function fFecharPorta()
	Local iRetorno:= 0

	iRetorno:= hb_DynCall( { "FechaPorta", hLib, HB_DYN_CALLCONV_STDCALL })
	If iRetorno == 0
		MsgStop([Erro ao fechar a porta], [Erro])
		Return (.F.)
    Else
		MsgInfo([Retorno FechaPorta ] + Iif(valtype(iRetorno) == [N], str(iRetorno), iRetorno) , [Erro])
		Return (.T.)
	Endif
Return (Nil)
Manual de instalação do vender class

Sobre o Equipamento: A impressora TM-T20 é Plug and Play - vem pronta pra uso. Certifiicada com o selo mundial Energy Star que atesta o baixo consumo de energia. Possibilidade de utilização de bobinas de 80mm ou 58mm de largura. Flexível, pode ser instalada na horizontal, vertical ou vertical fixada na parede. Economia de espaço graças a alocação interna da fonte. Os drivers são otimizados e estão disponíveis para Windows, Linux, Mac e Android. Impressão de código de barras bi-dimensional residente na memória - PDF147, QR Code (pronta para NFC-e e S@T), entre outros.
Técnica: Entrando no detalhe técnico, a TM-T20 com interface de comunicação USB possui as seguintes opções de configuração: 1 - Printer Class (Configuração Inicial) Este modo configura a impressora para trabalhar com o protocolo padrão LPR, sendo automaticamente reconhecida pelo Windows quando conectada no micro. O Windows detectará a impressora como um novo dispositivo com o nome “Suporte de Impressão”. 2 – Vender Class Este modo configura a impressora para trabalhar com protocolo próprio do fabricante, sendo necessário utilizar um driver USB específico, chamado TMUSB, para reconhecimento e comunicação por meio da porta USB nativa da Epson, o que facilita a integração com aplicações desenvolvidas com biblioteca/API InterfaceEpsonNF.dll. PASSO-A-PASSO PARA REALIZAR A CONFIGURAÇÃO - Instalar o TM-T20 Software Utility que pode ser baixado no link –
https://download.epson-biz.com/modules/ ... t=3&pid=37
- Ao iniciar o Utility, adicione uma nova porta USB e clique no botão OK para entrar no menu das configurações avançadas da impressora. - Clique na opção do menu “Comunicação I/F”, em seguida mude a definição USB para o tipo “Vender Class”. Em seguida clique no botão “Definir” para realizar a configuração da impressora. Neste momento o aplicativo Utility já pode ser fechado e a impressora desligada. Após realizar a configuração acima, a impressora já estará trabalhando no modo Vender Class e permitirá efetuar a instalação do driver TMUSB. - O driver TMUSB versão 400c, pode ser baixado no link - http://epsonstars.com.br/drivers/TMUSB400c.zip
- Após baixar o driver, basta executar Setup.exe e realizar a instalação, que é bastante simples e rápida. - Religue a impressora para que seja novamente reconhecida pelo Windows com o novo driver. Pronto, a comunicação com a impressora não fiscal através da biblioteca InterfaceEpsonNF.dll já pode ser iniciada. No link a seguir você poderá baixar a InterfaceEpson e 15 exemplos de uso em diversas linguagens de programação. http://global.latin.epson.com/br/Catalo ... -e-Suporte

InterfaceEpsonNF.dll

Enviado: 03 Fev 2020 11:26
por NiltonGM
Pessoal,

Para emitir NFC-e pela impressora Epson TM-T20 + SAT Fiscal Epson - SAT-A10 pelo Harbour, o que eu preciso no Harbour? Estarei usando o HMG 3.4.4 em aplicativo 32 bits Desktop Windows.
Grato à quem puder me orientar.