Acessar funcao da DLL Bematech

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

marcos.gurupi
Usuário Nível 4
Usuário Nível 4
Mensagens: 939
Registrado em: 06 Jul 2004 11:53
Localização: Gurupi-TO

Acessar funcao da DLL Bematech

Mensagem por marcos.gurupi »

Caros, eu estou tentando usar a nova funcao da BEMATECH para criar o SPED, atualizei a dll mas é apresentado a seguinte msg:

Erro ao mapear arquivo/Parametro incorreto

Essa msg está sendo retornada da propria funcao DLLCALL. Alguem saberia dizer o q pode ser?

Estou usando xhb 1.0.0 + hwgui 2.17
Segue abaixo o codigo:

Código: Selecionar todos

iRetorno :=DllCall(DllBem,32,"Bematech_FI_GeraRegistrosSpedMFD",cOrigem,cDestino,vDatai,vDataf,"T",vCFOP," ",vPis,vCOFINS)
Olhei o log da dll e nao tem msg de erro nenhuma.

Marcos Roberto.
Marcos Roberto
NetService Software
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Acessar funcao da DLL Bematech

Mensagem por rochinha »

Amiguinho,

Voce esta informando os parametros corretos? os dados passados em cada parametro são realmente do tipo exigido?

Parâmetros:

cOrigem: variável STRING com path+nome do arquivo contendo o download da MFD (.mfd).
cDestino: variável STRING com path+nome do arquivo texto de destino.
cDataInicial: variável STRING com a data inicial no formato "DD/MM/AAAA".
cDataFinal: variável STRING com a data final no no formato "DD/MM/AAAA".
cPerfil: variável STRING com o perfil do relatório a ser gerado, sendo "A", "B" ou "T", onde T = Todos os registros (A e B).
cCFOP: variável STRING com o código CFOP do estabelecimento, com o tamanho de 4 dígitos.
cCodObsLancFiscal: variável STRING com o código da observação do lançamento fiscal. Caracter branco caso opcional.
cAliquotaPis: variável STRING com o valor percentual da alíquota para o cálculo do PIS, com o tamanho de 4 dígitos sem a vírgula (0000) ou 5 dígitos com a vírgula (00,00).
cAliquotaCofins: variável STRING com o valor percentual da alíquota para o cálculo do COFINS, com o tamanho de 4 dígitos sem a vírgula (0000) ou 5 dígitos com a vírgula (00,00).

Observações:
Função implementada apenas para os modelos MP-2100 TH FI, MP-3000 TH FI, MP-4000 TH FI e MP-7000 TH FI.
Para que a função Bematech_FI_GeraRegistrosSpedMFD possa gerar os registros, é necessário que as dlls BemaMFD.dll e BemaMFD2.dll estejam presentes em seu computador, juntamente com a BemaFI32.dll e o BemaFI32.ini. Copie estes arquivos para o diretório de sistema do Windows (exemplo: C:\Windows\System32).
Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
3: Não foi possível criar arquivo TXT.
4: Data informada inválida.
-1 - Erro de execução da função.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_GeraRegistrosSpedMFD("C:\download.mfd", "C:\Resultado.txt", "01/09/2010", "30/09/2010", "T", "5929", " ", "00,00", "00,00")

// Exemplo em Delphi
cArquivoMFD := 'C:\download.mfd';
cArquivoTXT := 'C:\Resultado.txt';
cDataInicial := '01/09/2010';
cDataFinal := '30/09/2010';
cPerfil := 'T';
cCFOP := '5929';
cCODOBSFiscal := ' ';
cAliqPIS := '00,00';
cAliqCOFINS := '00,00';

iRetorno = Bematech_FI_GeraRegistrosSpedMFD( pchar( cArquivoMFD ), pchar( cArquivoTXT ), pchar( cDataInicial ), pchar( cDataFinal ), pchar( cPerfil ), pchar( cCFOP ), pchar( cCODOBSFiscal ), pchar( cAliqPIS ), pchar( cAliqCOFINS ) );
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
marcos.gurupi
Usuário Nível 4
Usuário Nível 4
Mensagens: 939
Registrado em: 06 Jul 2004 11:53
Localização: Gurupi-TO

Acessar funcao da DLL Bematech

Mensagem por marcos.gurupi »

Isso! Eu conferi todos esses detalhes com o suporte da bematech e o interessante que o log de comandos da dll nao apresenta nenhum erro, me parece q o erro estah vindo da propria funcao do xhb (dllcall()). A ECF q estou testando eh a MP4000 jah apaguei todos as dll existentes no micro e instalei d novo. Fiz um teste tb retirando todos os tratamentos da dll para ver se ainda apresentava a msg de erro e foi o q aconteceu, por isso penso q o erro q estah sendo apresentado eh da funcao do xhb

Marcos Roberto.
Marcos Roberto
NetService Software
marcos.gurupi
Usuário Nível 4
Usuário Nível 4
Mensagens: 939
Registrado em: 06 Jul 2004 11:53
Localização: Gurupi-TO

Acessar funcao da DLL Bematech

Mensagem por marcos.gurupi »

Putz mas ninguem aqui usa essa funcao pra trocar uma ideia?

Marcos Roberto.
Marcos Roberto
NetService Software
Responder