Ir para conteúdo
  • Cadastre-se

dev botao

remessa com protesto e sem protesto


  • Este tópico foi criado há 2824 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 para o comentário
Compartilhar em outros 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

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

Link para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

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