Ir para conteúdo
  • Cadastre-se

dev botao

Nfc-E - Nota Fiscal Do Consumidor Eletrônica


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

Recommended Posts

  • Membros Pro

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

Link para o comentário
Compartilhar em outros sites

Pessoal, aqui a emissão, consulta e inutilização de NFC-e está 100% funcional, no entanto estou enfrentando problemas com o cancelamento, o componente do ACBr está buscando pelo schemas 3.10 para cancelmaento mas o mesmo não existe.

 

Onde posso encontrar informações sobre isso ? (busquei em todo o fórum sem sucesso).

Posso tentar emitir com a versão 3.00 ? (segundo informações da sefaz(RS) 3.00 é para as empresas do plano piloto).

 

Desde já obrigado

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde mbbortolini,

 

Você esta realizando o cancelamento por evento?

 

Lembre-se que não existe mais o cancelamento pelo webservice de cancelamento, agora é por evento.

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 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

 

no código do jeimyoliveira

tem um descuido:

 

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';//

 

pra mim resolveu assim:

if (ACBrNFe1.NotasFiscais.Items[0].NFe.ide.tpAmb = taProducao) 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';//

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

dalitas,

Creio que dessa forma esteje meio "errado", pois se houver o idToken 000002 em producao , nao ira funcionar o codigo,

sendo que o idToken o Token é fornecido pelo Contador.

 

  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; 

 

  if (ACBrNFe1.NotasFiscais.Items[0].NFe.ide.tpAmb = taProducao) then
  begin
   // vidToken fornecido pelo contador
    FIdToken := FormatFloat('000000', vIdToken );
  end;
  if (ACBrNFe1.NotasFiscais.Items[0].NFe.ide.tpAmb = taProducao) then
  begin
    // vToken fornecido pelo contador
    // verificar com o contador sobre esse TOKEN
    FToken := Trim(vToken);
  end;
 
em anexo tem como é gerado o Token , caso algum contador não souber, e da onde vem o id token e o token

Tutorial_Cadastro_Token04.10.13.pdf

Link para o comentário
Compartilhar em outros sites

Colegas, estou tendo um problema na consulta da NFC-e no portal de homologação de MT.

Ao consultar, aparece o seguinte:

Erro 100 – QR Code Inválido.

Abaixo url gerada:

http://homologacao.sefaz.mt.gov.br/nfce/consultanfce?chNFe=51140112463944000184650020000000181050475443&nVersao=100&tpAmb=2&dhEmi=323031342d30312d30395430373a32393a32332d30333a3030&vNF=298.77&vICMS=50.79&digVal=586d655769446c394839597066362f4c48695259636541477147413d&cIdToken=000001&cHashQRCode=9F53722FAF2ED1573569311A397F950098C533A4

Esse erro também ocorre no ambiente de produção.

Link para o comentário
Compartilhar em outros sites

Boa tarde Juliomar, estou usando as units alteradas por colegas aqui neste forum

ACBrNFeDANFEFR.pas

ACBrNFeDANFEFRDM.pas

FastReport

DANFeNFCe.fr3

 

Boa tarde,

 

O problema nem chega a ser na impressão, deve ser na função GerarChaveContingencia do ACBrNFeUtil.pas que não foi alterada ainda com as novos tipos de impressão.

 

Atualizei as units com as alterações da impressão NFC-e em FastReport e atualizei também com as novas alterações do svn do ACBr. Segue em anexo.

 

Aproveitando, para geração do QRcode existe uma unit em Pascal chamada DelphiZXingQRCode desenvolvida pela empresa Debenu e liberada open-source, neste link tem a unit e um exemplo de como utilizá-la.

 

Se o ACBr tiver interesse em implementar a impressão da NFCe talvez seria interessante "envelopar" as funções desta unit e gerar um componente do ACBr da mesma forma que foi feito com o ACBrBarCode envelopando o AJBarcode.

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

  • Membros Pro

Leonardo, Realmente o erro parece ser na ACBrNFeUtil em GerarChaveContingencia, então mesmo no seu projeto ocorre esse mesmo erro ao fazer uma NFc-e em contingencia FS-DA ou Off-line?

 

Crie esses campos no Danfe
SiteConsultaQrCode  <----- Esta e a URL do sefaz de acordo com o emitente. Do jeito que estava era fixo 
ImpostoIBPT              <----- Esta recebe o percentual e o valor calculado pelo sistema e nao pelo ACBr

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

Leonardo, Realmente o erro parece ser na ACBrNFeUtil em GerarChaveContingencia, então mesmo no seu projeto ocorre esse mesmo erro ao fazer uma NFc-e em contingencia FS-DA ou Off-line?

 

Com os novos fontes que liberei no post acima a contingencia FS-DA ou Off-line na NFC-e não utiliza a função GerarChaveContingencia, ou seja, não deverá ocorrer o erro.

Link para o comentário
Compartilhar em outros sites

Leonardo, mesmo com suas modificações apresenta erro ao emitir uma NFc-e em contigencia FS-DA ou Off-line:

Segue os arquivos compactei em um unico arquivo.

 

Você vai precisar debugar e ver onde está o problema.

 

Eu acabei que fazer uma NFC-e em contingência off-line com impressão e depois a transmiti sem nenhum erro com os fontes que passei.

Link para o comentário
Compartilhar em outros sites

no código do jeimyoliveira

tem um descuido:

 

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';//

 

pra mim resolveu assim:

if (ACBrNFe1.NotasFiscais.Items[0].NFe.ide.tpAmb = taProducao) 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';//

Boa tarde a todos, gostaria de saber se desta forma foi enviado corretamente NFC-e em produção?

 

Qual seria o correto, desta forma como esta citado mais acima ou desta outra forma que o Erold postou 

 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; 

 

  if (ACBrNFe1.NotasFiscais.Items[0].NFe.ide.tpAmb = taProducao) then
  begin
   // vidToken fornecido pelo contador
    FIdToken := FormatFloat('000000', vIdToken );
  end;
  if (ACBrNFe1.NotasFiscais.Items[0].NFe.ide.tpAmb = taProducao) then
  begin
    // vToken fornecido pelo contador
    // verificar com o contador sobre esse TOKEN
    FToken := Trim(vToken);
  end;
?
Link para o comentário
Compartilhar em outros sites

Tente assim:

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

if (ACBrNFe1.NotasFiscais.Items[0].NFe.ide.tpAmb = taProducao) then
begin
  FIdToken := Id_Token; // Código identificador sequencial do Token: 000001, 000002, 000003 (6 dígitos)
  FToken  := Token; // Código fornecido pela SEFAZ para a empresa emissora (até 36 dígitos)
end;
Link para o comentário
Compartilhar em outros sites

Bom dia a todos, Leonardo consegui enviar um NFC-e em produção, porém ao consultar via QrCode apareceu a tela de conlsulta da nota e logo abaixo na tela de consulta a mensagem de NFC-e inexistente na base de dados conf. figura 1.

Consultando direto a nota através do mesmo codigo utilizado para gerar o QrCode aparece a nota com erro 100 conf. figura 2

 

Será que estou fazendo algo de errado? Voce ou alguem teria alguma ideia do que possa ser?  

 

 

 

este é os dados para gerar o QrCode e que coloco direto para consulta e aparece a figura 2

 

 

post-2949-0-79302500-1392388102_thumb.pn

figura 2.bmp

Link para o comentário
Compartilhar em outros sites

Não sei se é esse o problema, mas tente trocar as vírgulas por pontos nos valoes, isto influencia na gerar do hash.

vNF := StringReplace(FormatFloat('##,##0.00', NFe.NotasFiscais.Items[0].NFe.Total.ICMSTot.vNF),',','.',[]);
vICMS := StringReplace(FormatFloat('##,##0.00', NFe.NotasFiscais.Items[0].NFe.Total.ICMSTot.vICMS),',','.',[]);
Link para o comentário
Compartilhar em outros sites

Olá Leonardo, obrigado por responder.

Fiz conforme sua orientação e quanto ao Erro 100 - QR Code Inválido ainda permanece mesmo estando pontos nos campos com valores.

Já o erro de NFC-e inexistente na base de dados descobri o erro.

Eu estava usando esta função

function TFrmNFCEletronica.GetSiteConsulta(UF: string; Ambiente: TpcnTipoAmbiente): string;

const
  site_uf_prod : array[0..6] of string =
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; 

 

ai deu certo a consulta através da geração do QrCode.

Agora estou quebrando a cabeça para descobrir o Erro 100 - QR Code Inválido.

Por enquanto obrigado, e caso ainda possam me ajudar quanto a este erro.

Segue novos dados para geração do QrCode

http://www.sefaz.mt.gov.br/nfce/consultanfce?chNFe=51140215015986000140650010000000011000000017&nVersao=100&tpAmb=1&dhEmi=323031342d30322d31345431303a30313a35332d30333a3030&vNF=8.60&vICMS=0.00&digVal=5557565146776f7253577675767270416c4532446a52346e2b654d3d&cIdToken=000001&cHashQRCode=DD1F9D8C9D802EC43533AEF825FD14C30C03C9D9

Link para o comentário
Compartilhar em outros sites

  • Membros

Boa tarde amigos ...

Iniciei os testes aqui usando o demo e a Sefaz AM, e tudo Ok com as 3 primeiras notas que transmiti. O único probleminha é que não consegui, em nenhum momento exibir o QrCode no Danfe. Baixei as units fornecidas aqui no fórum para o Danfe em Fast e as dicas abaixo:

 

ACBrNFeDANFEFR1.FastFile := 'C:\DANFeNFCe.fr3';

ACBrNFeDANFEFR1.Logo := 'C:\QR.jpeg';

ACBrNFe1.NotasFiscais.Clear;

ACBrNFe1.NotasFiscais.LoadFromFile(PathDoXML);
ACBrNFe1.NotasFiscais.Imprimir;

 

Mas não exibe nada. Em anexo a imagem da ultima NFCe transmitida.

Alguém pode me dar um help ?

 

Obrigado.

 

Sérgio

post-53-0-96531800-1392583868_thumb.jpg

Editado por gigainfo
Equipe ACBr Sérgio Assunção
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

[email protected]

Link para o comentário
Compartilhar em outros sites

Boa tarde amigos ...

Iniciei os testes aqui usando o demo e a Sefaz AM, e tudo Ok com as 3 primeiras notas que transmiti. O único probleminha é que não consegui, em nenhum momento exibir o QrCode no Danfe. Baixei as units fornecidas aqui no fórum para o Danfe em Fast e as dicas abaixo:

 

ACBrNFeDANFEFR1.FastFile := 'C:\DANFeNFCe.fr3';

ACBrNFeDANFEFR1.Logo := 'C:\QR.jpeg';

ACBrNFe1.NotasFiscais.Clear;

ACBrNFe1.NotasFiscais.LoadFromFile(PathDoXML);

ACBrNFe1.NotasFiscais.Imprimir;

 

Mas não exibe nada. Em anexo a imagem da ultima NFCe transmitida.

Alguém pode me dar um help ?

 

Obrigado.

 

Sérgio

 

Você precisa utilizar algum recurso externo ao ACBr para salvar a imagem QRCode no computador, e depois passar o caminho da imagem salvar para o Fast Report a imprimí-la. Alguns exemplos ZXIng (https://code.google.com/p/qr-code-pascal), Zint BarCode ou Google Chart API (http://www.rafaelbiriba.com/2009/05/02/qr-code-gere-com-o-google-chart-api.html)

Link para o comentário
Compartilhar em outros sites

Boa tarde amigos ...

Iniciei os testes aqui usando o demo e a Sefaz AM, e tudo Ok com as 3 primeiras notas que transmiti. O único probleminha é que não consegui, em nenhum momento exibir o QrCode no Danfe. Baixei as units fornecidas aqui no fórum para o Danfe em Fast e as dicas abaixo:

 

ACBrNFeDANFEFR1.FastFile := 'C:\DANFeNFCe.fr3';

ACBrNFeDANFEFR1.Logo := 'C:\QR.jpeg';

ACBrNFe1.NotasFiscais.Clear;

ACBrNFe1.NotasFiscais.LoadFromFile(PathDoXML);

ACBrNFe1.NotasFiscais.Imprimir;

 

Mas não exibe nada. Em anexo a imagem da ultima NFCe transmitida.

Alguém pode me dar um help ?

 

Obrigado.

 

Sérgio

Ségio Bom dia ..

para sair a impressão do QrCODE vc  passa ACBrNFeDANFEFR1.ImgQrCode := 'C:\QR.jpeg';  ao invés ACBrNFeDANFEFR1.Logo := 'C:\QR.jpeg';

Link para o comentário
Compartilhar em outros sites

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