Ir para conteúdo
  • Cadastre-se

dev botao

ECF Termoprinter


Mauro Asl
  • Este tópico foi criado há 4609 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia Amigos,,,,

Já faz uns 3 meses, que migrei para o projeto ACBr, para o uso com ECF´s, projeto esse que por sinal é maravilhoso !!

Já realizei testes com Daruma, Bematech, Elgin e Termoprinter, todas que tenho na minha bancada.

A última estou tendo um problema, ao chamar a função "TACBrECF.PafMF_MFD_Cotepe1704", sempre é devolvido as seguintes mensagens:

DLL_GERADOR - INFORMA A DATAREGIS O SEGUINTE CÓDIGO :-9

"ERRO AO EXECUTAR Gera_Atocotepe1704_periodo_MFD. Cod: -9 modelo não suportado."

Alguem já teve esse erro, como consigo resolver ? Já substitui versões de dll do sites do fabricantes (termoprinter da DataRegis) e nada !

Grato pelo ajuda !

Mauro Augusto Souza Lima / Sócio Desenvolvedor

Tels : (24) 2246-0548 - 2246-3051

www.limatech.com.br

limatech.png

Link para o comentário
Compartilhar em outros sites

Amigo, estados tentando levantar todas as DLL´s que são necessárias por ECF/Fabricante. Vendo seu tópico observei que voce ja estou com alguns ECF´s, poderia confirmar para nós as DLL´s que voce utilizou para cada fabricante.

Desculpa eu nao poder ajudar no seu problema pois não tenho Termoprinter.

Obrigado

Link para o comentário
Compartilhar em outros sites

Amigo, estados tentando levantar todas as DLL´s que são necessárias por ECF/Fabricante. Vendo seu tópico observei que voce ja estou com alguns ECF´s, poderia confirmar para nós as DLL´s que voce utilizou para cada fabricante.

Desculpa eu nao poder ajudar no seu problema pois não tenho Termoprinter.

Obrigado

Respondendo a sua pergunta:

Para os ECFs Daruma,Bematech,Elgin,Sweda e Termoprinter, são todas essas dll´s:

DarumaFrameWork.dll, Leitura.dll, LeituraMFDBin.dll,

BemaFI32.dll, BemaMFD.dll, BemaMFD2.dll,

Elgin.DLL, lebin.dll, ATO17.dll,

CONVECF.dll, swmfd.dll,

DLLG2.dll, DLLG2_Gerador.dll,

libeay32.dll.

algumas dll´s depende de outra para o funcionamento, por isso coloquei todas que estou utilizando aqui,,,

Reafirmando a minha pergunta, quem tiver uma solução, sou grato !!!

Eu envio todas as dll´s sempre pa os meus clientes no instalador.

Mauro Augusto Souza Lima / Sócio Desenvolvedor

Tels : (24) 2246-0548 - 2246-3051

www.limatech.com.br

limatech.png

Link para o comentário
Compartilhar em outros sites

  • Consultores

O erro que você mencionou é retornado pela DLL.

Talvez o modelo que você tem aí não seja suportado pela dll?

Você pode tentar com algum aplicativo de exemplo do fabricante e analisar o resultado. Se funcionar, verifique os parâmetros que estão sendo passados e compare com o código no ACBrECF.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

A dll utilizada pela termoprinter e a mesma dll dataregis, verifique se ela está atualizada.

Gente, consegui resolver o problema !!

Estou postando os trechos código da Class ACBrECFFiscNET alterado, para que o(s) desenvolvedores do projeto possam analisar as mudanças, ou possa optar por outras melhorias e atualizar nos fontes do projeto.

Lembrando, que eu não testei essas mudanças na DataRegis, somente na termoprinter.

Troquei em alguns pontos o PAnsiChar por AnsiString e Resolveu. Gerou o AtoCotep perfeitamente.

Trecho do código :

//dataregis | termoprinter

xGera_PAF : Function ( ComPort : AnsiString;

Modelo : AnsiString;

RegFileName : AnsiString;

COOInicial : AnsiString;

COOFinal : AnsiString) : integer; stdcall;

//xGera_PAF : Function ( ComPort : PAnsiChar;

// Modelo : PAnsiChar;

// RegFileName : PAnsiChar;

// COOInicial : PAnsiChar;

// COOFinal : PAnsiChar) : integer; stdcall;

xGera_AtoCotepe1704_Periodo_MFD : Function ( ComPort : AnsiString;

Modelo : AnsiString;

RegFileName : AnsiString;

DataReducaoInicial : AnsiString;

DataReducaoFinal : AnsiString) : integer; stdcall;

//xGera_AtoCotepe1704_Periodo_MFD : Function ( ComPort : PAnsiChar;

// Modelo : PAnsiChar;

// RegFileName : PAnsiChar;

// DataReducaoInicial : PAnsiChar;

// DataReducaoFinal : PAnsiChar) : integer; stdcall;

---------------------------------------------------------------------------------------------------

else if pos(fsMarcaECF, 'dataregis|termoprinter') > 0 then

begin

DiaIni := FormatDateTime('dd/mm/yyyy', DataInicial);

DiaFim := FormatDateTime('dd/mm/yyyy', DataFinal);

iRet := xGera_AtoCotepe1704_Periodo_MFD( PortaSerial,

ModeloECF,

NomeArquivo,

DiaIni,

DiaFim );

//iRet := xGera_AtoCotepe1704_Periodo_MFD( PAnsiChar( PortaSerial ),

// PAnsiChar( ModeloECF ),

// PAnsiChar( NomeArquivo ),

// PAnsiChar( DiaIni ),

// PAnsiChar( DiaFim ) );

if iRet <> 0 then

raise Exception.Create( ACBrStr( 'Erro ao executar Gera_AtoCotepe1704_Periodo_MFD.'+sLineBreak+

'Cod.: '+IntToStr(iRet) + ' - ' +

GetErroAtoCotepe1704(iRet) )) ;

--------------

else if pos(fsMarcaECF, 'dataregis|termoprinter') > 0 then

begin

//iRet := xGera_PAF( PAnsiChar( PortaSerial ) ,

// PAnsiChar( ModeloECF ),

// PAnsiChar( NomeArquivo ),

// PAnsiChar( CooIni ),

// PAnsiChar( CooFim ) );

iRet := xGera_PAF( PortaSerial ,

ModeloECF,

NomeArquivo,

CooIni,

CooFim );

if iRet <> 0 then

raise Exception.Create( ACBrStr( 'Erro ao executar Gera_PAF.'+sLineBreak+

'Cod.: '+IntToStr(iRet) + ' - ' +

GetErroAtoCotepe1704(iRet) )) ;

if not FileExists( NomeArquivo ) then

raise Exception.Create( ACBrStr( 'Erro na execução de Gera_PAF.'+sLineBreak+

': "'+NomeArquivo + '" não gerado' ))

end

if not FileExists( NomeArquivo ) then

raise Exception.Create( ACBrStr( 'Erro na execução de Gera_AtoCotepe1704_Periodo_MFD.'+sLineBreak+

'Arquivo: "'+NomeArquivo + '" não gerado' ))

end

-----------------------

OBS, eu não estou muito familiarizado com os fontes do projeto, aos poucos vamos contribuindo para melhorar cada vez mais...

Importante: Fiz um contato com o suporte da Termoprinter, com Sr Vinicius, que ajudou e muito nos problemas.

Outra coisa que fica aqui, para o pessoal não bater a cabeça, é que a extração do cotepe, sempre da falha com conversor usb-serial, pelo menos nos que testtei.

Após corrigir o fonte acima, erros e mais erros de violação até, que resolvemos fazer o teste em uma serial..

Abraços;

Mauro Augusto Souza Lima / Sócio Desenvolvedor

Tels : (24) 2246-0548 - 2246-3051

www.limatech.com.br

limatech.png

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Fica muito difícil comparar as alterações desse jeito... por favor anexe o .PAS no Post (pode ser zipado)

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Oi Mauro,

As modificações do jeito que estão podem causar incompatibilidade com D2010 ou D7... mas lembro que algo semelhante foi feito na classe da Daruma... vou verificar...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Humm.. olhando os fontes da Daruma vi que as modificações são quase idênticas a que você fez... Então, suas modificações estavam corretas..

Já enviei para o SVN, as mudanças necessárias, por favor atualize e teste novamente..

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4609 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.