Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

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 ?

Postado

Então dener, quando e passado a data para o sistema, ele vem com 0. 

 

 

ate no acbrBancoHSBC ele esta oks com a data normal, agora quando adiciono o seguinte no codigo 

 

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

 

somente ele vem com 0. 

Postado

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
Postado

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
Postado

Eu entendi brother. valeu, so estou com um problemas mas e tecnico mesmo. o tipo extended nao esta passando para o TDatetime. 

 

Outra coisa o ACBrBoleto.ListadeBoletos.Objects[iCont].DataBaixa  tambem esta chegando 0. posso fazer a mesma coisa com ele ? 

Postado

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)

  • 2 meses depois ...
Postado

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!

  • Moderadores
Postado
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_Transparent-02.png
 

 

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