Ir para conteúdo
  • Cadastre-se

dev botao

Criação da Pasta no Componente ACBrNFSeX


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

Recommended Posts

  • Membros Pro

Boa tarde

Continuo com o problema em criação da pasta, no componente acbrnfseX
Tenho um certificado da matriz 41679536000162, sendo usado na filial
41679536000243.

O que esta acontecendo:
quando gero uma nota nova, os recibos, e os arquivos sooap, e de retorno, ele grava no CNPJ
onde indiquei em meu arquivo INI conforme abaixo e que é o CNPJ da FILIAL:
PathMensal := GetPathGer(0,edtEmitCNPJ.Text); *******alteração orientada pelo Italo
PathSalvar := PathMensal;
PathCan    := PathMensal;

Mas o arquivo XML ele esta criando uma nova pasta
com o CNPJ do certificado que é da matriz, e esta salvando a Nota(XML nele)
e isso acontece somente quando o CNPJ do certificado é diferente do INI.
já tentei mudar essa função abaixo, mas continuo com o problema.
o PDF ele salva certinho.

veja:
for i := 0 to ACBrNFSeX1.NotasFiscais.Count -1 do
     begin
          memoLog.Lines.Add(' ');
          memoLog.Lines.Add('NFS-e Numero....: ' + ACBrNFSeX1.NotasFiscais.Items[i].NFSe.Numero);
          memoLog.Lines.Add('Cod. Verificacao: ' + ACBrNFSeX1.NotasFiscais.Items[i].NFSe.CodigoVerificacao);
          memoLog.Lines.Add('Prestador.......: ' + ACBrNFSeX1.NotasFiscais.Items[i].NFSe.Prestador.RazaoSocial);
          memoLog.Lines.Add('Tomador.........: ' + ACBrNFSeX1.NotasFiscais.Items[i].NFSe.Tomador.RazaoSocial);

          if ACBrNFSeX1.NotasFiscais.Items[i].NFSe.SituacaoNfse = ACBrNFSeXConversao.snCancelado then
             memoLog.Lines.Add('A Nota encontra-se Cancelada.');

          if ACBrNFSeX1.NotasFiscais.Items[i].NomeArq <> '' then
          begin                                                                                                                                 mudei aqui: era GetPathNFSe() 
               memoLog.Lines.Add('Nome do arquivo.: ' + ACBrNFSeX1.Configuracoes.Arquivos.GetPathNFSe(0,edtEmitCNPJ.Text) + '\' +
                                                        ACBrNFSeX1.NotasFiscais.Items[i].NomeArq);

               if ACBrNFSeX1.Configuracoes.Arquivos.Salvar then
               begin
                    ACBrNFSeX1.NotasFiscais.ImprimirPDF;
                    memoLog.Lines.Add('==> Xml da nota salvo na pasta e com o nome informado acima.');
               end
               else
                   memoLog.Lines.Add('==> Xml da nota não salvo em disco.');

               // Na propriedade XmlNfse temos o XML da NFS-e
               LoadXML(ACBrNFSeX1.NotasFiscais.Items[i].XmlNfse, WBXmlNotas);
          end;
     end;
     
ele até indica que salvou na pasta correta da filial conforme abaixo, mas ele salva na pasta errada.
salva na pasta do CNPJ da matriz.
já debuguei, mas não achei em que momento ele muda a pasta.

NFS-e Numero....: 5
Cod. Verificacao: 2549BB44A9A19709FF90
Prestador.......: NDS CENTRO AUTOMOTIVO LTDA
Tomador.........: ANTONIO PAULO MANGILI
Nome do arquivo.: D:\MPJSPneus\NFSeLogs\JS_11 Jau\41679536000243\202208\Notas\3522084167953600024356000000000000005-nfse.xml
==> Xml da nota salvo na pasta e com o nome informado acima.
Arquivo Carregado de: 3522084167953600024356000000000000005-nfse.xml
 

 

se alguem puder me ajudar fico grato.

Paulinho

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Bom dia Paulo,

A procedure responsável por salvar o XML da NFS-e é esta:

procedure TACBrNFSeXProvider.SalvarXmlNfse(aNota: TNotaFiscal);
var
  aPath, NomeArq: string;
  aConfig: TConfiguracoesNFSe;
begin
  aConfig := TConfiguracoesNFSe(FAOwner.Configuracoes);
  aPath := aConfig.Arquivos.GetPathNFSe;

  NomeArq := TACBrNFSeX(FAOwner).GetNumID(aNota.NFSe) + '-nfse.xml';
  aNota.NomeArq := PathWithDelim(aPath) + NomeArq;
  aNota.Confirmada := True;

  if FAOwner.Configuracoes.Arquivos.Salvar then
    TACBrNFSeX(FAOwner).Gravar(NomeArq, aNota.XmlNfse);
end;

A linha que defini o Path onde ele vai ser salvo é:

  aPath := aConfig.Arquivos.GetPathNFSe;

Note que o GetPathNFSe esta sem os parâmetros.

Acredito a alteração a abaixo resolveria o problema, pois quando não informamos os parâmetros o CNPJ utilizado é o do certificado.

  aPath := aConfig.Arquivos.GetPathNFSe(0, aConfig.Geral.Emitente.CNPJ);

 

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

  • Membros Pro

bom dia @Italo Giurizzato Junior e obrigado pelas explicações.

essa procedure esta dentro de alguma unit que compõe os fontes do AcbrnfseX correto?

teria alguma forma de alterar isso, em minha unit(ERP), para que eu não altere os fontes do acbrNFSex??

obrigado

Paulinho

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Paulo,

Favor atualizar os fontes do ACBr, reinstale e faça novos testes.

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

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

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

  • Este tópico foi criado há 635 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.