Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Boa tarde.

utilizo o Trunk2 e ocorre um erro  ao emitir uma Nfe (ao fechar o Danfe). 

ACBrNFe1.Configuracoes.Arquivos.PathNFe:='C:\TarpanParts\XmlGerado';
 ACBrNFe1.Configuracoes.Arquivos.PathSalvar:='C:\TarpanParts\XmlGerado';
 ACBrNFe1.Configuracoes.Arquivos.PathSchemas:='C:\TarpanParts\XmlGerado';

 ACBrNFe1.Configuracoes.Arquivos.PathEvento:='C:\TarpanParts\XmlGerado';

o componente esta duplicando o caminho e da erro ao salvar os arquivos PDF e proc-NFe.

Segue erro abaixo:

Att

Alexandre

Erro_ao_Salvar.JPG

Link para o comentário
Compartilhar em outros sites

1 hora atrás, alexandre.abaco disse:

Boa tarde.

utilizo o Trunk2 e ocorre um erro  ao emitir uma Nfe (ao fechar o Danfe). 

ACBrNFe1.Configuracoes.Arquivos.PathNFe:='C:\TarpanParts\XmlGerado';
 ACBrNFe1.Configuracoes.Arquivos.PathSalvar:='C:\TarpanParts\XmlGerado';
 ACBrNFe1.Configuracoes.Arquivos.PathSchemas:='C:\TarpanParts\XmlGerado';

 ACBrNFe1.Configuracoes.Arquivos.PathEvento:='C:\TarpanParts\XmlGerado';

o componente esta duplicando o caminho e da erro ao salvar os arquivos PDF e proc-NFe.

Segue erro abaixo:

Att

Alexandre

 

 

Equipe ACBr Sérgio Assunção
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

[email protected]

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Alexandre,

Tente algo do tipo:

sPathSalvar :=  'C:\TarpanParts\XmlGerado' ;

 ACBrNFe.Configuracoes.Arquivos.PathNFe          := Trim(sPathSalvar);
 ACBrNFe.Configuracoes.Arquivos.PathInu          := Trim(sPathSalvar);
 ACBrNFe.Configuracoes.Arquivos.PathEvento       := Trim(sPathSalvar);
 ACBrNFe.Configuracoes.Arquivos.PathSchemas      := Trim(sPathSchema);

 sPathMensal := ACBrNFe.Configuracoes.Arquivos.GetPathNFe(0);

 ACBrNFe.Configuracoes.Arquivos.PathSalvar := sPathMensal;
 

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Alexandre,

O componente não cria nenhum arquivo com o nome *-procNFe.xml

Esse nome é você que esta definindo?

Qual é o comando?

Verifique se o erro não esta na sua aplicação que ao usar o comando para salvar esse arquivo você não esta especificando o Path.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Italo... abaixo a minha rotina;

    IntToStr(ACBrNFe1.WebServices.Retorno.cStat) = '100' then
    begin
       // gravos OS dados no meu banco.

      NomeArq := ACBrNFe1.NotasFiscais.Items[0].NomeArq;
      if pos(UpperCase('-nfe.xml'),UpperCase(NomeArq)) > 0 then
         NomeArq := StringReplace(NomeArq,'-nfe.xml','-procNfe.xml',[rfIgnoreCase]);


      //ate aqui o caminho vem correto.. qdo chama a Unit  (acbrNfeNotasFiscais) que DUPLICA o caminho do arquivo... segue rotina abaixo.


      ACBrNFe1.NotasFiscais.Items[0].GravarXML(NomeArq);  // AQUI que ocorre o erro

      // Gerar PDF
      ACBrNFe1.NotasFiscais.ImprimirPDF;
    end

 

Unit... AcbrNfeNotasFiscais.

function NotaFiscal.CalcularNomeArquivoCompleto(NomeArquivo: String;
  PathArquivo: String): String;
begin
  if EstaVazio(NomeArquivo) then
    NomeArquivo := CalcularNomeArquivo;

  if EstaVazio(PathArquivo) then
    PathArquivo := CalcularPathArquivo
  else
    PathArquivo := PathWithDelim(PathArquivo);

  Result := PathArquivo + NomeArquivo; //aqui esta juntando 2x o caminho do arquivo.
end;

no aguardo.

att

Alexandre

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Alexandre,

Me diga porque você esta alterando o nome do arquivo XML?

Outra coisa se o método GravarXML esta colocando automático o caminho, já que você esta alterando o nome do XML, então porque não aproveita e remova do mesmo o caminho?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Italo... boa tarde!!

Desculpa minha ignorância, mas não entendi sua resposta.  Eu usava desta maneira na versão anterior e funcionava.  Apos o envio, não é preciso renomear o arquivo (add o procNFe)? esta rotina não esta correta?  Esses comandos constam no exemplo do trunk2

 como faço pra tirar esse caminho?? ou, o que estou fazendo de errado que não consigo salvar o arquivo xml?

att

Alexandre

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite Alexandre,

Primeiramente lembre-se que todos os componentes passaram por uma refatoração, sendo assim muita coisa mudou.

Segundo se você atribuir o valor True a propriedade: Configuracoes.Arquivos.Salvar o XML da NF-e será salvo automaticamente.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Italo.. bom dia!!

Mudei a propriedade Configuracoes.Arquivos.Salvar :=False, resolveu o erro mas não gera o arquivo com a Extensão procNFe.

o comando ACBrNFe1.NotasFiscais.Items[0].NomeArq; vem vazio... por isso não funciona a rotina abaixo

NomeArq := ACBrNFe1.NotasFiscais.Items[0].NomeArq;
      if pos(UpperCase('-nfe.xml'),UpperCase(NomeArq)) > 0 then
         NomeArq := StringReplace(NomeArq,'-nfe.xml','-procNfe.xml',[rfIgnoreCase]);

como proceder neste caso?

 

att

Alexandre

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Alexandre,

Mas o componente não gera nenhum arquivo cujo nome é *-procNFe.xml

Essa rotina faz parte da sua aplicação, correto?

Analisando o código do componente se você atribuir um valor a propriedade NomeArq antes do envio o componente já salva automaticamente o XML com o nome que você deseja.

Exemplo, supondo que você tenha 2 notas no lote para serem enviadas:

Configuracoes.Arquivos.Salvar :=True;

ACBrNFe1.NotasFiscais.Items[0].NomeArq := sNomeNota1;

ACBrNFe1.NotasFiscais.Items[1].NomeArq := sNomeNota2;

ACBrNFe1.Enviar(nLote);

Em sNomeNota1 e sNomeNota2 você define somente o nome completo ( nome.extensão) não inclua o Path.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Italo.... no exemplo NFe acontece o mesmo erro.

Clico no botão "Adicionar nfeProc ao XML" , escolhe um XML valido (assinado e com protocolo recebimento = 100) e ao Gravar da o mesmo erro.

Configuracoes.Arquivos.Salvar :=True;  

PathNFe:='C:\TarpanParts\XmlGerado'

Segue arquivo anexo pra tentar executar a Rotina.

--- outra maneira de enviar  ------

Se eu deixar a  Configuracoes.Arquivos.Salvar :=True, obtenho o arquivo Valido e Assinado (anexo) mas não consigo renomea-lo para "procNfe"... 

----  outra duvida ------

NomeArq := ACBrNFe1.NotasFiscais.Items[0].NomeArq; (exemplo: neste comando estou movendo C:\Tarpan\Xmlgerado\12345.xml, como faço pra pegar APENAS o nomedo arquivo 12345.xml)??

 

Não estou conseguindo gerar o arquivo validado de forma correta....por favor... preciso disso com MUITA urgência

 

obrigado.

att

Alexandre

 

 

35160105591213000159550010000011621053860804-nfe.xml

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Alexandre,

Acredito que você não entendeu a minha proposta.

Você quer obter o nome do arquivo gerado e salva-lo novamente com outro nome.

A minha proposta é deixar o componente fazer isso para você.

Depois que o componente é alimentado com os dados das notas você atribui o novo nome a propriedade NomeArq (para cada nota) e por fim execute o enviar.

Veja os passos com 2 notas depois que o componente já foi alimentado com os dados das notas:

ACBrNFe.Assinar;

for x := 0 to  ACBrNFe1.NotasFiscais.Count -1 do

     ACBrNFe1.NotasFiscais.Items[ x ].NomeArq := Copy(ACBrNFe.NotasFiscais.Items[ x ].NFe.inFNFe.ID, 4, 44) + 'procNFe.xml';

ACBrNFe.Enviar(numLote);

 

A execução do método Assinar, faz com que o XML seja gerado e assinado, desta forma a propriedade ID recebe de forma correta a chave da nota que no final faz parte do nome do XML a ser salvo no disco.

O loop feito com o For é usado para atribuir a propriedade NomeArq o novo nome do XML.

O método Enviar se encarrega de enviar o lote de notas para SEFAZ, se todas forem aceitas o XML de cada nota recebera o seu protocolo e por fim o XML atualizado será salvo em disco.

No final teremos os arquivos: <chave>-nfe.xml (gerado automaticamente pelo componente) e o <chave>-procNFe.xml gerado pelo fato da propriedade NomeArq não estar vazia.

Observação: Se você deixa a propriedade NomeArq vazia o XML é salvo no path definido em PathNFe. Por outro lado se NomeArq não for vazio o XML será salvo também no path definido em PathSalvar.

Espero ter ajudado.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

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