Ir para conteúdo
  • Cadastre-se

dev botao

Quando executa “ACBrReinf1.Consultar” de um número de protocolo do Reinf, como faço para pegar o caminho do XML do “sit” ou melhor o nome do arquivo que ele gerou?


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

Recommended Posts

  • Membros Pro

Exemplo do nome de arquivo que é gerado:

“20230227160030-sit.xml”

O componente ACBrReinf1 gera esse nome automaticamente com Data/Hora.

Tem alguma propriedade que fica guardado esse nome de arquivo após a execução da Consulta?

Na versão de layout anterior a 2.01.01 que era de forma síncrona sempre retornava o nome de arquivo “Reinf-sit.xml” 

Eu consigo pegar o Numero do recibo, numero do protocolo, etc... e com isso eu atualizo meu Banco de Dados...

 

Só que eu quero pegar também o nome do arquivo XML que veio essas informações para que caso o usuário queira ver como realmente o XML foi retornado da Receita. Eu deixo um Label link para abrir esse XML.

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
  • Solution

Estou fazendo uma “alternativa” por enquanto aqui, até termos uma solução melhor.

Eu consigo pegar o texto do XML pela propriedade:

ACBrReinf1.WebServices.Consultar.RetWS;


Com isso, eu salvo o XML que veio da Consulta usando o componente TXMLDocument, que me ajuda a formatar o arquivo XML.

  if ACBrReinf1.Consultar( edt_infoRecEv_NProtocoloEntregaEvento.Field.AsString ) then
  begin
    
    s_CaminhoDoArqXML := IncludeTrailingPathDelimiter( ACBrReinf1.Configuracoes.Arquivos.PathSalvar ) + 'Reinf-sit.xml';
    
    XMLDocumentRecebido.Active := False;
    XMLDocumentRecebido.XML.Clear;
    XMLDocumentRecebido.LoadFromXML( ACBrReinf1.WebServices.Consultar.RetWS );
    XMLDocumentRecebido.Active := True;
    XMLDocumentRecebido.Version := '1.0';
    XMLDocumentRecebido.Encoding := 'UTF-8';
    XMLDocumentRecebido.SaveToFile( s_CaminhoDoArqXML );
    XMLDocumentRecebido.Active := False;
    XMLDocumentRecebido.XML.Clear;
    
    // Segue o jogo...
    
  end;

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite,

Configurada consulta de protocolo para gerar os xmls considerando o número do protocolo como prefixo, conforme exemplos do envio e retorno a seguir:
2.202303.000000-ped-sit-soap.xml
2.202303.000000-sit-soap.xml

Configurada consulta de recibo para gerar os xmls considerando o "perApur(yyyy-mm) + TipoEvento", conforme exemplos do envio e retorno a seguir:
2023-02-R1000-con-soap.xml
2023-02-R1000-ped-con-soap.xml

Para validar...

  • Primeiro atualize seus fontes para ficar com a versão mais recente.
  • Com os fontes atualizados, substitua a unit anexa.
  • Reinstale os componentes e valide se está ok, conforme detalhes citados acima.

Estando tudo ok, favor reportar para que os consultores enviem o fonte para o SVN.
 

 

ACBrReinfWebServices.pas

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

  • 1 mês depois ...
  • Consultores

Por favor atualize seus fontes, pelo SVN do ACBr... 

Já subimos para o nosso repositório de fontes, modificações que podem corrigir algum dos itens referentes a esse tópico...

Por favor atualize seus fontes, faça testes, e se possível comente em uma nova resposta, se o problema foi resolvido...

Dúvidas, sobre o uso do SVN ?  Clique aqui e veja um vídeo

Rev-28958

Link para o comentário
Compartilhar em outros sites

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