Ir para conteúdo
  • Cadastre-se

dev botao

ACBreSocial1.Eventos.LoadFromINI


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

Recommended Posts

  • Consultores

Tentou com o programa de exemplo?
Apresenta alguma mensagem de erro?

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

 

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Estou usando esse método para carregar as configurações do componente.

 

6 minutos atrás, Alexandre de Paula disse:

Tentou com o programa de exemplo?
Apresenta alguma mensagem de erro?

Na verdade eu queria trazer as configurações que estão no arquivo .ini para o componente AcbreSocial.
 

Link para o comentário
Compartilhar em outros sites

  • Consultores

O arquivo INI que vc enviou não é de evento do eSocial e sim de configurações.

Tentou com o ACBreSocial1.Configuracoes.LerINI() ?

13 minutos atrás, Djalma Grivol disse:

ACBreSocial1.Eventos.LoadFromINI()

Essa instrução é para importar os eventos do eSocial via arquivo INI e não as configurações.

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

 

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
1 hora atrás, Alexandre de Paula disse:

O arquivo INI que vc enviou não é de evento do eSocial e sim de configurações.

Tentou com o ACBreSocial1.Configuracoes.LerINI() ?

Essa instrução é para importar os eventos do eSocial via arquivo INI e não as configurações.

   
IniFile := TIniFile.Create('eSocialConfig.ini');
ACBreSocial1.Configuracoes.LerIni(IniFile);

Fiz dessa forma mas não deu certo.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Pelo que eu vi nessa rotina lerini ele não carrega as configurações no componente.
Utilizei a rotina gravarini para gerar um novo arquivo de configuração para fazer uns testes.
Só que o novo arquivo gerado segue uma estrutura diferente que está na pasta de exemplo.
Qual seria o correto?

 

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution
19 minutos atrás, Djalma Grivol disse:

Pelo que eu vi nessa rotina lerini ele não carrega as configurações no componente.
Utilizei a rotina gravarini para gerar um novo arquivo de configuração para fazer uns testes.
Só que o novo arquivo gerado segue uma estrutura diferente que está na pasta de exemplo.
Qual seria o correto?

 

Bom dia!

O arquivo eSocialConfig.ini que você disponibilizou é o arquivo INI gerado pelo programa exemplo.

Este arquivo é gerado salvando as configurações de tela do programa exemplo em um arquivo no formato INI, para que quando abrir de novo o programa, as informações carreguem automaticamente e não precise definir tudo de novo.

Todos os programas de exemplo do ACBr fazem isso.

Este não é o arquivo INI de configurações do componente e por isso que quando tentou usar a LerIni com ele, não deu certo.

O arquivo de configuração correto para ser usado no LerINI é o que é gerado pelo GravarINI.

Com ele, a função faz a leitura e atribuição dos valores nas propriedades de configuração do componente.

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

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia!

Agora entendi.

Vocês recomendam usar o INI do modelo ou aquele gerado pelo gravaini?

Uma coisa que reparei é que no arquivo INI gerado pelo gravaini não tem o SSLLib, mas tem outros campos que no INI do modelo não tem (exemplo: TimeZone.Modo, TimeZone.Str, VerificarValidade, ValidarDigest, IniServicos, IdCSRT, CSRT)

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • Consultores
15 minutos atrás, Djalma Grivol disse:

Vocês recomendam usar o INI do modelo ou aquele gerado pelo gravaini?

Se você conferir no programa exemplo, tem duas procedures que fazem uso desse INI gerado por ele, uma para gerar o arquivo chamada GravarConfiguracao e uma para fazer a leitura do mesmo chamada LerConfiguracao.
Veja como é a LerConfiguracao:

procedure TfrmACBreSocial.LerConfiguracao;
var
  IniFile: String;
  Ini: TIniFile;
begin
  IniFile := ChangeFileExt(Application.ExeName, '.ini');

  Ini := TIniFile.Create(IniFile);
  try
    cbSSLLib.ItemIndex     := Ini.ReadInteger('Certificado', 'SSLLib',     0);
    cbCryptLib.ItemIndex   := Ini.ReadInteger('Certificado', 'CryptLib',   0);
    cbHttpLib.ItemIndex    := Ini.ReadInteger('Certificado', 'HttpLib',    0);
    cbXmlSignLib.ItemIndex := Ini.ReadInteger('Certificado', 'XmlSignLib', 0);
    edtCaminho.Text        := Ini.ReadString( 'Certificado', 'Caminho',    '');
    edtSenha.Text          := Ini.ReadString( 'Certificado', 'Senha',      '');
    edtNumSerie.Text       := Ini.ReadString( 'Certificado', 'NumSerie',   '');

    cbxAtualizarXML.Checked     := Ini.ReadBool(   'Geral', 'AtualizarXML',     True);
    cbxExibirErroSchema.Checked := Ini.ReadBool(   'Geral', 'ExibirErroSchema', True);
    edtFormatoAlerta.Text       := Ini.ReadString( 'Geral', 'FormatoAlerta',    'TAG:%TAGNIVEL% ID:%ID%/%TAG%(%DESCRICAO%) - %MSG%.');
    cbFormaEmissao.ItemIndex    := Ini.ReadInteger('Geral', 'FormaEmissao',     0);

    cbVersaoDF.ItemIndex      := Ini.ReadInteger('Geral', 'VersaoDF',       0);
    ckSalvar.Checked          := Ini.ReadBool(   'Geral', 'Salvar',         True);
    cbxRetirarAcentos.Checked := Ini.ReadBool(   'Geral', 'RetirarAcentos', True);
    edtPathLogs.Text          := Ini.ReadString( 'Geral', 'PathSalvar',     PathWithDelim(ExtractFilePath(Application.ExeName))+'Logs');
    edtPathSchemas.Text       := Ini.ReadString( 'Geral', 'PathSchemas',    PathWithDelim(ExtractFilePath(Application.ExeName))+'Schemas\'+GetEnumName(TypeInfo(TVersaoeSocial), integer(cbVersaoDF.ItemIndex) ));

    edtIdEmpregador.Text    := Ini.ReadString( 'Geral', 'IdEmpregador',   '');
    edtIdTransmissor.Text   := Ini.ReadString( 'Geral', 'IdTransmissor',  '');
    cbTEmpregador.ItemIndex := Ini.ReadInteger('Geral', 'TipoEmpregador', 0);

    cbUF.ItemIndex := cbUF.Items.IndexOf(Ini.ReadString('WebService', 'UF', 'SP'));

    rgTipoAmb.ItemIndex   := Ini.ReadInteger('WebService', 'Ambiente',   0);
    cbxVisualizar.Checked := Ini.ReadBool(   'WebService', 'Visualizar', False);
    cbxSalvarSOAP.Checked := Ini.ReadBool(   'WebService', 'SalvarSOAP', False);
    cbxAjustarAut.Checked := Ini.ReadBool(   'WebService', 'AjustarAut', False);
    edtAguardar.Text      := Ini.ReadString( 'WebService', 'Aguardar',   '0');
    edtTentativas.Text    := Ini.ReadString( 'WebService', 'Tentativas', '5');
    edtIntervalo.Text     := Ini.ReadString( 'WebService', 'Intervalo',  '0');
    seTimeOut.Value       := Ini.ReadInteger('WebService', 'TimeOut',    5000);
    cbSSLType.ItemIndex   := Ini.ReadInteger('WebService', 'SSLType',    0);

    edtProxyHost.Text  := Ini.ReadString('Proxy', 'Host',  '');
    edtProxyPorta.Text := Ini.ReadString('Proxy', 'Porta', '');
    edtProxyUser.Text  := Ini.ReadString('Proxy', 'User',  '');
    edtProxySenha.Text := Ini.ReadString('Proxy', 'Pass',  '');

    cbxSalvarArqs.Checked         := Ini.ReadBool(  'Arquivos', 'Salvar',             false);
    cbxPastaMensal.Checked        := Ini.ReadBool(  'Arquivos', 'PastaMensal',        false);
    cbxAdicionaLiteral.Checked    := Ini.ReadBool(  'Arquivos', 'AddLiteral',         false);
    cbxEmissaoPatheSocial.Checked := Ini.ReadBool(  'Arquivos', 'EmissaoPatheSocial', false);
    cbxSalvaPathEvento.Checked    := Ini.ReadBool(  'Arquivos', 'SalvarPathEvento',   false);
    cbxSepararPorCNPJ.Checked     := Ini.ReadBool(  'Arquivos', 'SepararPorCNPJ',     false);
    cbxSepararPorModelo.Checked   := Ini.ReadBool(  'Arquivos', 'SepararPorModelo',   false);
    edtPatheSocial.Text           := Ini.ReadString('Arquivos', 'PatheSocial',        '');

    ConfigurarComponente;
  finally
    Ini.Free;
  end;
end;

Note que ela lê o arquivo INI, configura os componentes da tela do programa exemplo e depois configura o componente ACBreSocial com as configurações da tela.

Para usar o comando ACBreSocial.Configuracoes.LerIni você deve passar como parâmetro o arquivo ini gerado pelo ACBreSocial.Configuracoes.GravarIni.

21 minutos atrás, Djalma Grivol disse:

Uma coisa que reparei é que no arquivo INI gerado pelo gravaini não tem o SSLLib, mas tem outros campos que no INI do modelo não tem (exemplo: TimeZone.Modo, TimeZone.Str, VerificarValidade, ValidarDigest, IniServicos, IdCSRT, CSRT)

Ele gerou sim, na seção [DFe] do arquivo:

Citar

[DFe]
SSLCryptLib=1
SSLHttpLib=3
SSLXmlSignLib=4

O SSLLib é como um "Wrapper", quando você define ele automaticamente é definido essas 3 configurações acima de acordo com a opção que você escolheu.
Ele não configura o Wrapper, mas define as opções.

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

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

 

Eu fiz dessa dessa.

Leio o arquivo INI e gravo no componente.

Mas o mais prático seria utilizar o gravaini e lerini.

Veja:

procedure TFrmAso.ConfigurarComponente();
var
   FileName: String;
   IniFile: TIniFile;
   SSLLib, CryptLib, HttpLib, XmlSignLib, FormaEmissao, VersaoDF, TipoEmpregador,
   Ambiente, Tentativas, TimeOut, SSLType: Integer;
   Caminho, Senha, NumSerie, FormatoAlerta, PathSalvar, PathSchemas, IdEmpregador,
   IdTransmissor, UF, Aguardar, Intervalo, Host, Porta, User, Pass, PatheSocial: String;
   AtualizarXML, ExibirErroSchema, RetirarAcentos, Salvar, Visualizar, SalvarSOAP,
   AjustarAut, SalvarArqs, PastaMensal, AddLiteral, EmissaoPatheSocial, SalvarPathEvento,
   SepararPorCNPJ, SepararPorModelo: Boolean;
begin
   FileName := ExtractFilePath(ParamStr(0)) + 'eSocialConfig.ini';
   IniFile := TIniFile.Create(FileName);

   try
      SSLLib     := IniFile.ReadInteger('Certificado', 'SSLLib',     0);
      CryptLib   := IniFile.ReadInteger('Certificado', 'CryptLib',   0);
      HttpLib    := IniFile.ReadInteger('Certificado', 'HttpLib',    0);
      XmlSignLib := IniFile.ReadInteger('Certificado', 'XmlSignLib', 0);
      Caminho    := IniFile.ReadString( 'Certificado', 'Caminho',    '');
      Senha      := IniFile.ReadString( 'Certificado', 'Senha',      '');
      NumSerie   := IniFile.ReadString( 'Certificado', 'NumSerie',   '');

      AtualizarXML     := IniFile.ReadBool(   'Geral', 'AtualizarXML',     False);
      ExibirErroSchema := IniFile.ReadBool(   'Geral', 'ExibirErroSchema', False);
      FormatoAlerta    := IniFile.ReadString( 'Geral', 'FormatoAlerta',    '');
      FormaEmissao     := IniFile.ReadInteger('Geral', 'FormaEmissao',     0);
      VersaoDF         := IniFile.ReadInteger('Geral', 'VersaoDF',         0);
      RetirarAcentos   := IniFile.ReadBool(   'Geral', 'RetirarAcentos',   False);
      Salvar           := IniFile.ReadBool(   'Geral', 'Salvar',           False);
      PathSalvar       := IniFile.ReadString( 'Geral', 'PathSalvar',       '');
      PathSchemas      := IniFile.ReadString( 'Geral', 'PathSchemas',      '');
      IdEmpregador     := IniFile.ReadString( 'Geral', 'IdEmpregador',     '');
      IdTransmissor    := IniFile.ReadString( 'Geral', 'IdTransmissor',    '');
      TipoEmpregador   := IniFile.ReadInteger('Geral', 'TipoEmpregador',   0);

      UF         := IniFile.ReadString( 'WebService', 'UF',         '');
      Ambiente   := IniFile.ReadInteger('WebService', 'Ambiente',   0);
      Visualizar := IniFile.ReadBool(   'WebService', 'Visualizar', False);
      SalvarSOAP := IniFile.ReadBool(   'WebService', 'SalvarSOAP', False);
      AjustarAut := IniFile.ReadBool(   'WebService', 'AjustarAut', False);
      Aguardar   := IniFile.ReadString( 'WebService', 'Aguardar',   '');
      Tentativas := IniFile.ReadInteger('WebService', 'Tentativas', 0);
      Intervalo  := IniFile.ReadString( 'WebService', 'Intervalo',  '');
      TimeOut    := IniFile.ReadInteger('WebService', 'TimeOut',    0);
      SSLType    := IniFile.ReadInteger('WebService', 'SSLType',    0);

      Host  := IniFile.ReadString('Proxy', 'Host',  '');
      Porta := IniFile.ReadString('Proxy', 'Porta', '');
      User  := IniFile.ReadString('Proxy', 'User',  '');
      Pass  := IniFile.ReadString('Proxy', 'Pass',  '');

      SalvarArqs         := IniFile.ReadBool(  'Arquivos', 'SalvarArqs',         False);
      PastaMensal        := IniFile.ReadBool(  'Arquivos', 'PastaMensal',        False);
      AddLiteral         := IniFile.ReadBool(  'Arquivos', 'AddLiteral',         False);
      EmissaoPatheSocial := IniFile.ReadBool(  'Arquivos', 'EmissaoPatheSocial', False);
      SalvarPathEvento   := IniFile.ReadBool(  'Arquivos', 'SalvarPathEvento',   False);
      SepararPorCNPJ     := IniFile.ReadBool(  'Arquivos', 'SepararPorCNPJ',     False);
      SepararPorModelo   := IniFile.ReadBool(  'Arquivos', 'SepararPorModelo',   False);
      PatheSocial        := IniFile.ReadString('Arquivos', 'PatheSocial',        '');

      ACBreSocial1.Configuracoes.Certificados.ArquivoPFX  := Caminho;
      ACBreSocial1.Configuracoes.Certificados.Senha       := ShortString(Senha);
      ACBreSocial1.Configuracoes.Certificados.NumeroSerie := NumSerie;
      ACBreSocial1.SSL.DescarregarCertificado;

      ACBreSocial1.Configuracoes.Geral.SSLLib           := TSSLLib(SSLLib);
      ACBreSocial1.Configuracoes.Geral.SSLCryptLib      := TSSLCryptLib(CryptLib);
      ACBreSocial1.Configuracoes.Geral.SSLHttpLib       := TSSLHttpLib(HttpLib);
      ACBreSocial1.Configuracoes.Geral.SSLXmlSignLib    := TSSLXmlSignLib(XmlSignLib);

      ACBreSocial1.Configuracoes.Geral.Salvar           := Salvar;
      ACBreSocial1.Configuracoes.Geral.ExibirErroSchema := ExibirErroSchema;
      ACBreSocial1.Configuracoes.Geral.RetirarAcentos   := RetirarAcentos;
      ACBreSocial1.Configuracoes.Geral.FormatoAlerta    := FormatoAlerta;
      ACBreSocial1.Configuracoes.Geral.FormaEmissao     := TpcnTipoEmissao(FormaEmissao);
      ACBreSocial1.Configuracoes.Geral.VersaoDF         := TVersaoeSocial(VersaoDF);

      ACBreSocial1.Configuracoes.Geral.IdEmpregador     := IdEmpregador;
      ACBreSocial1.Configuracoes.Geral.IdTransmissor    := IdTransmissor;
      ACBreSocial1.Configuracoes.Geral.TipoEmpregador   := TEmpregador(TipoEmpregador);

      ACBreSocial1.Configuracoes.WebServices.UF                       := UF;
      ACBreSocial1.Configuracoes.WebServices.Ambiente                 := TpcnTipoAmbiente(Ambiente);
      ACBreSocial1.Configuracoes.WebServices.Visualizar               := Visualizar;
      ACBreSocial1.Configuracoes.WebServices.Salvar                   := SalvarSOAP;

      ACBreSocial1.Configuracoes.WebServices.AjustaAguardaConsultaRet := AjustarAut;
      ACBreSocial1.Configuracoes.WebServices.AguardarConsultaRet      := StrToInt(Aguardar);
      ACBreSocial1.Configuracoes.WebServices.Tentativas               := Tentativas;
      ACBreSocial1.Configuracoes.WebServices.IntervaloTentativas      := StrToInt(Intervalo);

      ACBreSocial1.Configuracoes.WebServices.TimeOut                  := TimeOut;
      ACBreSocial1.Configuracoes.WebServices.ProxyHost                := Host;
      ACBreSocial1.Configuracoes.WebServices.ProxyPort                := Porta;
      ACBreSocial1.Configuracoes.WebServices.ProxyUser                := User;
      ACBreSocial1.Configuracoes.WebServices.ProxyPass                := Senha;

      ACBreSocial1.SSL.SSLType := TSSLType(SSLType);

      ACBreSocial1.Configuracoes.Arquivos.Salvar             := SalvarArqs;
      ACBreSocial1.Configuracoes.Arquivos.SepararPorMes      := PastaMensal;
      ACBreSocial1.Configuracoes.Arquivos.AdicionarLiteral   := AddLiteral;
      ACBreSocial1.Configuracoes.Arquivos.EmissaoPatheSocial := EmissaoPatheSocial;
      ACBreSocial1.Configuracoes.Arquivos.SepararPorCNPJ     := SepararPorCNPJ;
      ACBreSocial1.Configuracoes.Arquivos.SepararPorModelo   := SepararPorModelo;
      ACBreSocial1.Configuracoes.Arquivos.PathSchemas        := PathSchemas;
      ACBreSocial1.Configuracoes.Arquivos.PatheSocial        := PatheSocial;
      ACBreSocial1.Configuracoes.Arquivos.PathSalvar         := PathSalvar;
   finally
      IniFile.Free;
   end;
end;
 

Resolvido.

TimeZone.Modo, TimeZone.Str, VerificarValidade, ValidarDigest, IniServicos, IdCSRT, CSRT
Esses não estão no INI do programa exemplo.

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

  • Consultores

Obrigado por reportar.

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

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

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 357 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.