Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

  • Membros Pro
Postado

 

Olá,

 

Estou com dificuldades de geração do link para qrcode. Anexei o xml da nota. Se alguém puder dar uma olhada no que estou fazendo errado. acredito que seja no hash, mas já conferi e reconferi, inclusive com exemplos de colegas que postaram aqui no fórum, mas não consegui descobrir o erro.

 

Agradeço

 

String de para cálculo do Hash:
chNFe=51140107469270000195650010000000101066998074&nVersao=100&tpAmb=2&dhEmi=323031342D30312D30365431373A33383A31392D30333A3030&vNF=14.80&vICMS=0.00&digVal=564B303753356552556A6C436266376C4657756A644C46563143343D&cIdToken=0000010746927020140001
 
Hash gerado
3DEA898B051211B881CA3906762F35143D22FE7F
 
Link para o QrCode - Este link apresenta a nota, mas também mostra um erro de qrCode.

 

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Membros Pro
Postado

 

 

Olá,

 

Estou com dificuldades de geração do link para qrcode. Anexei o xml da nota. Se alguém puder dar uma olhada no que estou fazendo errado. acredito que seja no hash, mas já conferi e reconferi, inclusive com exemplos de colegas que postaram aqui no fórum, mas não consegui descobrir o erro.

 

Agradeço

 

String de para cálculo do Hash:
chNFe=51140107469270000195650010000000101066998074&nVersao=100&tpAmb=2&dhEmi=323031342D30312D30365431373A33383A31392D30333A3030&vNF=14.80&vICMS=0.00&digVal=564B303753356552556A6C436266376C4657756A644C46563143343D&cIdToken=0000010746927020140001
 
Hash gerado
3DEA898B051211B881CA3906762F35143D22FE7F
 
Link para o QrCode - Este link apresenta a nota, mas também mostra um erro de qrCode.

 

 

Resolvido! Depois de muito tentar, descobri que na formação do token (cnpj+ano+'0001'), esse "ano" não é o ano atual, mas devemos considerar o literal '2013' que está no manual. Eu estava colocando o ano da emissão da nota, ou seja '2014'. Foi só mudar para '2013' que abre a nota certinho no browser e sem nenhum erro.

Obrigado.

Valdir Dill

Rio de Janeiro - RJ

 

 

Postado

pessoal, li as 18 paginas aqui deste, portanto eu pergunto ? para meus clientes de SP, to fu..... né, eu continuo no ECF ou vou para o SAT, uma vez que o sat o meu cliente tem que comprar uma impressora fiscal de acordo com o convenio 09/09 ? confere ? e se sim, sp nao tem jeito mesmo, alguem sabe noticias novas de que em 2014 vai começar a usar ou se o projeto sat está forte e nao vai aderir a nfce ?

  • Moderadores
Postado

SAT e ECF 09/09 são coisas diferentes, hardwares diferentes, convênios diferentes, funcionamento diferente, tudo diferente,

 

O ECF 09/09 ainda é uma impressora fiscal mas com um algo a mais, ela possui um Módulo Fiscal Blindado, que possui placa protegida contra manipulação e adulteração, e um sistema de blindagem que se violado impede o funcionamento do ECF, justamente por isso esse equipamento não necessita de lacre, facilitando a intervenção técnica, ele também possui possibilidade de impressão da segunda via do cupom, conexão GPRS ou rede para transmissão de dados a receita em tempo real, porta USB para gravação de dados em pen-drive e foi abolida a impressão do bitmap na redução Z. Somente 1 estado sinalizou utilizar ele que é Santa Cataria, mesmo assim ainda não é obrigatório, foi protelado veja aqui: Prorrogada a exigência do novo ECF (Convênio 09/09).

 

Já o SAT é um tipo de hardware totalmente novo com funções totalmente novas. O equipamento SAT é um módulo composto de hardware e software embarcado, que deverá gerar e autenticar, por meio de Certificado Digital próprio, o Cupom Fiscal Eletrônico – SAT (CF-e-SAT) e transmiti-lo periódica e automaticamente à Secretaria da Fazenda (SEFAZ), via Internet. O SAT não possui impressora a ele integrado, basicamente a automação gera o arquivo, muito similar ao arquivo NF-e, envia ao equipamento SAT que faz todo o resto e devolve se foi liberado ou não. SP deve, se nada mudar, começar a adotar o SAT agora a partir de 01/04/2014 seguindo está tabela: OBRIGATORIEDADE DE USO DO SAT

 

A NFC-e é uma nota eletrônica normal mas voltada para consumidor, já está sendo utilizada em alguns estados (AM, MT) e funciona como uma nota eletrônica normal, nesse tópico isso é bem discutido, portanto, não vou entrar em detalhes.

 

Se SP vai mesmo adotar ou não o SAT, já foi dito que adotará, mas há o problema de não haver hardware no mercado, não sei de nenhuma empresa que esteja produzindo hardware para o SAT, mas é claro isso pode mudar, ou eles estão aguardando algo.

 

Para o SAT o ACBr possui o ACBrSAT que já está sendo utilizado por diversos usuários em SP em testes utilizando o emulador da própria SEFAZ/SP, já para o ECF 09/09 utilize o componente ACBrECF, configurando o modelo para "ecfEscECF".

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Postado

 

Olá pessoal

 

Estou fazendo testes usando o Zint BarCode que é OPENSOURCE, instalei ele como componente no delphi7 e funciona, basta setar o tipo de codigo de barras e salvar como bmp:

 

   

    zint.Barcode.Data:=strQrCode;
    bc:=TBitmap.Create;
    zint.Barcode.GetBarcode(bc);
    bc.SaveToFile(ExtractFilePath(Application.ExeName)+'qrcode.bmp');
    freeandnil(bc);
    ACBrNFeDANFEFR1.ImgQrCode:=ExtractFilePath(Application.ExeName)+'qrcode.bmp';
 
Evandro

 

Bom dia a todos, evandromira ou alguém que tenha conseguido instalar o Zint BarCode.

Como foi possivel baixar e instalar? Pois entro na pasta Projects, D10 conforme orientado e clico no arquivo ZintBarCode.dpk só que ele abre o arquivo no próprio navegador e quando tento salvar o arquivo ele é salvo como arquivo txt.

Poderia me informar quais passos a serem feitos para conseguir instalar no delphi7.

  • Membros Pro
Postado

Resolvido! Depois de muito tentar, descobri que na formação do token (cnpj+ano+'0001'), esse "ano" não é o ano atual, mas devemos considerar o literal '2013' que está no manual. Eu estava colocando o ano da emissão da nota, ou seja '2014'. Foi só mudar para '2013' que abre a nota certinho no browser e sem nenhum erro.

Obrigado.

Em consulta feita à SEFAZ-MT, fomos informados que o problema está no servidor SEFAZ. Nossa interpretação do manual estava correta, ou seja, o ano a ser utilizado na composição do token em homologação é realmente o ano atual e não o literal '2013'. Ainda segundo a SEFAZ-MT, esse problema vai estar corrigido até 16/01/201

Valdir Dill

Rio de Janeiro - RJ

 

 

Postado

Bom dia, gostaria de saber se alguem já teve sucesso emitindo a NFC-e em SC.

 

Estou testando a emissão atravez do ACBRNfe_demo, as minhas configurações do emitente são as mesmas da nossa emissão de nfe (que já utiliza o componente ACBR e funciona sem problemas). O Certificado é de SC tambem, mas quando emito a NFC-e eu sempre recebo erros de processamento no retorno.

 

Definindo a UF de destino do WebService como SC (Homologação) eu recebo "UF informada no campo cUF não atendida pelo WebService" (campo cUF = 42 = SC). Tentei tambem definir o WebService como RS, nesse caso o lote é enviado e processado, mas recebo "Rejeição: Codigo da UF do Emitente diverge da UF autorizadora".

 

Caso alguem ja tenha feito os testes da NFC-e em SC e tenha conseguido enviar as notas, eu gostaria de saber se foi feito algum procedimento diferente na hora do envio para que não ocorram esses erros.

 

Obrigado.

Postado

SAT e ECF 09/09 são coisas diferentes, hardwares diferentes, convênios diferentes, funcionamento diferente, tudo diferente,

 

O ECF 09/09 ainda é uma impressora fiscal mas com um algo a mais, ela possui um Módulo Fiscal Blindado, que possui placa protegida contra manipulação e adulteração, e um sistema de blindagem que se violado impede o funcionamento do ECF, justamente por isso esse equipamento não necessita de lacre, facilitando a intervenção técnica, ele também possui possibilidade de impressão da segunda via do cupom, conexão GPRS ou rede para transmissão de dados a receita em tempo real, porta USB para gravação de dados em pen-drive e foi abolida a impressão do bitmap na redução Z. Somente 1 estado sinalizou utilizar ele que é Santa Cataria, mesmo assim ainda não é obrigatório, foi protelado veja aqui: Prorrogada a exigência do novo ECF (Convênio 09/09).

 

Já o SAT é um tipo de hardware totalmente novo com funções totalmente novas. O equipamento SAT é um módulo composto de hardware e software embarcado, que deverá gerar e autenticar, por meio de Certificado Digital próprio, o Cupom Fiscal Eletrônico – SAT (CF-e-SAT) e transmiti-lo periódica e automaticamente à Secretaria da Fazenda (SEFAZ), via Internet. O SAT não possui impressora a ele integrado, basicamente a automação gera o arquivo, muito similar ao arquivo NF-e, envia ao equipamento SAT que faz todo o resto e devolve se foi liberado ou não. SP deve, se nada mudar, começar a adotar o SAT agora a partir de 01/04/2014 seguindo está tabela: OBRIGATORIEDADE DE USO DO SAT

 

A NFC-e é uma nota eletrônica normal mas voltada para consumidor, já está sendo utilizada em alguns estados (AM, MT) e funciona como uma nota eletrônica normal, nesse tópico isso é bem discutido, portanto, não vou entrar em detalhes.

 

Se SP vai mesmo adotar ou não o SAT, já foi dito que adotará, mas há o problema de não haver hardware no mercado, não sei de nenhuma empresa que esteja produzindo hardware para o SAT, mas é claro isso pode mudar, ou eles estão aguardando algo.

 

Para o SAT o ACBr possui o ACBrSAT que já está sendo utilizado por diversos usuários em SP em testes utilizando o emulador da própria SEFAZ/SP, já para o ECF 09/09 utilize o componente ACBrECF, configurando o modelo para "ecfEscECF".

Perfeita explicacao, mas quanto a SP adotar a NFCE ? sabe de algo ?

Postado

Bom dia a todos, evandromira ou alguém que tenha conseguido instalar o Zint BarCode.

Como foi possivel baixar e instalar? Pois entro na pasta Projects, D10 conforme orientado e clico no arquivo ZintBarCode.dpk só que ele abre o arquivo no próprio navegador e quando tento salvar o arquivo ele é salvo como arquivo txt.

Poderia me informar quais passos a serem feitos para conseguir instalar no delphi7.

 

Bom dia pessoal, quero agradecer a todos que me ajudaram tirando as duvidas de como baixar e instalar no delphi7 o ZintBarcode.

Agora é dar sequencia na impressão do Danfe da nfc-e. Obrigado

Postado

Bom dia Alex_porthal, 

 

no svn ainda não tem nada até onde sei até o momento não há nada certo, mas neste tópico do forum tem uma opção em Fast Report que estão mexendo.

Foi postado a ultima alteração pelo Ivr(Leonardo) o link é

Postado

Olá boa tarde,

 

Ja estou conseguindo emitir a NFCe 100%, ele envia para a sefaz-am sem problemas porém na hora de consultar o qrcode ele até abre o browser mais apresenta o erro 100.

Abaixo segue o código que estou usando para gerar:

 

 if fPrincipal.ACBrNFCe.NotasFiscais.Items[0].NFe.Ide.tpAmb = taProducao then
 Begin
  URL := 'sistemas.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp?';
  tpAmb := '1';
  IdToken := '000001';
  Token   := '1491174001476968';
  cIdToken := IdToken + Token;
 End
 else
  Begin
   URL := 'homnfce.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp?';
   tpAmb := '2';
   IdToken := '000001';
   Token   := '0502279120130001';// CNPJ Base da Empresa(8 digitos) + ano (2014) + IdToken (0001) - Apenas para o ambiente de Homologação
   cIdToken := IdToken + Token;
 End;
 
 cDest := Iif(Length(fPrincipal.ACBrNFCe.NotasFiscais.Items[0].NFe.Dest.CNPJCPF) > 0, fPrincipal.ACBrNFCe.NotasFiscais.Items[0].NFe.Dest.CNPJCPF, '');
 digVal := StrToHex(fPrincipal.ACBrNFCe.NotasFiscais.Items[0].NFe.signature.DigestValue);
 chNFE  := SomenteNumeros(fPrincipal.ACBrNFCe.NotasFiscais.Items[0].NFe.infNFe.ID);
 vNF    := FormatFloat(',0.00;-,0.00',fPrincipal.ACBrNFCe.NotasFiscais.Items[0].NFe.Total.ICMSTot.vNF);
 vICMS  := FormatFloat(',0.00;-,0.00',fPrincipal.ACBrNFCe.NotasFiscais.Items[0].NFe.Total.ICMSTot.vICMS);
 
 MemoDados.Lines.Clear;
 MemoDados.Text :=  'chNFe='     + chNFE +
              '&nVersao='  + '100' +
              '&tpAmb='    + tpAmb +
              Iif((Length(cDest) > 0),('&cDest=' + cDest), '') +
              '&dhEmi='    + StrToHex(DateTimeTodhUTC(fPrincipal.ACBrNFCe.NotasFiscais.Items[0].NFe.Ide.dEmi,GetUTC(fPrincipal.ACBrNFCe.NotasFiscais.Items[0].NFe.emit.enderEmit.UF, fPrincipal.ACBrNFCe.NotasFiscais.Items[0].NFe.Ide.dEmi))) +
              '&vNF='      + vNF +
              '&vICMS='    + vICMS +
              '&digVal='   + digVal +
              '&cIdToken=' + cIdToken;
 
 Hash_SHA1 := ACBrEAD.CalcularHash(UTF8Encode(MemoDados.Text), dgstSHA1);
 
 MemoDados.Lines.Clear;
 MemoDados.Text :=  URL +
              'chNFe='     + chNFE +
              '&nVersao='  + '100' +
              '&tpAmb='    + tpAmb +
              Iif((Length(cDest) > 0),('&cDest=' + cDest), '') +
              '&dhEmi='    + StrToHex(DateTimeTodhUTC(fPrincipal.ACBrNFCe.NotasFiscais.Items[0].NFe.Ide.dEmi,GetUTC(fPrincipal.ACBrNFCe.NotasFiscais.Items[0].NFe.emit.enderEmit.UF, fPrincipal.ACBrNFCe.NotasFiscais.Items[0].NFe.Ide.dEmi))) +
              '&vNF='      + vNF +
              '&vICMS='    + vICMS +
              '&digVal='   + digVal +
              '&cIdToken=' + '000001';
 
MemoDados.Text := MemoDados.Text + '&cHashQRCode=' + StrToHex(Hash_SHA1);
 
s := MemoDados.Text;
 
x := eGerarQrCodeArquivo_DUAL_DarumaFramework(PAnsiChar('C:\QrCode\Qrcode-NFCe.bmp'), pAnsiChar(s));
 
fPrincipal.ACBrNFeDANFEFR1.ImgQrCode := PAnsiChar('C:\QrCode\Qrcode-NFCe.bmp');
 
 
 
Realizei a emissão de uma NFCe no ambiente de homologação para testes, segue abaixo a sequencia sobre a qual foi calculado hash sha1:
chNFe=13140105022791000174650010000000331000000335&nVersao=100&tpAmb=2&dhEmi=323031342D30312D31385431383A32323A32322D30343A3030&vNF=20.00&vICMS=0.00&digVal=674C48464A5A6543503932772F654B4170377A376E7A70504272733D&cIdToken=0000010502279120130001
 
resultado do cálculo do hash sha1 sobre a sequência acima:
A1D791A7DA39EF0664885BE30C147D778F566FA2
 
Url Formada que foi incluída no QRCode:
 
 
Se alguém puder me ajudar a identificar onde está o erro, agradeço.
 

post-13101-0-37668200-1390084139.jpg

NFCe-Ambiente de Homologacao.pdf

Postado

 

 if fPrincipal.ACBrNFCe.NotasFiscais.Items[0].NFe.Ide.tpAmb = taProducao then

 Begin
  URL := 'sistemas.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp?';
  tpAmb := '1';
  IdToken := '000001';
  Token   := '1491174001476968';
  cIdToken := IdToken + Token;
 End
 else
  Begin
   URL := 'homnfce.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp?';
   tpAmb := '2';
   IdToken := '000001';
   Token   := '0502279120130001';// CNPJ Base da Empresa(8 digitos) + ano (2014) + IdToken (0001) - Apenas para o ambiente de Homologação
   cIdToken := IdToken + Token;
 End;
 

Bom dia, tente alterar onde deixei negrito para 2014

Postado

Bom dia, tente alterar onde deixei negrito para 2014

Ola elrond, alterei como você pediu mais mesmo assim continua apresentando o erro 100(Qr Code Inválido) conforme mostra o link abaixo de uma nova nota que emiti para testes.

http://homnfce.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp?chNFe=13140105022791000174650010000000341000000340&nVersao=100&tpAmb=2&dhEmi=323031342D30312D32315431333A32313A33382D30343A3030&vNF=20.00&vICMS=0.00&digVal=59423278536B3958554D5878514D654761587735694F3168324B4D3D&cIdToken=000001&cHashQRCode=41334633344241303744333833384138313044383635413233423830444530413737443330373143

 

Abaixo seguem as informações onde foram geradas o hash:

chNFe=13140105022791000174650010000000341000000340&nVersao=100&tpAmb=2&dhEmi=323031342D30312D32315431333A32313A33382D30343A3030&vNF=20.00&vICMS=0.00&digVal=59423278536B3958554D5878514D654761587735694F3168324B4D3D&cIdToken=0000010502279120140001

 

Abaixo o hash gerado:

A3F34BA07D3838A810D865A23B80DE0A77D3071C

 

Eu li em um post nesse mesmo fórum que o ano deveria permanecer em 2013 não lembro ao certo o motivo.

Postado (editado)

Ola elrond, alterei como você pediu mais mesmo assim continua apresentando o erro 100(Qr Code Inválido) conforme mostra o link abaixo de uma nova nota que emiti para testes.

http://homnfce.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp?chNFe=13140105022791000174650010000000341000000340&nVersao=100&tpAmb=2&dhEmi=323031342D30312D32315431333A32313A33382D30343A3030&vNF=20.00&vICMS=0.00&digVal=59423278536B3958554D5878514D654761587735694F3168324B4D3D&cIdToken=000001&cHashQRCode=41334633344241303744333833384138313044383635413233423830444530413737443330373143

 

Abaixo seguem as informações onde foram geradas o hash:

chNFe=13140105022791000174650010000000341000000340&nVersao=100&tpAmb=2&dhEmi=323031342D30312D32315431333A32313A33382D30343A3030&vNF=20.00&vICMS=0.00&digVal=59423278536B3958554D5878514D654761587735694F3168324B4D3D&cIdToken=0000010502279120140001

 

Abaixo o hash gerado:

A3F34BA07D3838A810D865A23B80DE0A77D3071C

 

Eu li em um post nesse mesmo fórum que o ano deveria permanecer em 2013 não lembro ao certo o motivo.

Bom vc leu a respeito do servidor de MT, que esta com problema e deveria informar 2013, mais ja foi arrumado.

 

Como vc esta utilizando servidor de AM, creio que este esteje ok.

 

vou postar o meu fonte, apesar de ser Copia do pessoal ( credito a quem desenvolveu ) e que aqui esta funcionando corretamente, pelo menos para o MT esta blzinha.

function TFNFCe.StringToHex(const S: String): string;
begin
  SetLength(result, 2*Length(S));
  BinToHex(@S[1], @result[1], Length(S));
end;

function TFNFCe.GetSiteConsulta(UF: string; Ambiente: TpcnTipoAmbiente ): string;
const
  site_uf_prod : array[0..6] of string =
     ('http://www.sefaznet.ac.gov.br/nfe/NFe.jsp?opc=3'
     'http://sistemas.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp'
     'http://www.nfce.sefaz.ma.gov.br/portal/consultarNFCe.jsp'
     'http://www.sefaz.mt.gov.br/nfe/portal/consultanfce'
     'http://www.nfe.rn.gov.br/portal/consultarNFCe.jsp'
     'https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx'
     'http://www.nfe.se.gov.br/portal/consultarNFCe.jsp');
  site_uf_hom : array[0..6] of string =
      ('http://hml.sefaznet.ac.gov.br'
      'http://homnfe.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp'
      'http://www.hom.nfce.sefaz.ma.gov.br/portal/consultarNFCe.jsp'
      'http://homologacao.sefaz.mt.gov.br/nfce/consultanfce'
      'http://www.hom.nfe.rn.gov.br/portal/consultarNFCe.jsp'
      'https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx'
      'http://www.hom.nfe.se.gov.br/portal/consultarNFCe.jsp');
begin
  case Ambiente of
    taProducao:  begin
          if UF = 'AC' then
            Result := site_uf_prod[0]
          else if UF = 'AM' then
            Result := site_uf_prod[1]
          else if UF = 'MA' then
            Result := site_uf_prod[2]
          else if UF = 'MT' then
            Result := site_uf_prod[3]
          else if UF = 'RN' then
            Result := site_uf_prod[4]
          else if UF = 'RS' then
            Result := site_uf_prod[5]
          else if UF = 'SE' then
            Result := site_uf_prod[6]
        end;
    taHomologacao:  begin
          if UF = 'AC' then
            Result := site_uf_hom[0]
          else if UF = 'AM' then
            Result := site_uf_hom[1]
          else if UF = 'MA' then
            Result := site_uf_hom[2]
          else if UF = 'MT' then
            Result := site_uf_hom[3]
          else if UF = 'RN' then
            Result := site_uf_hom[4]
          else if UF = 'RS' then
            Result := site_uf_hom[5]
          else if UF = 'SE' then
            Result := site_uf_hom[6]
        end;
  end;

end;


procedure TFNFCe.GerarQrCode;
var
  s_aux, dh_emi, s_hash: string;
  qrcode : TxpQrCode;
begin
  dh_emi := GetUTC( CodigoParaUF(ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.cUF),
              StrToDateTime(FormatDateTime('dd/mm/yyyy',ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.dEmi)+' '+
              FormatDateTime('hh:mm:ss', ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.dEmi)));

  dh_emi := StringToHex( FormatDateTime('yyyy-mm-dd',ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.dEmi)+'T'+
              FormatDateTime('hh:mm:ss', ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.dEmi)+dh_emi );

  if (ACBrNFe1.NotasFiscais.Items[0].NFe.ide.tpAmb = taHomologacao) then
  begin
    FIdToken := '000001';
  end;
  if (ACBrNFe1.NotasFiscais.Items[0].NFe.ide.tpAmb = taHomologacao) then
  begin
    FToken := Copy(ACBrNFe1.NotasFiscais.Items[0].NFe.Emit.CNPJCPF, 1, 8)+ IntToStr(YearOf(Now))+'0001';
  end;                                                                     // '20130001';//


 s_aux :='chNFe=<chaveacesso>'+
          '&nVersao=100'+
          '&tpAmb=<ambiente>'+
          IIf(ACBrNFe1.NotasFiscais.Items[0].NFe.Dest.CNPJCPF<>'', '&cDest=<cnpj_dest>', '')+
          '&dhEmi=<data_hora>'+
          '&vNF=<valor>'+
          '&vICMS=<valor_icms>'+
          '&digVal=<digito_val>'+
          '&cIdToken=<id_token><token>';

  s_aux := StringReplace(s_aux, '<chaveacesso>', SomenteNumeros(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID), []);
  s_aux := StringReplace(s_aux, '<ambiente>',    TpAmbToStr(ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.tpAmb), []);
  s_aux := StringReplace(s_aux, '<data_hora>',   dh_emi, []);
  s_aux := StringReplace(s_aux, '<valor>',       StringReplace(FormatFloat('##,##0.00',ACBrNFe1.NotasFiscais.Items[0].NFe.Total.ICMSTot.vNF),',','.',[]),[] );
  s_aux := StringReplace(s_aux, '<valor_icms>',  StringReplace(FormatFloat('##,##0.00',ACBrNFe1.NotasFiscais.Items[0].NFe.Total.ICMSTot.vICMS),',','.',[]),[] );
  s_aux := StringReplace(s_aux, '<digito_val>',  StringToHex(ACBrNFe1.NotasFiscais.Items[0].NFe.signature.DigestValue), []);
  s_aux := StringReplace(s_aux, '<id_token>',    FIdToken, []);
  s_aux := StringReplace(s_aux, '<cnpj_dest>',   ACBrNFe1.NotasFiscais.Items[0].NFe.Dest.CNPJCPF, []);


  with TACBrEAD.Create(nil) do
  try
    s_hash := StringReplace(s_aux,'<token>',FToken,[]);
    s_hash := CalcularHash(s_hash, dgstSHA1);
  finally
    Free;
  end;



  s_aux :=  StringReplace(s_aux,'<token>', '',[]) + '&cHashQRCode='+s_hash;
  s_aux := GetSiteConsulta( CodigoParaUF(ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.cUF), ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.tpAmb ) +'?'+ s_aux;
  
 // MontarQrCode(s_aux);
   qrcode := TxpQrCode.Create;
  try
    if qrcode.GerarQrCode( s_aux ) then
      qrcode.QrCode.SaveToFile(ExtractFilePath(ParamStr(0))+'qrcode_temp.bmp');

  finally
    qrcode.Free;
  end;
end;
 

 

essa foi gerada por esse codigo.

 

Essa parte onde Monta o QrCode vc utiliza o comando direto para a impressora Daruma.

 

sua nota ...

peguei a url de consulta + chNFe + Hash

 

sendo que .... no IdToken=000001 em vez de 0000010502279120140001

 

http://homnfce.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp?chNFe=13140105022791000174650010000000341000000340&nVersao=100&tpAmb=2&dhEmi=323031342D30312D32315431333A32313A33382D30343A3030&vNF=20.00&vICMS=0.00&digVal=59423278536B3958554D5878514D654761587735694F3168324B4D3D&cIdToken=000001&cHashQRCode=A3F34BA07D3838A810D865A23B80DE0A77D3071C

 

A Hash gerada na url de consulta ( no seu link do post acima esta ) : &cHashQRCode=41334633344241303744333833384138313044383635413233423830444530413737443330373143

ao inves de &cHashQRCode=A3F34BA07D3838A810D865A23B80DE0A77D3071C

 

 

Bom creio que va resolver seu problema

Editado por elrond
Postado

Bom vc leu a respeito do servidor de MT, que esta com problema e deveria informar 2013, mais ja foi arrumado.

 

Como vc esta utilizando servidor de AM, creio que este esteje ok.

 

vou postar o meu fonte, apesar de ser Copia do pessoal ( credito a quem desenvolveu ) e que aqui esta funcionando corretamente, pelo menos para o MT esta blzinha.

function TFNFCe.StringToHex(const S: String): string;
begin
  SetLength(result, 2*Length(S));
  BinToHex(@S[1], @result[1], Length(S));
end;

function TFNFCe.GetSiteConsulta(UF: string; Ambiente: TpcnTipoAmbiente ): string;
const
  site_uf_prod : array[0..6] of string =
     ('http://www.sefaznet.ac.gov.br/nfe/NFe.jsp?opc=3'
     'http://sistemas.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp'
     'http://www.nfce.sefaz.ma.gov.br/portal/consultarNFCe.jsp'
     'http://www.sefaz.mt.gov.br/nfe/portal/consultanfce'
     'http://www.nfe.rn.gov.br/portal/consultarNFCe.jsp'
     'https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx'
     'http://www.nfe.se.gov.br/portal/consultarNFCe.jsp');
  site_uf_hom : array[0..6] of string =
      ('http://hml.sefaznet.ac.gov.br'
      'http://homnfe.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp'
      'http://www.hom.nfce.sefaz.ma.gov.br/portal/consultarNFCe.jsp'
      'http://homologacao.sefaz.mt.gov.br/nfce/consultanfce'
      'http://www.hom.nfe.rn.gov.br/portal/consultarNFCe.jsp'
      'https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx'
      'http://www.hom.nfe.se.gov.br/portal/consultarNFCe.jsp');
begin
  case Ambiente of
    taProducao:  begin
          if UF = 'AC' then
            Result := site_uf_prod[0]
          else if UF = 'AM' then
            Result := site_uf_prod[1]
          else if UF = 'MA' then
            Result := site_uf_prod[2]
          else if UF = 'MT' then
            Result := site_uf_prod[3]
          else if UF = 'RN' then
            Result := site_uf_prod[4]
          else if UF = 'RS' then
            Result := site_uf_prod[5]
          else if UF = 'SE' then
            Result := site_uf_prod[6]
        end;
    taHomologacao:  begin
          if UF = 'AC' then
            Result := site_uf_hom[0]
          else if UF = 'AM' then
            Result := site_uf_hom[1]
          else if UF = 'MA' then
            Result := site_uf_hom[2]
          else if UF = 'MT' then
            Result := site_uf_hom[3]
          else if UF = 'RN' then
            Result := site_uf_hom[4]
          else if UF = 'RS' then
            Result := site_uf_hom[5]
          else if UF = 'SE' then
            Result := site_uf_hom[6]
        end;
  end;

end;


procedure TFNFCe.GerarQrCode;
var
  s_aux, dh_emi, s_hash: string;
  qrcode : TxpQrCode;
begin
  dh_emi := GetUTC( CodigoParaUF(ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.cUF),
              StrToDateTime(FormatDateTime('dd/mm/yyyy',ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.dEmi)+' '+
              FormatDateTime('hh:mm:ss', ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.dEmi)));

  dh_emi := StringToHex( FormatDateTime('yyyy-mm-dd',ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.dEmi)+'T'+
              FormatDateTime('hh:mm:ss', ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.dEmi)+dh_emi );

  if (ACBrNFe1.NotasFiscais.Items[0].NFe.ide.tpAmb = taHomologacao) then
  begin
    FIdToken := '000001';
  end;
  if (ACBrNFe1.NotasFiscais.Items[0].NFe.ide.tpAmb = taHomologacao) then
  begin
    FToken := Copy(ACBrNFe1.NotasFiscais.Items[0].NFe.Emit.CNPJCPF, 1, 8)+ IntToStr(YearOf(Now))+'0001';
  end;                                                                     // '20130001';//


 s_aux :='chNFe=<chaveacesso>'+
          '&nVersao=100'+
          '&tpAmb=<ambiente>'+
          IIf(ACBrNFe1.NotasFiscais.Items[0].NFe.Dest.CNPJCPF<>'', '&cDest=<cnpj_dest>', '')+
          '&dhEmi=<data_hora>'+
          '&vNF=<valor>'+
          '&vICMS=<valor_icms>'+
          '&digVal=<digito_val>'+
          '&cIdToken=<id_token><token>';

  s_aux := StringReplace(s_aux, '<chaveacesso>', SomenteNumeros(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID), []);
  s_aux := StringReplace(s_aux, '<ambiente>',    TpAmbToStr(ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.tpAmb), []);
  s_aux := StringReplace(s_aux, '<data_hora>',   dh_emi, []);
  s_aux := StringReplace(s_aux, '<valor>',       StringReplace(FormatFloat('##,##0.00',ACBrNFe1.NotasFiscais.Items[0].NFe.Total.ICMSTot.vNF),',','.',[]),[] );
  s_aux := StringReplace(s_aux, '<valor_icms>',  StringReplace(FormatFloat('##,##0.00',ACBrNFe1.NotasFiscais.Items[0].NFe.Total.ICMSTot.vICMS),',','.',[]),[] );
  s_aux := StringReplace(s_aux, '<digito_val>',  StringToHex(ACBrNFe1.NotasFiscais.Items[0].NFe.signature.DigestValue), []);
  s_aux := StringReplace(s_aux, '<id_token>',    FIdToken, []);
  s_aux := StringReplace(s_aux, '<cnpj_dest>',   ACBrNFe1.NotasFiscais.Items[0].NFe.Dest.CNPJCPF, []);


  with TACBrEAD.Create(nil) do
  try
    s_hash := StringReplace(s_aux,'<token>',FToken,[]);
    s_hash := CalcularHash(s_hash, dgstSHA1);
  finally
    Free;
  end;



  s_aux :=  StringReplace(s_aux,'<token>', '',[]) + '&cHashQRCode='+s_hash;
  s_aux := GetSiteConsulta( CodigoParaUF(ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.cUF), ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.tpAmb ) +'?'+ s_aux;
  
 // MontarQrCode(s_aux);
   qrcode := TxpQrCode.Create;
  try
    if qrcode.GerarQrCode( s_aux ) then
      qrcode.QrCode.SaveToFile(ExtractFilePath(ParamStr(0))+'qrcode_temp.bmp');

  finally
    qrcode.Free;
  end;
end;
 

 

essa foi gerada por esse codigo.

 

Essa parte onde Monta o QrCode vc utiliza o comando direto para a impressora Daruma.

 

sua nota ...

peguei a url de consulta + chNFe + Hash

 

sendo que .... no IdToken=000001 em vez de 0000010502279120140001

 

http://homnfce.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp?chNFe=13140105022791000174650010000000341000000340&nVersao=100&tpAmb=2&dhEmi=323031342D30312D32315431333A32313A33382D30343A3030&vNF=20.00&vICMS=0.00&digVal=59423278536B3958554D5878514D654761587735694F3168324B4D3D&cIdToken=000001&cHashQRCode=A3F34BA07D3838A810D865A23B80DE0A77D3071C

 

A Hash gerada na url de consulta ( no seu link do post acima esta ) : &cHashQRCode=41334633344241303744333833384138313044383635413233423830444530413737443330373143

ao inves de &cHashQRCode=A3F34BA07D3838A810D865A23B80DE0A77D3071C

 

 

Bom creio que va resolver seu problema

Boa tarde Elrond,
 
Eu consegui resolver o problema no ambiente de homologação, a bronca era que eu estava mandando converter em Hexa o Hash depois de gerado, removi a parte em que ele manda converte e pronto.
 
Agora fui gerar a NFc-e no ambiente de Produção, a única troca que fiz trocar o token para 0000025691381601420864 (IdToken: 000002 + Numero Token: 5691381601420864) e ele voltou a apresentar o problema do código 100 - QRCode inválido.
 
Existe alguma particularidade que eu esteja esquecendo, pois estou gerando conforme os padrões.
 
Link da Nota tirada no ambeinte de Producao:
 
Testo de onde foi gerada o Hash Sha:
chNFe=13140105022791000174650010000000431000000439&nVersao=100&tpAmb=1&dhEmi=323031342D30312D32355431323A31353A30392D30343A3030&vNF=62.00&vICMS=0.00&digVal=6659346E59523334345A78343541414558712B53594E416E51376B3D&cIdToken=0000025691381601420864
 
Hash Sha gerado pelo Sistema:
585F3A1D427CD1BCC0FFF3447E518476F04AA8DF
Postado

Pessoal desculpa o topico mas nao consegui encontrar onde se inutiliza a NFC-e...

 

Estou utilizando o seguinte: ACBrNFe1.WebServices.Inutiliza(...)

 

Porem esta dando falha nos schemas...

 

O que pode ser ... Ja atualizei... Att

 

 

Dionatan

Postado

Pessoal desculpa o topico mas nao consegui encontrar onde se inutiliza a NFC-e...

 

Estou utilizando o seguinte: ACBrNFe1.WebServices.Inutiliza(...)

 

Porem esta dando falha nos schemas...

 

O que pode ser ... Ja atualizei... Att

 

 

Dionatan

 

Dionatan,

 

Quando tento enviar a inutilização o webservice sempre me retorna que a NFCe não existe, mesmo a consulta resultar que ela está autorizada.

 

Não encontrei nada sobre inutilização de NFCe nas Notas Técnicas, como também não encontrei nada sobre Cancelamento porém o cancelamento por evento funciona.

 

Não é problema no componente e sim nos serviços do webservice.

  • Membros Pro
Postado (editado)

Olá Pessoal!

 

Pessoal, eu estou conseguindo validar e imprimir corretamente, porém, estou avaliando que no retorno, o recibo está vindo sem informação no código:

 

      sqlNfce.FieldByName('PROTOCOLO').Value := frmNfe.notafiscal.WebServices.Retorno.Protocolo;
      sqlNfce.FieldByName('RECIBO').Value := frmNfe.notafiscal.WebServices.Retorno.Recibo;
 

<dhRecbto>2014-01-31T11:23:39</dhRecbto>
<nProt>151140000219724</nProt>
<digVal>uuXv75fTqQlncyI+ibMBPU/Xpos=</digVal>
<cStat>100</cStat>
<xMotivo>Autorizado o uso da NF-e</xMotivo>
 

 

O componente está atualizado e observando o xml:

Não encontrei nenhum erro, alguém por me ajudar com isso?

 

Att.

 

Leonardo Freitag

Editado por freitagnx

assinatura.png

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