Login Registre-se
Cancelamento de NFC-e no estado do AM [RESOLVIDO]  XML
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Autor Mensagem
gustavoalves1993

JavaC Membro

Membro desde: 02/01/2017 15:44:37
Mensagens: 29
Offline

Olá bom dia a todos,

Estou passando por uma dificuldade ao tentar cancelar nfc-e no estado do AM, utilizo a biblioteca java-nf-e v4.00.12 e na hora de montar o xml o campo DataEvento solicita um dado do tipo LocalDateTime, porém ao passar LocalDateTime.now() ele retorna com o valor do fuso horário incorreto, ao invés de passar -4:00 que é o utilizado no estado ele passa -3:00 sendo assim a sefaz me retorna a rejeição Rejeição 579: A data do evento não pode ser menor que a data de autorização para NF-e não emitida em contingência, gostaria de saber se alguém já passou por isso e se sim qual o caminho para resolver o mesmo.

Obrigado desde já

Esta mensagem foi editada 2 vezes. Última atualização foi em 03/12/2019 11:47:39

GGarcia

JavaC Membro
[Avatar]

Membro desde: 28/05/2013 17:12:21
Mensagens: 331
Offline

Boa tarde.

A sua versão Java é antiga e todo JRE possui seu próprio TimeZone.

Para não precisar atualizar a versão do Java no servidor, baixe uma ferramenta chama tzupdater (https://www.oracle.com/technetwork/java/javase/downloads/tzupdater-download-513681.html)

Depois disso, coloque numa pasta qualquer, abra um prompt como administrador, navegue até a pasta onde você colocou esse .jar e digite:



Depois disso, reinicie seu software e tudo vai estar funcionando.

If you're here, who's running hell?
gustavoalves1993

JavaC Membro

Membro desde: 02/01/2017 15:44:37
Mensagens: 29
Offline

Bom dia,

primeiramente obrigado pela colaboração porém fiz o procedimento indicado acima e mesmo assim não resolveu, ele gerou com -03:00 ao invés de -04:00 ainda.
robertop

JavaC Membro

Membro desde: 10/07/2013 20:08:36
Mensagens: 374
Offline

Gustavo, no momento que você instancia os objetos ai na biblioteca do Samuel não tem como setar o TimeZone?

Posta o código.
gustavoalves1993

JavaC Membro

Membro desde: 02/01/2017 15:44:37
Mensagens: 29
Offline

Olá Roberto

acredito que não, o exemplo do código fonte é esse https://github.com/Samuel-Oliveira/Java_NFe/wiki/07-:-Cancelamento ,basicamente é a mesma coisa porém só altero para dados reais os campos, porém a tag



é igual, e é ela que está apresentando problema na aplicação.

Obrigado desde já
GGarcia

JavaC Membro
[Avatar]

Membro desde: 28/05/2013 17:12:21
Mensagens: 331
Offline

Por acaso a data, hora e fuso horário do servidor da sua aplicação estão corretos? Se o servidor for Linux, precisa atualizar o timezone dele também.

Se nem isso der certo, ao inicializar o programa, passe esse parâmetro de JVM para forçar o timezone

Esta mensagem foi editada 1 vez. Última atualização foi em 27/11/2019 18:13:21


If you're here, who's running hell?
gustavoalves1993

JavaC Membro

Membro desde: 02/01/2017 15:44:37
Mensagens: 29
Offline

O Computador é Windows e está com a data, hora corretas, o fuso está como (UTC-04:00)

desculpe minha falta de conhecimento mas aonde eu passo esse comando -Duser.Timezone=GMT-4 , seria através de um System.setProperty ?

Esta mensagem foi editada 1 vez. Última atualização foi em 28/11/2019 15:12:12

gustavoalves1993

JavaC Membro

Membro desde: 02/01/2017 15:44:37
Mensagens: 29
Offline

Problema resolvido, a solução foi ao invés de passar o timezone no campo DataEvento passar direto no evento CancelamentoUtil.montaCancelamento, no final ficou assim:

Evento cancela = new Evento();
cancela.setDataEvento(LocalDateTime.now());

TEnvEvento enviEvento = CancelamentoUtil.montaCancelamento(cancela, config, ZoneId.systemDefault());

Obrigado
 
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Ir para:   
Powered by JForum 2.1.9 © JForum Team