Ir para conteúdo
  • Cadastre-se

dev botao

Problema com os arquivos ent.txt e sai.txt


Ver Solução Respondido por Daniel Simoes,
  • Este tópico foi criado há 1923 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Olá,

Estou testando a nfce no acbrmonitor e estou tendo alguns problemas com os arquivos ent.sai e sai.txt, estou fazendo a nfce da seguinte forma:

Primeiro Olho a conexão da intert local se está ok se não tiver, olho a conexão a conexão com a sefaz: NFE.StatusServco, se houver problema em uma delas, eu gero o xml em contingenia off line.

Depois de gerar o xml em contingencia ou normal faço a assinatura: NFE.AssinarNFe, depois valido o xml: NFE.ValidarNFe, em seguida valido as regras de negócio:NFE.ValidarNFeRegraNegocios, por fim envio o xml:NFe.EnviarNFe, se não houver problema o danfe é impresso.

Na contingência off line informo o tipo de emissão:NFe.SetFormaEmissao, depois imprimo o danfe: NFE.ImprimirDanfe, quando a internet volta a funcionar ou a sefaz, uma rotina envia o xml:NFe.EnviarNFe.

Mas está acontecendo algum problema, olhando o arquivo de log, vi que as vezes o acbrmonitor não consegue abrir o arquivo ent.txt e gera um arquivo sai.txt incompleto, notei também que o log não salva todos os processos que mencionei acima.

Gostaria de saber o que pode ser isso e se tem como saber pelo sistema se o acbrmonitor não abriu o arquivo ent.sai?

Estou enviando arquivo de log, tem informações dos dias 14/08 e 15/08/2019, no dia 14/08 não movimentação no acbrmonitor, apenas no dia 15/08.

Com certeza não é antivirus e nem firewal, pois se fosse, o problema aconteceria sempre, em todos os processos.

LOG.TXT

  • Moderadores
Postado

Bom dia

Este erro ( 15/08/2019 16:52:15 - Unable to open file "C:\sitex\NFCe\Entrada\ent.txt" ), ocorre quando o ACBrMonitor tentar ler o arquivo ent.txt e não consegue, provavelmente está preso pela sua aplicação.

Para evitar esse problema, faça a sua aplicação gerar o arquivo de entrada com outro nome, e só após toda a escrita do método renomeie para "ent.txt". Dessa forma evita esse tipo de problema do ACBrMonitor não conseguir acessar o arquivo.

O ACBrMonitor por sua vez, sempre exclui o arquivo ent.txt logo após a leitura do mesmo, então sua aplicação deve gerar um novo arquivo com outro método, apenas quando obter o retorno do método já enviado, isso evita de sua aplicação sobrepor um arquivo de entrada...

 

Um outro detalhe que não tem haver com o erro mas pode alterar no seu processo, no método: NFe.EnviarNFe(c:\sitex\nfce\arquivos\Assinados\26190822038686000142650110000000341000000351-nfe.xml, 44,0,1,",1,0,1)

O último parâmetro não precisa ser "1", isso fará o componente gerar e assinar e validar o XML novamente,

O Parâmetro de Impressora, passe aspas duplas duas vezes (,"",) para abrir e encerrar o parâmetro, ou não passe nada deixe vazio: (,,)

  • Curtir 1
Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Postado

Olá,

Abri o tópico "Problema com os arquivos ent.txt e sai.txt", mas fecharam o tópico para novas respostas e uma das respostas foi essa:
R)Para evitar esse problema, faça a sua aplicação gerar o arquivo de entrada com outro nome, e só após toda a escrita do método renomeie para "ent.txt". Dessa forma evita esse tipo de problema do ACBrMonitor não conseguir acessar o arquivo.,,

Eu gero o arquivo de entrada em outra pasta e só depois copio para a pasta do acbrmonitor, portanto esta resposta não satisfez com o meu problema.

 

 

Tópico: "Problema com os arquivos ent.txt e sai.txt"

Estou testando a nfce no acbrmonitor e estou tendo alguns problemas com os arquivos ent.sai e sai.txt, estou fazendo a nfce da seguinte forma:

Primeiro Olho a conexão da intert local se está ok se não tiver, olho a conexão a conexão com a sefaz: NFE.StatusServco, se houver problema em uma delas, eu gero o xml em contingenia off line.

Depois de gerar o xml em contingencia ou normal faço a assinatura: NFE.AssinarNFe, depois valido o xml: NFE.ValidarNFe, em seguida valido as regras de negócio:NFE.ValidarNFeRegraNegocios, por fim envio o xml:NFe.EnviarNFe, se não houver problema o danfe é impresso.

Na contingência off line informo o tipo de emissão:NFe.SetFormaEmissao, depois imprimo o danfe: NFE.ImprimirDanfe, quando a internet volta a funcionar ou a sefaz, uma rotina envia o xml:NFe.EnviarNFe.

Mas está acontecendo algum problema, olhando o arquivo de log, vi que as vezes o acbrmonitor não consegue abrir o arquivo ent.txt e gera um arquivo sai.txt incompleto, notei também que o log não salva todos os processos que mencionei acima.

Gostaria de saber o que pode ser isso e se tem como saber pelo sistema se o acbrmonitor não abriu o arquivo ent.sai?

Estou enviando arquivo de log, tem informações dos dias 14/08 e 15/08/2019, no dia 14/08 não movimentação no acbrmonitor, apenas no dia 15/08.

Com certeza não é antivirus e nem firewal, pois se fosse, o problema aconteceria sempre, em todos os processos.

  • Fundadores
  • Solution
Postado

A criação do ENT.TXT deve ser um processo linear...
Verifique se você tem várias threads na sua aplicação, tentando gerar o ENT.TXT ao mesmo tempo...

Outra dica, é NUNCA gerar o ENT.TXT diretamente... gere primeiro um arquivo temporário e depois de pronto e fechado, renomeie... ENT.TMP ->  ENT.TXT

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

Obrigado por reabrir o tópico.

Como mencionei antes, eu gero uma pasta diferente e depois eu copio para a pasta do acbrmonitor, onde verifico de já existe um arquivo e se existir deleto ele antes de fazer a cópia, mas pode ser isso, pois se demorar muitos segundos para finalizar a copia, talvez o acbrmonitor tente abrí-lo antes da cópia ser finalizada.

Vou fazer da forma sugerida, ou seja, gerar com o nome diferente e depois renomear, depois vou testar no computador que apresentou o problema, pois a configuração dele é inferior a do computador que estou desenvolvendo a aplicação.

 

 

 

  • Moderadores
Postado
Em 15/08/2019 at 21:07, Claudio Cipriano disse:

Primeiro Olho a conexão da intert local se está ok se não tiver, olho a conexão a conexão com a sefaz: NFE.StatusServco, se houver problema em uma delas, eu gero o xml em contingenia off line.

Bom dia!  Só uma recomendação a respeito do que notei aqui.

Se você faz este procedimento de NFe.StatusServico antes de emitir uma NFCe, corrija isto, pois se vc tiver um cliente que emite muitas NFCe e ficar consultando o status do serviço antes de emitir cada uma, você pode ser "penalizado" pela SEFAZ, pois eles consideram isto como "CONSUMO INDEVIDO" do servidor. 

Ou seja, existe mecanismo de retorno que vai te dizer se o servidor está parado, se esta parado  a curto prazo etc.  Então o envio consiste independente de você "saber" se o serviço está ou não funcionando.  Se tentou emitir e não deu certo, pelo retorno vc saberá se  a SEFAZ entrou em contingência, ou  se está parado etc.

Existe aqui mesmo no forum vários tópicos tratando do USO INDEVIDO do servidor SEFAZ ao emitir os documentos fiscais. 


logoacbr.pngConheça o Portal do Projeto ACBr

Ajude o Projeto ACBr crescer - Assine o SAC ACBr
Assine um dos planos de longa duração do SAC ACBr, obtenha Descontos Especiais, Parcele no Cartão e ainda ganhe Brindes Exclusivos. Saiba mais aqui

Conheça o ACBrLib, o ACBr de forma nativa para qualquer linguagem de programação. Saiba mais aqui

 

 

 

 

Postado

Olá Kiko Fernandes,

Eu ja vi a nota técnica sobre Consumo Indevido, acho que só seria penalizado se a verificação fosse várias vezes seguidas (consecutivas), como depois da verificação eu faço a nfce e a envio ao webservice, acho que assim a sefaz não irá punir como uso indevido.

Você disse que tem como saber se o serviço está ou não funcionado através do retorno quando é enviado a nfce para sefaz, como eu saberia pelo o arquivo de retorno, sai.txt? Tem algum exemplo deste arquivo que eu possa olhar?

Da forma que faço, eu já gravo a nfce no banco de dados em contingência, já de outra forma, o sistema tem que alterar a nfce já gravada como normal para contingência e depois refazer os passos para emitir a nfce, para isso eu teria que ter certeza que o serviço está paralisado, para não cometer erros ou então inutilizaria a já gravada e geraria uma nova nfce.

 

 

  • Moderadores
Postado
Em 18/08/2019 at 20:15, Claudio Cipriano disse:

Eu ja vi a nota técnica sobre Consumo Indevido, acho que só seria penalizado se a verificação fosse várias vezes seguidas (consecutivas), como depois da verificação eu faço a nfce e a envio ao webservice, acho que assim a sefaz não irá punir como uso indevido.

Boa tarde!
Manual: Consumo_Indevido_Aplicação_Cliente v.1.01.pdf  - Página 6

Citar

04.2 Consulta Status_Serviço:  Antecede ao envio do Lote de NF-e.

Algumas empresas adotaram a prática de primeiro efetuar uma Consulta Status_Serviço antes de enviar o Lote de NF-e.
Mesmo que a consulta Status_Serviço retorne que o ambiente de Autorização está normal, a aplicação da empresa deve verificar se o envio do Lote de NF-e foi feito com sucesso, portanto, não vemos vantagem na adoção desta técnica de efetuar a consulta Status_Serviço antes de enviar o Lote de NF-e.
Cabem as mesmas recomendações da proposição anterior, eliminado o comando da Consulta Status_Serviço nesta situação.

Fonte: http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=IjF66WihatE=  

 


 

Em 18/08/2019 at 20:15, Claudio Cipriano disse:

Você disse que tem como saber se o serviço está ou não funcionado através do retorno quando é enviado a nfce para sefaz, como eu saberia pelo o arquivo de retorno, sai.txt? 

Você lê todo retorno que recebe e busca pelo status 100 como autorizado não é assim que você faz? 
Não obtendo o status 100  você deve ter no seu sistema um mecanismo que leia que status está ali e fazer o sistema proceder conforme for necessário.

Exemplos dentre tantos códigos que podem ser retornados, mas que imagino que não pode faltar seria no mínimo um  tratamento para estes resultados:

Digamos que você fez a tentativa de emissão e recebe o status 108  ou 109 você terá condições de saber o que está acontecendo. 
Não obtendo nenhum retorno, vai da sua criatividade em executar algum comando que identifique se tem internet ou se a rede local caiu etc. 

Citar

 

100 - Autorizado o uso da NF-e:  este retorno será apresentado, quando não houver nenhuma falha/erro nos dados informados na NF-e enviada, esta mensagem, é a confirmação da emissão da nota.

102 - Inutilização de número homologado: este retorno será apresentado quando for inutilizado com sucesso uma faixa de numeração.

105 - Lote em processamento: este retorno será apresentado quando for realizado uma consulta pelo número de recibo do lote e o Webservice ainda não terminou de processar o XML enviado.

108 - Serviço Paralisado Momentaneamente (curto prazo): este retorno será apresentado quando estiver sendo realizado algum tipo de comunicação com o Webservice e o mesmo estiver passando por alguma manutenção.

109 - Serviço Paralisado sem Previsão: este retorno será apresentado quando o Webservice estiver parado, para realizar alguma manutenção ou alteração, porém, irá levar um certo tempo para finalizar a manutenção, por este motivo, que é retornado sem previsão.

101 - Cancelamento de NF-e homologado: este retorno era apresentado para o cancelamento de uma NF-e, porém este tipo de cancelamento foi desativado, ficando em vigor, apenas o cancelamento por evento.

135 - Evento registrado e vinculado a NF-e: recebido pelo Sistema de Registro de Eventos, com vinculação do evento na NF-e.

 

 


logoacbr.pngConheça o Portal do Projeto ACBr

Ajude o Projeto ACBr crescer - Assine o SAC ACBr
Assine um dos planos de longa duração do SAC ACBr, obtenha Descontos Especiais, Parcele no Cartão e ainda ganhe Brindes Exclusivos. Saiba mais aqui

Conheça o ACBrLib, o ACBr de forma nativa para qualquer linguagem de programação. Saiba mais aqui

 

 

 

 

×
×
  • 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.