Página 1 de 1

Comandos MFD com BEMATECH

Enviado: 12 Abr 2012 14:22
por marcos.gurupi
Alguem estah usando ou jah usou com sucesso os comandos:

Código: Selecionar todos

iRetorno:= dllcall(DllBem,32,"Bematech_FI_DownloadMFD",cArquivo,cTipoDownload,cCOOInicial,cCOOFinal,cUsuario)
e

Código: Selecionar todos

iRetorno := DllCall(DllBem,32,"Bematech_FI_FormatoDadosMFD",cArquivo,cArquivoDestino,cTipoFormato,cTipoDownload,cCOOInicial,cCOOFinal,cUsuario) 

Código: Selecionar todos

Local DLLBem
Local cCOOInicial:=cCOOFinal:=SPace(6)
Local cDataIni:=cDataFim:=Space(6)
Local cPrinterName

DllBem:= LoadLibrary("BEMAFI32.dll")

cArquivo      := "DOWNLOAD.MFD"
cTipoDownload := "2"
cCOOInicial   := "002210"
cCOOFinal     := '002210'
cUsuario      := '1'

cArquivoDestino := "Imagem.TXT"
cTipoFormato    := "0"
cTipoDownload   := "2"
cUsuario        := "1"

MsgRun("Puxando informacoes da E.C.F. Aguarde...")
iRetorno:= dllcall(DllBem,32,"Bematech_FI_DownloadMFD",cArquivo,cTipoDownload,cCOOInicial,cCOOFinal,cUsuario)
If iRetorno # 1
   Fim_Run()
	ok := Ver_ECFError(iRetorno)
Endif

iRetorno := DllCall(DllBem,32,"Bematech_FI_FormatoDadosMFD",cArquivo,cArquivoDestino,cTipoFormato,cTipoDownload,cCOOInicial,cCOOFinal,cUsuario) 
If iRetorno # 1
   Fim_Run()
	ok := Ver_ECFError(iRetorno)
Endif

FreeLibrary(DLLBem)
Fim_Run()
If MsgYesNo("Deseja Imprimir o cupom fiscal (2a via) ?")
   cPrinterName:=GetDefaultPrinter() // pega a impressora padrão
   nResult := PrintFileRaw(cPrinterName,cArquivoDestino, "Impressao de 2a via de cupom fiscal "+cOOInicial)
Endif
Return .T.
Estou usando o xhb 1.0.0 + hwgui 2.17

No meu caso o sistema fica lendo as informacoes na ECF, inclusive ele cria o arquivo download.mfd e nao sai disso, nao responde mais.

Tentei ler apenas um cupom impresso e ficou 2 horas processando e nao saiu disso.

Marcos Roberto.

Comandos MFD com BEMATECH

Enviado: 13 Abr 2012 13:14
por rochinha
Amiguinho,

Voce só usa este trecho de comando? não precisa direcionar porta, etc?

Comandos MFD com BEMATECH

Enviado: 13 Abr 2012 20:08
por marcos.gurupi
Rochinha, eu carrego a dll:

Código: Selecionar todos

DllBem:= LoadLibrary("BEMAFI32.dll")
Como vc deve saber ao carregar a dll a porta estah direcionada no arquivo bemafi32.ini

Eu tenho uma certa desconfianca que o problema estah na funcao dllcall() do xharbour, eu pensei em tentar usar o harbour mas sabendo a prossicao que será fazer compilar um exemplo fico tentando com o xharbour.

Comandos MFD com BEMATECH

Enviado: 15 Abr 2012 10:10
por lucimauro
Veja esse exemplo em harbour :

retorno_ecf:=DllCall( nLib32, 32, "Bematech_FI_ArquivoMFD","",strzero(coo_ini,6),strzero(coo_fim,6),"C","01","1",chave_publica,chave_privada,"1")