Ir para conteúdo
  • Cadastre-se

dev botao

Nfc-E - Nota Fiscal Do Consumidor Eletrônica


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

Recommended Posts

NFC-e MT 

 

Alguém sabe o que posso fazer.

 

Mensagem de retorno.

 

---------------------------
Módulo Fiscal
---------------------------
Ambiente : 2
Versão Aplicativo : 3.00
Status Código : 796
Status Descrição : Rejeicao: Empresa sem Chave de Seguranca para o QR-Code
UF : MT
dhRecbto : 29/07/2014 16:59:16
chNFe : 51140705258974000193650010000031351000031358
 
---------------------------
OK   
---------------------------
 
 
Grato!
Link para o comentário
Compartilhar em outros sites

  • Moderadores

 

NFC-e MT 

 

Alguém sabe o que posso fazer.

 

Mensagem de retorno.

 

---------------------------
Módulo Fiscal
---------------------------
Ambiente : 2
Versão Aplicativo : 3.00
Status Código : 796
Status Descrição : Rejeicao: Empresa sem Chave de Seguranca para o QR-Code
UF : MT
dhRecbto : 29/07/2014 16:59:16
chNFe : 51140705258974000193650010000031351000031358
 
---------------------------
OK   
---------------------------
 
 
Grato!

 

 

Você cadastrou o token no site do SEFAZ/MT e está configurando o idToken e token corretamente no componente conforme o que foi cadastrado?

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

Você cadastrou o token no site do SEFAZ/MT e está configurando o idToken e token corretamente no componente conforme o que foi cadastrado?

Regys meu Certificado é de São Paulo, tem como eu cadastrar no SEFAZ/MT?

 

Cara a NFC-e caiu de paraquedas na minha mão, tenho que entregar até Sexta. =(

Link para o comentário
Compartilhar em outros sites

Regys meu Certificado é de São Paulo, tem como eu cadastrar no SEFAZ/MT?

 

Cara a NFC-e caiu de paraquedas na minha mão, tenho que entregar até Sexta. =(

 

Luiz, o IdToken e Token não tem nada a ver com o certificado digital, no caso de MT vc precisa gera-lo no site da SEFAZ-MT tanto para ambiente de homologação quando de produção.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Estou com problemas em alguns municípios que não seguem o fuso horário de Cuiabá, mas sim o de Brasília

Como utilizo

 

dh_emi := GetUTC( CodigoParaUF(frmNfe.notafiscal.NotasFiscais.Items[0].NFe.Ide.cUF),
              StrToDateTime(FormatDateTime('dd/mm/yyyy',frmNfe.notafiscal.NotasFiscais.Items[0].NFe.Ide.dEmi)+' '+
              FormatDateTime('hh:mm:ss', frmNfe.notafiscal.NotasFiscais.Items[0].NFe.Ide.dEmi)));

 

a função adota automaticamente o fuso de Cuiabá e recusa a validação.

assinatura.png

Link para o comentário
Compartilhar em outros sites

Luiz, o IdToken e Token não tem nada a ver com o certificado digital, no caso de MT vc precisa gera-lo no site da SEFAZ-MT tanto para ambiente de homologação quando de produção.

 

 

Luiz, 

 

Complementando o que Anderson postou, dê uma lida neste documento para entender melhor o procedimento de cadastro: Tutorial Cadastro Token MT

 

 

Vou dar uma olhada. Muito Obrigado!

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Estou com problemas em alguns municípios que não seguem o fuso horário de Cuiabá, mas sim o de Brasília

Como utilizo

 

dh_emi := GetUTC( CodigoParaUF(frmNfe.notafiscal.NotasFiscais.Items[0].NFe.Ide.cUF),

              StrToDateTime(FormatDateTime('dd/mm/yyyy',frmNfe.notafiscal.NotasFiscais.Items[0].NFe.Ide.dEmi)+' '+

              FormatDateTime('hh:mm:ss', frmNfe.notafiscal.NotasFiscais.Items[0].NFe.Ide.dEmi)));

 

a função adota automaticamente o fuso de Cuiabá e recusa a validação.

 

Se não estou enganado foram feitas alterações no componente para que isso funcionasse corretamente sem necessidade de que o usuário intervisse, você tentou colocar a data e hora normalmente, gerar e enviar?

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa tarde

você fala através do ACBrNFeMonitor?

não é possível, é um retorno do componente já nomeando para a forma correta conforme especificada no manual!

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia a todos,

 

Foi tratado neste tópico a questão de gerar o Digest Value a ser incluído no QR-Code da NFC-e sem a necessidade de assinar o XML, como consta no Manual sobre o DANFE da NFC-e.

 

Especificações Técnicas do DANFE NFC-e QR-Code - versão 3.2 publicado em 01/04/2014

 

Na página 14 temos:

 

digVal - Digest Value da NFC-e é obtido da seguinte forma:

 
NFC-e Normal (online):Grupo Signature (campo ZZ01)
NFC-e em Contingência Offline: SHA1 sobre arquivo XML da NFCe
 
Muito bem, foi disponibilizado ontem a noite pelo nosso colega Rafael Teno Dias uma unit chamada Crypt.SHA1.pas, esta salva dentro da pasta ...\Fontes\ACBrNFSe.
 
Ela contem uma function chamada SHA1:
 
function SHA1(s: AnsiString): String;
 

Favor testa-la passando como parâmetro o XML da NFC-e, vamos ter como resposta uma string com 40 caracteres.

 

Depois assine o XML e compare o resultado da função acima com o campo DigestValue da assinatura.

 

Se essa unit resolver o problema vamos move-la para dentro da pasta ...\Fontes\ACBrComum, desta forma ela poderá ser utilizada tanto para a NFC-e quanto para NFS-e.

 

Fico no aguardo do retorno de vocês.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Bom dia a todos,

 

Foi tratado neste tópico a questão de gerar o Digest Value a ser incluído no QR-Code da NFC-e sem a necessidade de assinar o XML, como consta no Manual sobre o DANFE da NFC-e.

 

Muito bem, foi disponibilizado ontem a noite pelo nosso colega Rafael Teno Dias uma unit chamada Crypt.SHA1.pas, esta salva dentro da pasta ...\Fontes\ACBrNFSe.

 

Favor testa-la passando como parâmetro o XML da NFC-e, vamos ter como resposta uma string com 40 caracteres.

 

Depois assine o XML e compare o resultado da função acima com o campo DigestValue da assinatura.

 

Fico no aguardo do retorno de vocês.

 

Bom dia Italo, segue teste realizado.
 
DigestValue function SHA1 = 7671ed3a9e47e32ee249279e0ace1224e33e2702
DigestValue Assinado = FIOfehD6kJpNMrZ5ehn/dO7r8qo=
 
Em anexo os XML's sem assinatura e com assinatura
 
Obs: Lembrando que o DigestValue deve conter exatamente 56 caracteres referente ao QRCode.

xml.xml

xml-assinado.xml

Editado por Vanessinha Mocellin

Att. Vanessa Mocellin | Arquiteta de Sistemas 
Sysmo Sistemas Ltda
São Miguel do Oeste - SC | Filial: Itajaí - SC
Fone: 49 3631.0600 | Ramal: 612

www.sysmo.com.br

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Obs: Lembrando que o DigestValue deve conter exatamente 56 caracteres referente ao QRCode.

Se vc transformar em base64(Encode64) terá 56 caracteres.
djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.lambretinha.com.br
Link para o comentário
Compartilhar em outros sites

Se vc transformar em base64(Encode64) terá 56 caracteres.

Sim, se convertido para Hexa fica 56, porém ao consultar o QR-Code consta que o DigestValue é inválido.

Segundo consta no manual os DigestValues deveriam ser iguais.

O DigestValue gerado no QRCode deve ser o mesmo que o DigestValue gerado na assinatura.

 

O problema que já tenho questionado desde o inicio, é que Sha1 gera 40 caracteres e o DigestValue da assinatura 28, não vejo como eles serem iguais.

Editado por Vanessinha Mocellin

Att. Vanessa Mocellin | Arquiteta de Sistemas 
Sysmo Sistemas Ltda
São Miguel do Oeste - SC | Filial: Itajaí - SC
Fone: 49 3631.0600 | Ramal: 612

www.sysmo.com.br

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Sessão de Downloads exclusiva do SAc que inclusive você faz parte!

veja no topo dessa página Downloads e depois olhe no local especifico do SAC!

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Vanessa,

 

Não seria o caso de converter para Hexa e sim para Base64.

 

Em anexo temos uma unit que faz isso.

 

Por favor teste essa unit.

 

Base64.pas

 

sAux := SHA1(sXML); // retorna uma string com 40 bytes (function da unit CryptSHA1.pas 

 

sDigVal := Base64Encode(sAux); // Deve retornar os 56 bytes (function da unit Base64.pas)

 

sDigVal2 := AsciiToHex(sDigestValue); // Converte o Digest Value extraído da assinatura do XML para Hexa (function da unit ACBrUtil.pas)

 

sDigVal = sDigVal2 ?????

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Boa tarde Vanessa,

 

Não seria o caso de converter para Hexa e sim para Base64.

 

Boa tarde Italo, eu não converti para Hexa.

 

Oque você mencionou para fazer, foi exatamente isso que eu fiz. 

 

No exemplo que citei em um dos posts anteriores, tem os DigestValues obtidos através do SHA1 e da assinatura digital sem conversão, assim como os XML's anexados, se quiser realizar os testes ai.

 

  • DigestValue function SHA1 = 7671ed3a9e47e32ee249279e0ace1224e33e2702

          Convertido para Base64 = NzY3MWVkM2E5ZTQ3ZTMyZWUyNDkyNzllMGFjZTEyMjRlMzNlMjcwMg==

 
  • DigestValue Assinado = FIOfehD6kJpNMrZ5ehn/dO7r8qo= 
          Convertido para Hexa = 46494f66656844366b4a704e4d725a3565686e2f644f377238716f3d

Att. Vanessa Mocellin | Arquiteta de Sistemas 
Sysmo Sistemas Ltda
São Miguel do Oeste - SC | Filial: Itajaí - SC
Fone: 49 3631.0600 | Ramal: 612

www.sysmo.com.br

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Vanessa,

 

Base64 ( SHA1 ) = string de 56 caracteres

 

Hexa( DisgetValue Assinado) = string de 56 caracteres

 

Maravilha, chegamos a quantidade de caracteres, o problema agora é descobrir o porque da diferença.

 

É sabido que se alterar uma letra de uma string que é submetida a um SHA1 81 bits dos 160 são alterados.

 

O componente antes de realizar a assinatura é acrescentado o grupo Signature no XML.

 

Isso faz toda a diferença ao calcular o SHA1.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Boa tarde Vanessa,

 

O componente antes de realizar a assinatura é acrescentado o grupo Signature no XML.

 

Isso faz toda a diferença ao calcular o SHA1.

 

Bom dia Italo,

 

Ou seja, oque venho questionando desde o inicio, não vejo uma possibilidade de gerar os DigestValue iguais.

A unica forma seria ter o certificado em todos os pontos de vendas, mas se torna inviável, dessa forma não faria sentido a existência do token.

 

Acredito que quem tenha feito o manual, sequer se deu o capricho de por em pratica essa teoria.

Não tive mais retorno da SEFAZ, estou ficando sem alternativas.

  • Curtir 1

Att. Vanessa Mocellin | Arquiteta de Sistemas 
Sysmo Sistemas Ltda
São Miguel do Oeste - SC | Filial: Itajaí - SC
Fone: 49 3631.0600 | Ramal: 612

www.sysmo.com.br

Link para o comentário
Compartilhar em outros sites

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