Ir para conteúdo
  • Cadastre-se

dev botao

Nfc-E - Nota Fiscal Do Consumidor Eletrônica


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

Recommended Posts

function TFrmNotaFiscalEletronica.GetUrlQRCode: String;
const
  (...)
end;

 

Boa tarde,

 

Meu código tem os campos IdToken e Token, recomendo fazer isso, fica melhor para entender a confusão criada.

 

Aparentemente o problema está na variável TokenCalculo, tente fazer o que segue:

Para gerar a URL, o campo &cIdToken deve ficar assim:
* Em ambiente de homologação: 000001 -> Código fixo
* Em ambiente de produção: 000001 -> Código identificador sequencial do Token: 000001, 000002, 000003 (6 dígitos)

Meu código completo:

Site    := GetSiteConsulta(CodigoParaUF(ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.cUF), ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.tpAmb);
chNFe   := Chave_de_acesso;
nVersao := '100';
if ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.tpAmb = taProducao then
  tpAmb := '1'
else
  tpAmb := '2';
cDest    := iif((Length(ACBrNFe1.NotasFiscais.Items[0].NFe.Dest.CNPJCPF) > 0), ACBrNFe1.NotasFiscais.Items[0].NFe.Dest.CNPJCPF, '');
dhEmi    := StringToHex(DateTimeTodhUTC(ACBrNFe1..NotasFiscais.Items[0].NFe.Ide.dEmi,GetUTC(ACBrNFe1.NotasFiscais.Items[0].NFe.emit.enderEmit.UF, ACBrNFe1.NotasFiscais.Items[ContFor].NFe.Ide.dEmi)));
vNF      := FormatFloat('##,##0.00', ACBrNFe1.NotasFiscais.Items[0].NFe.Total.ICMSTot.vNF);
vICMS    := FormatFloat('##,##0.00', ACBrNFe1.NotasFiscais.Items[0].NFe.Total.ICMSTot.vICMS);
digVal   := StringToHex(ACBrNFe1.NotasFiscais.Items[0].NFe.signature.DigestValue);
if ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.tpAmb = taHomologacao then
begin
  IdToken := '000001'; // Valor fixo
  Token   := Copy(ACBrNFe1.NotasFiscais.Items[0].NFe.Emit.CNPJCPF, 1, 8)+IntToStr(YearOf(Now))+'0001';
end
  IdToken := ''; // Cadastrado
  Token   := ''; // Cadastrado
end;

MemoData.Lines.Clear;
s_aux :='chNFe=<chaveacesso>'+
        '&nVersao=<versao>'+
        '&tpAmb=<ambiente>'+
        IIf((Length(cDest) > 0), '&cDest=<cnpj_dest>', '')+
        '&dhEmi=<data_hora>'+
        '&vNF=<valor>'+
        '&vICMS=<valor_icms>'+
        '&digVal=<digito_val>'+
        '&cIdToken=<id_token><token>';

s_aux := StringReplace(s_aux, '<chaveacesso>', chNFe,   []);
s_aux := StringReplace(s_aux, '<versao>',      nVersao, []);
s_aux := StringReplace(s_aux, '<ambiente>',    tpAmb,   []);
s_aux := StringReplace(s_aux, '<cnpj_dest>',   cDest,   []);
s_aux := StringReplace(s_aux, '<data_hora>',   dhEmi,   []);
s_aux := StringReplace(s_aux, '<valor>',       StringReplace(vNF,  ',','.',[]),[]);
s_aux := StringReplace(s_aux, '<valor_icms>',  StringReplace(vICMS,',','.',[]),[]);
s_aux := StringReplace(s_aux, '<digito_val>',  digVal,  []);
s_aux := StringReplace(s_aux, '<id_token>',    IdToken, []);

s_hash := StringReplace(s_aux,'<token>',Token,[]);
s_hash := ACBrEAD1.CalcularHash(s_hash, dgstSHA1);

s_aux :=  StringReplace(s_aux,'<token>', '', []) + '&cHashQRCode='+s_hash;

MemoData.Text := Site + s_aux;
Link para o comentário
Compartilhar em outros sites

Bom dia...

Eu uso Rave para impressão da Nota Fiscal e estou seguindo os exemplos aqui mostrados para o FastReport.

Ao emitir a NFC-e eu mudo o componente do Rave para o FastReport, mas me ocorre o erro abaixo:

"cdsParametros: Missing data Provider or data Packet"

 

Pesquisando no forum vi que para algumas pessoas tbm ocorreu este erro, mas não encontrei solução...

 

Sei que o cdsParametros está no ACBRNFeDANFEFRDM, mas nunca trabalhei com FastReport e não sei qual conexão está errada...

 

Ocorre ao chamar dtmDados.ACBrNFe.NotasFiscais.Imprimir;

 

Alguém poderia me dar uma dica?

 

OBS: Verifiquei e possuo a Midas.dll no micro. (Vi em respostas a outros post´s no qual falavam sobre esta DLL).

Editado por Daniel Caus

Att.:

Daniel

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom dia

Para ocorrer erro do ClientDataset pode ser que esteja com problema seus arquivos do ACBr, ou a dll do midas estar desatualizada, tente informar na uses midaslib que dai ele compila e leva junto com seu aplicativo sem depender da dll!

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

Alguem conseguiu consultar NFCe pelo QRCode em AM com nota em homologação? estou utilizando o mesmo metodo utilizado pelo pessoal aqui no forum

 

o link que gerei é ESSE e anexei o XML para poderem ver.

 

Link errado.... vc esta direcionando para http://homnfe.sefaz.am.gov.br/NFCEWEB/CONSULTARNFCE.JSP?

e o correto no AM é 

 

HOMO: http://homnfce.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp?

 

PROD: http://sistemas.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp?

Editado por dcarus

Daniel Carus

 

 

Link para o comentário
Compartilhar em outros sites

Bom dia...

Eu uso Rave para impressão da Nota Fiscal e estou seguindo os exemplos aqui mostrados para o FastReport.

Ao emitir a NFC-e eu mudo o componente do Rave para o FastReport, mas me ocorre o erro abaixo:

"cdsParametros: Missing data Provider or data Packet"

 

Pesquisando no forum vi que para algumas pessoas tbm ocorreu este erro, mas não encontrei solução...

 

Sei que o cdsParametros está no ACBRNFeDANFEFRDM, mas nunca trabalhei com FastReport e não sei qual conexão está errada...

 

Ocorre ao chamar dtmDados.ACBrNFe.NotasFiscais.Imprimir;

 

Alguém poderia me dar uma dica?

 

OBS: Verifiquei e possuo a Midas.dll no micro. (Vi em respostas a outros post´s no qual falavam sobre esta DLL).

 

eu tambem usava o Rave e troquei e funcionou perfeitamente...

Você pegou os ultimos arquivos??

o ultimo postado aqui no forum que estou usando é este:  

do dia 05/12/13 pelo netstart

 

se tiver outros fontes mais atuais me avisem...

Daniel Carus

 

 

Link para o comentário
Compartilhar em outros sites

eu tambem usava o Rave e troquei e funcionou perfeitamente...

Você pegou os ultimos arquivos??

o ultimo postado aqui no forum que estou usando é este:  

do dia 05/12/13 pelo netstart

 

se tiver outros fontes mais atuais me avisem...

 

Boa tarde...

 

Carus..

Testei com os arquivos que tu mencionou, (São mais atuais que os que eu tinha) mas continuou o erro..

 

Atualizei a Midas.dll e usei a MidasLib no uses como o Juliomar mencionou acima, e também continuava..

 

Então abri o ACBrNFeDANFEDM.pas e cliquei com o botão direito em cima dos TClientDataSet e cliquei em Create DataSet e "deu certo" em termos... 

A mensagem do cdsParametros sumiu e abriu até a DANFE da NFC-e, só que sem nenhum dado... 

 

Parece que não está passando os dados da NFC-e gerada para o Danfe..

E ainda não descobri qual é a conexão que está errada...

post-15026-0-12406000-1394483895.png

Editado por Daniel Caus

Att.:

Daniel

Link para o comentário
Compartilhar em outros sites

Boa tarde...

 

Carus..

Testei com os arquivos que tu mencionou, (São mais atuais que os que eu tinha) mas continuou o erro..

 

Atualizei a Midas.dll e usei a MidasLib no uses como o Juliomar mencionou acima, e também continuava..

 

Então abri o ACBrNFeDANFEDM.pas e cliquei com o botão direito em cima dos TClientDataSet e cliquei em Create DataSet e "deu certo" em termos... 

A mensagem do cdsParametros sumiu e abriu até a DANFE da NFC-e, só que sem nenhum dado... 

 

Parece que não está passando os dados da NFC-e gerada para o Danfe..

E ainda não descobri qual é a conexão que está errada...

 

 

Você carrega o XML para o componente?

ACBrNFe1.NotasFiscais.Clear;
ACBrNFe1.NotasFiscais.LoadFromFile(PathDoXML);
ACBrNFe1.NotasFiscais.Imprimir;
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...

Boa Tarde, Amigos

 

Estou com uma situação que sinceramente esta meio incomoda de resolver, vou tentar explicar para saber de vocês o que pode ser.

Eu envio a nota e no meio do processo cai a conexão com a internet,  no Sefaz a nota consta como transmitida, porem para ACBR o retorno vem com a chave de acesso em branco, quando tento retransmitir essa nota ele não me retorna a chave de acesso e devido a isso não consigo cancelar ou inutilizar a NFC-e pois para esses dois processos dependo da chave de acesso.

 

Alguém poderia me orientar nessa situação?

 

Att

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde mepissolato,

 

A chave de acesso que você se refere é a chave de 44 digitos?

 

Se sim, o XML da NFC-e esta sendo salvo em disco?

 

Se sim, ao carregar o mesmo através do LoadFromFile a chave será armazenada na propriedade ID.

 

Para obter o conteudo basta:

 

schave: Copy(ACBrNFe.NotasFiscais.Items.NFe.inFNFe.ID,4,44);

 

O copy é necessário pois na propriedade ID temos o literal "NFe" como prefixo da chave.

 

Espero ter ajudado.

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

Pois é, eu já havia dado uma olhada e pelo que pude ver estou fazendo corretamente, porém não consigo identificar onde é que eu possa estar me passando. Em um último exemplo que acabei de fazer, os seguintes valores foram com os quais me deparei (aparentam estarem corretos)

 

String pela qual o cHashQRCode é calculado:

 

 

cHasgQRCode da string acima: 983F2C34A64B3666356F6BC01DF1B18C2A0C0CD6

 

Resultado final (URL)

 

 

 

 

 

 

Detalhe que agora eu ganho a mensagem Msg: 391 - QR-Code Inválido (ID Token)

 

Imagino que seja talvez pelo fato do cIdToken=0000019348323820140001 na string de calculo do hash e cIdToken=000001 na url final, embora esteja de acordo com o exemplo da pagina 20 do manual de padrões.

 

 

 

ServerInfo, conseguiu solucionar este problema do "Msg: 391 - QR-Code Inválido (ID Token)" ???

Estou com o mesmo problema, curioso que já olhei as dicas logo adiante, que nosso amigo LVR deu, mas 

o meu código está exatamente como o dele......

 

Abraços!!!!

Link para o comentário
Compartilhar em outros sites

a função que converte de stringtoHex pode está causando o problema, tive o mesmo problema. Ou poderia ser tb que o ID 000001 está reservado ao ambiente de homologação. tente  000002, talvez resolva!

 

Att. Solivan

Editado por Solivan
  • Curtir 1

Sistema de Automação Comercial para diversos segmentos
NF-e, NFC-e, SPED Fiscal - www.arenasoft.com.br

Link para o comentário
Compartilhar em outros sites

Pessoal, Graças a Deus a ao pessoal aqui do fórum, consegui executar com sucesso todos os procedimentos referentes a emissão, cancelamento e impressão do NFC-e. Aqui estão os principais passos que eu usei pra fazer. Tudo que está aqui eu copiei aqui mesmo do fórum, mas a idéia é concentrar num lugar só os principais comandos. No meu caso, tive problemas ao usar Delphi 7 e acabei migrando na marra para o Delphi2010, mas isso pode ser imperícia minha. O Relatório foi gerado usando o FastReports e o componente pra gerar o qrcode está em anexo.

 

ZINTBARCODE_D7.rar

ZINTBARCODE_D2010.rar

Conectiva Soft - Automação Comercial - Visite nosso site: www.conectivasoft.com.br

Skype: [email protected]

Link para o comentário
Compartilhar em outros sites

Preciso de ajuda.

Atualizei o componete sexta feira dia 28/03 e apos isso passei a ter problemas para enviar a NFC-e no estado do Mato Grosso, antes disso estava enviando perfeitamete. Percebi que nao esta mais recebendo retorno do webservice, ou seja envia a nota porem se da rejeição nao tenho mais como saber.

Importante meu ultimo update do projeto tinha sido feito mais ou menos 15 dias atras.

Link para o comentário
Compartilhar em outros sites

Edson, bom dia.

 

Você poderia também postar aqui no forum as rotinas genéricas pra emissão, cancelamento da NFCe?

 

Agradecemos desde já!

 

 

 

Pessoal, Graças a Deus a ao pessoal aqui do fórum, consegui executar com sucesso todos os procedimentos referentes a emissão, cancelamento e impressão do NFC-e. Aqui estão os principais passos que eu usei pra fazer. Tudo que está aqui eu copiei aqui mesmo do fórum, mas a idéia é concentrar num lugar só os principais comandos. No meu caso, tive problemas ao usar Delphi 7 e acabei migrando na marra para o Delphi2010, mas isso pode ser imperícia minha. O Relatório foi gerado usando o FastReports e o componente pra gerar o qrcode está em anexo.

Editado por Juliomar Marchetti
Link para o comentário
Compartilhar em outros sites

Segue comandos pra se gerar um nfce usando os componentes acbr. Pessoal, se faltar alguma rotina aí, pede que eu posto aqui no fórum. Notem que eu fiz a geração do nfc-e aproveitando o código da geração da NFE, sendo assim, pode conter informação desnecessária, mas o que importa é que funciona.

 

Editado por Juliomar Marchetti

Conectiva Soft - Automação Comercial - Visite nosso site: www.conectivasoft.com.br

Skype: [email protected]

Link para o comentário
Compartilhar em outros sites

Pessoal, aqui esta o comando que imprime o danfe, depois de gerado o arquivo xml e transmitido, também sou novato, logo, se meu código for analisado por um expert, talvez ache alguma coisa fora do lugar, mas aqui ta imprimindo o DANFE-NFCE:

 

Conectiva Soft - Automação Comercial - Visite nosso site: www.conectivasoft.com.br

Skype: [email protected]

Link para o comentário
Compartilhar em outros sites

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