Ir para conteúdo
  • Cadastre-se

dev botao

Erro ao gerar NFC-e MG : URL para o serviço "URL-QRCode" não encontrada na sessão "NFCe_MG_H" no arquivo "ACBrNFeServicos"


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

Recommended Posts

  • Membros Pro
Postado
Olá boa tarde!
Quando tento gerar a NFC-e  MG retorna o seguinte erro:  URL para o serviço "URL-QRCode" não encontrada na sessão "NFCe_MG_H" no arquivo "ACBrNFeServicos"
Já tentei utilizando as dicas postadas no fórum mas não tive sucesso...
 
Como devo proceder para resolver?
 
Obs.: Os fontes do componente estão atualizados, copiei o arquivo ACBrNFeServicos.ini para a pasta do meu aplicativo e no componente ACBRNFe configurei para usar estes valores:  
  ACBrNFe1.Configuracoes.Geral.ModeloDF := moNFCe;
  ACBrNFe1.Configuracoes.Geral.VersaoDF := ve400;
  ACBrNFe1.Configuracoes.Geral.VersaoQRCode:=veqr200;
  • Administradores
Postado

Tópico movido para a área do SAC, para que o SLA de respostas seja considerado

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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 !!

  • Consultores
  • Solution
Postado

É bem provável que uma das duas coisas estão acontecendo:

  1. um ou mais arquivos ACBrNFeServicos está alterado e não atualizado corretamente ( ACBrNFeServicos.ini, ACBrNFeServicos.res, ACBrNFeServicos.rc);
  2. Apesar de estarem corretos, o componente está buscando a URL de QRCode antes de você configurar ela pra veqr200;

Na primeira situação, bastaria você fazer um revert nesses dois arquivos e fazer um build em seu aplicativo.

2 horas atrás, Elaine Urgal disse:

Como devo proceder para resolver?

 

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Membros Pro
Postado

Considerando a 2ª hipótese, como eu poderia "forçar" essa leitura e qual momento correto? Pois já deixei essa propriedade configurada no componente e no evento onCreate do form passo esse campo também... Debugando o código do demo de exemplo,  o erro ocorre na procedure TACBrDFe.LerServicoDeParams no trecho:

   if FPIniParams.SectionExists(Sessao) then
    begin
      SessaoUsar := FPIniParams.ReadString(Sessao, 'Usar', '');
      if NaoEstaVazio(SessaoUsar) then
      begin
        Sessao := SessaoUsar;
        VersaoAchada := Versao;
        LerServicoChaveDeParams( Sessao, NomeServico, VersaoAchada, URL );
        LerDeParams(  FPIniParams.ReadString(Sessao, 'WSDL', ''), NomeServico, VersaoAchada, Servico );
        LerDeParams( FPIniParams.ReadString(Sessao, 'SoapAction', ''), NomeServico, VersaoAchada, SoapAction );
      end
      else
        raise EACBrDFeException.Create('URL para o serviço "' + NomeServico + '" não encontrada na sessão "'+Sessao+'" no arquivo "'+
                                       Configuracoes.WebServices.ResourceName+'"');
    end
    else
      raise EACBrDFeException.Create('Sessão "'+Sessao+'", não encontrada no arquivo "'+
                                     Configuracoes.WebServices.ResourceName+'"');
 

  • Consultores
Postado
2 horas atrás, Elaine Urgal disse:

Considerando a 2ª hipótese, como eu poderia "forçar" essa leitura e qual momento correto? Pois já deixei essa propriedade configurada no componente e no evento onCreate do form passo esse campo também...

Tente configurar logo antes de gerar a NFC-e. Veja que a mensagem de erro está apontando que está faltando a url para o serviço "URL-QRCode". Esse realmente não existe para MG. Ele deveria estar procurando "URL-QRCode_2.00".

[NFCe_MG_P]
NFeAutorizacao_4.00=https://nfce.fazenda.mg.gov.br/nfce/services/NFeAutorizacao4
NFeRetAutorizacao_4.00=https://nfce.fazenda.mg.gov.br/nfce/services/NFeRetAutorizacao4
RecepcaoEvento_4.00=https://nfce.fazenda.mg.gov.br/nfce/services/NFeRecepcaoEvento4
NfeInutilizacao_4.00=https://nfce.fazenda.mg.gov.br/nfce/services/NFeInutilizacao4
NfeConsultaProtocolo_4.00=https://nfce.fazenda.mg.gov.br/nfce/services/NFeConsultaProtocolo4
NfeStatusServico_4.00=https://nfce.fazenda.mg.gov.br/nfce/services/NFeStatusServico4
NfeConsultaCadastro_4.00=
URL-QRCode_2.00=https://nfce.fazenda.mg.gov.br/portalnfce/sistema/qrcode.xhtml
URL-ConsultaNFCe_2.00=http://nfce.fazenda.mg.gov.br/portalnfce

[NFCe_MG_H]
NFeAutorizacao_4.00=https://hnfce.fazenda.mg.gov.br/nfce/services/NFeAutorizacao4
NFeRetAutorizacao_4.00=https://hnfce.fazenda.mg.gov.br/nfce/services/NFeRetAutorizacao4
RecepcaoEvento_4.00=https://hnfce.fazenda.mg.gov.br/nfce/services/NFeRecepcaoEvento4
NfeInutilizacao_4.00=https://hnfce.fazenda.mg.gov.br/nfce/services/NFeInutilizacao4
NfeConsultaProtocolo_4.00=https://hnfce.fazenda.mg.gov.br/nfce/services/NFeConsultaProtocolo4
NfeStatusServico_4.00=https://hnfce.fazenda.mg.gov.br/nfce/services/NFeStatusServico4
NfeConsultaCadastro_4.00=
URL-QRCode_2.00=https://nfce.fazenda.mg.gov.br/portalnfce/sistema/qrcode.xhtml
URL-ConsultaNFCe_2.00=http://hnfce.fazenda.mg.gov.br/portalnfce

Isso acontece no método LerServicoChaveDeParams que é chamado dentro dessa função que você mesma mencionou, só que algumas linhas antes, veja:

procedure TACBrDFe.LerServicoDeParams(const ModeloDFe, UF: String;
  const TipoAmbiente: TpcnTipoAmbiente; const NomeServico: String;
  var Versao: Double; var URL: String; var Servico: String;
  var SoapAction: String);
var
  Sessao, ListaSessoes, SessaoUsar, NomeSchema, ArqSchema: String;
  VersaoAchada, VersaoSchema: Double;
begin
  if EstaVazio(ModeloDFe) then
    raise EACBrDFeException.Create('ModeloDFe não pode ser vazio');

  if EstaVazio(UF) then
    raise EACBrDFeException.Create('UF não pode ser vazia');

  Sessao := ModeloDFe + '_' + UF + '_' + IfThen(TipoAmbiente = taProducao, 'P', 'H');
  VersaoAchada := Versao;

  LerServicoChaveDeParams( Sessao, NomeServico, VersaoAchada, URL );
...
Continua
...

Você pode tentar debugar essa função (LerServicoChaveDeParams) e avaliar o que está acontecendo.

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
×
×
  • 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.

The popup will be closed in 10 segundos...