Ir para conteúdo
  • Cadastre-se

dev botao

Ajuste Cobrança HSBC - Homologação


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

Recommended Posts

Boa tarde galera. 

 

Brother denner me da uma mao brother. 

 

nessa posicao aqui da unity hsbc.

 

 

 

  if Trim(Copy(ARetorno[0], 12, 15)) <> 'COBRANCA CNR' Then
     ACBrBanco.ACBrBoleto.DataCreditoLanc := StringToDateTimeDef(Copy(ARetorno[0], 120, 2) + '/' +
                                                                 Copy(ARetorno[0], 122, 2) + '/' +
                                                                 Copy(ARetorno[0], 124, 2), 0, 'DD/MM/YY');

 

 

so que nessa posicao do header nao tem nada. 

como devo fazer ?

Link para o comentário
Compartilhar em outros sites

Essa variável que você esta usando "DataCredito" está em outro ponto
 

        if Trim(Copy(ARetorno[0], 12, 15)) = 'COBRANCA CNR' Then
        begin
           if StrToIntDef(Copy(Linha, 83, 6), 0) <> 0 Then
              DataCredito := StringToDateTimeDef(Copy(Linha, 83, 2) + '/' +
                                                 Copy(Linha, 85, 2) + '/' +
                                                 Copy(Linha, 87, 2), 0, 'DD/MM/YY');

Como seu arquivo é "COBRANCA" ele não atende a esse requisito e não entra neste bloco, além de não ter data nesta posição 83.

Recomendo que você use como data de recebimento a data de ocorrencia. Caso você esteja passando para seu dataset a data de credito, poderá fazer algum tratamento antes para que sempre sua data de crédito tenha valor, como por exemplo:

        //Feito isto para garantir que a data de crédito (data de recebimento) sempre tenha valor, mesmo para bancos que não retornem nesta variavel "DataCredito" (Ex. HSBC)
        if (ACBrBoleto1.ListadeBoletos.Objects[i].DataCredito = 0) then
          ACBrBoleto1.ListadeBoletos.Objects[i].DataCredito := ACBrBoleto1.ListadeBoletos.Objects[i].DataOcorrencia
        else
          if (ACBrBoleto1.ListadeBoletos.Objects[i].DataOcorrencia = 0) then
            ACBrBoleto1.ListadeBoletos.Objects[i].DataCredito := ACBrBoleto1.DataCreditoLanc;
        //

 

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

Entendeu Célio? Para simplificar para você.

Antes do seu código:

30 minutos atrás, Celio Souza disse:

dCredito:=ACBrBoleto.ListadeBoletos.Objects[iCont].DataCredito;

Coloque:

8 minutos atrás, denerbuzato disse:

 


        //Feito isto para garantir que a data de crédito (data de recebimento) sempre tenha valor, mesmo para bancos que não retornem nesta variavel "DataCredito" (Ex. HSBC)
        if (ACBrBoleto1.ListadeBoletos.Objects[i].DataCredito = 0) then
          ACBrBoleto1.ListadeBoletos.Objects[i].DataCredito := ACBrBoleto1.ListadeBoletos.Objects[i].DataOcorrencia
        else
          if (ACBrBoleto1.ListadeBoletos.Objects[i].DataOcorrencia = 0) then
            ACBrBoleto1.ListadeBoletos.Objects[i].DataCredito := ACBrBoleto1.DataCreditoLanc;
        //

 

Veja se terá a data que deseja.

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

Pois na documentacao ela nao exixte tambem, mas acredito que seja a data credito mesmo ! 

 

mas tenho uma duvida e o senhor google nao conseguiu me responder, quando eu passo para uma variavel dtime o valor extend contendo a data, o valor nao e passado. muito estranho isso. 

depois que passa da linha o valor da variavel dtime fica zerado. 

exemplo: 

 

dBaixa(0):=ACBrBoleto.ListadeBoletos.Objects[iCont].DataCredito(499012)

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...

Sobre o problema do Celio, penso que precisam atualizar no SVN, estou com a versão atualizada e quando leio o arquivo de retorno o sistema exibe a mensagem informando que o cedente está inválido pois está procurando aquele espaço em branco para fazer a verificação.

Poderias atualizar no SVN por gentileza? Grato!

Link para o comentário
Compartilhar em outros sites

  • Moderadores
2 horas atrás, Dedox disse:

Sobre o problema do Celio, penso que precisam atualizar no SVN, estou com a versão atualizada e quando leio o arquivo de retorno o sistema exibe a mensagem informando que o cedente está inválido pois está procurando aquele espaço em branco para fazer a verificação.

Poderias atualizar no SVN por gentileza? Grato!

Qual código?

anexe a unit que está falando para que o responsável usando os manuais do banco possa validar isso!

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.