Página 1 de 1

ACBR Exception: Cannot open file

Enviado: 27 Fev 2018 10:31
por jelias
Olá amigos,

Estou melhorando minhas rotinas para emissão de NF-e e fiz algumas alterações para evitar o seguinte retorno do AcbrMonitor. Que ressaltar, que, funciona tudo certinho, mais eu fico pensando porque apresenta este erro de abertura de arquivo, visto que estou seguinte a seguinte estrutura.

Passos para criação da NF-e.

1) Gero o arquivo .TXT na pasta do servidor e:\nfe\txt\mesano. Esta pasta NÃO é monitorada pelo ACBR.

Código: Selecionar todos

LOCAL cCHR:=CHR(13)+CHR(10)
cLine := 'NFE.CriarEnviarNFE("'+cCHR
cLine += "[infNFe]"+cCHR     
cLine += "versao=3.10"+cCHR  
cLine += "[Identificacao]"+cCHR
cLine += "dEmi="+DTOC(Emissao)+" "+ALLTRIM(TIME())+cCHR   
cLine += "dSaiEnt="+DTOC(Saida)+" "+ALLTRIM(TIME())+cCHR  
.
.
.
cLine += ["]+",1,1,,,,,1)"+cCHR
HB_MEMOWRIT( cArquivo, cLine )
2) Após gerar o arquivo na pasta, faço a cópia do mesmo para a pasta do ACBR.
// Apos montar o arquivo TXT da nota fiscal, envia para o ACBR

Código: Selecionar todos

__CopyFile( cDeonde, cPraOnde )
nCont:=1
do whil !FILE(cFileRetorno) .and. nCont<=120  // Aguarda dois minutos de retorno
   inkey(1); nCont++
end
if !FILE(cFileRetorno)
   MENSAGEM("Nao obtive retorno do SITE DA RECEITA, tente novamente!",3)
   retu
end
Acessando o LOG.TXT do acbr, percebo que em algum momento ele tentou abrir o arquivo e não conseguiu, e na próxima tentativa teve sucesso.
Exception: Cannot open file "E:\ACBrNFe\ENTNFE180493.TXT". O arquivo já está sendo usado por outro processo
27/02/2018 09:41:17 - NFE.CriarEnviarNFE("

Isso também ocorre em outros casos, como por exemplo quando envio um comando para gerar o arquivo PDF de uma NF-e.

Código: Selecionar todos

cRandom=TRANS(HB_RandomInt(9999999999),"9999999999")+".TXT"  // Gerar codigo aleatorio
cFileEnvio=(eFile+cRandom)
cFileRetorno=(sFile+cRandom)
//
cLine:= "NFE.IMPRIMIRDANFEPDF("+ALLTRIM(AL_SAIDA->arqxml)+")"+cCHR
HB_MEMOWRIT( cFileEnvio, cLine )
nCont:=1
do whil !FILE(cFileRetorno) .and. nCont<9000
     nCont++
end
FERASE( cFileRetorno ) // Apagar retorno de consulta
Exception: Cannot open file "E:\ACBrNFe\ENTNFE8240302492.TXT". O arquivo já está sendo usado por outro processo
Exception: Cannot open file "E:\ACBrNFe\ENTNFE8240302492.TXT". O arquivo já está sendo usado por outro processo
Exception: Cannot open file "E:\ACBrNFe\ENTNFE8240302492.TXT". O arquivo já está sendo usado por outro processo
Exception: Cannot open file "E:\ACBrNFe\ENTNFE8240302492.TXT". O arquivo já está sendo usado por outro processo
27/02/2018 09:41:04 - NFE.IMPRIMIRDANFEPDF(e:\nfe\XML\Fev2018\31180205741546000117550010001804921001804925-nfe.XML)
OK: Arquivo criado em: E:\nfe\xml\31180205741546000117550010001804921001804925-nfe.pdf
[infNFe]

Acredito que possa estar deixando algo passar neste processo, ou isso ocorre com os nobres colegas também?

Saudações,

Júlio.

ACBR Exception: Cannot open file

Enviado: 27 Fev 2018 15:11
por Kapiaba

ACBR Exception: Cannot open file

Enviado: 27 Fev 2018 17:46
por jelias
Amigo Kapiaba,

Grato pelo link, entretanto não encontrei na página uma explicação para os acontecimentos mencionados.

Saudações,

Júlio.

ACBR Exception: Cannot open file

Enviado: 27 Fev 2018 20:08
por Jairo Maia
Olá Júlio,
jelias escreveu:ou isso ocorre com os nobres colegas também?
Comigo nunca aconteceu.

Tente trocar:

Código: Selecionar todos

__CopyFile( cDeonde, cPraOnde )
Por:

Código: Selecionar todos

FileCopy( cDeonde, cPraOnde )

ACBR Exception: Cannot open file

Enviado: 28 Fev 2018 07:49
por jelias
Olá Jairo,

Amigo, fiz a modificação conforme sua sugestão e o problema continua.
Note que, mesmo quando eu crio um arquivo com apenas uma linha, com por exemplo uma consulta de status, a mensagem ocorre.

Esta mensagem não chega a ser um problema, pois depois de algumas tentativas o ACBR abre o arquivo e processa tudo certinho. O usuário não percebe nenhum problema, visto que só fui perceber quando acessei o LOG.TXT.

Já instalei diferentes versões para testar e nada.

Saudações,

Júlio.