Ir para conteúdo
  • Cadastre-se

dev botao

NFSEX Guarapuava- Ajustes Retorno IPM


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

Recommended Posts

Postado

Italo, estou alterando o IPM.Provider, veja se ok.

procedure TACBrNFSeProviderIPM.TratarRetornoEmitir

1) Mesmo com sucesso no envio, está incluindo um item de mensagem de erro, ajustei da seguinte maneira:

         Response.Sucesso := Response.Erros[0].Codigo ='00001 - Sucesso'; //(Response.Erros.Count = 0);

2) O numero do protocolo para consulta é o codigo de verificacao de autenticidade: 

         Protocolo := ProcessarConteudoXml(ANode.Childrens.FindAnyNs('cod_verificador_autenticidade'), tcStr);

 

Segue para sua análise.

 

IPM.Provider.pas

Postado
5 horas atrás, Italo Giurizzato Junior disse:

Boa tarde Sandro,

Favor atualizar os fontes e faça novos testes.

Deu certo,

outra dúvida, no NFSE antigo eu informava o valor retido do ISS em Servico.Valores.ValorIssRetido, mas aqui na geração da IPM (IPM.GravarXML) pega para preencher a tag 'valor_issrf' o valor de NFSe.Servico.ItemServico[I].ValorIr, creio que não esteja ok? mas não encontrei o campo correto na classe...

    Result[i].AppendChild(AddNode(tcDe2, '#', 'valor_issrf', 1, 15, 0,

                                NFSe.Servico.ItemServico[I].ValorIr, DSC_VISS))

Postado
16 horas atrás, Sandro Felipe Adad disse:

Deu certo,

outra dúvida, no NFSE antigo eu informava o valor retido do ISS em Servico.Valores.ValorIssRetido, mas aqui na geração da IPM (IPM.GravarXML) pega para preencher a tag 'valor_issrf' o valor de NFSe.Servico.ItemServico[I].ValorIr, creio que não esteja ok? mas não encontrei o campo correto na classe...

    Result[i].AppendChild(AddNode(tcDe2, '#', 'valor_issrf', 1, 15, 0,

                                NFSe.Servico.ItemServico[I].ValorIr, DSC_VISS))

ja resolvi...

Postado
22 horas atrás, Italo Giurizzato Junior disse:

Boa tarde Sandro,

Favor atualizar os fontes e faça novos testes.

Precisei efetuar alguns ajustes no metodo de consulta do lote rps, nao estava carregando na response.

if Response.Erros.Count > 0 then
        if Response.Erros[0].Codigo='00001 - Sucesso' then
          Response.Sucesso := True;


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

IPM.Provider.pas

  • Consultores
Postado

Bom dia Sandro,

Acredito que a usar o valor do campo ValorIr para alimentar a tag <valor_issrf> esta errado, pois segundo o manual essa tag se refere ao Valor do ISS Retino na Fonte.

Já a tag <valor_ir>se refere ao Valor do Imposto de Renda Retido.

Quanto a leitura da tag <situacao_descricao_nfse> e atribuir a propriedade Situacao não vejo como correto, pois essa propriedade nos provedores que seguem a ABRASF o que temos é um código que pode ser: 1, 2, 3 ou 4.

O provedor IPM tem uma tag que retorna o código, <situacao_codigo_nfse>, no caso da nota ter sido emitida retorna 1, e esse código na ABRASF significa que o lote não foi enviado.

Na ABRASF nota emitida ou Lote Processado com Sucesso é 4.

Vamos analisar melhor isso.

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

Bom dia Sandro,

Acredito que a usar o valor do campo ValorIr para alimentar a tag <valor_issrf> esta errado, pois segundo o manual essa tag se refere ao Valor do ISS Retino na Fonte.

Já a tag <valor_ir>se refere ao Valor do Imposto de Renda Retido.

Quanto a leitura da tag <situacao_descricao_nfse> e atribuir a propriedade Situacao não vejo como correto, pois essa propriedade nos provedores que seguem a ABRASF o que temos é um código que pode ser: 1, 2, 3 ou 4.

O provedor IPM tem uma tag que retorna o código, <situacao_codigo_nfse>, no caso da nota ter sido emitida retorna 1, e esse código na ABRASF significa que o lote não foi enviado.

Na ABRASF nota emitida ou Lote Processado com Sucesso é 4.

Vamos analisar melhor isso.

Concordo com você e a respeito da situação: (tem um campo numérico no retorno sim - ajustado situacao_codigo_nfse).

Situacao := ProcessarConteudoXml(ANode.Childrens.FindAnyNs('nf').Childrens.FindAnyNs('situacao_codigo_nfse'), tcStr);

IPM.Provider.pas

Postado (editado)

Não alterei nada no ACBR, segundo o pessoal da IPM, a tag valor_issrf so deve ser preenchida se houver retenção...então

ajustei isso no meu fonte....

Aproveitando o cancelamento  está funcionando para vocês? testei aqui e retornou o err:

'<?xml version="1.0" encoding="UTF-8"?><a><ListaMensagemRetorno><MensagemRetorno><Codigo></Codigo><Mensagem>{"retorno":{"msg":"Par\u00e2metros inv\u00e1lidos para a requisi\u00e7\u00e3o.","sis":"EST","code":406}}</Mensagem><Correcao></Correcao></MensagemRetorno></ListaMensagemRetorno></a>'

Conferi e os dados enviados no XML me parecem corretos com o layout:

'------=_Part_1_42A341FC'#$D#$A'Content-Type: text/xml; charset=Cp1252; name=12-ped-can.xml'#$D#$A'Content-Transfer-Encoding: binary'#$D#$A'Content-Disposition: form-data; name="12-ped-can.xml"; filename="12-ped-can.xml"'#$D#$A#$D#$A'<nfse><nf><numero>12</numero><serie_nfse>1 </serie_nfse><situacao>C</situacao><observacao>Nota fiscal de servico eletronica emitida indevidamente.</observacao></nf><prestador><cpfcnpj>07493402000114</cpfcnpj><cidade>7583</cidade></prestador></nfse>'#$D#$A'------=_Part_1_42A341FC--'#$D#$A

mesmo retornando com erro o response marca como sucesso....

 

Editado por Sandro Andre Reghelin
Postado
23 minutos atrás, Sandro Andre Reghelin disse:

Não alterei nada no ACBR, segundo o pessoal da IPM, a tag valor_issrf so deve ser preenchida se houver retenção...então

ajustei isso no meu fonte....

Aproveitando o cancelamento  está funcionando para vocês? testei aqui e retornou o err:

'<?xml version="1.0" encoding="UTF-8"?><a><ListaMensagemRetorno><MensagemRetorno><Codigo></Codigo><Mensagem>{"retorno":{"msg":"Par\u00e2metros inv\u00e1lidos para a requisi\u00e7\u00e3o.","sis":"EST","code":406}}</Mensagem><Correcao></Correcao></MensagemRetorno></ListaMensagemRetorno></a>'

Conferi e os dados enviados no XML me parecem corretos com o layout:

'------=_Part_1_42A341FC'#$D#$A'Content-Type: text/xml; charset=Cp1252; name=12-ped-can.xml'#$D#$A'Content-Transfer-Encoding: binary'#$D#$A'Content-Disposition: form-data; name="12-ped-can.xml"; filename="12-ped-can.xml"'#$D#$A#$D#$A'<nfse><nf><numero>12</numero><serie_nfse>1 </serie_nfse><situacao>C</situacao><observacao>Nota fiscal de servico eletronica emitida indevidamente.</observacao></nf><prestador><cpfcnpj>07493402000114</cpfcnpj><cidade>7583</cidade></prestador></nfse>'#$D#$A'------=_Part_1_42A341FC--'#$D#$A

mesmo retornando com erro o response marca como sucesso....

 

Pra fim funcionou o cancelamento no programa de exemplo, so nao esta carregando o response.

Eu informei o numero, serie, motivo.

21-ped-can.xml 21-ped-can-soap.xml 21-can.xml 21-can-soap.xml

Postado (editado)
9 minutos atrás, Sandro Felipe Adad disse:

Pra fim funcionou o cancelamento no programa de exemplo, so nao esta carregando o response.

Eu informei o numero, serie, motivo.

21-ped-can.xml 251 B · 0 downloads 21-ped-can-soap.xml 485 B · 0 downloads 21-can.xml 653 B · 0 downloads 21-can-soap.xml 666 B · 0 downloads

agora fiquei vendido me parecem iguais os arquivos: veja

 

12-can.xml 12-can-soap.xml 12-ped-can.xml 12-ped-can-soap.xml

Editado por Sandro Andre Reghelin
  • Administradores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

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