Ir para conteúdo
  • Cadastre-se

dev botao
  • Este tópico foi criado há 616 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Consultores
Postado

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

 

 

  • Membros Pro
Postado

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.
 

  • Consultores
Postado

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

 

 

  • Membros Pro
Postado
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.

  • Membros Pro
Postado

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?

 

  • Consultores
  • Solution
Postado
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 !!

  • Membros Pro
Postado

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.

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

  • Membros Pro
Postado

 

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
  • Consultores
Postado

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

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

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...