Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Pessoal Bom dia...

 

Tenho que Gerar o Arquivo da Nota Fiscal Gaucha...

 

Estou Gerando através desta função:

 

try
ACBrECF1.PafMF_GerarCAT52(DateEdit1.Date,DateEdit2.Date,'D:\');
except
  on e: Exception do
  MessageDlg('Erro: '+e.Message, mtInformation, [mbok],0);
  end;
 
 
 
So que sempre esta me retornando erro 103 - Erro Desconhecido....
 
O que poderia ser?
 
Essa função para a Nota Gaucha e a correta ou existe outra?
 
 
Em anexo o Log..
 
Obs: Impressora Daruma FS600

 

 

 

acbrlog.txt

Postado (editado)

As dll estão ok ?

é a do SVN?

 

Cara verifiquei num post do Daniel que tenho que usar a funcao 

 

ACBrECF1.PafMF_MFD_Cotepe1704(DateEdit1.Date, DateEdit2.Date, 'D:\');

 

porem ao executar essa funcao tambem da erro ja peguei todas as dll e debugando verifiquei onde esta o erro:

 

 

if AnsiUpperCase(PathDest) <> AnsiUpperCase(NomeArquivo) then
        CopyFileTo(PathDest, NomeArquivo) ;
 
PathDest = D:\ATO_MFD_DATA.TXT
NomeArquivo = 'D:\'
 
so que depois tem a seguinte instrucao:
 if AnsiUpperCase(PathDest) <> AnsiUpperCase(NomeArquivo) then
      DeleteFile(PathDest);
 
deletando o arquivo
 
e depois 
 Self.AssinaArquivoComEAD(PathArquivo);
 
PathArquivo='D:'
por isso ta DANDO O ERRO
 
---------------------------
Informação
---------------------------
Erro: Cannot open file "D:\". O sistema não pode encontrar o caminho especificado
---------------------------
OK   
---------------------------
 
 
Como posso corrigir isso?
 
Obs: Unit ACBrECFDaruma
 
 
Editado por dionatan
Postado (editado)

Vi que no seu post você menciona que no NomeArquivo está o path e no PathDest está o arquivo

será que não seria ao contrario?

 

 

Esta correto nao mudei nao veja no debug:

 

 

 

    NomeArq  :='ATO_MFD_DATA.TXT'
    DirDest  :='D:\'
    PathDest := 'D:\ATO_MFD_DATA.TXT'
    NomeArquivo := 'D:\';
 
 
Obs: Segue o procedimento...
 
 

procedure TACBrECFDaruma.ArquivoMFD_DLL(DataInicial, DataFinal: TDateTime;
  NomeArquivo: AnsiString; Documentos: TACBrECFTipoDocumentoSet;
  Finalidade: TACBrECFFinalizaArqMFD);
var
  Resp: Integer ;
  NomeArq, Relatorio, Tipo, DtInicial, DtFinal, DirDest, PathDest: AnsiString ;
  OldAtivo: Boolean ;
begin
  OldAtivo := Ativo;
  try
    case Finalidade of
      finMF: Relatorio := 'MF';
      finMFD: Relatorio := 'MFD';
      finTDM: Relatorio := 'TDM';
      finNFP: Relatorio := 'NFP';
      finNFPTDM: Relatorio := 'NFPTDM';
      finSintegra: Relatorio := 'SINTEGRA';
      finSPED: Relatorio := 'SPED';
    else
      raise EACBrECFERRO.Create(ACBrStr('Finalidade não reconhecida, finalidades válidas: MF, MFD, TDM, NFP, NFPTDM, SINTEGRA, SPED'));
    end;
 
    NomeArq  := 'ATO_' + Relatorio + '_DATA.TXT';
    DirDest  := IncludeTrailingPathDelimiter(ExtractFilePath(NomeArquivo));
    PathDest := DirDest + NomeArq;
 
    LoadDLLFunctions;
    ConfigurarDLL(DirDest);
 
    Ativo     := False;
    Tipo      := 'DATAM';
    DtInicial := FormatDateTime('ddmmyyyy', DataInicial);
    DtFinal   := FormatDateTime('ddmmyyyy', DataFinal);
 
    // utilizar o modo on-line quando a impressora estiver ativa e o off-line quando não estiver
    if OldAtivo then
    begin
      Resp := xrGerarRelatorio_ECF_Daruma(Relatorio, Tipo, DtInicial, DtFinal);
      if (Resp <> 1) then
        raise EACBrECFERRO.Create( ACBrStr( 'Erro ao executar xrGerarRelatorio_ECF_Daruma.'+sLineBreak+
                                         'Cod.: '+IntToStr(Resp)+' '+GetDescricaoErroDLL(Resp) )) ;
    end
    else
    begin
      Resp := xrGerarRelatorioOffline_ECF_Daruma(Relatorio, Tipo, DtInicial, DtFinal,
                                                 DirDest + 'Daruma.mf',
                                                 DirDest + 'Daruma.mfd',
                                                 DirDest + 'Daruma.inf');
      if (Resp <> 1) then
        raise EACBrECFERRO.Create( ACBrStr( 'Erro ao executar rGerarRelatorioOffline_ECF_Daruma.'+sLineBreak+
                                         'Cod.: '+IntToStr(Resp)+' '+GetDescricaoErroDLL(Resp) )) ;
    end;
 
    // tratar por a NFP gera os arquivos com nome no formato conforme a legislação
    if not(Finalidade in [finNFP, finNFPTDM]) then
    begin
      if not FileExists( PathDest ) then
        raise EACBrECFERRO.Create( ACBrStr( 'Erro na execução de xrGerarRelatorio_ECF_Daruma.'+sLineBreak+
                                         'Cod: '+ IntToStr(Resp) + ' ' + GetDescricaoErroDLL(Resp) + sLineBreak +
                                         'Modo: ' + IfThen(OldAtivo, 'On-Line', 'Off-Line') + sLineBreak +
                                         'Arquivo: "'+ NomeArq +'" não gerado' )) ;
 
      if AnsiUpperCase(PathDest) <> AnsiUpperCase(NomeArquivo) then
        CopyFileTo(PathDest, NomeArquivo) ;
    end;
  finally
    UnloadDLLFunctions;
    Ativo := OldAtivo;
 
    if AnsiUpperCase(PathDest) <> AnsiUpperCase(NomeArquivo) then
      DeleteFile(PathDest);
  end;
end;
 
 
 
dai o erro acontece em ACBREcf.pas na linha   Self.AssinaArquivoComEAD(PathArquivo) pois o PathArquivo e apenas D:\
 
procedure TACBrECF.PafMF_MFD_Cotepe1704(const DataInicial, DataFinal: TDateTime;
  const PathArquivo: String);
begin
  fsNumSerieCache := '' ;  // Isso força a Leitura do Numero de Série
  DoVerificaValorGT ;
 
  Self.ArquivoMFD_DLL(DataInicial, DataFinal, PathArquivo, [docTodos], finMFD);
  Self.AssinaArquivoComEAD(PathArquivo);
end;
Editado por dionatan
Postado

e se eu excluir esta linha   

 

if AnsiUpperCase(PathDest) <> AnsiUpperCase(NomeArquivo) then

      DeleteFile(PathDest);
 
e depois modificar  Self.AssinaArquivoComEAD(PathArquivo);
 
como eu poderia pegar o caminho do arquivo gerado?
  • Fundadores
Postado

Não há nada que precise ser ajustado nos fontes do ACBr.. muitos usam essa rotina com sucesso...  Tente você mesmo usando o Demo ECFTeste.exe

 

Os seus problemas parecem ser relacionados ao Path e nome de arquivo escolhido...

 

Tente o C: ou invez de D:

Evite o uso do diretório Raiz, use uma subpasta Ex: C:\ARQS\

Evite o uso de nomes longos espaços ou pontos no nome dos diretórios ou arquivos

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.

Postado (editado)

Não há nada que precise ser ajustado nos fontes do ACBr.. muitos usam essa rotina com sucesso...  Tente você mesmo usando o Demo ECFTeste.exe

 

Os seus problemas parecem ser relacionados ao Path e nome de arquivo escolhido...

 

Tente o C: ou invez de D:

Evite o uso do diretório Raiz, use uma subpasta Ex: C:\ARQS\

Evite o uso de nomes longos espaços ou pontos no nome dos diretórios ou arquivos

 

 

Não há nada que precise ser ajustado nos fontes do ACBr.. muitos usam essa rotina com sucesso...  Tente você mesmo usando o Demo ECFTeste.exe

 

Os seus problemas parecem ser relacionados ao Path e nome de arquivo escolhido...

 

Tente o C: ou invez de D:

Evite o uso do diretório Raiz, use uma subpasta Ex: C:\ARQS\

Evite o uso de nomes longos espaços ou pontos no nome dos diretórios ou arquivos

 

 

Daniel ontem fiz os passos como voce me disse... ate gerou os arquivos mas no final da geracao deu erro dizendo "impressora daruma nao respondendo"

 

bom reiniciei a aplicação, desliguei a impressora e simplesmente ela nao conecta mais....

 

fui no site da daruma e baixei o exemplo em delphi7 o rodei o exemplo deles dae a impressora conecta e consigo fazer tudo ....

 

bom deletei todos os arquivos do ecfteste do acbr e baixei de novo achando que poderia ter alterado alguma configuracao coloquei para procurar a porta no exemplo e simplesmente da o erro dizendo que a impressora daruma requer uma porta com...

 

estou anexando o log para observar...

 

ate ele fica ali na barra "Processando...." mas depois ja da o erro Impressora Não Respondendo...

 

Muito estranho

acbrlog.txt

Editado por dionatan
  • Fundadores
Postado

A DLL da Daruma muda a velocidade do ECF para 115.200... você deve fazer o mesmo no ACBrECF.Device.Baud

 

Porque a DLL muda a velocidade sem avisar ninguém só o fabricante pode esclarecer..

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.

Postado

A DLL da Daruma muda a velocidade do ECF para 115.200... você deve fazer o mesmo no ACBrECF.Device.Baud

 

Porque a DLL muda a velocidade sem avisar ninguém só o fabricante pode esclarecer..

 

 

E isso mesmo Daniel, Valeuuuuu...

  • 2 semanas depois ...
Postado

Olá eu estou gerando os arquivos para a Nota Fiscal Gaucha mas na hora de validar da erro no campo 6 Ie do estabelecimento. O arquivo gerado fica com a IE assim: 148/0050069 e deveria ser assim: 1480050069 sem a "/". O que estou fazendo de errado.

Estou usando o comando:   Ecf.PafMF_GerarCAT52(StrToDateTime(dtini.Text),StrToDateTime(dtfim.Text),'c:\comercio\NFGaucha');

Postado

Olá eu estou gerando os arquivos para a Nota Fiscal Gaucha mas na hora de validar da erro no campo 6 Ie do estabelecimento. O arquivo gerado fica com a IE assim: 148/0050069 e deveria ser assim: 1480050069 sem a "/". O que estou fazendo de errado.

Estou usando o comando:   Ecf.PafMF_GerarCAT52(StrToDateTime(dtini.Text),StrToDateTime(dtfim.Text),'c:\comercio\NFGaucha');

 

Pq voce nao usa o PafMF_MFD_Cotepe1704?

Postado

Ola pessoal, voces tem alguma alternativa para geracao de CAT52 em linux?

 

Estive testando o ACBRMonitor Linux, porem, são necessarias DLLs, ou no caso do linux, arquivos SO, que nao existem para todas impressoras.

Em nosso caso especifico, precisamos utilizar o protocolo Fiscnet (Dataregis, ZPM, Elgin), tipo de ecf 12 na configuracao do ACBRMonitor.

 

Desde já agradeço!

  • Fundadores
Postado

Qual o link da lei que regula a lei da Nota Fiscal Gaucha ?

 

Estranho exigir a CAT52 esse formato tem esse nome pois é uma CAT do ESTADO DE SP... Ou seja... o Fisco de RS não tem nada a ver com isso

 

o formato Ato Cotepe 17/04 SIM, é definido em lei federal (Cotepe)

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.

Postado

Pq voce nao usa o PafMF_MFD_Cotepe1704?

o link é :https://nfg.sefaz.rs.gov.br/site/empresa_manuais.aspx a opção manual de participação das empresas.

ele se refere ao ato cotepe 17 de 2004. e Usando PafMF_MFD_Cotepe1704  quando passo no validador o arquivo gerado pela daruma ele da o erro na IE da empresa por causa da "/". acertando isso ele valida mas da uma mensagem de alerta, isso nao impede o envio do arquivo.

A mensagem é: linha 1, coluna 113 a 115, campo nº 14. Situação: Campo com conteudo inválido - mfd. registro/erro: E01 - codigo do comando utilizado para gerar o arquivo difere de TDM.

estou usando a dll da daruma de 26/11/2012 e leituraMFDBin de 31/05/2012 e a versão do acbr 0.9.0b atualizado em 31/01/2013.

  • 1 mês depois ...
Postado

Bom dia,

 

Para a NFG (Nota Gaúcha), como estão tratando aquela inconsistência no arquivo gerado importado pelo software Nota Fiscal Gaúcha Desktop?

 

A mensagem é: "Campo Nro: 14.Situação: Campo com conteúdo inválido - 'MFD'.Registro/Erro:E01 - Código de comando utilizado para gerar o arquivo difere de TDM." causada pelo formato que esta sendo utilizado pela função PafMF_MFD_Cotepe1704 que informa a finalidade "finMFD" e, acredito pela msg, que deveria ser "finTDM"

  • 4 meses depois ...
  • Membros Pro
Postado

E tem mais um problema que encontrei, não sei se é relacionado a finTDM mas a razao social esta vindo no campo endereço e no lugar que deveria ser a razao social esta vindo o nome Fantasia da empresa, alguém passou por isso ja? 

 

Impressora fiscal Elgin X5.

  • Moderadores
Postado

Como o Daniel disse, a geração do arquivo é feita pela DLL, o ACBr não controla isso, vocês precisam entrar em contato com o suporte técnico da dll e impressora para resolver.

 

E tem mais um problema que encontrei, não sei se é relacionado a finTDM mas a razao social esta vindo no campo endereço e no lugar que deveria ser a razao social esta vindo o nome Fantasia da empresa, alguém passou por isso ja? 

 

Impressora fiscal Elgin X5.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • 3 semanas depois ...
Postado

Bom dia,

 

Para a NFG (Nota Gaúcha), como estão tratando aquela inconsistência no arquivo gerado importado pelo software Nota Fiscal Gaúcha Desktop?

 

A mensagem é: "Campo Nro: 14.Situação: Campo com conteúdo inválido - 'MFD'.Registro/Erro:E01 - Código de comando utilizado para gerar o arquivo difere de TDM." causada pelo formato que esta sendo utilizado pela função PafMF_MFD_Cotepe1704 que informa a finalidade "finMFD" e, acredito pela msg, que deveria ser "finTDM"

 

Estou com mesmo problema em um cliente, impressora Bematech

 

 "Campo Nro: 14.Situação: Campo com conteúdo inválido - 'MFD'.Registro/Erro:E01 - Código de comando utilizado para gerar o arquivo difere de TDM."

Att.:

Daniel

  • Este tópico foi criado há 4049 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.