Ir para conteúdo
  • Cadastre-se

dev botao

Ref. Forma de Envio novo Servidor IPM Guarapuava-PR


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

Recommended Posts

dentro da unit ACBrNFSeXProviderProprio tem a procedure procedure TACBrNFSeProviderProprio.PrepararEmitir(Response: TNFSeEmiteResponse)

nela em uma parte que converte para UTF8:

 for I := 0 to TACBrNFSeX(FAOwner).NotasFiscais.Count -1 do
  begin
    Nota := TACBrNFSeX(FAOwner).NotasFiscais.Items[I];

    if EstaVazio(Nota.XMLAssinado) then
    begin
      Nota.GerarXML;
      if (ConfigAssinar.Rps and (Response.ModoEnvio in [meLoteAssincrono, meLoteSincrono])) or
         (ConfigAssinar.RpsGerarNFSe and (Response.ModoEnvio = meUnitario)) then
      begin
        Nota.XMLOriginal := FAOwner.SSL.Assinar(ConverteXMLtoUTF8(Nota.XMLOriginal),
                                                PrefixoTS + ConfigMsgDados.XmlRps.DocElemento,
                                                ConfigMsgDados.XmlRps.InfElemento, '', '', '', IdAttr);
      end;
    end;

    SalvarXmlRps(Nota);

    xRps := RemoverDeclaracaoXML(Nota.XMLOriginal);
    xRps := PrepararRpsParaLote(xRps);

    ListaRps := ListaRps + xRps;
  end;

mas como ConfigAssinar.Rps está falso ele não passa, não sei se é esse o ponto, apenas estou tentando achar a solução....

 

Link para o comentário
Compartilhar em outros sites

21 minutos atrás, Sandro Andre Reghelin disse:

Estou tentando achar onde fica essa parte  que comentou da forma como xml e anexo ao envio e do encoding, dentro do ACBNFSEx, mas está complicado

Alterei no IPM.Provider.pas, de rest pra multipart - linha 51 para suportar o formato multi-part. TACBrNFSeXWebserviceRest -> TACBrNFSeXWebserviceMulti

 TACBrNFSeXWebserviceIPM = class(TACBrNFSeXWebserviceMulti)

o webservice recebeu o xml incorporado do ACBR e começou a responder no programa de exemplo.

Link para o comentário
Compartilhar em outros sites

3 minutos atrás, Sandro Felipe Adad disse:

Alterei no IPM.Provider.pas, de rest pra multipart - linha 51 para suportar o formato multi-part. TACBrNFSeXWebserviceRest -> TACBrNFSeXWebserviceMulti

 TACBrNFSeXWebserviceIPM = class(TACBrNFSeXWebserviceMulti)

o webservice recebeu o xml incorporado do ACBR e começou a responder no programa de exemplo.

Se puder anexar ele aqui e passar para o Italo validar....

Link para o comentário
Compartilhar em outros sites

depois do primeiro envio, retorna sempre o mesmo identificador:

<?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="ISO-8859-1"?>
<retorno>
    <mensagem>
    <codigo>00209 - Já consta uma NFSe para o referido prestador de serviço com o mesmo IDENTIFICADOR de arquivo
    </codigo></mensagem>
    </retorno>

 

IPM.Provider.pas 21-rec.xml 21-rec-soap.xml temp.xml 21-env-lot.xml 21-env-lot-soap.xml

31 minutos atrás, Sandro Andre Reghelin disse:

dentro da unit ACBrNFSeXProviderProprio tem a procedure procedure TACBrNFSeProviderProprio.PrepararEmitir(Response: TNFSeEmiteResponse)

nela em uma parte que converte para UTF8:

 for I := 0 to TACBrNFSeX(FAOwner).NotasFiscais.Count -1 do
  begin
    Nota := TACBrNFSeX(FAOwner).NotasFiscais.Items[I];

    if EstaVazio(Nota.XMLAssinado) then
    begin
      Nota.GerarXML;
      if (ConfigAssinar.Rps and (Response.ModoEnvio in [meLoteAssincrono, meLoteSincrono])) or
         (ConfigAssinar.RpsGerarNFSe and (Response.ModoEnvio = meUnitario)) then
      begin
        Nota.XMLOriginal := FAOwner.SSL.Assinar(ConverteXMLtoUTF8(Nota.XMLOriginal),
                                                PrefixoTS + ConfigMsgDados.XmlRps.DocElemento,
                                                ConfigMsgDados.XmlRps.InfElemento, '', '', '', IdAttr);
      end;
    end;

    SalvarXmlRps(Nota);

    xRps := RemoverDeclaracaoXML(Nota.XMLOriginal);
    xRps := PrepararRpsParaLote(xRps);

    ListaRps := ListaRps + xRps;
  end;

mas como ConfigAssinar.Rps está falso ele não passa, não sei se é esse o ponto, apenas estou tentando achar a solução....

 

Não, ao meu ver o problema ésta na forma ne anexar o arquivo, não é padrao rest, é padrão multiform. Se voce observar no proprio exemplo do postman que coloque nos comentarios acima pelo log dele.

Link para o comentário
Compartilhar em outros sites

7 minutos atrás, Sandro Felipe Adad disse:

depois do primeiro envio, retorna sempre o mesmo identificador:

<?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="ISO-8859-1"?>
<retorno>
    <mensagem>
    <codigo>00209 - Já consta uma NFSe para o referido prestador de serviço com o mesmo IDENTIFICADOR de arquivo
    </codigo></mensagem>
    </retorno>

 

IPM.Provider.pas 18 kB · 0 downloads 21-rec.xml 38 B · 0 downloads 21-rec-soap.xml 249 B · 0 downloads temp.xml 1 kB · 0 downloads 21-env-lot.xml 1 kB · 1 download 21-env-lot-soap.xml 1 kB · 0 downloads

Sandro o IPM.provider.pas que anexou, está igual ao do ACBR...

4 minutos atrás, Sandro Andre Reghelin disse:

Sandro o IPM.provider.pas que anexou, está igual ao do ACBR...

alterei para --->    TACBrNFSeXWebserviceIPMV110 = class(TACBrNFSeXWebserviceMulti)

e agora o retorno foi de erro:

'<?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="ISO-8859-1"?>'#$A'<retorno>'#$A#9'<mensagem>'#$A#9#9'<codigo> XSD Error 1824: Element ''serie_recibo_provisorio'': ''E'' is not a valid value of the atomic type ''xs:integer''. Line: 1</codigo>'#$A#9'</mensagem>'#$A'</retorno>'

 

Link para o comentário
Compartilhar em outros sites

5 minutos atrás, Sandro Andre Reghelin disse:

Sandro o IPM.provider.pas que anexou, está igual ao do ACBR...

alterei para --->    TACBrNFSeXWebserviceIPMV110 = class(TACBrNFSeXWebserviceMulti)

e agora o retorno foi de erro:

'<?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="ISO-8859-1"?>'#$A'<retorno>'#$A#9'<mensagem>'#$A#9#9'<codigo> XSD Error 1824: Element ''serie_recibo_provisorio'': ''E'' is not a valid value of the atomic type ''xs:integer''. Line: 1</codigo>'#$A#9'</mensagem>'#$A'</retorno>'

 

no manual a tag serie_recibo_provisorio é numerico de 2... vou ver onde altera aqui e mandar novamente...

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde a todos,

Por favor atualizem os fontes e façam 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

ACBrNFSeX -> deixei em comentario (access violation aqui)

  {if (NFSe.Status = srNormal) and
     (TACBrNFSeX(FAOwner).Configuracoes.Geral.Provedor in [proIPM_110, proIPM_120]) then
  begin
    xmlNode := GerarCondicaoPagamento;
    NFSeNode.AppendChild(xmlNode);
  end;   }

24 minutos atrás, Italo Giurizzato Junior disse:

Boa tarde a todos,

Por favor atualizem os fontes e façam novos testes.

Deu certo o envio com exceção do ajuste IPM.GravarXML que postei acima que deixem em comentario.

A nota foi aceita e convertida. no programa exemplo apenas deu um erro na mensagem

Modo de Envio : Enviar Lote
Numero do Lote: 23
Data de Envio : 30/12/1899
Numero do Prot: 
Sucesso       : True
 
Modo de Envio : Enviar Lote
Numero do Lote: 23
Data de Envio : 30/12/1899
Numero do Prot: 
Sucesso       : True
 
Erro(s):
Código  : X999
Mensagem: EntityRef: expecting ';'

Correção: 
---------
 

:

Link para o comentário
Compartilhar em outros sites

o Erro ocorre em 

procedure TACBrXmlDocument.LoadFromXml(AXmlDocument: string);
var
  loadedDoc: xmlDocPtr;
  loadedRoot: xmlNodePtr;
begin
  loadedDoc := xmlParseDoc(PAnsiChar(ansistring(AXmlDocument)));

ao ler este documento abaixo:

<?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="ISO-8859-1"?>
<retorno>
    <mensagem>
        <codigo>00001 - Sucesso</codigo>
    </mensagem>
    <numero_nfse>6</numero_nfse>
    <serie_nfse>1</serie_nfse>
    <data_nfse>25/08/2021</data_nfse>
    <hora_nfse>15:59:32</hora_nfse>
    <situacao_codigo_nfse>1</situacao_codigo_nfse>
    <situacao_descricao_nfse>Emitida</situacao_descricao_nfse>
    <link_nfse>https://migracao.atende.net/?pg=autoatendimento&cidade=treina_guarapuava_integracao#!/tipo/servico/valor/213/padrao/1/load/1/identificador/7583738026207714738720220825082021151933</link_nfse>
    <cod_verificador_autenticidade>7583738026207714738720220825082021151933</cod_verificador_autenticidade>
</retorno>

Link para o comentário
Compartilhar em outros sites

  • Consultores

Favor atualizar novamente e repita os testes.

Fiz mais uma correção, utilizem essa unit abaixo:

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

4 minutos atrás, Italo Giurizzato Junior disse:

Favor atualizar novamente e repita os testes.

Resolveu o problema do Acces Violation da forma de pagamento - blz.

Mas ao ler o xml de retorno ainda com erro na msg: 

Modo de Envio : Enviar Lote
Numero do Lote: 26
Data de Envio : 30/12/1899
Numero do Prot: 
Sucesso       : True
 
Modo de Envio : Enviar Lote
Numero do Lote: 26
Data de Envio : 30/12/1899
Numero do Prot: 
Sucesso       : True
 
Erro(s):
Código  : X999
Mensagem: EntityRef: expecting ';'

Correção: 
---------

 

<?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="ISO-8859-1"?><retorno>
    <mensagem>
        <codigo>00001 - Sucesso</codigo>
    </mensagem>
        <numero_nfse>9</numero_nfse>
    <serie_nfse>1</serie_nfse>
    <data_nfse>25/08/2021</data_nfse>
    <hora_nfse>16:16:41</hora_nfse>
    <situacao_codigo_nfse>1</situacao_codigo_nfse>
    <situacao_descricao_nfse>Emitida</situacao_descricao_nfse>
    <link_nfse>https://migracao.atende.net/?pg=autoatendimento&cidade=treina_guarapuava_integracao#!/tipo/servico/valor/213/padrao/1/load/1/identificador/7583738026207714738720220825082021160642</link_nfse>
    <cod_verificador_autenticidade>7583738026207714738720220825082021160642</cod_verificador_autenticidade>
</retorno>

Link para o comentário
Compartilhar em outros sites

4 minutos atrás, Italo Giurizzato Junior disse:

Mesmo com essa nova unit que anexei?

Sim, repeti o processo duas vezes pra conferir.

o Erro ocorre antes de verificarareposta, na procedure LoadFromXml da unit ACBrXmlDocument;

procedure TACBrXmlDocument.LoadFromXml(AXmlDocument: string);

->  loadedDoc := xmlParseDoc(PAnsiChar(ansistring(AXmlDocument)));

 

28-rec.xml 28-rec-soap.xml

image.thumb.png.15b6477031b56fed8657a1aa6dbe75fa.png

Link para o comentário
Compartilhar em outros sites

  • Consultores

Sandro,

Estou achando que ele não esteja gostando nada do conteúdo da tag: link_nfse.

Vou chamar a Equipe ACBr para ajudar na solução desse erro.

  • 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

  • Consultores

Sandro,

Preciso que você atualize todos os fontes de todas as pastas.

Faça um novo teste.

Coloque um ponto de parada na linha:

loadedDoc := xmlParseDoc(PAnsiChar(ansistring(AXmlDocument)));

Quero saber qual é o valor de AXmlDocument.

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

'<?xml version="1.0" encoding="ISO-8859-1"?><retorno>'#9'<mensagem>'#9#9'<codigo>00001 - Sucesso</codigo>'#9'</mensagem>'#9#9'<numero_nfse>13</numero_nfse>'#9'<serie_nfse>1</serie_nfse>'#9'<data_nfse>25/08/2021</data_nfse>'#9'<hora_nfse>17:06:05</hora_nfse>'#9'<situacao_codigo_nfse>1</situacao_codigo_nfse>'#9'<situacao_descricao_nfse>Emitida</situacao_descricao_nfse>'#9'<link_nfse>https://migracao.atende.net/?pg=autoatendimento&cidade=treina_guarapuava_integracao#!/tipo/servico/valor/213/padrao/1/load/1/identificador/7583738026207714738720220825082021183606</link_nfse>'#9'<cod_verificador_autenticidade>7583738026207714738720220825082021183606</cod_verificador_autenticidade></retorno>'

image.png.cdf951364bbff1f40db72a10a3cc76e5.png

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite Sandro,

Favor atualizar novamente e faça novos testes.

  • 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

36 minutos atrás, Sandro Felipe Adad disse:

Perfeito Italo, resolvido!

Muito obrigado.

O Envio também testei,  e a principio está ok.....

Sandro, abri outro post sobre esse servidor, mas acho que pode me ajudar, como está enviando a TAG, situacao_tributaria da nfse de Guarapuava? olhei no ACBR e não achei, pelos não por esse nome especifico?

Link para o comentário
Compartilhar em outros sites

  • Consultores

Obrigado por reportar.

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

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

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