Ivan Neves Postado 31 Janeiro, 2019 Postado 31 Janeiro, 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 Postado 31 Janeiro, 2019 Postado 31 Janeiro, 2019 (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 31 Janeiro, 2019 por arce complementar texto 1
Ivan Neves Postado 31 Janeiro, 2019 Autor Postado 31 Janeiro, 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 Postado 31 Janeiro, 2019 Postado 31 Janeiro, 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 Postado 31 Janeiro, 2019 Postado 31 Janeiro, 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 Postado 31 Janeiro, 2019 Autor Postado 31 Janeiro, 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 Postado 31 Janeiro, 2019 Postado 31 Janeiro, 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 Postado 12 Janeiro Postado 12 Janeiro 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 Postado 13 Janeiro Postado 13 Janeiro 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
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 contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora