Ir para conteúdo
  • Cadastre-se

dev botao

Código que compõe a chave de acesso NFE


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

Recommended Posts

Postado

Pessoal,

No manual de integração Contribuinte versão 5.0, existe um campo B03 cNF de tamanho 8 em sua observação esta escrito o seguinte.

( Código numérico que compõe a Chave de Acesso. Número aleatório gerado pelo emitente para cada NF-e para evitar acessos indevidos da NF-e. (v2.0) )

Estive dando um olhada no Emissor Gratuito e percebi que este código pode ser gerado manualmente, mas existe um calculo do dígito verificador.

A pergunta é : Como posso fazer esse código ? exite algum critério a seguir já que esse campo é obrigatório ?

Att,

Marcos Martins

post-3629-13548988225433.png

Att,

---------------------

Marcos Martins

  • Consultores
Postado

Boa tarde Marcos,

Alguns desenvolvedores simplismente faz com que o cNF seja igual a nNF, ou seja o código aleatório fica igual ao numero da nota.

Ao meu ver não é bem isso que o manual quer que você faça.

Você pode gerar o código aleatório usando o Randomize e Random do delphi, pesquise como gerar numeros aleatórios.

Quando ao digito verificador, esse é por conta do componente que se encarrega de calcular.

Apesar do componente ter uma propriedade para o Digito Verificador, não devemos atribuir nada a essa propriedade quando estivermos alimentando o componente com os dados da nota.

Espero ter ajudado.

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

Postado

italojjr

Obrigado pela Ajuda ! veja como resolvi este problema com a ajuda da sua dica !

------------------------Botão Incluir--------------------------------------

procedure TF_NotaFiscalVendaNFE.BitBtnIncluirClick(Sender: TObject);

var iNum: integer;

begin

editar;

DM.ADOTableNfe.Close;

DM.ADOTableNfe.Open;

ADOQueryNumNfe.Active:= False;

ADOQueryNumNfe.Active := True;

DM.ADOTableNfe.Append;

ADOQueryNumNfe.ExecSQL;

DM.ADOTableNfeNFE_NUM.Value:= ADOQueryNumNfe.FieldByName('novo').Value;

DM.ADOTableNfeNFE_COD.Value:= ADOQueryNumNfe.FieldByName('novo').Value;

ADOQueryNumNfe.Active := False;

------------------------aqui gero o código aleatório com 8 posições---------------------------------

Randomize;

iNum := Random(99999999);

DBEditCodAleatorio.Text := IntToStr(iNum);

DBEditNomeRazaoSocial.SetFocus;

end;

Macos Martins

Att,

---------------------

Marcos Martins

  • 2 anos depois...
  • Solution
Postado

Boa tarde, tenho um problema para regerar o meu arquivo XML com a mesma chave anterior que foi validada na receita porém o arquivo XML foi danificado e estou seguindo a dica do Italo onde devo gerar um novo arquivo XML identico ao original e depois consultar e gravar os dados da assinatura novamente.

Porém quando vou regerar o novo arquivo XML a chave dele fica diferente do que está gravado na receita e não estou conseguindo, acontece que o Digito final e uma pequena parte no inicio do codigo está diferente, veja:

35150303323163000101550030000091351000091356   -> CHAVE VALIDADA E REGISTRADA NA RECEITA
35151003323163000101550030000091351000091358   -> NOVA CHAVE DO NOVO ARQUIVO GERADO

Ja tentei várias coisas e até agora não entendi pq está gerando o inicio do codigo diferente e consequentemente o Digito final fica diferente, alguém sabe me dizer que informação é gravada no inicio do chave ?

Agradeço a ajuda.

 

35151003323163000101550030000091351000091358-nfe.xml

Pessoal ja descobri é referente a MES e DIA da Emissão só não entendi porque deu diferença na chave de acesso com uma data de emissão em Março, sendo que a nf está sendo emitida em Outubro/2015.

Obrigado e desculpe o transtorno.

  • Moderadores
Postado

As posições 3 a 6 da chave de acesso referem-se ao ano e mês da emissão da NF-e. No seu caso a nota autorizada foi emitida em março, nesse caso você deve gerar o XML com a mesma data de emissão.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.