Ir para conteúdo
  • Cadastre-se

dev botao

Adicionar Banco Sicredi ao componente TAcbrDebitoAutomatico


Ver Solução Respondido por arielguareschi,

Recommended Posts

  • Consultores

@arielguareschi,

Gostaria de entender o motivo dessa alteração na unit ACBrDebitoAutomatico:

function TACBrDebitoAutomatico.GravarTxtRemessa(const ANomeArquivo: String): Boolean;
begin
  if Self.Arquivos.Count <=0 then
    raise EACBrDebitoAutomaticoException.Create('ERRO: Nenhum arquivo adicionado.');

  SetProvider; // <== linha incluida

  if not Assigned(FProvider) then
    raise EACBrDebitoAutomaticoException.Create(ERR_SEM_BANCO);

  FProvider.Gerar(ANomeArquivo);

  Result := True;
end;

e na unit ACBrDebitoAutomaticoArquivo:

function TRegistro.Ler(const aArquivoTXT: String): boolean;
var
  FProvider: IACBrDebitoAutomaticoProvider;
  Ok: Boolean;
begin
  // Incluida a condição abaixo
  if (TACBrDebitoAutomatico(FACBrDebitoAutomatico).Configuracoes.Geral.Banco = debNenhum) then
  begin
    TACBrDebitoAutomatico(FACBrDebitoAutomatico).Configuracoes.Geral.Banco := StrToBanco(Ok, Copy(aArquivoTXT, 1, 3));
  end;
  FProvider := TACBrDebitoAutomatico(FACBrDebitoAutomatico).Provider;

  if not Assigned(FProvider) then
    raise EACBrDebitoAutomaticoException.Create(ERR_SEM_BANCO);

  Result := FProvider.LerTxt(aArquivoTXT, FDebitoAutomatico);
end;

 

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

A primeira ele não estava setando o provider na hora de gerar o arquivo, e a segunda é que para fazer a leitura do arquivo no caso do Sicredi ele não possui o código do banco no arquivo, por isso modifiquei para que caso já tenha atribuído o banco na hora de carregar o componente, ele não troca o provider.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde @arielguareschi,

Acredito que se ao configurar o componente você configurar por ultimo o banco ele vai setar sim o provider.

Desta forma não precisaria da primeira alteração.

Com relação a segunda, se eu entendi direito no arquivo de retorno não consta o código do banco, correto?

O que é informado nas 3 primeiras posições do arquivo?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Para a primeiro mesmo realizando a configuração por ultimo não acatava, mas se realizar o teste e mesmo assim der certo de boa.

        AcbrDeb.Configuracoes.Geral.CNPJEmpresa := EmpresaCnp;
        AcbrDeb.Configuracoes.Geral.LayoutVersao := lv5;
        AcbrDeb.Configuracoes.Geral.Banco := oBanco;
        AcbrDeb.LerTxtRetorno(EditRetorno.FileName);
        if AcbrDeb.Arquivos.Count > 0 then

 

Com relação ao segundo item ele informa nas 3 primeiras posições o convenio.

image.thumb.png.306696a4f36be4140da97b75cbc1f573.png

Inclui em anexo o manual do banco.

Layout Debito Automatico - Versao 05_V1.3.pdf

Link para o comentário
Compartilhar em outros sites

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.