Ir para conteúdo
  • Cadastre-se

dev botao

Nfs-E - Provedor Publica - Cidade Itajaí


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

Recommended Posts

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

Link para o comentário
Compartilhar em outros sites

  • Consultores

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 / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Elder,

 

Fiz a alteração e já esta disponível.

 

Muito obrigado pelo retorno.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 4 meses depois ...

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
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Elder,

 

Usando o atributo todo em minusculo, você consegue assinar?

 

Me parece que assinar com o Capicom ocorre erro se o atributo ID for todo em minusculo.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...

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

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Consultores

Boa tarde Laurivan,

 

Muito obrigado pela colaboração, já esta disponível a alteração.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...

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

Link para o comentário
Compartilhar em outros sites

  • 3 anos depois...

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

Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

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