Ir para conteúdo
  • Cadastre-se

dev botao

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


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

Recommended Posts

  • Membros Pro
Postado (editado)

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

Editado por Paulo Alexandre Hostert
Faltou o anexo
  • Consultores
Postado

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

  • Consultores
Postado

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

  • Consultores
Postado

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

  • Consultores
Postado
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 !!

  • Moderadores
Postado
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
 

 

  • Membros Pro
Postado

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.

  • Consultores
Postado

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

  • Consultores
Postado

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

  • Moderadores
Postado
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

  • Curtir 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
 

 

  • Membros Pro
Postado (editado)

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?

Editado por Paulo Alexandre Hostert
  • Moderadores
Postado
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
 

 

  • Membros Pro
Postado (editado)

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.

Editado por Paulo Alexandre Hostert
  • Moderadores
Postado
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
 

 

  • Consultores
Postado
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 !!

  • Consultores
Postado

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

  • 2 semanas depois ...
  • Consultores
Postado

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

  • Curtir 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"

  • Membros Pro
Postado

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
 

  • Este tópico foi criado há 190 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...