Ir para conteúdo
  • Cadastre-se

dev botao

Retorno Bradesco Sicoob


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

Recommended Posts

  • Administradores

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

Link para o comentário
Compartilhar em outros sites

  • Administradores

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

Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...

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

Link para o comentário
Compartilhar em outros sites

  • Administradores

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

Link para o comentário
Compartilhar em outros sites

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