Ir para conteúdo
  • Cadastre-se

dev botao

DANFSe com o Número da RPS no lugar do Número da Nota.


Recommended Posts

  • Membros Pro

Ao imprimir o PDF da NFSe a partir da importação do XML, não está exibindo o Código de Verificação e no campo Número da Nota está exibindo o Número do RPS. Ao imprimir usando o método ImprimirPDF, está gerando dois arquivos, um com o número do RPS e o outro com o número da nota, mas ambos com a mesma informação.

Estou usando o provedor IssIntel que está em homologação para a cidade de Governador Valadares.

3124060259898200019056202400000000009-nfse.xml 3124060259898200019056000000000000014-nfse.pdf 3124060259898200019056202400000000009-nfse.pdf

Valter Patrick

Gerente de Projetos na empresa CTEC

(33)98400-0936

GitHub: https://github.com/valterpatrick

Link para o comentário
Compartilhar em outros sites

  • Consultores

Qual gerador?

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

  • Consultores

Boa tarde Valter,

Fiz um teste usando o programa exemplo do componente ACBrNFSeX com o Fortes Report.

Veja o resultado.

3124060259898200019056202400000000009-nfse.pdf

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
Em 11/06/2024 at 15:33, Italo Giurizzato Junior disse:

Boa tarde Valter,

Fiz um teste usando o programa exemplo do componente ACBrNFSeX com o Fortes Report.

Veja o resultado.

3124060259898200019056202400000000009-nfse.pdf 49.8 kB · 1 download

No caso pretendo continuar utilizando o Fast Report, vou ver se consigo alterar alguma coisa

 

Valter Patrick

Gerente de Projetos na empresa CTEC

(33)98400-0936

GitHub: https://github.com/valterpatrick

Link para o comentário
Compartilhar em outros sites

  • Consultores
1 hora atrás, valterpatrick disse:

No caso pretendo continuar utilizando o Fast Report, vou ver se consigo alterar alguma coisa

 

está utilizando qual fr3?

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

  • Membros Pro

Pessoal, descobri o problema.
Quando uso o método NFSeX.NotasFiscais.LoadFromFile() para ler o XML, não estava lendo alguns dados, mas o método NFSeX.NotasFiscais[0].LerXML() sim. 

Eu não cheguei a fazer alterações nos fontes, mas identifiquei este bug.

Isto para o FastReport.

Valter Patrick

Gerente de Projetos na empresa CTEC

(33)98400-0936

GitHub: https://github.com/valterpatrick

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Valter,

A carga do XML não tem nada haver com a gerador do DANFSE.

O gerador do DANFSE se utiliza das informações que constam nos campos das classes previamente lidas do XML.

Se você debugar vai ver que ao executar o LoadFromFile internamente é executado o LoadFromString e este executa o LerXML.

O que você esta fazendo é encurtar esse caminho executando direto o LerXML.

Você diz que quando usa o LoadFromFile algumas informações não são lidas, pois bem tenho quase certeza que você esteja informando somente o nome do arquivo a ser lido.

Mas veja no programa exemplo, mais precisamente o botão para imprimir o DANFSE.

    ACBrNFSeX1.NotasFiscais.Clear;

    // LoadFromFile - Usado para carregar o Xml de apenas uma nota
    ACBrNFSeX1.NotasFiscais.LoadFromFile(OpenDialog1.FileName, False);

Note que além de informar o nome do arquivo a ser lido, estou passando o valor False  no segundo parâmetro.

Se você não informar o segundo parâmetro, o componente assume que o seu valor é True e com isso ele acaba gerando os dados novamente após a leitura do XML, veja:

function TNotasFiscais.LoadFromString(const AXMLString: String;
  AGerarNFSe: Boolean = True): Boolean;
begin
  with Self.New do
  begin
    LerXML(AXMLString);    <==== Faz a leitura do XML

    if AGerarNFSe then    <=== Gera novamente o XML se o segundo parâmentro for True
      GerarXML;
  end;

  Result := Self.Count > 0;
end;

 

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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

Bom dia Valter,

A carga do XML não tem nada haver com a gerador do DANFSE.

O gerador do DANFSE se utiliza das informações que constam nos campos das classes previamente lidas do XML.

Se você debugar vai ver que ao executar o LoadFromFile internamente é executado o LoadFromString e este executa o LerXML.

O que você esta fazendo é encurtar esse caminho executando direto o LerXML.

Você diz que quando usa o LoadFromFile algumas informações não são lidas, pois bem tenho quase certeza que você esteja informando somente o nome do arquivo a ser lido.

Mas veja no programa exemplo, mais precisamente o botão para imprimir o DANFSE.

    ACBrNFSeX1.NotasFiscais.Clear;

    // LoadFromFile - Usado para carregar o Xml de apenas uma nota
    ACBrNFSeX1.NotasFiscais.LoadFromFile(OpenDialog1.FileName, False);

Note que além de informar o nome do arquivo a ser lido, estou passando o valor False  no segundo parâmetro.

Se você não informar o segundo parâmetro, o componente assume que o seu valor é True e com isso ele acaba gerando os dados novamente após a leitura do XML, veja:

function TNotasFiscais.LoadFromString(const AXMLString: String;
  AGerarNFSe: Boolean = True): Boolean;
begin
  with Self.New do
  begin
    LerXML(AXMLString);    <==== Faz a leitura do XML

    if AGerarNFSe then    <=== Gera novamente o XML se o segundo parâmentro for True
      GerarXML;
  end;

  Result := Self.Count > 0;
end;

 

Eu li o código fonte para entender como estava funcionando, ai cheguei neste novo método, mas farei o teste novamente.

  • Curtir 1

Valter Patrick

Gerente de Projetos na empresa CTEC

(33)98400-0936

GitHub: https://github.com/valterpatrick

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

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