Ir para conteúdo
  • Cadastre-se

dev botao

ACBrNFSeX provedor IPM informando incorretamente o campo valor_issrf


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

Recommended Posts

Olá Bom dia a Todos.

Utilizando o componente ACBrNFSeX, no provedor IPM toda vez que se tributa um serviço, ele esta jogando o valor de ISS no campo "valor_issrf"

O componente possui 3 campos:

  • Servico.Valores.ValorIss
  • Servico.Valores.ValorIssRetido
  • Servico.Valores.IssRetido

O correto seria, quando o campo "Servico.Valores.IssRetido" estiver marcado como "stRetencao" ai sim gerar o XML o campo "valor_issrf" com valores provenientes de "Servico.Valores.ValorIssRetido"

 

PS: Na documentação do IPM não possui campos para valor de ISS quando NÃO for retido.

Manual IPM em anexo.

 

Manual Webservice Homologação.pdf

 

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Consultores

Bom dia,

Acrescentei o campo ValorISSRetido dentro da lista de itens.

NFSe.Servico.ItemServico[ I ].ValorISSRetido

Favor atualizar os fontes e faça novos testes.

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

  • Consultores

Boa tarde Elias,

Faça novos testes com a unit em anexo:

IPM.Provider.pas

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

  • Membros Pro

bom dia.

Com a atualização postada ontem não está mais retornado a exceção, porem não está retornando a nota na consulta por RPS.

Vou ver se trato por aqui.

Outra questão é que eles já implementaram a consulta por RPS e cancelamento.

Vou implementar no provider e te envio.

att

Elias Jakubowski

LS Technologies - www.lstech.com.br

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Bom dia Elias,

Favor atualizar os fontes e faça novos testes.

Detalhe, já esta implementado o cancelamento no IPM.Provider

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

  • Consultores

Boa tarde,

Vai ser necessário debugar para saber porque não esta pegando os dados do XML de 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

Em 16/09/2021 at 13:12, Italo Giurizzato Junior disse:

Boa tarde,

Vai ser necessário debugar para saber porque não esta pegando os dados do XML de retorno.

Após "DEBUG" conforme solicitado, viu-se que ao consultar uma Nota emitida para o IPM versão 1.20 para a cidade de Timbo/SC cujo XML está em anexo, ocorre erro de leitura na classe "IPM.Provider" no metodo "TACBrNFSeProviderIPM.TratarRetornoConsultaLoteRps" onde o código foi comentado! o novo codigo:

      with Response do
      begin
        NumeroNota := ProcessarConteudoXml(ANode.Childrens.FindAnyNs('numero_nfse'), tcInt);
//        SerieNota := ProcessarConteudoXml(ANode.Childrens.FindAnyNs('serie_nfse'), tcInt);
        Data := ProcessarConteudoXml(ANode.Childrens.FindAnyNs('data_nfse'), tcDatVcto);
        Data := Data + ProcessarConteudoXml(ANode.Childrens.FindAnyNs('hora_nfse'), tcHor);
        Situacao := ProcessarConteudoXml(ANode.Childrens.FindAnyNs('situacao_codigo_nfse'), tcStr);
        DescSituacao := ProcessarConteudoXml(ANode.Childrens.FindAnyNs('situacao_descricao_nfse'), tcStr);
        Link := ProcessarConteudoXml(ANode.Childrens.FindAnyNs('link_nfse'), tcStr);
        Protocolo := ProcessarConteudoXml(ANode.Childrens.FindAnyNs('cod_verificador_autenticidade'), tcStr);
      end;

 

Faz o uso do método "FindAnyNs" buscando a TAG correta como por exemplo "numero_nfse", contudo o método esta fazendo a comparação equivocada.

 

erro5.png.62cd5e87f3d3453c76b178758c500927.pngerro4.thumb.png.e6a7096740668fde0ef2cb9061b30c84.pngerro3.png.769d53a59b64336769d9dddc79af334d.pngerro2.thumb.png.5798cd9246b2f6678dd4ba83d2cf94d9.pngerro1.thumb.png.f9b49065cf2b0a6f4164cb82f55f94de.png

4221090085648200018656000000000000030-nfse.xml

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde,

Esse provedor esta complicado, pois dependendo da cidade ou da versão o retorno do webservice é diferente, hora retorna somente um resumo, hora retorna o XML completo da NFS-e

Precisamos definir corretamente o retorno para as versões: IPM, IPM_110 e IPM_120.

  • Curtir 1
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

17 horas atrás, Italo Giurizzato Junior disse:

Boa tarde,

Esse provedor esta complicado, pois dependendo da cidade ou da versão o retorno do webservice é diferente, hora retorna somente um resumo, hora retorna o XML completo da NFS-e

Precisamos definir corretamente o retorno para as versões: IPM, IPM_110 e IPM_120.

Ola Italo Bom dia

Sim, este provedor está mesmo complicado, porem em conversa com o suporte da IPM, eles me relataram que esta nova versão que esta em funcionamento em TIMBO/SC esta será a padrão para todas as cidades que eles atendam. Inclusive estou fazendo os ajustes e passando por este processo de homologação, justamente porque a cidade que eu ja tenho clientes (Campo Belo / MG) migrou para esta nova versão semana passada com inicio dia 13/09. Desta forma meus clientes estão desde este dia dependendo de emissão pelo site, uma vez que minha integração ainda não esta homologada na nova versão!

Acredito que quem esta com retorno diferente do esperado, possa estar configurando o ACBr errado, pois ate a versão 22935 eu estava com tudo certo, só estava aguardando o meu testador me dar retorno para liberar a versão do meu software, ai quando atualizei com a nova versão do ACBr passei a ter problemas que não tinha.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia asterix,

Se todas as cidades vão migrar para o novo sistemas deles o que eu preciso saber:

Como devemos enviar o Rps e como é o retorno do envio;

Como devemos consultar e como é o retorno;

Como devemos pedir o cancelamento de uma nota e como é o retorno;

Fazendo esses ajustes, deixamos como padrão no componente.

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 minutos atrás, Italo Giurizzato Junior disse:

Bom dia asterix,

Se todas as cidades vão migrar para o novo sistemas deles o que eu preciso saber:

Como devemos enviar o Rps e como é o retorno do envio;

Como devemos consultar e como é o retorno;

Como devemos pedir o cancelamento de uma nota e como é o retorno;

Fazendo esses ajustes, deixamos como padrão no componente.

Bom italo não sei estas respostas.

A única coisa que posso te falar, e que a cidade que eu preciso Campo Belo / MG esta no novo padrão deles o mesmo da Cidade de Timbo/SC o qual estava funcionando corretamente ate a versão 22935 do componente. 
 

6 minutos atrás, Italo Giurizzato Junior disse:

Bom dia asterix,

Se todas as cidades vão migrar para o novo sistemas deles o que eu preciso saber:

Como devemos enviar o Rps e como é o retorno do envio;

Como devemos consultar e como é o retorno;

Como devemos pedir o cancelamento de uma nota e como é o retorno;

Fazendo esses ajustes, deixamos como padrão no componente.

Em anexo Layout que foi enviado pelo suporte IPM a qual deve ter o padrão de envio e retorno de todos os XML's previstos.

Manual para Teste de Emissoes_compressed.pdf

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde,

Você poderia fazer um teste de envio do Rps e anexar os arquivos Soap de envio e de retorno para que eu possa analisar?

De todas as cidades que você necessita seria muito bom.

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

15 horas atrás, Italo Giurizzato Junior disse:

Boa tarde,

Você poderia fazer um teste de envio do Rps e anexar os arquivos Soap de envio e de retorno para que eu possa analisar?

De todas as cidades que você necessita seria muito bom.

Italo Bom dia

Atualmente so trabalho para a cidade de Campo Belo / MG que utiliza o o provedor IPM. Estou em processo de Homologação junto ao suporte da IPM, comunicando diretamente com o atendente Lucas, o qual me solicitou configurar o sistema para a cidade de Timbo/SC. Segundo o suporte IPM, o servidor de homologação deles so esta configurado para trabalhar com a cidade de Timbo.


Em anexos os XML como solicitaram.
 

8357738048200085648220220916092021098131-lista-nfse-con-lot.xml 8357738048200085648220220916092021098131-lista-nfse-con-lot-soap.xml 8357738048200085648220220916092021098131-con-lot.xml 8357738048200085648220220916092021098131-con-lot-soap.xml

Link para o comentário
Compartilhar em outros sites

Efetuei um novo teste desde a emissão, consulta e cancelamento com a ultima versão do componente 23017 onde conforme ja relatado nos comentários anteriores, o único erro que estou tendo e no método "FindAnyNs" que esta lendo as TAG's do XML de forma equivocada, e desta forma não atualizando o status do XML.

XML's em anexo.

7688-ger-nfse.xml 7688-ger-nfse-soap.xml 7688-lista-nfse-ger.xml 7688-lista-nfse-ger-soap.xml 8357738053200085648220220921092021002414-con-lot.xml 8357738053200085648220220921092021002414-con-lot-soap.xml 8357738053200085648220220921092021002414-lista-nfse-con-lot.xml 8357738053200085648220220921092021002414-lista-nfse-con-lot-soap.xml 30-ped-can.xml 30-ped-can-soap.xml 30-can.xml 30-can-soap.xml

Editado por asterix
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia,

Já inclui na minha lista de tarefas para analisar.

  • Obrigado 1
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

  • Consultores

Boa tarde,

Favor atualizar os fontes e faça novos testes.

Note que agora temos uma nova pasta com os schemas dos provedores: ...\Exemplos\ACBrDFe\Schemas\NFSe

Dentro da pasta NFSe temos uma pasta para cada Provedor.

O componente tem agora uma nova propriedade de configuração: Configuracoes.Geral.MontarPathSchema := True/False

Se o valor dela for True e o PathSchemas apontar para a pasta: ...\Exemplos\ACBrDFe\Schemas\NFSe o componente vai encontrar os schemas utilizado pelo provedor de forma automática.

Outra correção feita no componente é que se o provedor não tiver uma URL de homologação definida vai ser apresentada uma mensagem de erro e o envio vai ser abortado.

  • Curtir 1
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

17 horas atrás, Italo Giurizzato Junior disse:

Boa tarde,

Favor atualizar os fontes e faça novos testes.

Note que agora temos uma nova pasta com os schemas dos provedores: ...\Exemplos\ACBrDFe\Schemas\NFSe

Dentro da pasta NFSe temos uma pasta para cada Provedor.

O componente tem agora uma nova propriedade de configuração: Configuracoes.Geral.MontarPathSchema := True/False

Se o valor dela for True e o PathSchemas apontar para a pasta: ...\Exemplos\ACBrDFe\Schemas\NFSe o componente vai encontrar os schemas utilizado pelo provedor de forma automática.

Outra correção feita no componente é que se o provedor não tiver uma URL de homologação definida vai ser apresentada uma mensagem de erro e o envio vai ser abortado.

Ola Italo Bom dia.

Após testes de consulta em uma NFSE autorizada, o retorno do XML esta vindo completo, contudo a 1ª passada pelo método "FindAllAnyNs" codigo:

ANodeArray := ANode.Childrens.FindAllAnyNs('nfse');
        if not Assigned(ANodeArray) and (Response.Sucesso) then
        begin
          AErro := Response.Erros.New;
          AErro.Codigo := Cod203;
          AErro.Descricao := Desc203;
          Exit;
        end;

Não encontra a TAG "nfse" a NODE esta lendo o XML correto, porem esta pegando os itens do XML, desta forma ele desconsidera a TAG principal "nfse" conforme pode ser visto nos DEBUG abaixo.

 

8357738048200085648220220916092021098131-lista-nfse-con-lot-soap.xml8357738048200085648220220916092021098131-lista-nfse-con-lot.xml8357738048200085648220220916092021098131-con-lot-soap.xml8357738048200085648220220916092021098131-con-lot.xml

 

Debug_9.thumb.png.d5e7547467acdea750820d294a361623.pngDebug_8.thumb.png.2ca897e725265e04df9d0a8139ca81c0.pngDebug_7.thumb.png.1d17a8287204ad025632598c50dafa24.pngDebug_6.thumb.png.453fd3a95c3ac5911df0ea4df38aadee.pngDebug_5.png.5ba0bd3d981867b65a5a27761ce393f9.pngDebug_4.png.044134e3f523a7c89e9d1534d9b53e24.pngDebug_3.thumb.png.fc85137939ebf3a3cb5b3be11b10d079.pngDebug_2.thumb.png.ccb205bc512b2ec976c93b6feae859f3.pngDebug_1.thumb.png.02fc286e93edf1481d9f0a27c512463e.png

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia,

Pelo que eu entendi esse erro esta ocorrendo ao consultar o lote, logo não tem nada haver com o envio do Rps.

Faça um teste de consulta ao lote com a unit em anexo.

IPM.Provider.pas

  • Curtir 1
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

1 hora atrás, Italo Giurizzato Junior disse:

Bom dia,

Pelo que eu entendi esse erro esta ocorrendo ao consultar o lote, logo não tem nada haver com o envio do Rps.

Faça um teste de consulta ao lote com a unit em anexo.

IPM.Provider.pas 54 kB · 0 downloads

Agora sim consulta funcionando perfeitamente agora com esta UNIT!

Agora o envio esta me retornando "XSD Error 1871: Element 'nfse_teste': This element is not expected. Expected is one of ( nf, prestador, tomador, itens, forma_pagamento, rps, genericos, produtos, pedagio, {http://www.w3.org/2000/09/xmldsig#}Signature ). Line: 1"

7694-lista-nfse-ger.xml 7694-lista-nfse-ger-soap.xml 7694-ger-nfse.xml 7694-ger-nfse-soap.xml

Link para o comentário
Compartilhar em outros sites

O erro da transmissão está em: IPM.GravarXml.pas 

Método function TNFSeW_IPM.GerarXml: Boolean;

  if Ambiente = taHomologacao then
//  if NFSe.Producao =  snNao then
    NFSeNode.AppendChild(AddNode(tcStr, '#3', 'nfse_teste', 1, 1, 1, '1', ''));

Este código não deve ser enviado na nova versão "1.01", apenas na versão antiga "1.00".

Editado por asterix
Link para o comentário
Compartilhar em outros sites

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