Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Obrigado pelo retorno, Italo

 

Estou com os fontes atualizados sim, e nesse método NotasFiscais.Assinar(True) tem uma verificação:

 

    if self.Configuracoes.Certificados.AssinaRPS and AssinaRPS
     then begin

       ...Assina;

 

a variavel AssinaRPS está True mas a propriedade self.Configuracoes.Certificados.AssinaRPS está False então não entra nessa rotina de assinar.

 

Só entra nessa rotina de assinar quando eu mudo em tempo de execução o valor da propriedade para True na Função:

 

function TProvedorPublica.GetConfigCidade(ACodCidade,
  AAmbiente: Integer): TConfigCidade;

 

ConfigCidade.AssinaRPS  := False; // Coloco True aqui para Assinar o RPS

  • Consultores
Postado

Elder,

 

Você não deve incluir na sua aplicação a chamada para que o componente assine o XML.

 

Você deve apenas alimentar o componente com os dados do RPS e executar o Enviar ou Gerar.

 

Não devemos alterar a unit referente ao provedor, pois para alguns provedores quando é enviado um lote devemos apenas assinar o lote os RPS não e quando usamos o Gerar o RPS deve ser assinado.

 

Altere de:

if self.Configuracoes.Certificados.AssinaRPS and AssinaRPS

para

if self.Configuracoes.Certificados.AssinaRPS or AssinaRPS

 

E teste novamente.

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

Postado (editado)

Italo,

 

fiz a alteração que você pediu na procedure TNotasFiscais.Assinar(AssinaRPS: Boolean = True);  alterando de AND para OR e funcionou perfeitamente.

 

Muito Obrigado.

 

 

Acredito que não me expressei corretamente, eu não chamo o componente para assinar, apenas faço assim:

 

         try

            
            ConfiguraComponenteACBr;

            { Aqui nesse metodo, chamo o

                  ACBrNFSe1.Configuracoes.WebServices.SetConfigMunicipio(ACBrNFSe1.Configuracoes.Geral.PathSchemas)

              que foi onde identifiquei o problema que ocorria comigo, pois seta o componente para nao assinar o RPS e sim só o Lote

              que é o caso do provedor Pública quando se envia o Lote (ACBrNFSe.Enviar(Lote))

             }

 
            ACBrNFSe1.NotasFiscais.Clear;
            ACBrNFSe1.NotasFiscais.LoadFromFile(sNomeArquivoRPS);

            if ACBrNFSe1.Configuracoes.WebServices.Provedor = proPublica then
               ACBrNFSe1.Gerar(iRPS)
            else
               ACBrNFSe1.Enviar(sLotRPS);

         except

Editado por elder
  • 4 meses depois ...
Postado

Boa tarde,

 

No início deste mês atualizei os fontes do ACBrNFSe (estava na revisão 7877 do dia 28/11/2014) e entao o erro "Assinatura do HASH não confere" voltou a acontecer e não consegui mais enviar (Utilizo o método ACBrNFSe1.Gerar) NFS-e para Itajaí, cujo provedor é o Pública.

      

Contornei o erro voltando a pasta dos fontes do ACBrNFSe para a revisão 7877 enquanto esperava por um tempo livre para encontrar a causa do erro. Hoje encontrei e vim postar para que se mais alguém passe pelo mesmo problema, possa achar uma possível solução, e para que se for mesmo erro no componente, que possa ser corrigido.

 

Bom, na revisão 7907, foi comentado o seguinte código na Unit pnfsNFSeW:

procedure TNFSeW.GerarXML_ABRASF_V1;
begin
  //if FProvedor in [proLexsom, proPublica] then
  //  FIdentificador := 'id';

Isso faz com que o XML fosse primeiro assinado e só depois de assinar fosse subistituído a tag "Id" para "id" causando assim o erro de HASH (assinatura ficava inválida também na validação no site da receita), removi o comentário e não deu mais o erro pois então o XML seria assinado e enviado sem modificações posteriores.

 

No Log, o motivo desse código ter sido comentado:

[*] Para os provedores Lexsom e Publica o identificador estava sendo alterado para
    id antes de ocorrer a assinatura.

 

Mas acredito que essa é a forma correta, modificar e então assinar, não o contrario, mas em fim, ficaria grato se alguém puder me informar o motivo de estar dessa forma e se eu estou equivocado, como então proceder para evitar o erro de HASH.

 

 

Obrigado.

  • Curtir 1
Postado

Bom dia Italo,

 

 

Consigo assinar com o ID todo em minúsculo sem erros.

 

 

E só consigo validar a assinatura se for assinado com o atributo em minúsculo.

  • 2 semanas depois ...
Postado

Boa Tarde,

 

Estava sofrendo com o mesmo problema de quando emitíamos uma NFSe com o provedor Publica gerava uma rejeição, "Assinatura do HASH não confere" .

Então efetuei uma alteração no método "GetConfigCidade" da unit "ACBrProvedorPublica", para que quando for da cidade 4208203 - Itajaí/SC  ele altere o identificador para 'id' ( tudo em minusculo). Com essa alteração emitiu corretamente a NFSe.

Segue a unit em anexo para que verifiquem se é isso mesmo.

 

Obrigado pela atenção!

ACBrProvedorPublica.pas

  • 2 semanas depois ...
  • 3 semanas depois ...
Postado

Boa tarde pessoal,

 

Atualizei os fontes, veio as alterações feitas.

Mas ao testar um cancelamento de NFS-e, me retorna o erro "Assinatura do Hash nao confere.".

 

Mais alguém continua com o problema?

 

Att.

 

Massao Aihara

Postado

Achei o "problema",

 

o ACBr gera a assinatura do xml com o texto de cancelamento com caracteres especiais, do jeito que passei para o componente.

Mas na hora de enviar o envelope da um string replace, trocando as letras com acentos e "ç".

 

Resolvi o problema passando o texto já formatado para o componente.

 

Att.

Massao Aihara

  • 3 anos depois...
Postado

Bom dia!

Preciso de uma ajuda, estou Enviando o XML,  Integração com o provedor Publica para emissão da NFSe de Chapecó - SC, ocorre o seguinte erro.

 Erro:E1 | Mensagem:Assinatura do Hash não confere. | Correção:Reenvie assinatura do Hash conforme algoritmo estabelecido no Manual de Instrução da NFS-e.

XML que estou enviando esta em anexo.

Agradeço!!!

TESTE.xml

Postado
Em 01/02/2019 at 11:42, Pedro Dalpian disse:

Bom dia!

Preciso de uma ajuda, estou Enviando o XML,  Integração com o provedor Publica para emissão da NFSe de Chapecó - SC, ocorre o seguinte erro.

 Erro:E1 | Mensagem:Assinatura do Hash não confere. | Correção:Reenvie assinatura do Hash conforme algoritmo estabelecido no Manual de Instrução da NFS-e.

XML que estou enviando esta em anexo.

Agradeço!!!

TESTE.xml

Consegui, problema na assinatura, faltou informar uma letra no valor da "id"

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