Jump to content

dev botao

NFSeX Problema na emissão


Go to solution Solved by Italo Giurizzato Junior,
  • Este tópico foi criado há 920 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Bom dia!

Estou com um problema com o ACBrNFSeX, com as últimas mudanças, estou com efeito colateral que não sei se é algo que preciso fazer ou algum ajuste necessário no componente.

Ao enviar uma nfse (Bauru-SP, SilTecnologia, v2.03), a NFS-e está sendo gerada e validada pelo servidor.
No componente, a propriedade ACBrNFSeX1.NotasFiscais[0].Confirmada está True, mas os dados não são carregados para as propriedades, ex: ACBrNFSeX1.NotasFiscais[0].NFSe.Numero e ACBrNFSeX1.NotasFiscais[0].NFSe.CodigoVerificacao estão vazios.
 

 

img_002.png

img_001.png

Link to comment
Share on other sites

  • Consultores

Bom dia, 

Na unit ACBrNFSeXProviderABRASFv2 - procedure: TratarRetornoEmitir, coloque um ponto de parada na linha 466:

          ANota := TACBrNFSeX(FAOwner).NotasFiscais.FindByRps(NumRps);

Preciso saber se o Assigned(ANota) que esta no IF é verdadeiro ou false.

          ANota := TACBrNFSeX(FAOwner).NotasFiscais.FindByRps(NumRps);   // Colocar ponto de parada nesta linha

          if Assigned(ANota) then             // é verdadeiro ou false ?
            ANota.XmlNfse := ANode.OuterXml
          else
          begin
            TACBrNFSeX(FAOwner).NotasFiscais.LoadFromString(ANode.OuterXml, False);
            ANota := TACBrNFSeX(FAOwner).NotasFiscais.Items[TACBrNFSeX(FAOwner).NotasFiscais.Count-1];
          end;

 

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 to comment
Share on other sites

  • Consultores

Favor realizar um novo teste com a unit em anexo.

ACBrNFSeXProviderABRASFv2.pas

Veja se agora as propriedades vão estar preenchidas.

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 to comment
Share on other sites

  • Consultores

Boa tarde,

Acredito que ele deve estar gerando mais um item na lista NotasFiscais, como você esta lendo as propriedades de índice "0" esta pegando os dados do Rps, se pegar do índice "1" vai pegar da NFS-e.

Por favor verifique se realmente é isso que esta ocorrendo.

 

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 to comment
Share on other sites

  • Membros Pro
5 minutos atrás, Italo Giurizzato Junior disse:

Boa tarde,

Acredito que ele deve estar gerando mais um item na lista NotasFiscais, como você esta lendo as propriedades de índice "0" esta pegando os dados do Rps, se pegar do índice "1" vai pegar da NFS-e.

Por favor verifique se realmente é isso que esta ocorrendo.

 

Exatamente isso.

Não sei o porque, mas está ficando com duas nfse no componente.

Vou ver se acho o motivo.

 

Link to comment
Share on other sites

  • Consultores
  • Solution

O problema é o LoadFromString que sempre cria um novo item na lista.

function TNotasFiscais.LoadFromString(AXMLString: String;
  AGerarNFSe: Boolean = True): Boolean;
begin
  with Self.New do    // <= cria um novo item na lista de NotasFiscais
  begin
    LerXML(AXMLString);

    if AGerarNFSe then
      GerarXML;
  end;

  Result := Self.Count > 0;
end;

Faça mais um teste com as Units em anexo.

ACBrNFSeXNotasFiscais.pas

ACBrNFSeXProviderABRASFv2.pas

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 to comment
Share on other sites

  • Membros Pro
7 minutos atrás, Italo Giurizzato Junior disse:

O problema é o LoadFromString que sempre cria um novo item na lista.

function TNotasFiscais.LoadFromString(AXMLString: String;
  AGerarNFSe: Boolean = True): Boolean;
begin
  with Self.New do    // <= cria um novo item na lista de NotasFiscais
  begin
    LerXML(AXMLString);

    if AGerarNFSe then
      GerarXML;
  end;

  Result := Self.Count > 0;
end;

Faça mais um teste com as Units em anexo.

ACBrNFSeXNotasFiscais.pas 35 kB · 0 downloads

ACBrNFSeXProviderABRASFv2.pas 78 kB · 0 downloads

Ficou certinho agora.

Está transmitindo e retornando corretamente.
Não gerou um novo index de Notafiscal.

 

Muito obrigado pela atenção.
 

Link to comment
Share on other sites

  • Consultores

Obrigado por reportar.

Já esta no SVN essas alterações.

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 to comment
Share on other sites

  • Este tópico foi criado há 920 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.