Ir para conteúdo
  • Cadastre-se

dev botao

arquivo de remessa


Ver Solução Respondido por ultraseven,
  • Este tópico foi criado há 2607 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

bom dia a todos

estou implementando boleto sicredi e esta dando erro na homologacao na parte do digito verificador do nossonumero e na linha R do desconto 2, o banco esta alegando que nao esta sendo informado o tido de desconto 2 e o digito verificador no pdf esta correto porem no arquivo de remess esta errado.

 

alguem pode ajudar

  • Administradores
Postado

Boa tarde.

Se no boleto em pdf está correto, o DV deve estar correto também na remessa, uma vez que são o mesmo código.

Para facilitar o entendimento forneça a resposta do banco quanto a validação, assim como os dados passados ao componente,

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

boa tarde Juliana

estou entao anexo a planilha de retorno do banco e a parte do trecho de alimentacao do componente

1o. - alimentacao

procedure TFrm_Gerenciador_Boletos.ConfiguraComponenteAcBr;
begin
          ACBrBoleto1.Banco.TamanhoMaximoNossoNum := 8;
          ACBrBoleto1.Banco.Nome                  := Dm_BD2.ds_contabancariaNOME_BANCO.AsString;
          ACBrBoleto1.Banco.Digito                := Dm_BD2.ds_contabancariaDIGITO_NUMERO_BANCO.AsInteger;
          ACBrBoleto1.Banco.Numero                := Dm_BD2.ds_contabancariaNUMERO_BANCO.AsInteger;
          ACBrBoleto1.Banco.TipoCobranca          := cobSicred;
          ACBrBoleto1.Banco.NumeroCorrespondente  := 0;
          ACBrBoleto1.Cedente.CodigoCedente       := Dm_BD2.ds_contabancariaCOD_CEDENTE.AsString;
          v_cod_cedente                           := copy(Dm_BD2.ds_contabancariaCOD_CEDENTE.AsString,1,5);
          ACBrBoleto1.Cedente.Agencia             := Dm_BD2.ds_contabancariaNRO_AGENCIA.AsString+'-'+Dm_BD2.ds_contabancariaDIGITO_AGENCIA.AsString;
          ACBrBoleto1.Cedente.AgenciaDigito       := Dm_BD2.ds_contabancariaNOSSO_NUMERO.AsString; // numero do posto
          ACBrBoleto1.Cedente.Conta               := FormatFloat('00000',Dm_BD2.ds_contabancariaNRO_CONTA.AsFloat);
          ACBrBoleto1.Cedente.ContaDigito         := FormatFloat('0',Dm_BD2.ds_contabancariaDIGITO_CONTA.AsFloat);
          ACBrBoleto1.Cedente.Nome                := Dm_BD2.ds_contabancariaCEDENTE.AsString;
          ACBrBoleto1.Cedente.CNPJCPF             := Dm_BD.Ds_EmpresaCNPJ.AsString;
          ACBrBoleto1.Cedente.Logradouro          := Dm_BD.Ds_EmpresaLOGRADOURO.AsString+' No. '+Dm_BD.Ds_EmpresaNRO.AsString;
          ACBrBoleto1.Cedente.Cidade              := Dm_BD.Ds_EmpresaCIDADE.AsString+' - '+Dm_BD.Ds_EmpresaUF.AsString;
          ACBrBoleto1.Cedente.CEP                 := Dm_BD.Ds_EmpresaCEP.AsString;
          ACBrBoleto1.Cedente.UF                  := Dm_BD2.ds_contabancariaUF_AGENCIA.AsString;
          ACBrBoleto1.Cedente.TipoCarteira        := tctRegistrada;
          ACBrBoleto1.Cedente.ResponEmissao       := tbCliEmite;
          ACBrBoleto1.Cedente.TipoInscricao       := pJuridica;
          ACBrBoleto1.Cedente.TipoDocumento       := Escritural;
          ACBrBoleto1.Cedente.CaracTitulo         := tcSimples;
          ACBrBoleto1.Cedente.Modalidade          := ' ';

          ACBrBoleto1.ACBrBoletoFC.DirLogo     := Dm_BD2.ds_configBoletoPATH_LOGOTIPO.AsString;
          ACBrBoleto1.ACBrBoletoFC.Filtro      := fiNenhum;

          if Dm_BD2.ds_configBoletoTIPO_LAYOUT.AsString = 'lPadrao' then
             ACBrBoleto1.ACBrBoletoFC.LayOut      := lPadrao;

          if Dm_BD2.ds_configBoletoTIPO_LAYOUT.AsString = 'lPadraoEntrega' then
             ACBrBoleto1.ACBrBoletoFC.LayOut      := lPadraoEntrega;

          if Dm_BD2.ds_configBoletoTIPO_LAYOUT.AsString = 'lCarne' then
             ACBrBoleto1.ACBrBoletoFC.LayOut      := lCarne;

          if Dm_BD2.ds_configBoletoTIPO_LAYOUT.AsString = 'lFatura' then
             ACBrBoleto1.ACBrBoletoFC.LayOut      := lFatura;

          ACBrBoleto1.DirArqRemessa            := Dm_BD2.ds_configBoletoPATH_REMESSA.AsString;
          ACBrBoleto1.Cedente.Convenio         := FormatFloat('0000000',Dm_BD2.ds_configBoletoCONT_REMESSA.AsFloat);

             v_dia := ' ';
             v_dia :=  copy(DateToStr(now),1,2);

             v_mes := ' ';
             v_mes := copy(DateToStr(now),4,2);

             if v_mes = '01' then // janeiro
                v_mes := '1';

             if v_mes = '02' then  // fevereiro
                v_mes := '2';

             if v_mes = '03' then // março
                v_mes := '3';

             if v_mes = '04' then // abril
                v_mes := '4';

             if v_mes = '05' then // maio
                v_mes := '5';

             if v_mes = '06' then // junho
                v_mes := '6';

             if v_mes = '07' then // julho
                v_mes := '7';

             if v_mes = '08' then // agosto
                v_mes := '8';

             if v_mes = '09' then // setembro
                v_mes := '9';

             if v_mes = '10' then // outubro
                v_mes := 'O';

             if v_mes = '11' then // novembro
                v_mes := 'N';

             if v_mes = '12' then // dezeembro
                v_mes := 'D';

          if v_nro_remessa > '0' then
             ACBrBoleto1.NomeArqRemessa           := v_cod_cedente+v_mes+v_dia+'.CRM';
             ACBrBoleto1.LayoutRemessa            := c240;
             ACBrBoleto1.LeCedenteRetorno         := True;
             ACBrBoleto1.ImprimirMensagemPadrao   := True;
end;

 

2o. carregamento do titulos

procedure TFrm_Gerenciador_Boletos.bt_remessaClick(Sender: TObject);
begin

      // captura o numero da proxima remessa
      Dm_BD2.ds_id_remessa.open;
      Dm_BD2.ds_id_remessa.Insert;
      Dm_BD2.ds_id_remessaSTATUS.AsString     :='F';
      Dm_BD2.ds_id_remessa.Post;
      Dm_BD2.ds_id_remessa.ApplyUpdates(-1);
      Dm_BD2.ds_id_remessa.Close;
      Dm_BD2.ds_id_remessa.Open;
      Dm_BD2.ds_id_remessa.Last;
      v_nro_remessa := Dm_BD2.ds_id_remessaNRO_REMESSA.AsString;
      v_nro_remessa2 := StrtoInt(v_nro_remessa);

      ACBrBoleto1.ListadeBoletos.Clear;

      Dm_BD2.ds_gerar_boletos.CLOSE;
      Dm_BD2.sql_gerar_boletos.CLOSE;
      Dm_BD2.sql_gerar_boletos.CommandText:='SELECT * FROM BOLETOS WHERE DT_EMISSAO BETWEEN :data1 AND :data2 AND STATUS_REMESSA = ''N'' AND STATUS_RETORNO = ''N'' order by cliente';
      Dm_BD2.sql_gerar_boletos.ParamByName('data1').AsDate := DateTimePicker1.Date;
      Dm_BD2.sql_gerar_boletos.ParamByName('data2').AsDate := DateTimePicker2.Date;
      Dm_BD2.ds_gerar_boletos.OPEN;

      while not Dm_BD2.ds_gerar_boletos.Eof do
         begin
         v_nome_banco  := ' ';
         v_nome_banco  := Dm_BD2.ds_gerar_boletosNOME_BANCO.AsString;
         Titulo        := Frm_Gerenciador_Boletos.ACBrBoleto1.CriarTituloNaLista;

         ConfiguraComponenteAcBr;

         Titulo.Aceite                  := atSim;
         Titulo.DataProcessamento       := date();
         Titulo.OcorrenciaOriginal.Tipo := toRemessaRegistrar;
         Titulo.DataMoraJuros           := Dm_BD2.ds_gerar_boletosDT_VENCIMENTO.AsDateTime +1;
         Titulo.DataDesconto            := Dm_BD2.ds_gerar_boletosDT_VENCIMENTO.AsDateTime -5;
         Titulo.DataAbatimento          := Dm_BD2.ds_gerar_boletosDT_VENCIMENTO.AsDateTime -5;
         Titulo.DataDocumento           := Dm_BD2.ds_gerar_boletosDT_EMISSAO.AsDateTime;
         Titulo.EspecieDoc              := Dm_BD2.ds_configBoletoESPECIE.AsString;
         Titulo.Carteira                := Dm_BD2.ds_configBoletoCARTEIRA.AsString;
         Titulo.EspecieMod              := Dm_BD2.ds_configBoletoMOEDA.AsString;
         Titulo.NossoNumero             := Dm_BD2.ds_gerar_boletosNRO_BOLETO.AsString;
         Titulo.NumeroDocumento         := Dm_BD2.ds_gerar_boletosNOSSO_NUMERO.AsString;
         Titulo.TotalParcelas           := StrToInt(Dm_BD2.ds_gerar_boletosTOTAL_PARCELAS.AsString);
         Titulo.Parcela                 := StrToInt(Dm_BD2.ds_gerar_boletosNRO_PARCELA.AsString);
         Titulo.ValorDocumento          := Dm_BD2.ds_gerar_boletosVALOR_MENSAL.AsCurrency;
         Titulo.Vencimento              := Dm_BD2.ds_gerar_boletosDT_VENCIMENTO.AsDateTime;
         Titulo.ValorAbatimento         := 0;
         Titulo.ValorIOF                := 0;

         // configura REMESSA de Boleto com informacao de Protesto
         if Dm_BD2.ds_gerar_boletosSTATUS_PROTESTO.AsString = '0' then
            Titulo.DataProtesto   := Dm_BD2.ds_gerar_boletosDT_VENCIMENTO.AsDateTime + 90;

         // CONFIGURAÇÃO DO BOLETO
         Dm_BD2.ds_configBoleto.Close;
         Dm_BD2.sql_configBoleto.Close;
         Dm_BD2.sql_configBoleto.CommandText:='SELECT * FROM CONFIG_BOLETO WHERE NOME_BANCO ='+QuotedStr(v_nome_banco);
         Dm_BD2.sql_configBoleto.ExecSQL(true);
         Dm_BD2.ds_configBoleto.Open;

         if Dm_BD2.ds_configBoleto.RecNo > 0 then
            begin
            if v_nome_banco = 'Banco do Brasil' then
               begin
               Titulo.ValorMoraJuros          := Dm_BD2.ds_configBoletoJUROS_DIARIO.AsCurrency;
               Titulo.PercentualMulta         := Dm_BD2.ds_configBoletoMULTA_MES.AsCurrency;
               Titulo.ValorDespesaCobranca    := Dm_BD2.ds_configBoletoDESPESA_BANCARIA.AsCurrency;
            end;

            if v_nome_banco = 'Banco Itau' then
               begin
               Titulo.ValorMoraJuros          := Dm_BD2.ds_configBoletoJUROS_DIARIO.AsCurrency;
               Titulo.PercentualMulta         := Dm_BD2.ds_configBoletoMULTA_MES.AsCurrency;
               Titulo.ValorDespesaCobranca    := Dm_BD2.ds_configBoletoDESPESA_BANCARIA.AsCurrency;
            end;

            if v_nome_banco = 'Banco Sicredi' then
               begin
               Titulo.ValorMoraJuros          := Dm_BD2.ds_configBoletoJUROS_DIARIO.AsCurrency;
               Titulo.PercentualMulta         := Dm_BD2.ds_configBoletoMULTA_MES.AsCurrency;
               Titulo.ValorDespesaCobranca    := Dm_BD2.ds_configBoletoDESPESA_BANCARIA.AsCurrency;
               Titulo.ValorDesconto           := 0;
               Titulo.ValorDescontoAntDia     := 0;
               Titulo.TipoDesconto            := tdNaoConcederDesconto;
               Titulo.CodigoDesconto          := cdValorFixo;
            end;
         end;

         Titulo.Instrucao1              := 'Protestar 05 dias após vencimento';
         Titulo.LocalPagamento          := 'Pagável em Qualquer Banco Até o Vencimento.';

         // retirar pontuncao do CPFCNPJ
         v_cnpj_cpf := '';
         v_cnpj_cpf := Dm_BD2.ds_gerar_boletosCNPJ_CPF.AsString;
         v_cnpj_cpf := StringReplace(v_cnpj_cpf,'.','',[rfReplaceAll]);
         v_cnpj_cpf := StringReplace(v_cnpj_cpf,'/','',[rfReplaceAll]);
         v_cnpj_cpf := StringReplace(v_cnpj_cpf,'-','',[rfReplaceAll]);
         v_cnpjcpf  := StrToFloat(v_cnpj_cpf);


         if Length(v_cnpj_cpf) = 11 then
            begin
            Titulo.Sacado.Pessoa                := pFisica;
            Titulo.Sacado.CNPJCPF               := FormatFloat('000000000000000',v_cnpjcpf);
         end;

         if Length(v_cnpj_cpf) = 14 then
            begin
            Titulo.Sacado.Pessoa                := pJuridica;
            Titulo.Sacado.CNPJCPF               := FormatFloat('000000000000000',v_cnpjcpf);
         end;

         Titulo.Sacado.NomeSacado                    := Dm_BD2.ds_gerar_boletosCLIENTE.AsString;
         Titulo.Sacado.Logradouro                    := Dm_BD2.ds_gerar_boletosENDERECO.AsString;
         Titulo.Sacado.Numero                        := Dm_BD2.ds_gerar_boletosNUMERO.AsString;
         Titulo.Sacado.Bairro                        := Dm_BD2.ds_gerar_boletosBAIRRO.AsString;
         Titulo.Sacado.Cidade                        := Dm_BD2.ds_gerar_boletosCIDADE.AsString;
         Titulo.Sacado.UF                            := Dm_BD2.ds_gerar_boletosUF.AsString;
         Titulo.Sacado.CEP                           := Dm_BD2.ds_gerar_boletosCEP.AsString;
         Titulo.Sacado.SacadoAvalista.NomeAvalista   := ' ';//Dm_BD2.ds_gerar_boletosCLIENTE.AsString;
         Titulo.Sacado.SacadoAvalista.CNPJCPF        := ' ';//Dm_BD2.ds_gerar_boletosCNPJ_CPF.AsString;
         Titulo.Sacado.SacadoAvalista.Logradouro     := ' ';//Dm_BD2.ds_gerar_boletosENDERECO.AsString;
         Titulo.Sacado.SacadoAvalista.Numero         := ' ';//Dm_BD2.ds_gerar_boletosNUMERO.AsString;
         Titulo.Sacado.SacadoAvalista.Cidade         := ' ';//Dm_BD2.ds_gerar_boletosCIDADE.AsString;
         Titulo.Sacado.SacadoAvalista.UF             := ' ';//Dm_BD2.ds_gerar_boletosUF.AsString;
         Titulo.Sacado.SacadoAvalista.CEP            := ' ';//Dm_BD2.ds_gerar_boletosCEP.AsString;


      Dm_BD2.ds_gerar_boletos.Next;
      end; // fecha a leitura de todos titulos do mesmo vencimento
      ShowMessage('GERAÇÃO DE REMESSA CONCLUÍDO COM SUCESSO !!!');
      ACBrBoleto1.GerarRemessa(1);
end;
 

por favor me mostre onde estou errando, o cliente esta louco de pressa e nao estou conseguindo enxergar o erro

 

obrigado

Analise arquivo remessa (4).pdf

  • Administradores
Postado

Boa tarde

Você deve nos dize quais os valores reais passa ao componente, somente de 1 titulo já é suficiente.

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

  • Administradores
Postado

Boa tarde

Você nos passou de onde vem a informação passada ao componente e não o conteúdo em si.

Em 19/06/2018 at 18:42, ultraseven disse:

ACBrBoleto1.Cedente.Convenio         := FormatFloat('0000000',Dm_BD2.ds_configBoletoCONT_REMESSA.AsFloat);

Aqui você deveria nos passar algo como:  ACBrBoleto1.Cedente.Convenio         := '9999999'

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

  • Solution
Postado

bom dia Juliana

entao neste campo Convenio ele nao tem, entao no campo Agencia e Digito Agencia é formado a identificacao do cliente junto ao banco.

mas mesmo assim eu ja consegui resolver o problema, na verdade eu estava passando no campo agencia e digito na geracao do arquivo de remessa e nao pode é somente agencia e no campo digito deve se colocar o numero do posto.

agora uma pergunta porque para o sicredi nao é tratado por voces a questao do desconto 2, onde temos que alterar manual de ZERO pra 1, pois se nao faz isso gera erro na validacao do banco

 

obrigado

  • Administradores
Postado

Bom dia.

1 hora atrás, ultraseven disse:

mas mesmo assim eu ja consegui resolver o problema, na verdade eu estava passando no campo agencia e digito na geracao do arquivo de remessa e nao pode é somente agencia e no campo digito deve se colocar o numero do posto.

Que bom que já resolveu.

1 hora atrás, ultraseven disse:

agora uma pergunta porque para o sicredi nao é tratado por voces a questao do desconto 2, onde temos que alterar manual de ZERO pra 1, pois se nao faz isso gera erro na validacao do banco

 

O ideal é criar outro tópico para falar sobre este assunto específico. afim de não estender mais o atual.

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

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