Jump to content

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

Recommended Posts

Posted

Bom dia!
Gostaria de saber se alguém pode ajudar-me, ou apontar uma direção, para solucionar a seguinte necessidade:
Quando envio os eventos S-1200, S-1295, S-2299 ou S-2399, são gerados os retornos dos eventos da série 5000 (S-5001, S-5002, S-5003, S-5011, S-5012 e s-5013).
1º Como faço para salvar o XML do retorno?
2º Depois de salvo esse XML do retorno, é possível associá-lo novamente ao componente ACBreSocial (com um LoadFromFile, ou algo similar), para que eu possa instanciar um objeto do tipo TS5001, TS5002 ou TS5003?
 

Posted (edited)

Seria mais ou menos assim:

   if ACBreSocial1.WebServices.ConsultaLote.RetConsultaLote.Status.cdResposta in ([201, 202]) then  // Autorizado com Sucesso ou advertência
   begin
      for i:=0 to ACBreSocial1.WebServices.ConsultaLote.RetConsultaLote.retEventos.Count-1 do  // Lista de eventos enviados (S-1200, S-1210, S-2299, S-1295, S-1299)
      begin
         for j := 0 to ACBreSocial1.WebServices.ConsultaLote.RetConsultaLote.retEventos.Items[i].tot.Count-1 do begin  // eventos da série 5000 associados
            // identifica o tipo, e realiza as leituras das propriedades
            case retEvento.tot[j].Evento.TipoEvento of
               teS5001: TS5001(retEvento.tot[j].Evento.GetEvento).EvtBasesTrab.IdeEvento.nrRecArqBase;
               teS5002: TS5002(retEvento.tot[j].Evento.GetEvento).EvtirrfBenef.IdeEvento.nrRecArqBase;
               teS5003: TS5003(retEvento.tot[j].Evento.GetEvento).EvtBasesFGTS.IdeEvento.nrRecArqBase;
               teS5011: TS5011(retEvento.tot[j].Evento.GetEvento).EvtCS.InfoCS.nrRecArqBase;
               teS5012: TS5012(retEvento.tot[j].Evento.GetEvento).EvtIrrf.infoIRRF.nrRecArqBase;
               teS5013: TS5013(retEvento.tot[j].Evento.GetEvento).EvtFGTS.infoFGTS.nrRecArqBase;
            end;
         end;
      end;
   end;

 

Edited by arce
complementar texto
  • Like 1
Posted

@arce a minha dificuldade está em: 

1º depois do envio do S-1200 com sucesso, salvar o retorno do XML do S-5001.

2º depois, ler o XML do S-5001 salvo, carregando ele no componente ACBreSocial1, para gerar um relatório de suas informações. 

Posted
20 minutos atrás, Ivan Neves disse:

@arce a minha dificuldade está em: 

1º depois do envio do S-1200 com sucesso, salvar o retorno do XML do S-5001.

2º depois, ler o XML do S-5001 salvo, carregando ele no componente ACBreSocial1, para gerar um relatório de suas informações. 

1º Para salvar o XML dos eventos 50XX:

              ACBreSocial1.WebServices.ConsultaLote.RetConsultaLote.retEventos.Items.tot.Items[j].XML

2º Carregar no ACbr:

               oEvento := TS5003.Create;
               oEvento.XML := qrMinhaquery.FieldByName('XML_S5003').AsString;

Posted

O retorno desses eventos o componente já faz a leitura.. se vc pegar o exemplo do arce, vc vai ter todas as informações desses XML de retorno.. Não precisa vc salvar e carregar depois novamente no componente..

  • Like 1
Posted
1 hora atrás, Joceandro Perin disse:

O retorno desses eventos o componente já faz a leitura.. se vc pegar o exemplo do arce, vc vai ter todas as informações desses XML de retorno.. Não precisa vc salvar e carregar depois novamente no componente..

@Joceandro Perin Eu entendi a primeira resposta do @arce, a qual tem uma implementação parecida nos fonte de Exemplos, entretanto, optei por salvar esses XMLs para uma posterior leitura e geração de um relatório, por uma questão de performance.

1 hora atrás, arce disse:

1º Para salvar o XML dos eventos 50XX:

              ACBreSocial1.WebServices.ConsultaLote.RetConsultaLote.retEventos.Items.tot.Items[j].XML

2º Carregar no ACbr:

               oEvento := TS5003.Create;
               oEvento.XML := qrMinhaquery.FieldByName('XML_S5003').AsString;

 @arce, obrigado pela atenção! O seu segundo exemplo atendeu as minhas necessidade! Valeu! 

Por mim o post já pode ser encerrado!

Posted
28 minutos atrás, Ivan Neves disse:

@Joceandro Perin Eu entendi a primeira resposta do @arce, a qual tem uma implementação parecida nos fonte de Exemplos, entretanto, optei por salvar esses XMLs para uma posterior leitura e geração de um relatório, por uma questão de performance.

 @arce, obrigado pela atenção! O seu segundo exemplo atendeu as minhas necessidade! Valeu! 

Por mim o post já pode ser encerrado!

Entendi, eu salvo essas informações em banco no momento da consulta, aí posteriormente, utilizamos para relatórios..

  • Like 2
  • 4 years later...
Posted

Bom dia pessoal estou colocando aqui minha dúvida por se tratar de uma continuidade das postagens acima
quando consulto o 1200 conforme modelo acima, não está carregando o objeto com a quantidade.
conforme marcado na imagem abaixo.

image.png

Acredito que isso ocorra porque apresenta essa mensagem no corpo do xml
 

image.png

Porém esse for o motivo, por que não retorna o S-5001 haja vista que já foi processado e a folha encerrada

Posted
Em 12/01/2024 at 08:43, carlos_Fortaleza disse:

Bom dia pessoal estou colocando aqui minha dúvida por se tratar de uma continuidade das postagens acima
quando consulto o 1200 conforme modelo acima, não está carregando o objeto com a quantidade.
conforme marcado na imagem abaixo.

image.png

Acredito que isso ocorra porque apresenta essa mensagem no corpo do xml
 

image.png

Porém esse for o motivo, por que não retorna o S-5001 haja vista que já foi processado e a folha encerrada

@Ivan Neves

 

Em 12/01/2024 at 08:43, carlos_Fortaleza disse:

Bom dia pessoal estou colocando aqui minha dúvida por se tratar de uma continuidade das postagens acima
quando consulto o 1200 conforme modelo acima, não está carregando o objeto com a quantidade.
conforme marcado na imagem abaixo.

image.png

Acredito que isso ocorra porque apresenta essa mensagem no corpo do xml
 

image.png

Porém esse for o motivo, por que não retorna o S-5001 haja vista que já foi processado e a folha encerrada

 

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.