Ir para conteúdo
  • Cadastre-se

dev botao

ERRO: List index (0) out of bounds ao enviar segunda carta de correção.


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

Recommended Posts

  • Membros Pro
Postado

estamos enviando este comando para o ACBRMonitor Plus do SEGUNDO EVENTO da NFe:


NFE.CARTADECORRECAO("[CCE]
idLote=1
[EVENTO002]
chNFe=31190403639851000177550010000055081000055084
cOrgao=31
CNPJ=03.639.851/0001-77
dhEvento=24/04/2019 16:29
tpEvento=110110
nSeqEvento=2
versaoEvento=1.00
xCorrecao=FRETE POR CONTA DO DESTINATARIO - PESO DO PRODUTO 1KG  - VOLUME 1 CX
")
ERRO: List index (0) out of bounds
 

  • Moderadores
Postado

Vou verificar o tratamento deste erro, mas deve enviar [EVENTO001], a sequencia deve ser incrementada apenas se estiver enviando mais de um evento no mesmo arquivo.

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Membros Pro
Postado

José M. S. Junior, quanto envio [EVENTO001] o monitor retorna Duplicidade de Eventos. é a SEGUNDA carta de correção para a MESMA NOTA.

  • Administradores
Postado

Tópico movido para a área do SAC, para que o SLA de respostas seja considerado

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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 Duarte,

Neste caso você tem que incrementar o campo: nSeqEvento, pois é ele que diz quantas cartas de correções foram enviadas para a mesma nota.

Quando enviamos a primeira CC-e o valor de nSeqEvento é 1, ao enviar a segunda tem que ser 2 e assim por diante.

Reafirmo: devemos incrementar esse campo quando se tratar da mesma nota.

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

  • Membros Pro
Postado
14 horas atrás, Italo Jurisato Junior disse:

Boa tarde Duarte,

Neste caso você tem que incrementar o campo: nSeqEvento, pois é ele que diz quantas cartas de correções foram enviadas para a mesma nota.

Quando enviamos a primeira CC-e o valor de nSeqEvento é 1, ao enviar a segunda tem que ser 2 e assim por diante.

Reafirmo: devemos incrementar esse campo quando se tratar da mesma nota.

bom dia, gostaria de saber se o meu código foi lido, pois o INCREMENTO do valor de nSeqEvento foi executado. Quando Envio [EVENTO001] e nSeqEvento=2 o Monitor me retorna Duplicidade de Evento e Quando envio [EVENTO002] e nSeqEvento=2 retorna o erro que reportei neste tópico(como já afirmei anteriormente). Quero deixar claro que tentei todas as formas possíveis que a documentação me permite fazer antes de abrir este tópico. Não seria prudente  se ao primeiro sinal de problemas abrir algum tópico pra que vocês resolvessem pra mim sem nem ao menos esgotar todas as minhas possibilidades. Reitero que se houver qualquer coisa em meu código que esteja errada terei o maior prazer em acertar e liberar a carta de correção do meu cliente que está parado.

  • Consultores
  • Solution
Postado

Bom dia Duarte,

A estrutura do arquivo é:

[CCE]
[EVENTO001]
(...)
[EVENTO002]
(...)
até
[EVENTO999]
(...)

Logo da forma que você esta fazendo esta errado, ou seja, o numero do primeiro evento no arquivo ser 002, isso explica o erro de index que aparece, pois a rotina esta a espera da sessão [EVENTO001] se não encontra considera que o arquivo esta vazio.

Se a nota já possui uma carta de correção e esta seria a segunda, logo deveria funcionar com o valor 2 em nSeqEvento.

Se você monta o arquivo com a sessão [EVENTO001] e nSeqEvento=2 ocorre erro de duplicidade, a minha suspeita é que a primeira carta de correção enviada o valor de nSeqEvento foi 2.

A minha sugestão é que você informe o valor 3 para nSeqEvento.

Seria de grande ajuda para confirmar a minha suspeita, se você anexar o XML *-procEventoNFe.xml da primeira carta de correção dessa nota.

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

  • Membros Pro
Postado
1 hora atrás, Italo Jurisato Junior disse:

Bom dia Duarte,

A estrutura do arquivo é:


[CCE]
[EVENTO001]
(...)
[EVENTO002]
(...)
até
[EVENTO999]
(...)

Logo da forma que você esta fazendo esta errado, ou seja, o numero do primeiro evento no arquivo ser 002, isso explica o erro de index que aparece, pois a rotina esta a espera da sessão [EVENTO001] se não encontra considera que o arquivo esta vazio.

Se a nota já possui uma carta de correção e esta seria a segunda, logo deveria funcionar com o valor 2 em nSeqEvento.

Se você monta o arquivo com a sessão [EVENTO001] e nSeqEvento=2 ocorre erro de duplicidade, a minha suspeita é que a primeira carta de correção enviada o valor de nSeqEvento foi 2.

A minha sugestão é que você informe o valor 3 para nSeqEvento.

Seria de grande ajuda para confirmar a minha suspeita, se você anexar o XML *-procEventoNFe.xml da primeira carta de correção dessa nota.

Ok, entendido, excelente explicação, analisado o arquivo *-procEventoNFe.xml e lá consta nSeqEvento=1. Mas contudo, em respeito a sua explicação executamos uma consulta no site da NFE e lá constava a ciência de emissão pelo destinatário que tinha entrado com nSeqEvento=2, alteramos o nSeqEvento para 3 e a carta foi acatada pelo servidor. 

Agradeço muito pelo apoio e principalmente pela explicação detalhada!

Tenham um excelente dia.

  • Curtir 2
×
×
  • 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.