Ir para conteúdo
  • Cadastre-se

dev botao

Dúvidas Responsável Técnico na nfc-e


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 2073 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Boa Noite.
Lendo a mais recente NT sobre os campos do grupo responsável técnico tenho a seguinte dúvida:
Preenchi em meu sistema desta forma as tags do acbr:
        infRespTec.idCSRT:= ID que será dados pelo website da receita ao me cadastrar       

        infRespTec.hashCSRT:=informação que será dada pela receita ao me cadastrar
        infRespTec.CNPJ:=CNPJ da empresa de software
        infRespTec.xContato:=meu nome
        infRespTec.email:=meu email
        infRespTec.fone:=meu telefone.

Ai me surgiu a dúvida se estaria certo desta forma, pois segundo a NT o hashCSRT é formado pela concatenação da chave da NFC-e mais o hashCSRT.
Pergunto o acbr fará o processo de concatenação e informar no XML a tag já tratada, ou seja, concatenada e trabalhada junto com o hashCSRT???
 

  • Moderadores
Postado

Bom dia

O Componente já concatena e gera o hash, porém o campo  hashCSRT e idCSRT ainda não será exigida pela SEFAZ, enquanto não tiver esse numero e ID não deve preencher esses dois campos...

Acompanhe no link abaixo o cronograma dos Estados que exigem as Inf. Resp. Técnico.

https://www.projetoacbr.com.br/acbr-mapas-fiscais/#acbrmapa_responsavel_tecnico

  • Curtir 3
Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Consultores
Postado

Bom dia Giovani,

Quanto aos campos: CNPJ, xContato, fone e email esta correto, mas o idCSRT e hashCSRT não.

Quando a SEFAZ disponibilizar o site ou webservice o que será fornecido é o idCSRT (campo numérico) e o CSRT (campo alfanumérico).

Essas duas informações deverão ser passadas para os respectivos campos que se encontra nas propriedades de configuração do componente.

// Enquanto o desenvolvedor não tiver o seu CSRT deverá configurar 
// as propriedades IdCSRT e CSRT conforme exemplo abaixo.

ACBrNFe1.Configuracoes.RespTec.IdCSRT := 0;
ACBrNFe1.Configuracoes.RespTec.CSRT := '';

 

  • Curtir 2
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado (editado)

Sim, pode notar que como observação coloquei que estes dados serão dados pela receita.
Vc escreveu: 

ACBrNFe1.Configuracoes.RespTec.CSRT := '';
vc quis dizer

ACBrNFe1.Configuracoes.RespTec.hashCSRT := ''; ?????
Né?
 
Editado por giovani deitos
  • Consultores
Postado

Bom dia Giovani,

Não, a propriedade é CSRT.

Temos duas propriedades de configuração: idCSRT e CSRT.

Dentro do grupo <infRespTec> temos dois campos: idCSRT e hashCSRT.

O campo idCSRT recebe o mesmo valor da propriedade de configuração idCSRT.

Já o campo hashCSRT é gerado da seguinte forma: O hashCSRT é o resultado da função hash (SHA-1 – Base64) do CSRT fornecido pelo fisco mais a Chave de Acesso da NFe.

Abaixo temos a procedure que gera o grupo <infRespTec> da NF-e:

procedure TNFeW.GerarinfRespTec;
begin
  if (nfe.infRespTec.CNPJ <> '') then
  begin
    Gerador.wGrupo('infRespTec', '#081');
    Gerador.wCampoCNPJ('#82', nfe.infRespTec.CNPJ, CODIGO_BRASIL, True);
    Gerador.wCampo(tcStr, '#083', 'xContato', 02, 60, 1, nfe.infRespTec.xContato, DSC_XCONTATO);
    Gerador.wCampo(tcStr, '#084', 'email   ', 06, 60, 1, nfe.infRespTec.email, DSC_EMAIL);
    Gerador.wCampo(tcStr, '#085', 'fone    ', 07, 12, 1, nfe.infRespTec.fone, DSC_FONE);

    if (idCSRT <> 0) and (CSRT <> '') then
    begin
      Gerador.wCampo(tcInt, '#086', 'idCSRT  ', 02, 02, 1, idCSRT, DSC_IDCSRT);
      Gerador.wCampo(tcStr, '#087', 'hashCSRT', 28, 28, 1, CalcularHashCSRT(CSRT, FChaveNFe), DSC_HASHCSRT);
    end;

    Gerador.wGrupo('/infRespTec');
  end;
end;

Note que o valor do campo hashCSRT é o resultado retornado pela função CalcularHashCSRT que recebe como parâmetros a propriedade CSRT e a chave da NF-e.

  • Curtir 2
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado
7 horas atrás, Italo Jurisato Junior disse:

Bom dia Giovani,

Não, a propriedade é CSRT.

Temos duas propriedades de configuração: idCSRT e CSRT.

Dentro do grupo <infRespTec> temos dois campos: idCSRT e hashCSRT.

O campo idCSRT recebe o mesmo valor da propriedade de configuração idCSRT.

Já o campo hashCSRT é gerado da seguinte forma: O hashCSRT é o resultado da função hash (SHA-1 – Base64) do CSRT fornecido pelo fisco mais a Chave de Acesso da NFe.

Abaixo temos a procedure que gera o grupo <infRespTec> da NF-e:


procedure TNFeW.GerarinfRespTec;
begin
  if (nfe.infRespTec.CNPJ <> '') then
  begin
    Gerador.wGrupo('infRespTec', '#081');
    Gerador.wCampoCNPJ('#82', nfe.infRespTec.CNPJ, CODIGO_BRASIL, True);
    Gerador.wCampo(tcStr, '#083', 'xContato', 02, 60, 1, nfe.infRespTec.xContato, DSC_XCONTATO);
    Gerador.wCampo(tcStr, '#084', 'email   ', 06, 60, 1, nfe.infRespTec.email, DSC_EMAIL);
    Gerador.wCampo(tcStr, '#085', 'fone    ', 07, 12, 1, nfe.infRespTec.fone, DSC_FONE);

    if (idCSRT <> 0) and (CSRT <> '') then
    begin
      Gerador.wCampo(tcInt, '#086', 'idCSRT  ', 02, 02, 1, idCSRT, DSC_IDCSRT);
      Gerador.wCampo(tcStr, '#087', 'hashCSRT', 28, 28, 1, CalcularHashCSRT(CSRT, FChaveNFe), DSC_HASHCSRT);
    end;

    Gerador.wGrupo('/infRespTec');
  end;
end;

Note que o valor do campo hashCSRT é o resultado retornado pela função CalcularHashCSRT que recebe como parâmetros a propriedade CSRT e a chave da NF-e.

Perfeito!
Agora me esclareceu muito.

Pelo que entendi, no meu caso, tomando como exemplo o código que já fiz para meu sistema no topo do post, é só gerar o hashCSRT, passando como parametro o CSRT e chave da nota em questão.

 

  • Consultores
  • Solution
Postado

Boa tarde Giovani,

O seu código deve ficar da seguinte forma:

        infRespTec.CNPJ     := CNPJ da empresa de software
        infRespTec.xContato := meu nome
        infRespTec.email    := meu email
        infRespTec.fone     := meu telefone

Lembre-se configurar o componente é uma coisa, alimentar com os dados da venda é outra.

As 4 linhas acimas devem ser incluídas na rotina que alimenta o componente.

Já as linhas abaixo devem ser incluídas na rotina que configura o componente.

// Enquanto o desenvolvedor não tiver o seu CSRT deverá configurar 
// as propriedades IdCSRT e CSRT conforme exemplo abaixo.

ACBrNFe1.Configuracoes.RespTec.IdCSRT := 0;
ACBrNFe1.Configuracoes.RespTec.CSRT := '';

 

  • Curtir 3
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado
1 hora atrás, Italo Jurisato Junior disse:

Boa tarde Giovani,

O seu código deve ficar da seguinte forma:


        infRespTec.CNPJ     := CNPJ da empresa de software
        infRespTec.xContato := meu nome
        infRespTec.email    := meu email
        infRespTec.fone     := meu telefone

Lembre-se configurar o componente é uma coisa, alimentar com os dados da venda é outra.

As 4 linhas acimas devem ser incluídas na rotina que alimenta o componente.

Já as linhas abaixo devem ser incluídas na rotina que configura o componente.


// Enquanto o desenvolvedor não tiver o seu CSRT deverá configurar 
// as propriedades IdCSRT e CSRT conforme exemplo abaixo.

ACBrNFe1.Configuracoes.RespTec.IdCSRT := 0;
ACBrNFe1.Configuracoes.RespTec.CSRT := '';

 

Realmente Ítalo, eu tava "mosquiando nessa".
Mais uma vez obrigado pela atenção.

  • Curtir 1
  • Administradores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

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