Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

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?
 

Postado (editado)

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;

 

Editado por arce
complementar texto
  • Curtir 1
Postado

@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. 

Postado
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;

Postado
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!

Postado
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..

  • Curtir 2
  • 4 anos depois...
Postado

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

Postado
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á 314 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.