Jump to content

remessa com protesto e sem protesto


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

Recommended Posts

Estou com uma duvida, como eu crio remessa sem e com protesto?
Atualmente eu crio com protesto ou nao de acordo com o banco de dados, se for com protesto entao preencho os dias pra protestar, coloco as variáveis e tudo certinho.
Se nao for protestar entao simplesmente nao coloco o dia e etc.
Uso o código abaixo para preencher o boleto :
 

anexe o código

ai para criar a remessa eu faço:
 

anexe o código

 ai liguei pro banco e nao acharam meu boleto la. mesmo informando os dias de protesto e etc.
a remessa foi registrada tudo ok. so que o pessoal la nao localizou.
eu to fazendo algo errado?

eu nao passando os dados do protesto vou conseguir registrar o boleto no banco?

Link to comment
Share on other sites

  • Administradores

Boa tarde.

Você deve fornecer mais detalhes sobre seu caso, remessa para qual banco? O boleto foi registrado porém sem instrução de protesto?

Att.

Consultora SAC ACBr

Juliana Tamizou
Ajude o Projeto ACBr crescer - Assine o SAC

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 to comment
Share on other sites

oi Juliana, tudo bom?
o banco é o banco do brasi.
no meu caso eu quero que alguns boletos sejam registrados com protesto e outros serem registrados sem protesto.
nao sei o que eu devo mudar em cada um.
eu enviei uma remessa pro banco e eles nao acharam o boleto ate o dia que foi pago. mas isso foi mes passado. esse mês ja ta valendo que todo boleto tem que ser registrado senão o próprio banco vai rejeitar.
nao sei pq meus códigos nao foram anexados. vou colocar de novo:

1) rotina que eu uso para criar os boletos.
 

Titulo               := ACBr.CriarTituloNaLista;
titulo.DataDocumento := now;
titulo.Mensagem.Text := '';

//titulo (conta)
if Datanula(CDC_contas.fieldbyname('vencimento_boleto').asdatetime)
 then titulo.Vencimento  := CDC_contas.fieldbyname('vencimento').AsDateTime
 else titulo.Vencimento  := CDC_contas.fieldbyname('vencimento_boleto').AsDateTime;

titulo.Carteira          := CDC_contas.fieldbyname('carteira').Asstring;
titulo.DataProcessamento := Date;
titulo.DataDocumento     := CDC_contas.fieldbyname('data').AsDateTime;
titulo.ValorDocumento    := CDC_contas.fieldbyname('valor').AsCurrency;
titulo.NossoNumero       := CDC_contas.fieldbyname('codigo').AsString; //numero do pedido.
titulo.EspecieDoc        := 'DM';
titulo.NossoNumero       := nossonumero;
//colocando o juros diario se tiver
if CDC_contas.fieldbyname('juros_da_conta').AsCurrency = 0 then
 begin
  titulo.ValorMoraJuros  := 0;
  titulo.ValorAbatimento := 0;
 end else begin
  titulo.ValorMoraJuros  := CDC_contas.fieldbyname('juros_da_conta').AsCurrency;
  titulo.ValorAbatimento := 0;
  titulo.DataMoraJuros   := CDC_contas.fieldbyname('vencimento').AsDateTime;
  titulo.Mensagem.Add('Cobrar juros de '+FormatCurr('R$ #,##0.00',(titulo.ValorMoraJuros * titulo.ValorDocumento)/100)+' por dia de atraso.');
 end;
//multa
//se o boleto ja venceu e ja passou a multa nao cobrar ela novamente no corpo do boleto
if CDC_contas.fieldbyname('multa').ascurrency = 0 then
 begin
  if CDC_contas.FieldByName('multa_atrazo').AsCurrency <> 0 then
   begin
    titulo.PercentualMulta := CDC_contas.fieldbyname('multa_atrazo').AsCurrency;
    titulo.Mensagem.Add('Cobrar Multa de ' + FormatCurr('R$ #,##0.00',titulo.ValorDocumento*( 1+ titulo.PercentualMulta/100)-titulo.ValorDocumento)+' após o vencimento.');
   end else titulo.PercentualMulta := 0;
 end else  titulo.PercentualMulta := 0;
titulo.ValorDesconto       := CDC_contas.fieldbyname('desconto').AsCurrency; //tirar de percentual pra valor
titulo.ValorOutrasDespesas := 0;

//descrição da conta no boleto
titulo.Mensagem.add(CDC_contas.fieldbyname('referencia').AsString + peganota(cdc_contas.FieldByName('numero').AsInteger,conexao, erro));
titulo.Mensagem.Add(CDC_contas.fieldbyname('instrucoes_boleto').AsString);

//sacado
titulo.Sacado.NomeSacado := CDC_contas.fieldbyname('Sacado').AsString;
titulo.Sacado.CNPJCPF    := CDC_contas.fieldbyname('Sacadocnpj').AsString;
titulo.Sacado.Logradouro := CDC_contas.fieldbyname('Sacadoendereco').AsString;
titulo.Sacado.Numero     := CDC_contas.fieldbyname('Sacadonumero').AsString;
titulo.Sacado.Bairro     := CDC_contas.fieldbyname('Sacadobairro').AsString;
titulo.Sacado.Cidade     := CDC_contas.fieldbyname('Sacadocidade').AsString;
titulo.Sacado.UF         := CDC_contas.fieldbyname('Sacadouf').AsString;
titulo.Sacado.Email      := CDC_contas.FieldByName('sacadoemail').AsString;
titulo.Sacado.CEP        := CDC_contas.fieldbyname('Sacadocep').AsString;

//colocando o dia de protesto se tiver
if (CDC_contas.fieldbyname('protestar').asstring = 'S') and (CDC_contas.fieldbyname('dias_protesto').asinteger <> 0) then
 begin
  titulo.TipoDiasProtesto    := diCorridos;
  titulo.DataProtesto        := titulo.Vencimento + CDC_contas.fieldbyname('dias_protesto').asinteger;
  if Titulo.Sacado.CEP = '' then
   begin
    aviso('O Boleto não pode ser gerado com protesto pois o cliente não possui um CEP cadastrado.'+#13+
          'Por favor verifique o CEP do cliente '+CDC_contas.FieldByName('sacado').AsString+'.',
          '',maviso);
    abort;
   end;
 end;

if tempresa.GetParametros('JUROS_POR_VENCIMENTO_ATUAL', conexao) = 'S'
 then data_juros := CDC_contas.fieldbyname('vencimento').asdatetime
 else data_juros := CDC_contas.fieldbyname('vencimento_original').asdatetime;

if (data_juros < now) and ComJuros then
 begin
  atrz   := DaysBetween(now,data_juros);
  juros  := (atrz * (CDC_contas.fieldbyname('JUROS_AO_MES').ascurrency * CDC_contas.fieldbyname('valor_original').ascurrency))/100;
  multa  := ((CDC_contas.fieldbyname('valor_original').ascurrency      * CDC_contas.fieldbyname('multa_atrazo').ascurrency)/100);
  if CDC_contas.findfield('dias_atrazo') <> nil
   then CDC_contas.fieldbyname('dias_atrazo').asinteger := DaysBetween(now,data_juros);
  titulo.ValorDocumento  := (CDC_contas.fieldbyname('valor_original').ascurrency +
                             multa                                               +
                             juros                                               +
                             CDC_contas.fieldbyname('cartorio').ascurrency       +
                             CDC_contas.fieldbyname('desconto').ascurrency       +
                             CDC_contas.fieldbyname('abatimento').ascurrency     +
                             CDC_contas.fieldbyname('DESPESAS').ascurrency)      -
                             CDC_contas.fieldbyname('PAGO_PELO_CLIENTE').ascurrency;
 end;

//cedente
acbr.Cedente.Nome          := CDC_contas.fieldbyname('nomecedente').AsString;
acbr.Cedente.CodigoCedente := cDC_contas.fieldbyname('digitoDoCedente').AsString;
//CDC_contas.fieldbyname('codigoDoCedente').AsString;
acbr.Cedente.CNPJCPF       := CDC_contas.fieldbyname('cedenteCNPJ').AsString;
acbr.Cedente.Logradouro    := CDC_contas.fieldbyname('cedenteendereco').AsString;
acbr.Cedente.NumeroRes     := CDC_contas.fieldbyname('cedentenumero').AsString;
acbr.Cedente.Complemento   := CDC_contas.fieldbyname('cedentecomplemento').AsString;
acbr.Cedente.Bairro        := CDC_contas.fieldbyname('cedentebairro').AsString;
acbr.Cedente.Cidade        := CDC_contas.fieldbyname('cedentecidade').AsString;
acbr.Cedente.UF            := CDC_contas.fieldbyname('cedenteuf').AsString;
acbr.Cedente.CEP           := CDC_contas.fieldbyname('cedentecep').AsString;

//tipo de cobranca
if cdc_contas.FieldByName('tipo_banco').AsString = 'BANCODOBRASIL'   then acbr.Banco.TipoCobranca := cobBancoDoBrasil;
if cdc_contas.FieldByName('tipo_banco').AsString = 'SANTANDER'       then acbr.Banco.TipoCobranca := cobSantander;
if cdc_contas.FieldByName('tipo_banco').AsString = 'CAIXAECONOMICA'  then acbr.Banco.TipoCobranca := cobCaixaEconomica;
if cdc_contas.FieldByName('tipo_banco').AsString = 'CAIXASICOB'      then acbr.Banco.TipoCobranca := cobCaixaSicob;
if cdc_contas.FieldByName('tipo_banco').AsString = 'BRADESCO'        then acbr.Banco.TipoCobranca := cobBradesco;
if cdc_contas.FieldByName('tipo_banco').AsString = 'ITAU'            then acbr.Banco.TipoCobranca := cobItau;
if cdc_contas.FieldByName('tipo_banco').AsString = 'BANCOMERCANTIL'  then acbr.Banco.TipoCobranca := cobBancoMercantil;
if cdc_contas.FieldByName('tipo_banco').AsString = 'SICRED'          then acbr.Banco.TipoCobranca := cobSicred;
if cdc_contas.FieldByName('tipo_banco').AsString = 'BANCOOB'         then acbr.Banco.TipoCobranca := cobBancoob;
if cdc_contas.FieldByName('tipo_banco').AsString = 'BANRISUL'        then acbr.Banco.TipoCobranca := cobBanrisul;
if cdc_contas.FieldByName('tipo_banco').AsString = 'BANESTES'        then acbr.Banco.TipoCobranca := cobBanestes;
if cdc_contas.FieldByName('tipo_banco').AsString = 'HSBC'            then acbr.Banco.TipoCobranca := cobHSBC;
if cdc_contas.FieldByName('tipo_banco').AsString = 'BANCODONORDESTE' then acbr.Banco.TipoCobranca := cobBancoDoNordeste;
if cdc_contas.FieldByName('tipo_banco').AsString = 'BRB'             then acbr.Banco.TipoCobranca := cobBRB;
if cdc_contas.FieldByName('tipo_banco').AsString = 'BICBANCO'        then acbr.Banco.TipoCobranca := cobBicBanco;
if cdc_contas.FieldByName('tipo_banco').AsString = 'BRADESCOSICOOB'  then acbr.Banco.TipoCobranca := cobBradescoSICOOB;
if cdc_contas.FieldByName('tipo_banco').AsString = 'BANCOSAFRA'      then acbr.Banco.TipoCobranca := cobBancoSafra;
if cdc_contas.FieldByName('tipo_banco').AsString = 'SAFRABRADESCO'   then acbr.Banco.TipoCobranca := cobSafraBradesco;
if cdc_contas.FieldByName('tipo_banco').AsString = 'BANCOCECRED'     then acbr.Banco.TipoCobranca := cobBancoCECRED;

2) comando pra para incluir na remessa:

ACBr.DirArqRemessa  := caminho_do_arquivo;
ACBr.NomeArqRemessa := 'REMESSA_'+campocdc('conta_bancaria','apelido','codigo = '+inttostr(banco),conexao,ultimo_erro)+'_'+inttostr(numeroremessa)+'.txt';

if acbr.Banco.TipoCobranca = cobBancoDoBrasil then acbr.LayoutRemessa := c240;
if acbr.Banco.TipoCobranca = cobSantander     then acbr.LayoutRemessa := c240;
acbr.GerarRemessa(numeroremessa);

ai gostaria de saber o que eu tenho que fazer para enviar boletos com protesto e sem protesto pro banco, ja que agora vai ser obrigado o registro de todos os boletos para que o banco nao de rejeição neles.

Link to comment
Share on other sites

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.