Ivan Neves Posted January 31, 2019 Posted January 31, 2019 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?
arce Posted January 31, 2019 Posted January 31, 2019 (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 January 31, 2019 by arce complementar texto 1
Ivan Neves Posted January 31, 2019 Author Posted January 31, 2019 @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.
arce Posted January 31, 2019 Posted January 31, 2019 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;
Joceandro Perin Posted January 31, 2019 Posted January 31, 2019 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.. 1
Ivan Neves Posted January 31, 2019 Author Posted January 31, 2019 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!
Joceandro Perin Posted January 31, 2019 Posted January 31, 2019 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.. 2
carlos_Fortaleza Posted January 12, 2024 Posted January 12, 2024 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. Acredito que isso ocorra porque apresenta essa mensagem no corpo do xml Porém esse for o motivo, por que não retorna o S-5001 haja vista que já foi processado e a folha encerrada
carlos_Fortaleza Posted January 13, 2024 Posted January 13, 2024 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. Acredito que isso ocorra porque apresenta essa mensagem no corpo do xml 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. Acredito que isso ocorra porque apresenta essa mensagem no corpo do xml Porém esse for o motivo, por que não retorna o S-5001 haja vista que já foi processado e a folha encerrada
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now