Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado

Boa tarde!

Estou com um problema e näo sei como resolver, o sistema esta gerando boleto, imprimindo, gerando o arquivo para remessa ate ai parece estar blz,

ocorre que o arquivo enviado para o banco Bradesco esta sendo aceito sem rejeição, mas quando o cliente entra no site para verificar a lista dos boleto em banco eles näo aparece.

segue abaixo um arquivo de remessa e a estrutura do sistema (fonte) espero que alguém indique a besteira que estou fazendo

desde já fico agradecido.

 

procedure TF_GerarRemessaBoletos.lb_gerarClick(Sender: TObject);
var TD: TTransactionDesc;
  MyString:TstringList;
  ic:Cardinal;
  vrche:TListItem;

  Titulo    : TACBrTitulo;
  I         : Integer;
  NrTitulos,Seq,mxseq : Integer;
  NrTitulosStr :String;
  Convertido: Boolean;
    dia,mes:String;  
begin
  lb_gerar.Enabled := False;

  dia:=FormatDateTime('DD',Date);
  mes:=FormatDateTime('MM',Date);
  
  for ic := 0 to lv_boletos.items.count-1 do
    if lv_boletos.items.item[ic].checked then
      begin
        vrche:=lv_boletos.Items.Item[ic]; //obtém o item da linha X

        MyString := TstringList.Create;
        MyString.Clear;
        MyString.Add('select a.bol_codigo, a.bol_codcc, a.bol_nossonumero, a.bol_numtitulo, a.bol_vrtitulo, a.bol_dataemissao,');
        MyString.Add('a.bol_datavenc, a.bol_codparceiro, a.bol_nome, a.bol_ntitulo, a.bol_inscricao, a.bol_endereco,');
        MyString.Add('a.bol_numero, a.bol_complemento, a.bol_bairro, a.bol_cidade, a.bol_cep, a.bol_uf, a.bol_vrjrsdia,');
        MyString.Add('a.bol_vrdescdia, a.bol_abat, a.bol_datajrs, a.bol_datadesc, a.bol_dataabat, a.bol_dataprotesto,');
        MyString.Add('a.bol_inst_1, a.bol_inst_2, a.bol_mensagens, a.bol_especie,');
        MyString.Add('b.cof_codigo, b.cof_codcc, b.cof_localpgto, b.cof_diasprotesto, b.cof_instrucao_1, b.cof_instrucao_2, b.cof_carteira ');
        MyString.Add('from st_boleto a ');
        MyString.Add('inner join st_configboleto b ');
        MyString.Add('on a.bol_codcc = b.cof_codcc ');
        MyString.Add('where a.bol_codigo = :a.bol_codigo');
        F_GerarRemessaBoletos.cds_bol.Close;
        F_GerarRemessaBoletos.cds_bol.CommandText:=MyString.Text;
        F_GerarRemessaBoletos.cds_bol.Params[0].AsInteger := StrToInt(vrche.Caption);
        F_GerarRemessaBoletos.cds_bol.Open;
        MyString.Free;

        while not F_GerarRemessaBoletos.cds_bol.Eof do
          begin

            Titulo:= ACBrBoleto1.CriarTituloNaLista;

            F_DMdados.cdsCCbancos.Close;
            F_DMdados.cdsCCbancos.CommandText := 'SELECT * FROM STCOTCORRENTE WHERE CC_CODIGO = :CC_CODIGO';
            F_DMdados.cdsCCbancos.Params[0].AsInteger := F_GerarRemessaBoletos.cds_bolCOF_CODCC.AsInteger;
            F_DMdados.cdsCCbancos.Open;

            if (F_DMdados.cdsCCbancos.RecordCount <> 0) then
              begin
                F_DMdados2.cdsParBolBco.Close;
                F_DMdados2.cdsParBolBco.CommandText := 'SELECT * FROM ST_PARAMBOLETOBCO WHERE COB_CODCC = :COB_CODCC';
                F_DMdados2.cdsParBolBco.Params[0].AsInteger := F_GerarRemessaBoletos.cds_bolCOF_CODCC.AsInteger;
                F_DMdados2.cdsParBolBco.Open;

                ACBrBoleto1.Cedente.Nome          := F_DMdados.cdsCCbancosCC_TITULAR.AsString;

                if Length(Trim(F_DMdados2.cdsParBolBcoCOB_CNPJ_CPF.AsString)) = 11 then
                  begin
                    ACBrBoleto1.Cedente.TipoInscricao := pFisica;
                  end
                 else
                  begin
                    ACBrBoleto1.Cedente.TipoInscricao := pJuridica;
                  end;

                ACBrBoleto1.Cedente.CNPJCPF       := F_DMdados2.cdsParBolBcoCOB_CNPJ_CPF.AsString;
                ACBrBoleto1.Cedente.Logradouro    := F_DMdados2.cdsParBolBcoCOB_END.AsString+' '+F_DMdados.cdsCCbancosCC_CIDADE.AsString+' '+F_DMdados.cdsCCbancosCC_ESTADO.AsString;
                ACBrBoleto1.Cedente.Agencia       := F_DMdados.cdsCCbancosCC_AGENCIA.AsString;
                ACBrBoleto1.Cedente.AgenciaDigito := IntToStr(F_DMdados.cdsCCbancosCC_DIGITOAG.AsInteger);
                ACBrBoleto1.Cedente.Conta         := F_DMdados.cdsCCbancosCC_CONTCOR.AsString;
                ACBrBoleto1.Cedente.ContaDigito   := IntToStr(F_DMdados.cdsCCbancosCC_DIGITOCC.AsInteger);
                ACBrBoleto1.Cedente.CodigoCedente := IntToStr(F_DMdados2.cdsParBolBcoCOB_CODCOBRANCA.AsInteger);
                ACBrBoleto1.Cedente.TipoCarteira  := tctRegistrada;
                ACBrBoleto1.Cedente.CaracTitulo   := tcSimples;

              end;

            with Titulo do
              begin
                Vencimento        := IncMonth(F_GerarRemessaBoletos.cds_bolBOL_DATAVENC.AsDateTime);
                DataDocumento     := F_GerarRemessaBoletos.cds_bolBOL_DATAEMISSAO.AsDateTime;
                NumeroDocumento   := F_GerarRemessaBoletos.cds_bolBOL_NTITULO.AsString;
                EspecieDoc        := F_GerarRemessaBoletos.cds_bolBOL_ESPECIE.AsString;
                Aceite            := atSim;
                EspecieMod        := 'R$';
                 DataProcessamento := Now;
//                Parcela           := F_GerarRemessaBoletos.cds
//                TotalParcelas
                NossoNumero       := IntToStr(F_GerarRemessaBoletos.cds_bolBOL_NOSSONUMERO.AsInteger);
                Carteira          := '01';
                ValorDocumento    := F_GerarRemessaBoletos.cds_bolBOL_VRTITULO.AsCurrency;
                Sacado.NomeSacado := F_GerarRemessaBoletos.cds_bolBOL_NOME.AsString;
                Sacado.CNPJCPF    := F_GerarRemessaBoletos.cds_bolBOL_INSCRICAO.AsString;
                Sacado.Logradouro := F_GerarRemessaBoletos.cds_bolBOL_ENDERECO.AsString;
                Sacado.Numero     := F_GerarRemessaBoletos.cds_bolBOL_NUMERO.AsString;
                Sacado.Bairro     := F_GerarRemessaBoletos.cds_bolBOL_BAIRRO.AsString;
                Sacado.Cidade     := F_GerarRemessaBoletos.cds_bolBOL_CIDADE.AsString;
                Sacado.UF         := F_GerarRemessaBoletos.cds_bolBOL_UF.AsString;
                Sacado.CEP        := F_GerarRemessaBoletos.cds_bolBOL_CEP.AsString;
                ValorAbatimento   := F_GerarRemessaBoletos.cds_bolBOL_ABAT.AsCurrency;
                LocalPagamento    := F_GerarRemessaBoletos.cds_bolCOF_LOCALPGTO.AsString; //MEnsagem exigida pelo bradesco
                ValorMoraJuros    := F_GerarRemessaBoletos.cds_bolBOL_VRJRSDIA.AsCurrency;
                ValorDesconto     := F_GerarRemessaBoletos.cds_bolBOL_VRDESCDIA.AsCurrency;
                DataMoraJuros     := F_GerarRemessaBoletos.cds_bolBOL_DATAJRS.AsDateTime;
                DataDesconto      := F_GerarRemessaBoletos.cds_bolBOL_DATADESC.AsCurrency;
                DataAbatimento    := F_GerarRemessaBoletos.cds_bolBOL_DATAABAT.AsDateTime;
                DataProtesto      := F_GerarRemessaBoletos.cds_bolBOL_DATAPROTESTO.AsDateTime;
                PercentualMulta   := 0;
                Mensagem.Text     := F_GerarRemessaBoletos.cds_bolBOL_MENSAGENS.AsString;
                OcorrenciaOriginal.Tipo := toRemessaRegistrar;
                CarteiraEnvio     := tceCedente;
                Instrucao1        := F_GerarRemessaBoletos.cds_bolBOL_INST_1.AsString;
                Instrucao2        := F_GerarRemessaBoletos.cds_bolBOL_INST_2.AsString;

                ACBrBoleto1.AdicionarMensagensPadroes(Titulo,Mensagem);

              end;

            try
              TD.TransactionID:=1;
              TD.IsolationLevel:= xilREADCOMMITTED;
              F_DMdados.SQLConn.StartTransaction(TD);

              F_DMdados2.cdsBoleto.Close;
              F_DMdados2.cdsBoleto.CommandText := 'SELECT * FROM ST_BOLETO WHERE BOL_CODIGO = :BOL_CODIGO';
              F_DMdados2.cdsBoleto.Params[0].AsInteger := F_GerarRemessaBoletos.cds_bolBOL_CODIGO.AsInteger;
              F_DMdados2.cdsBoleto.Open;

              if (F_DMdados2.cdsBoleto.RecordCount <> 0) then
                begin
                  MyString := TstringList.Create;
                  MyString.Clear;
                  MyString.Add('UPDATE ST_BOLETO SET BOL_REMESSA=:BOL_REMESSA WHERE BOL_CODIGO = :BOL_CODIGO');
                  F_DMdados2.sdsBoleto.CommandText := MyString.Text;
                  MyString.Free;

                  F_DMdados2.sdsBoleto.ParamByName('BOL_CODIGO').AsInteger := F_GerarRemessaBoletos.cds_bolBOL_CODIGO.AsInteger;
                  F_DMdados2.sdsBoleto.ParamByName('BOL_REMESSA').AsString := 'S';

                  F_DMdados2.sdsBoleto.ExecSQL;
                end;

              F_DMdados.SQLConn.Commit(TD);
            except
              on E:Exception do
                begin
                  F_DMdados.SQLConn.Rollback(TD);
                  ShowMessage('Erro ao tentar INCLUIR o registro: ' + E.Message);
                  Abort;
                end;
            end;

            F_GerarRemessaBoletos.cds_bol.Next;
          end;
        F_GerarRemessaBoletos.cds_bol.Close;


      end;

  F_DMdados2.cdsSegBol.Close;
  F_DMdados2.cdsSegBol.CommandText := 'SELECT * FROM ST_BOLNUMEROREMESSA WHERE NRE_CODIGO = :NRE_CODIGO';
  F_DMdados2.cdsSegBol.Params[0].AsInteger := 1;
  F_DMdados2.cdsSegBol.Open;

  if (F_DMdados2.cdsSegBol.RecordCount <> 0) then
    begin
      seq := F_DMdados2.cdsSegBolNRE_NUMERO.AsInteger+1;
      mxseq := F_DMdados2.cdsSegBolNRE_MXNUMERO.AsInteger+1;
     end;

  ACBrBoleto1.NomeArqRemessa := 'CB'+dia+mes+IntToStr(seq)+'.REM';
  ACBrBoleto1.GerarRemessa(mxseq); //criar uma seencia em uma base de dados
 

 

CB070382.REM

  • Administradores
Postado

Boa tarde.

Qual foi a reposta do suporte do banco sobre esta situaçã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 !!

  • Administradores
Postado

Bom dia.

Conforme você citou em seu post inicial, o arquivo é processado com sucesso pelo banco, logo é necessário que o suporte do mesmo indique o motivo dos boletos não serem disponibilizados na consulta.

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

  • Membros Pro
Postado

Juliana Boa tarde!

A Empresa pediu para o suporte anteder nossa solicitação, já fiz a mudança, mas no arquivo de remessa em anexo enviando no post esta aparecendo ref. ao protesto sempre 26 dias, o que pode ser ?

 

grato

  • Administradores
Postado

Boa tarde.

Verifique se algo foi informado na propriedade DataProtesto.

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

  • Membros Pro
Postado

Bom dia!

Juliana sim foi informado a data do protesto, fiz um teste não informando da data do protesto, no arquivo de remessa não aparece nada dizendo que vai protestar, fica sem informação.

grato.

 

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