função bematch que gera sped- APANHANDO MUITO

19/07/2011

2

Pessoal estou apanhando muito para gerar o arquivo sped da impressora fiscal. Peguei o arquivo de ajuda que vem junto com a impressora e não funciona. O arquivo ini está funcionando pois já testei outros programas e funciona corretamente.  function Bematech_FI_GeraRegistrosSpedMFD( cArquivoMFD  : AnsiString;
                                            cArquivoTXT   : AnsiString;
                                            cDataInicial  : AnsiString;
                                            cDataFinal    : AnsiString;
                                            cPerfil       : AnsiString;
                                            cCFOP         : AnsiString;
                                            cCODOBSFiscal : AnsiString;
                                            cAliqPIS      : AnsiString;
                                            cAliqCOFINS   : AnsiString ): Integer; StdCall; External 'BEMAFI32.DLL';
procedure TForm1.GerarClick(Sender: TObject);
var
  iRetorno: Integer;
  cOrigem,cDestino,cDataInicial,cDataFinal,cPerfil,cCFOP,cCodObsLancFiscal,
  cAliquotaPis,cAliquotaCofins,cFlag,cTipoDownload,cDadoInicial,cDadoFinal,
  ACK, ST1, ST2, ST3,cARQUIVO: AnsiString; begin
  cOrigem           := string('c:\download.mfd'); // o arquivo mfd foi feito download antes
  cDestino          := String('c:\Resultado.txt'  );
  cDataInicial      := formatDateTime( 'DDMMYY', dataInicial.DateTime );
  cDataFinal        := formatDateTime( 'DDMMYY', dataFinal.DateTime   );
  cPerfil           := cbTipo.Text;
  cCFOP             := Cfop.text;
  cCodObsLancFiscal := CodObsFiscal.text;
  cAliquotaPis      := pis.Text;
  cAliquotaCofins   := cofins.Text;
  cFlag             := '1';
    cTipoDownload := '0';   cDadoInicial := cDataInicial;
  cDadoFinal   := cDataFinal;       iRetorno := Bematech_FI_GeraRegistrosSpedMFD( cOrigem ,
                                                  cDestino,
                                                  cDataInicial,
                                                  cDataFinal,
                                                  cPerfil,
                                                  cCFOP,
                                                  cCodObsLancFiscal,
                                                  cAliquotaPis,
                                                  cAliquotaCofins);
    case iRetorno of
      0: showmessage('Erro de comunicação.');
      1: showmessage('OK.Gerou o txt do Sped');
      3: showmessage('Não foi possível criar arquivo TXT.');
      4: showmessage('Data informada inválida.');
     -1: showmessage(' Erro de execução da função.');
     -2: showmessage('Parâmetro inválido na função.');
     -4: showmessage('O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.');
     -5: showmessage('Erro ao abrir a porta de comunicação.');
    -27: showmessage('Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).');
    end;     
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar