Membros Pro Gandalf Postado 24 Abril Membros Pro Compartilhar Postado 24 Abril Bom dia, Como faço para receber o retorno dos XML's quando faço a consulta pelo último NSU? Nos exemplos do ACBr e também no curso do ACBrPro é mostrado como fazer a consulta, mas não como carregar os resultados (caso sejam XML's completos ou não). Na LIB, por exemplo, tem um método para carregar um xml e ele carrega em uma classe predefinida, mas no caso da distribuição DFE não encontrei nenhum exemplo de como carregar em um objeto o retorno da consulta. Link para o comentário Compartilhar em outros sites More sharing options...
Consultores Solution Diego Foliene Postado 24 Abril Consultores Solution Compartilhar Postado 24 Abril Bom dia! Não sei se entendi a sua dúvida. Você está querendo saber se é possível carregar um XML de retorno de uma consulta de distribuição DFe na Lib para que ela leia a informação do arquivo e devolva o resultado? Caso seja está a questão, sim, é possível, para isso você vai utilizar o comando NFe_DistribuicaoDFe. Veja que um dos parâmetros do mesmo é um arquivo XML. Você pode informar nele o arquivo de resposta da distribuição para que a Lib possa fazer a leitura. Isso é demonstrado no exemplo em C#: private void btnDFePorUltNSU_Click(object sender, EventArgs e) { var codUf = 35; var cnpj = ""; var eNsu = ""; var ArquivoOuXml = Helpers.OpenFile("Arquivos Distribuição DFe (*-dist-dfe.xml)|*-dist-dfe.xml|Todos os Arquivos (*.*)|*.*", "Selecione um Arquivo de Distribuição para simular uma consulta ou feche para consultar o WebService"); if (string.IsNullOrEmpty(ArquivoOuXml)) { if (InputBox.Show("WebServices: Distribuição DFe", "Código da UF", ref codUf) != DialogResult.OK) return; if (InputBox.Show("WebServices: Distribuição DFe", "CNPJ do autor", ref cnpj) != DialogResult.OK) return; if (InputBox.Show("WebServices: Distribuição DFe", "Número do último NSU", ref eNsu) != DialogResult.OK) return; } var ret = ACBrNFe.DistribuicaoDFe(codUf, cnpj, eNsu, ArquivoOuXml); rtbRespostas.AppendText(ret.Resposta); } Diego FolieniAjude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !! Link para o comentário Compartilhar em outros sites More sharing options...
Membros Pro Gandalf Postado 24 Abril Autor Membros Pro Compartilhar Postado 24 Abril Boa tarde Diego, obrigado pelo retorno! Vou esclarecer melhor: Nesse exemplo, o que acontece é que o xml é colado como texto. Mas eu queria saber se existe um objeto(classe) para armazenar esse retorno. Ainda mais que podem vir vários xmls em uma mesma conexão, sendo que uns são completos e outros são parciais. Vou colocar um exemplo: public class NotaFiscal { propriedade propriedade propriedade ... } seria algo como abaixo. A consulta já carregaria uma lista de objetos, os quais poderiam ser lidos/manipulados e não como demonstra o exemplo, que lê como texto. List<NotaFiscal> notasFiscais = ACBrNFe.DistribuicaoDFe(codUf, cnpj, eNsu, ArquivoOuXml); Link para o comentário Compartilhar em outros sites More sharing options...
Consultores Diego Foliene Postado 24 Abril Consultores Compartilhar Postado 24 Abril 3 horas atrás, Gandalf disse: Boa tarde Diego, obrigado pelo retorno! Vou esclarecer melhor: Nesse exemplo, o que acontece é que o xml é colado como texto. Mas eu queria saber se existe um objeto(classe) para armazenar esse retorno. Ainda mais que podem vir vários xmls em uma mesma conexão, sendo que uns são completos e outros são parciais. Vou colocar um exemplo: public class NotaFiscal { propriedade propriedade propriedade ... } seria algo como abaixo. A consulta já carregaria uma lista de objetos, os quais poderiam ser lidos/manipulados e não como demonstra o exemplo, que lê como texto. List<NotaFiscal> notasFiscais = ACBrNFe.DistribuicaoDFe(codUf, cnpj, eNsu, ArquivoOuXml); Boa tarde! O exemplo pega o retorno como uma string, mas se você abrir o método, vai ver que é uma classe. 1 Diego FolieniAjude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !! Link para o comentário Compartilhar em outros sites More sharing options...
Membros Pro Gandalf Postado 24 Abril Autor Membros Pro Compartilhar Postado 24 Abril Ótimo! Muito obrigado! 1 Link para o comentário Compartilhar em outros sites More sharing options...
Consultores Diego Foliene Postado 25 Abril Consultores Compartilhar Postado 25 Abril Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico. Diego FolieniAjude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !! Link para o comentário Compartilhar em outros sites More sharing options...
Recommended Posts