Jump to content

dev botao

Erro impressão evento NFe TInfEventoCollection range is 0..0


Go to solution Solved by Paulo Alexandre Hostert,

Recommended Posts

  • Membros Pro
Posted (edited)

Estamos com o erro abaixo na impressão do evento da NF-e com o Fastrepot. Pelo que vi o problema veio com as alteração do dia 22/07.

raised exception class EArgumentOutOfRangeException with message 'List index out of bounds (-1).  TInfEventoCollection range is 0..0'.

Ponto que acontece o erro no código da Acbr:

image.thumb.png.1c41ba98b918368544c554b03925cf28.png

Código que utilizamos para impressão:

image.thumb.png.6f254b0abd1a2cfbfaeb84e2466ebae3.png

 

Anexei o XML que estamos tentando imprimir

 

XML Evento.xml

Edited by Paulo Alexandre Hostert
Faltou o anexo
Link to comment
Share on other sites

  • Consultores

Boa tarde!

Por favor, quando foi a última vez que atualizou seus fontes e reinstalou o ACBr?

No dia 25/07/2024 às 08h50 foi enviado ao SVN na Revision 34568 uma nessas units visando corrigir problema relacionado.

Caso sua última atualização e reinstalação tenha sido anterior a esta data, por favor, atualize e reinstale para realizar novos testes.

Consultor SAC ACBr

Diego Folieni
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 !!

Link to comment
Share on other sites

  • Consultores

Vamos realizar um teste em nosso ambiente e retornamos assim que descobrirmos algo.

Por favor, confirme qual é o arquivo .fr3 que esta utilizando.

Consultor SAC ACBr

Diego Folieni
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 !!

Link to comment
Share on other sites

  • Consultores

Bom dia!

Fiz um teste utilizando a versão do Fast disponível no GetIt(esta não é a versão indicada, pois não possui o FastScript)e o botão ImprimirEvento do programa exemplo que possui o seguinte código:

  OpenDialog1.Title := 'Selecione a NFe';
  OpenDialog1.DefaultExt := '*-nfe.XML';
  OpenDialog1.Filter := 'Arquivos NFe (*-nfe.XML)|*-nfe.XML|Arquivos XML (*.XML)|*.XML|Todos os Arquivos (*.*)|*.*';

  OpenDialog1.InitialDir := ACBrNFe1.Configuracoes.Arquivos.PathSalvar;

  if OpenDialog1.Execute then
  begin
    ACBrNFe1.NotasFiscais.Clear;
    ACBrNFe1.NotasFiscais.LoadFromFile(OpenDialog1.FileName);
  end;

  OpenDialog1.Title := 'Selecione o Evento';
  OpenDialog1.DefaultExt := '*.XML';
  OpenDialog1.Filter := 'Arquivos XML (*.XML)|*.XML|Todos os Arquivos (*.*)|*.*';

  OpenDialog1.InitialDir := ACBrNFe1.Configuracoes.Arquivos.PathSalvar;

  if OpenDialog1.Execute then
  begin
    ACBrNFe1.EventoNFe.Evento.Clear;
    ACBrNFe1.EventoNFe.LerXML(OpenDialog1.FileName);
    ACBrNFe1.ImprimirEvento;
  end;

O preview foi mostrado corretamente.

Pedi um apoio a um colega que possui a versão do Fast que tem o FastScript(versão indicada para ser usada).

Usando o código:

ACBrNFe.DANFE := ACBrNFeDANFEFR;
ACBrNFe.NotasFiscais.Clear;
ACBrNFe.NotasFiscais.LoadFromFile('CaminhoDoArquivoXMLdaNFe');

ACBrNFe.EventoNFe.Evento.Clear;
ACBrNFe.EventoNFe.LerXML('CaminhoDoXmlDoEvento');
ACBrNFe.ImprimirEvento;
//ACBrNFe.ImprimirEventoPDF;

Também não houve problemas.

Estou adicionando o código que disse estar usando em um botão no programa exemplo para fazer um teste, retorno assim que terminar.

Consultor SAC ACBr

Diego Folieni
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 !!

Link to comment
Share on other sites

  • Consultores
5 minutes ago, Diego Foliene said:

Estou adicionando o código que disse estar usando em um botão no programa exemplo para fazer um teste, retorno assim que terminar.

O print que disponibilizou parece não possuir todas as informações, por isso, não deu para reproduzir.

Mas o consultor que está fazendo o teste na versão correta do Fast também não relatou problemas usando:

ACBrNFe.DANFE := ACBrNFeDANFEFR;
ACBrNFe.NotasFiscais.Clear;
ACBrNFe.NotasFiscais.LoadFromFile('CaminhoDoXMLdaNFe');

ACBrNFe.EventoNFe.Evento.Clear;
ACBrNFe.EventoNFe.LerXML('ArquivoXMLdoEvento');

var LStream := TMemoryStream.Create;
<ACBrNFeDANFeFR>.ImprimirEventoPDF(LStream);
LStream.SaveToFile('C:\temp\MeuArquivo.pdf');
LStream.Free;

E também não teve problemas.

Existe algum motivo em específico para você não estar usando os métodos do componente e estar fazendo por fora?

Consultor SAC ACBr

Diego Folieni
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 !!

Link to comment
Share on other sites

  • Moderadores
Em 29/07/2024 at 18:03, Paulo Alexandre Hostert disse:

EVENTOS.fr3

 

fiz o teste para alguém no discord e veja

https://discord.com/channels/798697718800318484/800724885835743252/1267949329281323088

Creio que esteja com fontes desatualizados

lembre-se o ACBr é a pasta toda. e não deve ficar com marcações vermelhas as pastas devem ficar todas verdes

se quiser posso postar aqui a imagem com o seu xml também usando o exemplo do svn para gerar

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

Link to comment
Share on other sites

  • Membros Pro

Bom dia, 

Utilizamos a versão Full do fastreport que incluir os scripts.

Geramos dessa forma porque e geração do relatório acontece no servidor de aplicação, e precisamos obter o arquivo de visualização do fastreport para possibilitar a visualização pela tela do fastreport no cliente. Na verdade já utilizamos assim a muitos anos, inclusive com a DANFE que está funcionando normalmente.

Se houver outra forma de obter o arquivo do fastreport pelos métodos da acbr podemos mudar aqui, mais só localizamos para gerar PDF.

Link to comment
Share on other sites

  • Consultores

Veja se a rotina citada aqui atende as suas necessidades:

24 minutes ago, Diego Foliene said:

Mas o consultor que está fazendo o teste na versão correta do Fast também não relatou problemas usando:

ACBrNFe.DANFE := ACBrNFeDANFEFR;
ACBrNFe.NotasFiscais.Clear;
ACBrNFe.NotasFiscais.LoadFromFile('CaminhoDoXMLdaNFe');

ACBrNFe.EventoNFe.Evento.Clear;
ACBrNFe.EventoNFe.LerXML('ArquivoXMLdoEvento');

var LStream := TMemoryStream.Create;
<ACBrNFeDANFeFR>.ImprimirEventoPDF(LStream);
LStream.SaveToFile('C:\temp\MeuArquivo.pdf');
LStream.Free;

E também não teve problemas.

 

Caso não atenda, precisamos de mais informações da sua rotina de impressão.

On 7/29/2024 at 4:49 PM, Paulo Alexandre Hostert said:

Código que utilizamos para impressão:

image.thumb.png.6f254b0abd1a2cfbfaeb84e2466ebae3.png

O que é Sessao no seu exemplo, uma stream, uma classe?

Está carregando o XML da NFe também além do evento?

Consultor SAC ACBr

Diego Folieni
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 !!

Link to comment
Share on other sites

  • Consultores

Boa tarde.

Você já tem o componente de impressão em FACBrDanfe e também já tem o componente de notas em FACBrNFe.

Por favor, faça um teste usando o método próprio do componente.

No seu fonte, tente algo como:

//Presumo que você esteja lendo o XML da NFe antes
FACBrNFe.EventoNFe.Evento.Clear;
FACBrNFe.EventoNFe.LerXMLFromString(QNF.FieldByName('ARQUIVOXML').AsString);

var Stream := TMemoryStream.Create;
try
  FACBrDanfe.ACBrNFe := FACBrNFe;
  FACBrDanfe.ImprimirEventoPDF(Stream);
  
  Sessao.SetStream('ArquivoCCe', Stream);
finally
  Stream.Free;
end;

 

Consultor SAC ACBr

Diego Folieni
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 !!

Link to comment
Share on other sites

  • Moderadores
28 minutos atrás, Paulo Alexandre Hostert disse:

Já temos dessa forma para retornar o PDF também, e funcionada. 

É que precisamos do arquivo no formato do fastreport para abrir a tela do fastreport no client.

desculpe a pergunta. mas porque?

se o pdf já mandaria ok e não precisaria reprocessar novamente para ter ele

  • Like 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

Link to comment
Share on other sites

  • Membros Pro
Posted (edited)

Sem problemas, é porque no client, utilizamos por padrão para todos os relatórios da nossa solução, o visualizador do fastreport. E não gostaríamos de apresentar de outra forma só para esse relatório.

 

A DANFE continua funcionando normalmente, não podemos manter o mesmo padrão?

Edited by Paulo Alexandre Hostert
Link to comment
Share on other sites

  • Moderadores
6 minutos atrás, Paulo Alexandre Hostert disse:

Sem problemas, é porque no client, utilizamos por padrão para todos os relatórios da nossa solução, o visualizador do fastreport. E não gostaríamos de apresentar de outra forma só para esse relatório.

 

A DANFE continua funcionando normalmente, não podemos manter o mesmo padrão?

entendi. mas é interessante pois tu se obriga a manter alterações no cliente sobre isso. e gerando em todos os momentos o pdf e enviando ele só precisa se preocupar em um local .
essa parte estou divagando Ok. só para nível de pensamento se tens uma API

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

Link to comment
Share on other sites

  • Membros Pro
Posted (edited)

Entendo, mas gostaríamos de manter da forma atual, podendo utilizar o arquivo gerado pelo fastreport. É possível?

Não ficou claro o motivo da alteração que causou essa limitação, pois utilizamos o arquivo do fastreport, não somente no evento da NFe, mais na DANFE, na DANFSE, na DACTE e por ai vai. Todos ainda estão funcionando corretamente.

Não tem problema se precisarmos incluir algo na nossa lógica para continuar utilizando o arquivo do fastreport.

Edited by Paulo Alexandre Hostert
Link to comment
Share on other sites

  • Moderadores
14 minutos atrás, Paulo Alexandre Hostert disse:

Entendo, mas gostaríamos de manter da forma atual, podendo utilizar o arquivo gerado pelo fastreport. É possível?

que estranho pois eu só usei o xml do evento para fazer o teste

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

Link to comment
Share on other sites

  • Consultores
1 hour ago, Paulo Alexandre Hostert said:

Entendo, mas gostaríamos de manter da forma atual, podendo utilizar o arquivo gerado pelo fastreport. É possível?

Não ficou claro o motivo da alteração que causou essa limitação, pois utilizamos o arquivo do fastreport, não somente no evento da NFe, mais na DANFE, na DANFSE, na DACTE e por ai vai. Todos ainda estão funcionando corretamente.

Não tem problema se precisarmos incluir algo na nossa lógica para continuar utilizando o arquivo do fastreport.

Estou verificando junto aos demais consultores, damos um parecer assim que possível.

Consultor SAC ACBr

Diego Folieni
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 !!

Link to comment
Share on other sites

  • Consultores

Criada a #TK-5808 para análise do caso e parecer por parte da equipe de consultores.

Qualquer novidade será divulgada neste tópico.

Consultor SAC ACBr

Diego Folieni
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 !!

Link to comment
Share on other sites

  • 2 weeks later...
  • Consultores

Por favor atualize seus fontes, pelo SVN do ACBr... 

Já subimos para o nosso repositório de fontes, modificações que podem corrigir algum dos itens referentes a esse tópico...

Por favor atualize seus fontes, faça testes, e se possível comente em uma nova resposta, se o problema foi resolvido...

Dúvidas, sobre o uso do SVN ?  Clique aqui e veja um vídeo

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

  • Membros Pro

Bom dia, 

Havíamos ajustado temporariamente para impressão em PDF somente. Após a atualização do ACBR e reinstalação, passou a exibir a mensagem abaixo para impressão em PDF também.

list index out of bounds (-1).  TInfEventoCollection range is 0..0

 

O erro acontece no procedimento da linha 1576.

image.thumb.png.18be6ca4fc181c561fa9ab30614fbe4a.png
 

Link to comment
Share on other sites

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.