Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Pessoal eu estou tentando configura o ACBrBoleto para trabalhar com boletos da caixa econômica e estou tendo uma difculdade e gostaria de uma ajuda

 a carteira do meu cliente é simples não registrada e a responsabilidade da emissão é do cliente então estou tentando configurar e está dando erro Carteira inválida use RG ou SR e queria uma explicação sobre como funciona.

Sei que pelo caixa tem dos tipo que é cobCaixaEconomica e cobCaixaSicob mais acredito de como é carteira sem registro posso utilizar cobCaixaEconomica então configurei dessa forma e passei todos os dados  mais ta dando esse erro ai vou postar o código para vcs da uma olhada

var
  Titulo    : TACBrTitulo;
  I         : Integer;
  NrTitulos : Integer;
  NrTitulosStr :String;
  Convertido: Boolean;
  sLocalPgto:string;

begin

    
   if DMRelatorio1.dtBoleto.RecordCount = 0 then
   begin
       ShowMessage('Não existe boletos a ser mostrados!!!');
       exit;
   end;
    DMRelatorio1.dtBoleto.Last;
    NrTitulos    := DMRelatorio1.dtBoleto.RecordCount;
    NrTitulosStr := IntToStr(NrTitulos);
    Convertido   := true;

 

    if dm.dtConfigBoletoLOYOUT_BOLETO.AsString='Padrao' then
       ACBrBoleto1.ACBrBoletoFC.LayOut := lPadrao
    else if dm.dtConfigBoletoLOYOUT_BOLETO.AsString='Carne' then
       ACBrBoleto1.ACBrBoletoFC.LayOut := lCarne
    else if dm.dtConfigBoletoLOYOUT_BOLETO.AsString='Fatura' then
       ACBrBoleto1.ACBrBoletoFC.LayOut := lFatura
    else if dm.dtConfigBoletoLOYOUT_BOLETO.AsString='PadraoEntrega' then
       ACBrBoleto1.ACBrBoletoFC.LayOut := lPadraoEntrega;

 


    if dm.dtConfigBoletoBANCO.AsString='Banco do Brasil' then
       ACBrBoleto1.Banco.TipoCobranca:= cobBancoDoBrasil
    else if dm.dtConfigBoletoBANCO.AsString='Bradesco' then
       ACBrBoleto1.Banco.TipoCobranca:= cobBradesco
    else if dm.dtConfigBoletoBANCO.AsString='Caixa' then
       ACBrBoleto1.Banco.TipoCobranca:= cobCaixaEconomica
    else if dm.dtConfigBoletoBANCO.AsString='Banco do Nodeste' then
       ACBrBoleto1.Banco.TipoCobranca:= cobBancoDoNordeste
    else if dm.dtConfigBoletoBANCO.AsString='Banco HSBC' then
       ACBrBoleto1.Banco.TipoCobranca:= cobHSBC
    else if dm.dtConfigBoletoBANCO.AsString='Banco Itaú' then
       ACBrBoleto1.Banco.TipoCobranca:= cobItau
    else if dm.dtConfigBoletoBANCO.AsString='Banco Santander' then
       ACBrBoleto1.Banco.TipoCobranca:= cobSantander;

    sLocalPgto := dm.dtConfigBoletoBANCO.AsString;

    ACBrBoleto1.Cedente.Nome:= dm.dtConfigBoletoNOME_EMPRESA.AsString;
    ACBrBoleto1.Cedente.Agencia:= dm.dtConfigBoletoEMPRESA_AGENCIA.AsString;
    ACBrBoleto1.Cedente.AgenciaDigito:= dm.dtConfigBoletoEMPRESA_AGENCIA_DIGITO.AsString;
    ACBrBoleto1.Cedente.Bairro:= dm.dtConfigBoletoAGENCIA_BAIRRO.AsString;

    if dm.dtConfigBoletoEMPRESA_CARAC_TITULO.AsString='Caucionada' then
      ACBrBoleto1.Cedente.CaracTitulo:= tcCaucionada
    else if dm.dtConfigBoletoEMPRESA_CARAC_TITULO.AsString='Descontada' then
      ACBrBoleto1.Cedente.CaracTitulo:= tcDescontada
    else if dm.dtConfigBoletoEMPRESA_CARAC_TITULO.AsString='Simples' then
      ACBrBoleto1.Cedente.CaracTitulo:= tcSimples
    else if dm.dtConfigBoletoEMPRESA_CARAC_TITULO.AsString='Vendor' then
      ACBrBoleto1.Cedente.CaracTitulo:= tcVendor

    else if dm.dtConfigBoletoEMPRESA_CARAC_TITULO.AsString='Vinculada' then
      ACBrBoleto1.Cedente.CaracTitulo:= tcVinculada;


    if dm.dtConfigBoletoEMPRESA_RESPONS_EMISSAO.AsString='Banco Emite' then
      ACBrBoleto1.Cedente.ResponEmissao:= tbBancoEmite
    else if dm.dtConfigBoletoEMPRESA_RESPONS_EMISSAO.AsString='Banco não Reemite' then
      ACBrBoleto1.Cedente.ResponEmissao:= tbBancoNaoReemite
    else if dm.dtConfigBoletoEMPRESA_RESPONS_EMISSAO.AsString='Banco Reemite' then
      ACBrBoleto1.Cedente.ResponEmissao:= tbBancoReemite
    else if dm.dtConfigBoletoEMPRESA_RESPONS_EMISSAO.AsString='Cliente' then
      ACBrBoleto1.Cedente.ResponEmissao:= tbCliEmite;

    ACBrBoleto1.Cedente.CEP:=dm.dtConfigBoletoEMPRESA_CEP.AsString;
    ACBrBoleto1.Cedente.Cidade:=dm.dtConfigBoletoEMPRESA_CIDADE.AsString;
    ACBrBoleto1.Cedente.CNPJCPF:=dm.dtConfigBoletoEMPRESA_CNPJ.AsString;
    ACBrBoleto1.Cedente.CodigoCedente:=dm.dtConfigBoletoEMPRESA_CODIGO_SEDENTE.AsString;
    ACBrBoleto1.Cedente.CodigoTransmissao:=dm.dtConfigBoletoEMPRESA_CODIGO_TRANSMISSAO.AsString;
    ACBrBoleto1.Cedente.Complemento:=dm.dtConfigBoletoEMPRESA_COMPLEMENTO.AsString;
    ACBrBoleto1.Cedente.Conta:=dm.dtConfigBoletoEMPRESA_CONTA.AsString;
    ACBrBoleto1.Cedente.ContaDigito:=dm.dtConfigBoletoEMPRESA_CONTA_DIGITO.AsString;
    ACBrBoleto1.Cedente.Convenio:=dm.dtConfigBoletoEMPRESA_CONVENIO.AsString;
    ACBrBoleto1.Cedente.Logradouro:=dm.dtConfigBoletoEMPRESA_LOGRADORO.AsString;


    ACBrBoleto1.Cedente.Modalidade:='';
    //tipo carteira
    if dm.dtConfigBoletoEMPRESA_RESPONS_EMISSAO.AsString='Banco Emite' then
      ACBrBoleto1.Cedente.ResponEmissao:=tbBancoEmite
    else if dm.dtConfigBoletoEMPRESA_RESPONS_EMISSAO.AsString='Banco não Reemite' then
      ACBrBoleto1.Cedente.ResponEmissao:=tbBancoNaoReemite
    else if dm.dtConfigBoletoEMPRESA_RESPONS_EMISSAO.AsString='Banco Reemite' then
      ACBrBoleto1.Cedente.ResponEmissao:= tbBancoReemite
    else if dm.dtConfigBoletoEMPRESA_RESPONS_EMISSAO.AsString='Cliente' then
      ACBrBoleto1.Cedente.ResponEmissao:= tbCliEmite ;

    //Tipo inscricao
    if dm.dtConfigBoletoEMPRESA_TIPO_INSCRICAO.AsString='Jurídica' then
      ACBrBoleto1.Cedente.TipoInscricao:= pJuridica
    else if dm.dtConfigBoletoEMPRESA_TIPO_INSCRICAO.AsString='Física' then
      ACBrBoleto1.Cedente.TipoInscricao:= pFisica  ;

     ACBrBoleto1.Cedente.UF:= dm.dtConfigBoletoEMPRESA_UF.AsString ;

   DMRelatorio1.dtBoleto.First;
   for I := 1 to NrTitulos do
   begin

           Titulo:= ACBrBoleto1.CriarTituloNaLista;

           with Titulo do
           begin
              LocalPagamento    := 'Pagar preferêncialmente nas agências do ' + sLocalPgto; //MEnsagem exigida pelo bradesco
              if DMRelatorio1.dtBoletoNEGOCIADA.AsString = 'S' then
                Vencimento        := DMRelatorio1.dtBoletoNOVA_DT_VENCIMENTO.AsDateTime
              else
                Vencimento        := DMRelatorio1.dtBoletoDT_VENCIMENTO.AsDateTime;

              DataDocumento     := date;
              NumeroDocumento   := IntToStr(DMRelatorio1.dtBoletoCODIGO.AsInteger);
              EspecieDoc        := dm.dtConfigBoletoESPECIE_DOCTO.AsString;

              if dm.dtConfigBoletoACEITE.AsString='Sim' then
                 Aceite            := atSim
              else
                 Aceite            := atNao;

              DataProcessamento := Now;
              Carteira          := dm.dtConfigBoletoCARTEIRA.AsString;

              // Nosso numero é composto pelo numero do convênio e o resto pode ser qualquer numero
             //  para preencher de zero é só colocar no display formate do cliente dataset

              NossoNumero       := IntToStr(DMRelatorio1.dtBoletoCODIGO.AsInteger) ;
              ValorDocumento    := DMRelatorio1.dtBoletoVALOR_DEBITO.AsFloat;
              ValorRecebido     := DMRelatorio1.dtBoletoVALOR_DEBITO.AsFloat;

              TotalParcelas     :=  DMRelatorio1.dtBoletoQUANTPARCELA.AsInteger;
              Parcela           :=  DMRelatorio1.dtBoletoN_PARCELA.AsInteger;

              Sacado.NomeSacado := DMRelatorio1.dtBoletoNOME_CLIENTE.AsString;
              Sacado.CNPJCPF    := DMRelatorio1.dtBoletoCPF_CLIENTE.AsString;
              Sacado.Logradouro := DMRelatorio1.dtBoletoNOME_ENDERECO_CLIENTE.AsString;
              Sacado.Numero     := DMRelatorio1.dtBoletoN_RESIDENCIA.AsString;
              Sacado.Bairro     := DMRelatorio1.dtBoletoNOME_BAIRRO_CLIENTE.AsString;
              Sacado.Cidade     := DMRelatorio1.dtBoletoNOME_CIDADE_CLIENTE.AsString;
              Sacado.UF         := DMRelatorio1.dtBoletoNOME_UFS_CLIENTE.AsString;
              Sacado.CEP        := DMRelatorio1.dtBoletoCEP_CLIENTE.AsString;
              ValorMoraJuros    := DMRelatorio1.dtBoletoJUROSDIA.AsFloat;
              ValorDesconto     := dm.dtConfigBoletoVALOR_DESCONTO.AsFloat;
              ValorAbatimento   := dm.dtConfigBoletoVALOR_ABATIMENTO.AsFloat;
              DataMoraJuros     := dm.dtConfigBoletoDATA_MULTA_MORA_JUROS.AsFloat;
              DataDesconto      := dm.dtConfigBoletoDATA_DESCONTO.AsFloat;
              DataAbatimento    := dm.dtConfigBoletoDATA_ABATIMENTO.AsFloat;
              DataProtesto      := dm.dtConfigBoletoDATA_PROTESTO.AsFloat;

              // o campo de mensagem da multa deve ser alterar no fonte para ficar assim
              //    if PercentualMulta <> 0 then
              //   AStringList.Add(ACBrStr('Cobrar Multa de ' +
              //                   FormatCurr('R$ #,##0.00', PercentualMulta) +
              //           ' após o vencimento.'));


              PercentualMulta   := dm.dtConfigBoletoMULTA_SIOSFTWARE.AsFloat;

              Mensagem.Text     := 'LOCALIZAÇÃO: '+DMRelatorio1.dtBoletoNOME_LOTEAMENTO.AsString+' - '+DMRelatorio1.dtBoletoNOME_QUADRA.AsString+' - '+DMRelatorio1.dtBoletoNOME_LOTE.AsString +#13
              + '' + #13 + 'Data de Vencimento base: ' + DateToStr(DMRelatorio1.dtBoletoDT_VENCIMENTO.AsDateTime) ;


              Instrucao1        := padL(trim(dm.dtConfigBoletoINSTRUCAO_1.AsString),2,'0');
              Instrucao2        := padL(trim(dm.dtConfigBoletoINSTRUCAO_2.AsString),2,'0');

              OcorrenciaOriginal.Tipo := toRemessaBaixar;
              ACBrBoleto1.AdicionarMensagensPadroes(Titulo,Mensagem);
           end;


      DMRelatorio1.dtBoleto.Next;
   end;

  • Administradores
Postado

Boa noite.

Se a mensagem de erro que você está tendo for a descrita no inicio do tópico basta preencher com os valores sugeridos na mensagem.

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

  • 2 semanas depois ...
Postado

eu coloquei a carteira 'SR' e passou agora estou com seguinte problema no boleto do acbr com fastReport 


sempre que executo com o delphi na hora de gerar os boletos aparece essa mensagem 'Could not convert variant of type (String) into type (Double)'. uso ACBrBoletoFCFR 
estou usando esse arquivo BoletoCarne.fr3 e descobrir que o erro está nessa linha 

 

Código:

if PrepareBoletos(DmBoleto) then 
begin 
Result := DmBoleto.frxReport.PrepareReport; 
end; 



exatamente nessa 

Código:

 Result := DmBoleto.frxReport.PrepareReport; 
 



alguém ja passou por isso?

Postado

pessoal eu peguei um boleto formatado de uma amigo e não deu erro na debugação na minha máquina ai fui levar ao cliente e deu erro de violação de memória e descobrir que foi nessas classes aqui do acbr ACBrNFeDANFEClass ou ACBrBoletoFCFR, porque fui removendo para teste e passou, agora aonde mora o problema porque e como resolver

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

The popup will be closed in 10 segundos...