Ir para conteúdo
  • Cadastre-se

dev botao

NFE.GetPathNFe


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

Recommended Posts

  • Fundadores

Acho que não seria, mas provavelmente essa rotina chama a inicialização do NFe, que tenta carregar o certificado...

Afinal sempre será necessário o certificado, para outras atividades com NFe... Qual seria o cenário ?

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.

Link para o comentário
Compartilhar em outros sites

Eu sou desenvolvedor, e algumas vezes tenho que testar algumas rotinas simples.
Eu usei esse comando para saber onde estão guardados os XMLs das NFe, mas o meu certificado venceu faz tempo.
O ACBr diz que o certificado esta vencido e não me devolve o path...

Link para o comentário
Compartilhar em outros sites

Bom, na verdade foi uma solução que eu tentei para buscar os XML das NFe, pois apos enviar a Sefaz com o comando NFe.CriarEnviarNFe("[infNFe],texto com as tags,1,1,1, ,0,1) o ACBr imprime a NFe mas o sistema não consegue ler o SAI.TXT e acaba ficando sem a chave para gravar no database.
O mesmo acontece com as NFCe com o comando NFe.CriarEnviarNFe("[infNFe],texto com as tags ,1,1,1)
Então criei uma pequena rotina para procurar os XML na pasta do ACBrMonitorPlus e tambem na pasta setada nas configurações do ACBrMonitor. Sendo que em algumas vezes consegui localizar manualmente o XML de uma NF na pasta setada nas configurações e não o encontrei na pasta do ACBrMonitorPlus.
Como programo em VFP9 acho que não vai adiantar muito eu colocar os comandos.

Espero que tenha entendido a situação e se houver alguma outra solução para não precisar buscar os XML seria melhor.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa noite!
No ACBrMonitorPLUS em configurações, na aba [DFe] depois Certificados, tem uma opção: 
[  ] Verificar a Validade do Certificado.
Esta opção está desmarcada?

 

  • Curtir 1


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

 

 

 

 

Link para o comentário
Compartilhar em outros sites

Eu não preciso saber se o meu certificado é válido, eu sei que ele esta vencido.
Eu acredito que ser necessário ter um certificado válido para consultar variáveis do ambiente interno é um erro logico desnecessario.

Não custa nada corrigir esse erro.

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

O ideal é não contar muito com os XMLs que o Monitor Grava nas pastas... se a máquina for para tradicional "formatação".. eles serão perdidos.. Mantenha os XMLs em seu B.D.

Não precisa copiar trechos de código... pode ser até uma lista de comandos, na sintaxe do ACBrMonitor, em um bloco de notas.... apenas para eu tentar reproduzir o problema...

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.

Link para o comentário
Compartilhar em outros sites

            *Busca pasta onde estão guardados os xml das NFe
                cEntFile = 'C:\ACBrMonitorPLUS\ENT.TXT' 
                cSaiFile = 'C:\ACBrMonitorPLUS\SAI.TXT'
                cTmpFile = 'C:\ACBrMonitorPLUS\SAI.TMP'
                ddata=Dtoc(cnf.dtemi) *** data da emissão da NFe
                c_Txt = 'NFe.GetPathNFe('+ddata+',,,55)'
                nHandle = FCreate(cTmpFile,0)
                FWrite(nHandle, c_Txt, len(c_Txt) )
                FClose(nHandle)

                Copy File &cTmpFile TO &cEntFile && Cria ENT.TXT
                cRetorno=busca_ret(cSaiFile,'Buscando diretorios') *** função que busca o arquivo SAI.TXT e traz o resultado da resposta do ACBr
                If Empty(cRetorno)
                      Cancel
                Endif

Esse é o trecho do programa que lê o path onde o ACBr monitor grava os XML, e a partir desse ponto abre o XML, verifica se a NFe foi aceita pela Sefaz e le a chave da NFe para gravar no database e o sistema poder dar sequencia em outros processos.
Eu fiz isso porque algumas vezes, raras vezes, o ACBr não grava o XML valido na pasta C:\ACBrMonitorPLUS

Na verdade a unic coisa que me interessa é a chave da NFe aceita pela Sefaz.

Pergunta, posso gerar a mesma chave da NFe com o comando:
NFe.GerarChave(codigoUF,codigoNumerico,modelo,serie,numero,tpemi,emissao,CNPJ) ?

 

 

 

Editado por Walter
Link para o comentário
Compartilhar em outros sites

  • Moderadores
5 minutos atrás, Walter disse:

Pergunta, posso gerar a mesma chave da NFe com o comando:
NFe.GerarChave(codigoUF,codigoNumerico,modelo,serie,numero,tpemi,emissao,CNPJ) ?

Bom dia,

Sim esse comando retorna a chave completa se passar esses parâmetros solicitados da NFe.

Verifique se está marcado a opção para gerar os logs (LOG.txt no diretório raiz). Tudo o que é gerado e retornado pelo ACBrMonitor fica registrado nesse arquivo, então é referência para análise e para conseguirmos ajudar na resolução de qualquer problema.

Consultor SAC ACBr

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

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

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Quanto ao método NFe.GetPathNFe não deveria apresentar mensagem de certificado vencido de fato. É necessário verificar a sequencia de métodos no log.txt para verificar o que pode estar ocorrendo.

Consultor SAC ACBr

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

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

Link para o comentário
Compartilhar em outros sites

Daniel


Não entendi a sua resposta:

"O ideal é não contar muito com os XMLs que o Monitor Grava nas pastas... se a máquina for para tradicional "formatação".. eles serão perdidos.. Mantenha os XMLs em seu B.D.

Não precisa copiar trechos de código... pode ser até uma lista de comandos, na sintaxe do ACBrMonitor, em um bloco de notas.... apenas para eu tentar reproduzir o problema..."

Eu peço pro ACBr gerar os XML das NFe, se ele não me passa os XML eu estou no mato sem cachorro, tudo depende dos XML, para saber se a NFe foi aceita, para imprimir, para consultar na Sefaz, para o contador, etc.

E como vou gravar os XML no meu DB se o ACBr não retorna o XML assinado e aprovado pela Sefaz ?

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
  • Solution
3 horas atrás, Walter disse:

ERRO: 
DadosPFX, ArquivoPFX, URLPFX ou NumeroSerie não especificados !

A configuração do Certificado realmente é um requisito para uso da lib NFe, precisa estar configurado um desses campo para o Monitor ter acesso ao certificado.

 

3 horas atrás, Walter disse:

Eu peço pro ACBr gerar os XML das NFe, se ele não me passa os XML eu estou no mato sem cachorro, tudo depende dos XML, para saber se a NFe foi aceita, para imprimir, para consultar na Sefaz, para o contador, etc.

E como vou gravar os XML no meu DB se o ACBr não retorna o XML assinado e aprovado pela Sefaz ?

A Monitor sempre vai retornar o XML na resposta e gravar o XML em disco no caso de sucesso na autorização do NFe, o que é importante é não validar apenas pelo arquivo gerado em disco e sim no retorno do ACBrMonitor, pois se houver falha na autorização, o XML autorizado não será gerado e não há como saber o motivo, senão ler pela resposta do ACBrMonitor.

Consultor SAC ACBr

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

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

Link para o comentário
Compartilhar em outros sites

Bom, melhor voltar para a pergunta original:

Porque é necessario ter um certificado digital para o comando NFE.GetPathNFe funcionar ?

 

Por favor, se possiível leiam todas as postagens...

Editado por Walter
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Porque o componente inicializa a DFeSSL implicitamente...

Não havíamos pensado na possibilidade de usar algum método sem o certificado...

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.

Link para o comentário
Compartilhar em outros sites

Bom, verifica isso pois acredito que não existe necessidade de consultar o certificado quanto a sua validade ou prazo de vencimento...
É apenas a leitura da configuração do path no ACBrMonitor.
Talvez seja mais facil ler o ACBrMonitor.ini e buscar o path na unha...
 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
23 minutos atrás, Walter disse:

Bom, verifica isso pois acredito que não existe necessidade de consultar o certificado quanto a sua validade ou prazo de vencimento...
É apenas a leitura da configuração do path no ACBrMonitor.
Talvez seja mais facil ler o ACBrMonitor.ini e buscar o path na unha...
 

Boa ideia. tenta ai

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores
13 horas atrás, Walter disse:

Bom, verifica isso pois acredito que não existe necessidade de consultar o certificado quanto a sua validade ou prazo de vencimento...
É apenas a leitura da configuração do path no ACBrMonitor.
Talvez seja mais facil ler o ACBrMonitor.ini e buscar o path na unha...
 

Se ela precisa do CNPJ para calcular o Path, o certificado será necesário..

Podemos adicionar a tarefa em nosso BackLog, e será analisada conforme nossa disponibilidade

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.

Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia,

Foi incluída na lista para planejamento e futuramente entrar no backlog, mas conforme já foi citado dependerá de disponibilidade da equipe.

TK-2548

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • 7 meses depois ...
  • Consultores
Em 04/04/2022 at 16:54, Walter disse:

Bom, melhor voltar para a pergunta original:

Porque é necessario ter um certificado digital para o comando NFE.GetPathNFe funcionar ?

 

Por favor, se possiível leiam todas as postagens...

Boa tarde,

em analise a classe, existe alguns tratamentos no caso:

esse caso específico só irá ocorrer quando não houver o parâmetro de entrada o CNPJ informado e a composição solicitar o CNPJ a ser utilizado, se houver a string informada, o sistema não irá utilizar o certificado digital para capturar o CNPJ para geração do PATH.

no caso o comando é informado no parâmetro 1 

NFE.GetPathNFe (3) (sourceforge.io)

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...