Ir para conteúdo
  • Cadastre-se

dev botao

Como saber se a GNRE foi gerada com sucesso e quais os arquivos são gerados? E como Gerar os arquivos?


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

Recommended Posts

  • Membros Pro
Postado

Olá Tudo Bem

Estou tentando gerar uma GNRE no modo homologação usando o ACBrGNRE, depois de muitas tentativas e algumas rejeições consegui chegar na seguinte situação:

Processada com Sucesso.
Observação:
CHAVE NFE: 12230419935390000209550010000202711000202728

Essa mensagem indica que foi gerado com sucesso a gnre? Na tela da imagem que também segue em anexo se eu clicar no botão emitir ele gera a guia para pagar.

Como é a primeira GNRE então não sei ao certo quais arquivos tem que ser gerados, nesse caso foram gerados 4 arquivos que estão em anexo, gostaria de saber se são só esses arquivos ou tem mais algum? 

Pergunto isso pois olhando no exemplo do ACBrGNRE, quando quiser imprimir a guia pelo xml mostra a seguinte configuração no botão Imprimir Guia XML:

OpenDialog1.Title := 'Selecione a Guia';
OpenDialog1.DefaultExt := '*-guia.xml';
OpenDialog1.Filter := 'Arquivos Guia (*-guia.xml)|*-guia.xml|Arquivos XML (*.xml)|*.xml|Todos os Arquivos (*.*)|*.*';

Minha dúvida é o arquivo correto da guia da gnre tem o nome com o -guia.xml? Se sim ae vem a dúvida pois não foi gerado nenhum arquivo com essa nomenclatura, seria por alguma falta de configuração do componente ou no modo homologação não gera arquivo -guia.xml?

Para gerar esse arquivo -guia.xml tem que usar   ACBrGNRE1.Guias.Items[0].GravarXML?

Eu estou fazendo da seguinte forma:

 ACBrGNRE1.Guias.Clear;
  AlimentarComponente;
  ACBrGNRE1.Enviar;

  MemoRespGNRE.Lines.Text   := UTF8Encode(ACBrGNRE1.WebServices.Retorno.RetWS);
  memoRespWSGNRE.Lines.Text := UTF8Encode(ACBrGNRE1.WebServices.Retorno.RetWS);
  LoadXMLGNRE(MemoRespGNRE.Lines.Text, WBResposta);

  pgRespostas.ActivePageIndex := 4;
  MemoDadosGNRE.Lines.Add('');
  MemoDadosGNRE.Lines.Add('Envio GNRE');
  MemoDadosGNRE.Lines.Add('ambiente: '  + TpAmbToStr(ACBrGNRE1.WebServices.Retorno.ambiente));
  MemoDadosGNRE.Lines.Add('codigo: '    + IntToStr(ACBrGNRE1.WebServices.Retorno.codigo));
  MemoDadosGNRE.Lines.Add('descricao: ' + ACBrGNRE1.WebServices.Retorno.descricao);
  MemoDadosGNRE.Lines.Add('Recibo: '    + ACBrGNRE1.WebServices.Retorno.numeroRecibo);
  MemoDadosGNRE.Lines.Add('Protocolo: ' + ACBrGNRE1.WebServices.Retorno.protocolo);
  MemoDadosGNRE.Lines.Add('');

  for i := 0 to ACBrGNRE1.WebServices.Retorno.GNRERetorno.resGuia.Count -1 do
    MemoDadosGNRE.Lines.Add('Guia salva em: ' + ACBrGNRE1.WebServices.Retorno.GNRERetorno.resGuia[i].NomeArq);

ACBrGNRE1.Guias.Clear;

Como faz para quando gerar a enviar e for processada com sucesso fazer a a guia aparecer na aberta na tela? 

Seria o comando ACBrGNRE1.GuiasRetorno.Imprimir;? Tentei usando os 4 arquivos em anexo e nenhum abriu a guia na tela.

Para gerar o arquivo pdf da guia na mesma pasta do xml seria o comando  ACBrGNRE1.GuiasRetorno.ImprimirPDF;? Tentei usando os 4 arquivos gerados e nenhum gerou o pdf da guia.

Desde já Muito Obrigado pela Ajuda e Atenção!

Obrigado!

 

 

processada_com _sucesso.jpg

2300022290-ped-rec.xml 2300022290-pro-rec.xml 20230526181206-env-lot.xml 20230526181207-rec.xml

  • Consultores
  • Solution
Postado
Citar

Minha dúvida é o arquivo correto da guia da gnre tem o nome com o -guia.xml? Se sim ae vem a dúvida pois não foi gerado nenhum arquivo com essa nomenclatura, seria por alguma falta de configuração do componente ou no modo homologação não gera arquivo -guia.xml?

Para que o componente consiga ler corretamente a guia, precisa ter:

<guia versao="2.00">

No caso dos seus arquivos, o correto seria o 2300022290-proc-rec.xml, ele sugere o -guia.xml como uma sugestão, pois a princípio, se você configurou ACBrGNRe.Configuracoes.Arquivos.Salvar := True; o componente gera este arquivo para você.

Citar

Para gerar esse arquivo -guia.xml tem que usar   ACBrGNRE1.Guias.Items[0].GravarXML?

Não. Conforme explicado anteriormente, basta definir a config.

Você pode observar também no programa exemplo o uso do GravarXML no botão Gerar GNRe.

Citar

Como faz para quando gerar a enviar e for processada com sucesso fazer a a guia aparecer na aberta na tela? 

Seria o comando ACBrGNRE1.GuiasRetorno.Imprimir;? Tentei usando os 4 arquivos em anexo e nenhum abriu a guia na tela.

Para gerar o arquivo pdf da guia na mesma pasta do xml seria o comando  ACBrGNRE1.GuiasRetorno.ImprimirPDF;? Tentei usando os 4 arquivos gerados e nenhum gerou o pdf da guia.

 

A forma como você está fazendo é a mesma do programa exemplo para exibir em um WebBrowser na tela o XML de envio e de retorno do XML.

Você quer mostrar na tela o preview do impresso? Se for este o caso, pode usar o método ACBrGNRE1.GuiasRetorno.Imprimir depois de carregar o XML contendo as guias.

Citar

Para gerar o arquivo pdf da guia na mesma pasta do xml seria o comando  ACBrGNRE1.GuiasRetorno.ImprimirPDF

Sim, mas você precisa definir no componente de impressão a propriedade PathPDF como sendo o mesmo caminho.

  • Curtir 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(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 !!

  • Membros Pro
Postado

Olá Diego Tudo Bem!

Desculpe só retornar agora e Obrigado por me ajudar:

Em 29/05/2023 at 17:50, Diego Foliene disse:

Para que o componente consiga ler corretamente a guia, precisa ter:

<guia versao="2.00">

No caso dos seus arquivos, o correto seria o 2300022290-proc-rec.xml, ele sugere o -guia.xml como uma sugestão, pois a princípio, se você configurou ACBrGNRe.Configuracoes.Arquivos.Salvar := True; o componente gera este arquivo para você.

Não. Conforme explicado anteriormente, basta definir a config.

Você pode observar também no programa exemplo o uso do GravarXML no botão Gerar GNRe.

A forma como você está fazendo é a mesma do programa exemplo para exibir em um WebBrowser na tela o XML de envio e de retorno do XML.

Você quer mostrar na tela o preview do impresso? Se for este o caso, pode usar o método ACBrGNRE1.GuiasRetorno.Imprimir depois de carregar o XML contendo as guias.

Sim, mas você precisa definir no componente de impressão a propriedade PathPDF como sendo o mesmo caminho.

Por favor segue minhas dúvidas:

Chequei e a guia está na versão 2.00.

Eu tinha configurado ACBrGNRe.Configuracoes.Arquivos.Salvar := True; direto no componente mas durante o tempo de execução como eu estava deixando a opção Salvar Arquivos em Pastas Separadas desmarcada, então acabava tornando a configuração false, depois que marquei a opção ae sim gerou o arquivo que está em anexo com a extensão -guia.xml acredito que esse o arquivo correto a ser gerado? 

Essa opção Salvar Arquivos em Pastas Separadas, eu não entendi ele é para salvar quais arquivos em pastas separadas, seriam os arquivos de envio e resposta e o arquivo -guia.xml mas esse seria em outra pasta? E onde configuro a pasta para separar os arquivos? 

Sim eu queira mostrar o preview da guia na tela já para o cliente já imprimir ae usei o método que você sugeriu da seguinte forma:

ACBrGNRE1.GuiasRetorno.LoadFromString(ACBrGNRE1.WebServices.Retorno.GNRERetorno.resGuia.Items[0].XML);
ACBrGNRE1.GuiasRetorno.Imprimir;

Eu primeiro tentei usando só o método ACBrGNRE1.GuiasRetorno.Imprimir pois pensei como tinha acabado de enviar ele estava já carregado no componente mas ae não exibiu nada, ae achei em outro post do fórum carregando a guia da forma acima, dessa maneira exibiu o preview.

E dessa forma mesmo que carrega ou tem outra maneira?

Um detalhe não exibiu o cpf e nem o município do destinatário, isso seria porque emiti a gnre em modo homologação? Na nf-e no modo homologação não mostra o nome do destinatário.

 Por fim consegui gerar o arquivo pdf na pasta do xml seguindo sua dica de, definir no componente de impressão a propriedade PathPDF como sendo o mesmo caminho fiz da seguinte forma:

ACBrGNREGuiaRL1.PathPDF:=ACBrGNRE1.Configuracoes.Arquivos.GetPathGNRE(0);
ACBrGNRE1.GuiasRetorno.ImprimirPDF;

Ele gerou o pdf em anexo, mas o nome do pdf ficou 1.pdf esse nome ele gera a partir do que foi informado no campo identificadorGuia ? Pois nele no teste informei 001.

Tem como definir por algum método ou evento nome do arquivo pdf? Exemplo no ACBrNFe eu faço assim ACBrNFeDANFeRL1.NomeDocumento mas não achei essa opção no ACBrGNRE.

Segue em anexo os arquivos gerados depois deixar configurado ACBrGNRe.Configuracoes.Arquivos.Salvar := True.

Só o -guia.xml é o necessário?

Mais uma vez Muito Obrigado pela Ajuda!

Obrigado pela Atenção!

001-gnre.xml 1-guia.pdf 2300022813-ped-rec.xml 2300022813-pro-rec.xml 0008520230000703-guia.xml 20230531185847-env-lot.xml 20230531185848-rec.xml

  • Consultores
Postado

Bom dia!

Citar

Essa opção Salvar Arquivos em Pastas Separadas, eu não entendi ele é para salvar quais arquivos em pastas separadas, seriam os arquivos de envio e resposta e o arquivo -guia.xml mas esse seria em outra pasta? E onde configuro a pasta para separar os arquivos? 

Se abrirmos o programa exemplo do GNRe e conferirmos o nome do Check que tem a descrição "Salvar Arquivos em Pastas Separadas", é possível observar que o nome do Check é cbxSalvarArqs.

Agora se conferirmos no a procedure ConfigurarComponente do mesmo programa, temos:

image.png

Ou seja, apesar de a descrição estar como "Salvar Arquivos em Pastas Separadas, ele na verdade preenche a propriedade ACBrGNRe.Configuracoes.Arquivos.Salvar.

Se você quiser definir o caminho onde serão salvos essas informações, preenche ACBrGNRe.Configuracoes.Arquivos.PathGNRe.

As opções que separam por pastas são a SepararPorModelo, SepararPorCNPJ e SepararPorMes, mas essas já são autoexplicativas.

Citar

ACBrGNRE1.GuiasRetorno.LoadFromString(ACBrGNRE1.WebServices.Retorno.GNRERetorno.resGuia.Items[0].XML);
ACBrGNRE1.GuiasRetorno.Imprimir;

Eu primeiro tentei usando só o método ACBrGNRE1.GuiasRetorno.Imprimir pois pensei como tinha acabado de enviar ele estava já carregado no componente mas ae não exibiu nada, ae achei em outro post do fórum carregando a guia da forma acima, dessa maneira exibiu o preview.

E dessa forma mesmo que carrega ou tem outra maneira?

O programa exemplo também faz dessa maneira, ele carrega a guia através de um LoadFromFile e depois usa o método GuiasRetorno.Imprimir.

Então pode fazer dessa forma.
 

Citar

Um detalhe não exibiu o cpf e nem o município do destinatário, isso seria porque emiti a gnre em modo homologação? Na nf-e no modo homologação não mostra o nome do destinatário.

Ele não exibiu a informação do CPF e do nome do município, porque elas não constam no arquivo XML.

Note que apesar de ter enviado o grupo <contribuinteDestinatario> no arquivo de envio(da para observar no 001-gnre.xml) na resposta o WebService do GNRe não te devolveu esse grupo(veja no 0008520230000703-guia.xml).

Citar

ACBrGNREGuiaRL1.PathPDF:=ACBrGNRE1.Configuracoes.Arquivos.GetPathGNRE(0);
ACBrGNRE1.GuiasRetorno.ImprimirPDF;

Ele gerou o pdf em anexo, mas o nome do pdf ficou 1.pdf esse nome ele gera a partir do que foi informado no campo identificadorGuia ? Pois nele no teste informei 001.

Tem como definir por algum método ou evento nome do arquivo pdf? Exemplo no ACBrNFe eu faço assim ACBrNFeDANFeRL1.NomeDocumento mas não achei essa opção no ACBrGNRE.

Correto, o método de impressão atualmente monta o nome do arquivo PDF usando a lógica "IdentificadorGuia-guia.pdf". Atualmente está fixo desta forma então não teria como alterar o Nome do arquivo PDF a não ser que defina no campo IdentificadorGuia.

  • Curtir 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(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 !!

  • 1 mês depois ...
  • Membros Pro
Postado

Olá Tudo Bem!

Em 06/06/2023 at 11:06, Diego Foliene disse:

Bom dia!

Se abrirmos o programa exemplo do GNRe e conferirmos o nome do Check que tem a descrição "Salvar Arquivos em Pastas Separadas", é possível observar que o nome do Check é cbxSalvarArqs.

Agora se conferirmos no a procedure ConfigurarComponente do mesmo programa, temos:

image.png

Ou seja, apesar de a descrição estar como "Salvar Arquivos em Pastas Separadas, ele na verdade preenche a propriedade ACBrGNRe.Configuracoes.Arquivos.Salvar.

Se você quiser definir o caminho onde serão salvos essas informações, preenche ACBrGNRe.Configuracoes.Arquivos.PathGNRe.

As opções que separam por pastas são a SepararPorModelo, SepararPorCNPJ e SepararPorMes, mas essas já são autoexplicativas.

O programa exemplo também faz dessa maneira, ele carrega a guia através de um LoadFromFile e depois usa o método GuiasRetorno.Imprimir.

Então pode fazer dessa forma.
 

Ele não exibiu a informação do CPF e do nome do município, porque elas não constam no arquivo XML.

Note que apesar de ter enviado o grupo <contribuinteDestinatario> no arquivo de envio(da para observar no 001-gnre.xml) na resposta o WebService do GNRe não te devolveu esse grupo(veja no 0008520230000703-guia.xml).

Correto, o método de impressão atualmente monta o nome do arquivo PDF usando a lógica "IdentificadorGuia-guia.pdf". Atualmente está fixo desta forma então não teria como alterar o Nome do arquivo PDF a não ser que defina no campo IdentificadorGuia.

Obrigado Diego por me responder!

Perdão por só hoje estar respondendo, é que tive resolver outros problemas do software com relação a nf-e ae acabei não vendo sua resposta, por favor me desculpe!

Obrigado pelas respostas me ajudou muito!

Todas as dúvidas foram sanadas desse tópico Muito Obrigado! Por Favor pode fechar este tópico!

Obrigado!

  • Curtir 1
  • Consultores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

  • Curtir 1
Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

  • Este tópico foi criado há 491 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.