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á 2157 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á 2157 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...