Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

  • Consultores
Postado

Boa tarde.

Você pode verificar o número do correspondente no arquivo de retorno, caso processe o mesmo antes de acionar o comando LerRetorno() do componente, caso contrário o próprio componente consegue fazer esta validação.

Att.

  • Curtir 1
Consultora ACBr Pro

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

  • Membros Pro
Postado

Boa tarde Juliana,

Obrigado pelo retorno, fiz o que vc pediu, só que o número do corresponde é 756 e o comando LerRetorno() trás a classe do Bancoob e gostaria que fosse o BradescoSicoob.

  • Consultores
Postado

Boa tarde.

O componente apenas fará a validação se o retorno que está sendo lido é do banco setado em TipoCobranca, mas quem deve setar esta propriedade é sua aplicação.

Att.

Consultora ACBr Pro

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

Postado (editado)
7 horas atrás, Gledson Santos disse:

Bom dia,

Como identificar se um arquivo de retorno pertence ao Bradesco ou Bradesco Sicoob?

abra o arquivo antes, capture a posicao do banco, agencia e conta / cedente, então, ache essa informacao no seu banco de dados. Vc deve ter essa informacao no programa que é do bradesco sicoob. O componente so vai retornar dados para processar o retorno. 

 

Exemplo de como faço isso:

 

  TFuncBoleto.ACBrBoleto.LeCedenteRetorno := true; // DEve ser false devido problema do sicoob 756

        TFuncBoleto.ACBrBoleto.DirArqRetorno  := ExtractFilePath(Arquivo);
        TFuncBoleto.ACBrBoleto.NomeArqRetorno := ExtractFileName(Arquivo);

        TFuncBoleto.ACBrBoleto.Cedente.Conta := '0'; // Ocultar erro do ACBr

        TFuncBoleto.ACBrBoleto.LerRetorno(ArquivoDeRetorno);

        ACodBanco    := TFuncBoleto.ACBrBoleto.Banco.Numero;
        ANomeCedente := TFuncBoleto.ACBrBoleto.Cedente.Nome;
        AAgencia     := TFuncBoleto.ACBrBoleto.Cedente.Agencia;
        AContaNum    := TiraZeroAntes(TFuncBoleto.ACBrBoleto.Cedente.Conta);
        AContaDV     := TFuncBoleto.ACBrBoleto.Cedente.ContaDigito;

        if LS.Count > 0 then
          sLinha := LS[0];

        if ((TFuncBoleto.ACBrBoleto.LayoutRemessa = c240) and (ACodBanco = 104)) then
        begin
          ACodCedente := Copy(sLinha, 59, 6);

          AcharContaCorrentePeloCedente(ACodCedente, AContaNum, AContaDV);
        end
        else if ((TFuncBoleto.ACBrBoleto.LayoutRemessa = c400) and (ACodBanco = 756)) then
        begin
          ACodCedente := Trim(TiraZeroAntes(Copy(sLinha, 32, 8)));

          AcharContaCorrentePeloCedente(ACodCedente, AContaNum, AContaDV);
        end;

        CdsHeader.Insert;
        CdsHeader.FieldByName('CEDENTE').AsString := ANomeCedente;
        CdsHeader.FieldByName('BANCO').AsInteger  := ACodBanco;

        CdsHeader.FieldByName('CONTA').AsString    := AContaNum;
        CdsHeader.FieldByName('CONTA_DV').AsString := AContaDV;

        if (CdsHeader.FieldByName('CONTA').AsString <> '') and (IBQryCC.Locate('CONTA_CCR', CdsHeader.FieldByName('CONTA').AsString, [])) then
        begin
          DBLookupContaCorrente.KeyValue                     := IBQryCC.FieldByName('CODIGO_CCR').AsInteger;
          IBDSPai.FieldByName('CTA_MOVIMENTO_BOR').AsInteger := IBQryCC.FieldByName('CODIGO_CCR').AsInteger;
          CdsHeader.FieldByName('COD_CONTA').AsInteger       := IBQryCC.FieldByName('CODIGO_CCR').AsInteger;
        end;
        CdsHeader.Post;

        CarregarDadosAnteriorPelaConta(CdsHeader.FieldByName('COD_CONTA').AsInteger);

Editado por Antonio Gomes
faltou coisa
  • Curtir 1
  • 3 semanas depois ...
  • Membros Pro
Postado

Boa noite podem me tirar uma dúvida, gostaria de pegar o código da ocorrência e o motivo da rejeição por exemplo, sei que na posição 109-110 vem

o código que eu já estou pegando, se foi aceito ou rejeitado, gostaria de pegar o código do motivo da rejeição, li o manual e vi que essa informação está na posição 319 a 328

(0900000000) nesse exemplo o código que representa o motivo da rejeição é 09, pergunta, qual é a propriedade dentro do componente que pego esse código? sei também que ele pode ter até 5 motivos (códigos)

Obrigado

  • Consultores
Postado

2.2 - Permaneça no assunto - Quando tiver uma dúvida diferente do assunto no tópico, poste em novo tópico. Não use algo equivalente a "aproveitando o gancho... [dúvida não relacionada com o tópico aqui]". Favor leia as regras do fórum.

  • Curtir 1
Consultora ACBr Pro

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

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