Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Fiz um teste usando o exemplo da NT e passei a hash " 696bfa2de10ce17eaee3ea8123639867c82b8a0c' ", e no xml da Danfe fica dessa forma:

<idCSRT>01</idCSRT>

<hashCSRT>D1#Y3 ; ;5WZon * '</hashCSRT>

E isto dá erro, diz que tem o tamanho menor que o esperado.

 

  • Administradores
Postado

Boa tarde.

A exigência do IDCSRT foi adiada de forma indefinida para todas as UFs.

Veja como informar estes dados de forma a conseguir validar seu XML  no tópico a seguir

https://www.projetoacbr.com.br/forum/topic/48833-grupo-de-informações-do-responsável-técnico/

Att.

 

  • Curtir 2
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 !!

Postado
11 minutos atrás, Juliana Tamizou disse:

Boa tarde.

A exigência do IDCSRT foi adiada de forma indefinida para todas as UFs.

Veja como informar estes dados de forma a conseguir validar seu XML  no tópico a seguir

https://www.projetoacbr.com.br/forum/topic/48833-grupo-de-informações-do-responsável-técnico/

Att.

 

Obrigado, Juliana, vou aplicar aqui as adequações e posto o resultado.

Postado

Coloquei o CSRT = '' e o IdCSRT = 0, preenchi os outros dados e a nota passa, gerando o bloco abaixo no XML.

-<infRespTec>

<CNPJ>17317805000166</CNPJ>

<xContato>EDUARDO SENA</xContato>

<email>[email protected]</email>

<fone>11911123344</fone>

</infRespTec>

O problema vai ser quando os dados forem obrigatórios, pois a rotina não gera um string de 28 caracteres para ser colocado no hashCSRT.

Segui os passos da NT:

1. Concatenar o CSRT com a chave da NFe

2. Submeter ao SHA-1, gerando um string de 20 bytes hexa (string de 40 caracteres)

3. EncodeBase64 no resultado do SHA-1 (deveria gerar um string de 28 caracteres, segundo a NT, mas gera um string de 58 caracteres)

4. Atribuir ao campo hashCSRT o valor do passo 4

Caso tenha alguma sugestão sobre o que devo fazer, agradeço.

Eduardo Sena

Postado
1 hora atrás, mansur disse:

Em CalcularHashCSRT, altere para:

Result := EncodeBase64(SHA1(ACSRT + AChave));

Boa tarde, Mansur.

Ainda não consegui fazer funcionar.

ACSRT = G8063VRTNDMO886SFNK5LDUDEI24XJ22YIPO

AChave = 33190310894867000191552070000001751000001758

ACSRT + AChave = G8063VRTNDMO886SFNK5LDUDEI24XJ22YIPO33190310894867000191552070000001751000001758
SHA-1(ACSTR+AChave) = BE8A6126A538F38E2559B56B1C9E783738BFA287
EncodeBase64(SHA-1) = QkU4QTYxMjZBNTM4RjM4RTI1NTlCNTZCMUM5RTc4MzczOEJGQTI4Nw==

Isso resulta no seguinte bloco no XML:

<infRespTec>

    <CNPJ>17317805000166</CNPJ>

    <xContato>EDUARDO SENA</xContato>

    <email>[email protected]</email>

    <fone>11911123344</fone>

    <idCSRT>01</idCSRT>

    <hashCSRT>a& 8o %Y k x78</hashCSRT>

</infRespTec>

Aí a nota não é autorizada.

 

image.png

Postado

Boa tarde,

Estive analisando os tópicos e pelo que pude compreender para destacar os dados de CSRT bastaria preencher as configurações ACBRNFe.configuracoes.RespTec.IdCSRT e ACBRNFe.configuracoes.CSRT que seria gerado o HASH automaticamente pelo componente, porém quando preencho esses valores está me retornando o seguinte HASH:

<hashCSRT>- A {W t 5ubOaewa:</hashCSRT>

Onde não passa na validação conforme a resposta acima.

 

OBS: Utilizei o mesmo CSRT da NT para teste: G8063VRTNDMO886SFNK5LDUDEI24XJ22YIPO 

         Não utilizei o mesmo idCSRT pois no componente este o campo idCSRT é um inteiro, quando forneço o valor de 01 por ser um inteiro é convertido em 1. No meu ver também é um problema.

Postado
3 horas atrás, mansur disse:

Em CalcularHashCSRT, altere para:

Result := EncodeBase64(SHA1(ACSRT + AChave));

Boa tarde, Mansur.

Ainda não consegui fazer funcionar.

ACSRT = G8063VRTNDMO886SFNK5LDUDEI24XJ22YIPO

AChave = 33190310894867000191552070000001751000001758

ACSRT + AChave = G8063VRTNDMO886SFNK5LDUDEI24XJ22YIPO33190310894867000191552070000001751000001758
SHA-1(ACSTR+AChave) = BE8A6126A538F38E2559B56B1C9E783738BFA287
EncodeBase64(SHA-1) = QkU4QTYxMjZBNTM4RjM4RTI1NTlCNTZCMUM5RTc4MzczOEJGQTI4Nw==

Isso resulta no seguinte bloco no XML:

<infRespTec>

    <CNPJ>17317805000166</CNPJ>

    <xContato>EDUARDO SENA</xContato>

    <email>[email protected]</email>

    <fone>11911123344</fone>

    <idCSRT>01</idCSRT>

    <hashCSRT>a& 8o %Y k x78</hashCSRT>

</infRespTec>

Aí a nota não é autorizada.

Descobri que o string resultante do SHA1 tem que ser transformado de Hexa para String, aí gera o string de 28 caracteres quando faço o EncodeBase64.

Mas mesmo assim, na tag hashCSRT o valor fica errado...

Esse é o valor que eu coloquei no campo infRespTec.hashCSRT: vmBhJqU4830lWbVrHH54Nzi/oiE=.

Mas quando o xml é gerado, o valor fica <hashCSRT>a& 8o %Y k x78</hashCSRT>.

 

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