Ir para conteúdo
  • Cadastre-se

dev botao
  • Este tópico foi criado há 2605 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Bom dia, amigos

Está acontecendo este problema somente em algumas notas e somente nas empresas em que atualizei recentemente o programa com os componentes e schemas atualizados. 

Ainda estou rodando a NFe 3.0.

A NFe valida e está tudo certo, porém a chave de acesso que o componente me informa para registrar no meu sistema fica com um numero trocado:

Exemplo:

chave correta:

43180691389460000109550000000517831117748480

chave errada:

43180691389460000109550000000517831177484810

Reparem que o dígito "1" , penúltimo digito da chave errada, está deslocado.

Na Sefaz e dentro do XML fica a chave correta, mas no meu sistema e no nome do arquivo XML que eu salvo com a chave fica a chave errada. 

Sou eu que gero o código numerico do final da chave e passo para o componente para sempre ficar com a mesma chave caso o usuário envie a NF mais de uma vez.

Alguém mais com este problema?

Estou fazendo algo errado?

 

 

Postado
8 minutos atrás, RicardoVoigt disse:

Série 000?

Att

Ricardo

Sim. A maioria das empresas que atendo usam a série 0.

25 minutos atrás, André Ferreira de Moraes disse:

Quais os passos para reproduzir o problema?

Vou tentar reproduzir o o problema e posto aqui, mas ele é aleatório. Eu só fico sabendo quando o cliente me reclama que a NFe não existe na base da Sefaz porque ele consulta pela chave que está no sistema.

 

Postado
1 hora atrás, RicardoVoigt disse:

Outro detalhe pra vc cuidar eh o tamanho diferente nos campos nNf (9) e no cNf(8).

Att

Ricardo

Acho que você matou a charada. Não me atentei a este detalhe. Estava enviando o cNf com 9 posições. Sempre funcionou, mas com as últimas atualizações do acbr começou a acontecer o problema.

Corrigi o meu programa, fiz um teste e rodou normalmente. Vou atualizar no cliente e informo aqui se está resolvido.

Obrigado pela ajuda.

  • Curtir 1
Postado (editado)

Ola Boa tarde pessoal, aproveitando esse assunto, após algumas atualizações do ACBR, eu percebi que cada vez que tento enviar uma NFe (é que o cliente tenta enviar e da algum erro de ncm por exemplo, ai ele vai e acerta e tenta enviar novamente ) a chave esta mudando o numero, e vai ficando salvo esses XMLs, ex: 

35180609121387000142550010000005691649558840-NFe.xml
35180609121387000142550010000005691789025542-NFe.xml
35180609121387000142550010000005691860375180-NFe.xml
35180609121387000142550010000005691243439183-NFe.xml

o numero da nota é o mesmo (569), porém o final muda gravando outro xml, mas antes isso não acontecia, ele gerava o xml com o mesmo numero e gravava em cima do xml anterior.

Esta acontecendo com alguém isso, foi mudado mesmo?

Desde já agradeço a atenção de todos.

Luciano

NFe 4.0

Editado por Luciano César Gimenez
Postado
17 minutos atrás, Luciano César Gimenez disse:

Desde já agradeço a atenção de todos.

Procure no manual de orientação sobre o campo cNf, que compõe a chave de acesso.

Att

Ricardo

Postado
 
Mudança na function GerarChaveAcesso
 
Se passa cNF := -1 antes voltava uma chave sempre com o mesmo número, agora volta randômica
 
ANTIGO
 
  // Se o usuario informar 0; o código numerico sera gerado de maneira aleatória //
    while codigoNumerico = 0 do
    begin
      Randomize;
      codigoNumerico := Random(99999999);
    end;
    // se o usuario informar -1 o código numerico será gerado atravéz da função
    // GerarCódigoNumerico baseado no numero do documento fiscal.
    if codigoNumerico = -1 then
      codigoNumerico := GerarCodigoNumerico(Numero)
    else if codigoNumerico = -2 then
      codigoNumerico := 0;
 
NOVO REVISÂO 14691
 
  // Se o usuario informar um código inferior a -2 a chave não será gerada //
  if ACodigo < -2 then
    raise EACBrDFeException.Create('Código Numérico inválido, Chave não Gerada');
  // Se o usuario informar 0 ou -1; o código numerico sera gerado de maneira aleatória //
  if ACodigo = -1 then
    ACodigo := 0;
 
  while ACodigo = 0 do
  begin
    ACodigo := Random(99999999);
  end;
Postado
Em 15/06/2018 at 18:13, JSantos disse:

Como vc está preenchendo o campo "cNf"?

Bom dia

Hoje tenho um parametro q eh possivel parametrizar entre 3 opcoes:

1-aleatorio

2-numero da nota nNfe(não recomendado)

3-chave pk da tabela no bd

Att

Ricardo

Postado (editado)
Em 15/06/2018 at 18:13, JSantos disse:

Como vc está preenchendo o campo "cNf"?

Ola Amigo bom dia, estou preenchendo com -1.

Pelo que eu vi aqui, para gerar da maneira antiga não tem como mais, só se eu mover o numero da nota no campo cNf?

Luciano

Editado por Luciano César Gimenez
Postado

Preencher o cNf com a função:

function GerarCodigoNumerico(numero: integer): integer;
var
  s: string;
  i, j, k: integer;
begin
  // Essa função gera um código numerico atravéz de calculos realizados sobre o parametro numero
  s := intToStr(numero);
  for i := 1 to 9 do
    s := s + intToStr(numero);
  for i := 1 to 9 do
  begin
    k := 0;
    for j := 1 to 9 do
      k := k + StrToInt(s[j]) * (j + 1);
    s := IntToStr((k mod 11)) + s;
  end;
  Result := StrToInt(copy(s, 1, 8));
end;

Postado

Bom dia, amigos.


Eu uso uma função que gera um número randomico e preencho o cNF com este número.

Semelhante à função do amigo logo acima.

 

Sobre o erro que gerou este tópico, após corrigir o meu programa os clientes não reclamaram mais da chave trocada, então considero como resolvido.

Postado

Blz José Marcos, obrigado ai pela ajuda, na verdade acabei usando a função que tem no próprio ACBrDFeUtil,.

O problema de ficar gerando um xml com chaves aletatória a cada tentativa é que os clientes todos mês pegam a pasta com os xmls enviados e envia para o contador, e o contador importa isso para o sistemas Contabéis,  então já imaginei o contador pegando os xmls com o mesmo numero de nota. por isso que prefiro gerar o mesma chave para cada numero de nota.

Obrigado a todos...

Luciano...

Postado
3 horas atrás, Juliano Rosa disse:

Sobre o erro que gerou este tópico, após corrigir o meu programa os clientes não reclamaram mais da chave trocada, então considero como resolvido.

Fechando então...

Att

Ricardo

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