Ir para conteúdo
  • Cadastre-se

dev botao

Nfc-E - Nota Fiscal Do Consumidor Eletrônica


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

Recommended Posts

  • Membros

Boa tarde amigos ...

Só uma dúvida básica ... Estou usando a função GerarQrCode, e tenho seguinte trecho:

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

Só não reparei em nenhum momento em que parte do código foram definidas as variáveis FIdToken e FToken.

Posso defini-las na própria função GerarQrCode ?

 

Obrigado.

 

Sérgio

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 noite a todos,

 

Estou fazendo alterações no meu sistema para o NFCe, estou testando o envio de uma NFCe de teste e o sistema está retornando o seguinte erro "Rejeicao: Emissor nao habilitado para emissao da NF-e"

 

Estou no Rio Grande do Sul e estou utilizando o certificado do nosso cliente que emite Nfe normalmente, eu teria que fazer o cadastro em algum local pra conseguir enviar as notas em homologação?

 

Obrigado a todos

 

 

Link para o comentário
Compartilhar em outros sites

  • Membros

Bom dia amigos ...

Alguém pode me dar uma ajuda aqui com o erro 100 - QR Code Inválido ?

 

O link: http://homnfce.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp?chNFe=13140214403536000162650010000000051000000053&nVersao=100&tpAmb=2&cDest=05481336000137&dhEmi=323031342D30322D31375432303A34333A34372D30343A3030&vNF=350.00&vICMS=63.00&digVal=56523150686F504D4E524A58564A6E766F356D7969597045446A633D&cIdToken=000001&cHashQRCode=21158C98ED6D5C46387DB44448C84CC61E849023

 

A forma que estou fazendo:

procedure TForm1.GerarQrCode;
var
  s_aux, dh_emi, s_hash,
  FIdToken, FToken: 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 = taProducao) then
  begin
    FToken := Copy(ACBrNFe1.NotasFiscais.Items[0].NFe.Emit.CNPJCPF, 1, 8)+ IntToStr(YearOf(Now))+'0001';
  end;


 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;

  Memo1.Lines.Clear;
  Memo1.Text := 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;

E em anexo o xml.

 

Obrigado.

 

Sérgio

13140214403536000162650010000000051000000053-nfe.xml

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

Bom dia,

 


procedure TForm1.GerarQrCode;
var
  (...)

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

  (...)

 

A código acima não está correto.

 

Os campos "id token" e o "número do token" em ambientes de homologação e produção são diferentes.

 

Em homologação:

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;

Em produção, tem que informar o ID e o Token conforme a SEFAZ do seu Estado lhe disponibilizou:

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

  • Membros Pro

Problema ao enviar em contingencia:

Na tentativa de enviar uma NFc-e que foi emitida em contingencia percebi que no XML esta ficando assim:
<dhCont>2014-02-18T14:23:22-04:00</dhCont>
 

Debugando a Unit ACBrNFeNotasFiscais em procedure TNotasFiscais.Valida

 

Apresenta um alerta dizendo que dhCont(Data e hora de entrada em contingencia) - Tamanho maior que o máximo permitido [2014-02-18T14:23:22-04:00]

 

Com isso nao consigo valida e consequentemente nao consigo envia-la.

 

Sobre o erro acima na Unit pcnNFeW tem que corrigir para:
 

if (nfe.Ide.dhCont > 0) or (nfe.Ide.xJust <> '') then
   begin
    if nfe.infNFe.Versao >= 3 then
       Gerador.wCampo(tcStr, 'B28', 'dhCont ', 25, 25, 1, DateTimeTodh(nfe.ide.dhCont) + GetUTC(CodigoParaUF(nfe.ide.cUF), nfe.ide.dhCont), DSC_DHCONT)
    else
       Gerador.wCampo(tcStr, 'B28', 'dhCont ', 19, 19, 1, DateTimeTodh(nfe.Ide.dhCont), DSC_DHCONT);
 
    Gerador.wCampo(tcStr, 'B29', 'xJust  ', 01,256, 1, nfe.ide.xJust, DSC_XJUSTCONT);
   end;
Editado por brasil
Link para o comentário
Compartilhar em outros sites

Bom dia pessoal, estou como dúvidas na emissão de NFC-e e contingencia offline.

Como é feito na geração do QrCode? Pois se eu fiz a NFC-e e gravei, mas por motivo de problema na internet não deu para transmiti-la ainda, os dados do QrCode não irão existir na base de dados e no Manual_de_especificacoes_tecnicas_da_Contingencia_Offline_versao_1.2_30_04_2013 pág. 4 diz o seguinte: 

"Além disso, o QR Code impresso no DANFE NFC-e emitida em contingência conterá a informação da data e hora de emissão do documento fiscal eletrônico, possibilitando assim que na consulta via QR Code pelo consumidor, a SEFAZ retorne a informação de que se trata de emissão em contingência e o prazo máximo em que o documento fiscal eletrônico deverá constar da base de dados do Fisco (24hs para contingência off-line e 168 horas para DANFE em formulário de segurança)."

 

Então como esta sendo feito isto? 

Link para o comentário
Compartilhar em outros sites

Brasil, então a informação de que se trata de emissão em contingência eu só irei visualiza-la na consulta após a transmissão da NFC-e?

Se eu emitir a nota e apenas grava-la em banco e não transmiti-la(devido a um problema de internet), ao consultar pelo QrCode irá dar erro mesmo de não existir a nota na base de dados pois ela não chegou a ser enviada, é isso então.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Olá, tenho acompanhado bastante o post e estou desenvolvendo um aplicativo de NFC-e também, aqui pra empresa. Já instalei os componentes necessários para gerar o QRCode (ZintBarCode) e o FastReport (tudo que foi indicado e resultou em sucesso nos aplicativos dos programadores aqui). Bom, algo não ficou claro pra mim:

 

Essa geração do QRCode e Hash, dentro desse código padrão que a maioria de vocês estão utilizando, isso tudo é gerado antes do processo de envio na NFC-e ou na hora da impressão? .. Digo isso porque eu já gerei uma NFC-e e Consultei sem problemas, mas nessa parte da impressão não entendi isso aí.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Olá, peço ajuda novamente!..... Eu vi esse código aqui na discussão do post, mas não entendi a linha em negrito, pra que serve este arquivo que está apontando? ... outra coisa... o Modelo da NFCe que já postaram imagens diversas vezes, ele já vem pronto nesse componente do DANFEFR?

 

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

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

ACBrNFe1.NotasFiscais.Clear;

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

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

Não sei se sou a pessoa mais indicada a responder mais ai vai uma pequena explicação;

 

Este arquivo em negrito é o arquivo que contém o layout de impressão do Gerador de Relatórios FastReport, ele ainda não é uma versão oficial da suite ACbr, mas foi criado aqui pelos colegas do Fórum, numa tentativa de tentar mesclar o código ao componente que também emite nota fiscal eletronica ACBrNFe. E quanto a emissão da NFCe você deve usar os arquivos da NFe que foram modificados e disponibilizados aqui para download. Use a consulta para encontra-los.

 

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

  • Membros Pro

Não sei se sou a pessoa mais indicada a responder mais ai vai uma pequena explicação;

 

Este arquivo em negrito é o arquivo que contém o layout de impressão do Gerador de Relatórios FastReport, ele ainda não é uma versão oficial da suite ACbr, mas foi criado aqui pelos colegas do Fórum, numa tentativa de tentar mesclar o código ao componente que também emite nota fiscal eletronica ACBrNFe. E quanto a emissão da NFCe você deve usar os arquivos da NFe que foram modificados e disponibilizados aqui para download. Use a consulta para encontra-los.

 

Att. Solivan

 

Obrigado Sulivan, eu verifiquei isso mesmo dando uma olhada com mais calma no tópico! Já consegui emitir, consultar e gerar o DANFE, graças a Deus meu QRCode funcionou (Quase que de primeira, não fosse o endereço de consulta em homologação que estava errado). Enfim, muito obrigado mesmo a todos vocês que cooperam muito pra facilitar o trabalho dos desenvolvedores!..... Me diga só mais uma coisa, esse DANFE aí já está atendendo completamente à legislação vigente?

Link para o comentário
Compartilhar em outros sites

Até onde vai o meu conhecimento, posso afirmar que pra atender totalmente a legislação que vive em constante mutação acho que não, mas já está fazendo o básico que é autorizar e imprimir, alguns usuários tem reclamado que não estão conseguindo inutilizar outros não conseguem cancelar, não sei se é falha no codigo ou no proprio usuário utilizador do fonte. Mas aos poucos e com a colaboração de todos talvez consigamos chegar lá nos 100%!

 

Att. Solivan

Editado por Solivan

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

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