Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

 Estamos com o ACBrBoleto atualizado, mandamos um arquivo de remessa para o Bradesco e eles nos responderam que :

 

 

Srs.

Abaixo análise do arquivo rem_21012015_165132.rem

 

Header

posição 027 a 046 = gravar "Número do Convênio" completando o campo com zeros a esquerda

 

DETALHE TIPO1

posição 066 a 066 = gravar 2 caso a empresa deseje registrar a cobrança de multa, do contrário gravar Zero

posição 067 a 070 = gravar o percentual de multa, do contrário gravar Zeros. Ex.: 2% grava-se 0200

 

posição 219 a 220 = gravar 01 quando a inscrição do sacado for CPF, gravar 02 quando a inscrição do sacado for CNPJ

 

Trailler

Ok

 

Porém os campos estão preenchidos corretamente EX :  

ACBrBoleto.Cedente.Conta         := qryBancoNUMERO_CONTA.AsString;

 ACBrBoleto.Cedente.ContaDigito   := qryBancoCONTA_DIGITO.AsString;
 ACBrBoleto.Cedente.Convenio      := qryBancoCONVENIO.AsString;
 
Reparei que o número que está saindo na posição 027 a 046 é o Código do Cedente. Alguém poderia dar uma olhada nisso pra agente por favor ???
 
 VLW.
Postado

Bom dia,

 

Entre em contato com Bradesco, no suporte 3003 - 1000 para capital,  ai você  pega o código da empresa, esse código da empresa no componente você informa no acbrboleto.cedente.codigocedente  ai vai da certo.

Sobre o CPF você faz essa verificação na geração do boleto, ai vai dar certo.

 

if FBDDadosSacadoTIPO.AsString = 'J' then
    Sacado.Pessoa := pJuridica
 else if FBDDadosSacadoTIPO.AsString = 'F' then
    Sacado.Pessoa := pFisica
 else

    Sacado.Pessoa := pOutras;

 

Qualquer duvida estamos ai pois eu uso bradesco aqui  com registro está homologado ... e funcionando 100%

 

Att. 

Francisco Junior

Programador - Delphi

SCV - SIstemas

http://www.scvsistemas.com.br

Postado (editado)

Bom dia,

 

Entre em contato com Bradesco, no suporte 3003 - 1000 para capital,  ai você  pega o código da empresa, esse código da empresa no componente você informa no acbrboleto.cedente.codigocedente  ai vai da certo.

Sobre o CPF você faz essa verificação na geração do boleto, ai vai dar certo.

 

if FBDDadosSacadoTIPO.AsString = 'J' then
    Sacado.Pessoa := pJuridica
 else if FBDDadosSacadoTIPO.AsString = 'F' then
    Sacado.Pessoa := pFisica
 else

    Sacado.Pessoa := pOutras;

 

Qualquer duvida estamos ai pois eu uso bradesco aqui  com registro está homologado ... e funcionando 100%

 

Att. 

esse eu estou passando

 ACBrBoleto.Cedente.CodigoCedente := qryBancoCOD_CEDENTE.AsString;
porém na posição citada ele está aparecendo no lugar do que era para aparecer 027 a 046 = gravar "Número do Convênio" está aparecendo o código do cedente.
 O código acima que eu não tinha colocado, agora coloquei, vou testar...mais o erro que citei 027 a 046 não sei se isso irá influenciar em algo.
Editado por xyberx
Postado

Boa Noite,

 

Posta a Rotina sua ...

 

Att..

 

 Segue

 

 

       If cbCobNativa.Checked Then
        Titulo:= ACBrBoleto.CriarTituloNaLista;
       With Titulo do
        Begin
         //----------------------------------
         qrySacado.Close;
         qrySacado.ParamByName('id').AsInteger := cdsDuplID_CLIENTE.AsInteger;
         qrySacado.Open;
         //----------------------------------
         If cbCobNativa.Checked Then
          Begin
           Vencimento        := cdsDuplVENCIMENTO.AsDateTime;
           DataDocumento     := cdsDuplEMISSAO.AsDateTime;
           NumeroDocumento   := cdsDuplDUPLICATA.AsString;
           //EspecieDoc        := 'DM';
           Aceite            := atNao;
           DataProcessamento := DataRemessa;
           If cdsDuplGENERATOR.AsInteger > 0 Then
            Generator       := cdsDuplGENERATOR.AsInteger
           Else
            Begin
             Generator     := GeneratorNossoNumero;
             AtualizaGeneratorDupl(cdsDuplID.AsInteger, Generator);
            End;
           //Codigo da Duplicata
           cdsDupl.Edit;
           cdsDuplGENERATOR.AsInteger := Generator;
           cdsDupl.Post;
           //Carteira do Cliente
           Carteira          := qryBancoCOD_CARTEIRA.AsString;
           //Nosso Numero deve ser gerado após a Carteira do Cliente
           NossoNumero      := IntToStr(Generator);//IntToStrZero(Generator, ACBrBoleto.Banco.TamanhoMaximoNossoNum);
           ValorDocumento    := cdsDuplVALOR.AsFloat;
           Sacado.NomeSacado := qrySacadoNOME.AsString;
           Sacado.CNPJCPF    := OnlyNumber(qrySacadoCPFCGC.AsString);
           Sacado.Logradouro := qrySacadoNOMERUA.AsString;
           Sacado.Numero     := qrySacadoNUMRUA.AsString;
           Sacado.Bairro     := qrySacadoBAIRRO.AsString;
           Sacado.Cidade     := qrySacadoNOME_MUNI_SEM_ACENTO.AsString;
           Sacado.UF         := qrySacadoID_UF.AsString;
           Sacado.CEP        := qrySacadoCEP.AsString;
           EspecieDoc        := qryBancoESPECIE_TITULO.AsString;
           EspecieMod        := qryBancoESPECIE.AsString;
           //Local de Pagamento
           LocalPagamento    := qryBancoLOCALPAGAMENTO.AsString;
           If qrySacadoPFPJ.AsString = 'J' Then
            Sacado.Pessoa := pJuridica
           Else If qrySacadoPFPJ.AsString = 'F' Then
            Sacado.Pessoa := pFisica
           Else
            Sacado.Pessoa := pOutras;
           If qryBancoNAO_COBRAR_MULTA.AsString = 'S' Then
            Begin
             //Valores Diversos
             ValorMoraJuros    := StrToCurrDef('0.00', 0);
             ValorDesconto     := StrToCurrDef('0.00', 0);
             ValorAbatimento   := StrToCurrDef('0.00', 0);
             PercentualMulta   := StrToCurrDef('0.00', 0);
             //Datas diversas
             DataMoraJuros     := StrToDateDef('0.00', 0);
             DataDesconto      := StrToDateDef('0.00', 0);
             DataAbatimento    := StrToDateDef('0.00', 0);
            End
           Else
            Begin
             If qryBancoJUROS_DIA.AsFloat > 0 Then
              Begin
               ValorMoraJuros    := StrToCurrDef('0.00', ValorPerc(ValorDocumento, qryBancoJUROS_DIA.AsFloat));
               DataMoraJuros     := Vencimento;
              End
             Else
              Begin
               ValorMoraJuros    := StrToCurrDef('0.00', 0);
               DataMoraJuros     := StrToDateDef('0.00', 0);
              End;
             If qryBancoPERC_DESC.AsFloat > 0 Then
              Begin
               ValorDesconto     := StrToCurrDef('0.00', ValorPerc(ValorDocumento, qryBancoPERC_DESC.AsFloat));
               DataDesconto      := Vencimento;
              End
             Else
              Begin
               ValorDesconto     := StrToCurrDef('0.00', 0);
               DataDesconto      := StrToDateDef('0.00', 0);
              End;
             If qryBancoPERC_ABATIMENTO.AsFloat > 0 Then
              Begin
               ValorAbatimento   := StrToCurrDef('0.00', ValorPerc(ValorDocumento, qryBancoPERC_ABATIMENTO.AsFloat));
               DataAbatimento    := Vencimento;
              End
             Else
              Begin
               ValorAbatimento   := StrToCurrDef('0.00', 0);
               DataAbatimento    := StrToDateDef('0.00', 0);
              End;
             If qryBancoVALOR_MULTA_ATRASO.AsFloat > 0 Then
              PercentualMulta   := qryBancoVALOR_MULTA_ATRASO.AsFloat
             else
              PercentualMulta   := StrToCurrDef('0.00', 0);
             //Datas diversas
            End;
           DataProtesto      := StrToDateDef('0.00', 0);
           //Menssagem pré cadastrada para o sistema
           Mensagem.Text     := qryBancoOBSERVACAO.AsString;
           OcorrenciaOriginal.Tipo := toRemessaRegistrar;
           Instrucao1        := '00';
           Instrucao2        := '00';
Postado

 

 Segue

 

 

       If cbCobNativa.Checked Then
        Titulo:= ACBrBoleto.CriarTituloNaLista;
       With Titulo do
        Begin
         //----------------------------------
         qrySacado.Close;
         qrySacado.ParamByName('id').AsInteger := cdsDuplID_CLIENTE.AsInteger;
         qrySacado.Open;
         //----------------------------------
         If cbCobNativa.Checked Then
          Begin
           Vencimento        := cdsDuplVENCIMENTO.AsDateTime;
           DataDocumento     := cdsDuplEMISSAO.AsDateTime;
           NumeroDocumento   := cdsDuplDUPLICATA.AsString;
           //EspecieDoc        := 'DM';
           Aceite            := atNao;
           DataProcessamento := DataRemessa;
           If cdsDuplGENERATOR.AsInteger > 0 Then
            Generator       := cdsDuplGENERATOR.AsInteger
           Else
            Begin
             Generator     := GeneratorNossoNumero;
             AtualizaGeneratorDupl(cdsDuplID.AsInteger, Generator);
            End;
           //Codigo da Duplicata
           cdsDupl.Edit;
           cdsDuplGENERATOR.AsInteger := Generator;
           cdsDupl.Post;
           //Carteira do Cliente
           Carteira          := qryBancoCOD_CARTEIRA.AsString;
           //Nosso Numero deve ser gerado após a Carteira do Cliente
           NossoNumero      := IntToStr(Generator);//IntToStrZero(Generator, ACBrBoleto.Banco.TamanhoMaximoNossoNum);
           ValorDocumento    := cdsDuplVALOR.AsFloat;
           Sacado.NomeSacado := qrySacadoNOME.AsString;
           Sacado.CNPJCPF    := OnlyNumber(qrySacadoCPFCGC.AsString);
           Sacado.Logradouro := qrySacadoNOMERUA.AsString;
           Sacado.Numero     := qrySacadoNUMRUA.AsString;
           Sacado.Bairro     := qrySacadoBAIRRO.AsString;
           Sacado.Cidade     := qrySacadoNOME_MUNI_SEM_ACENTO.AsString;
           Sacado.UF         := qrySacadoID_UF.AsString;
           Sacado.CEP        := qrySacadoCEP.AsString;
           EspecieDoc        := qryBancoESPECIE_TITULO.AsString;
           EspecieMod        := qryBancoESPECIE.AsString;
           //Local de Pagamento
           LocalPagamento    := qryBancoLOCALPAGAMENTO.AsString;
           If qrySacadoPFPJ.AsString = 'J' Then
            Sacado.Pessoa := pJuridica
           Else If qrySacadoPFPJ.AsString = 'F' Then
            Sacado.Pessoa := pFisica
           Else
            Sacado.Pessoa := pOutras;
           If qryBancoNAO_COBRAR_MULTA.AsString = 'S' Then
            Begin
             //Valores Diversos
             ValorMoraJuros    := StrToCurrDef('0.00', 0);
             ValorDesconto     := StrToCurrDef('0.00', 0);
             ValorAbatimento   := StrToCurrDef('0.00', 0);
             PercentualMulta   := StrToCurrDef('0.00', 0);
             //Datas diversas
             DataMoraJuros     := StrToDateDef('0.00', 0);
             DataDesconto      := StrToDateDef('0.00', 0);
             DataAbatimento    := StrToDateDef('0.00', 0);
            End
           Else
            Begin
             If qryBancoJUROS_DIA.AsFloat > 0 Then
              Begin
               ValorMoraJuros    := StrToCurrDef('0.00', ValorPerc(ValorDocumento, qryBancoJUROS_DIA.AsFloat));
               DataMoraJuros     := Vencimento;
              End
             Else
              Begin
               ValorMoraJuros    := StrToCurrDef('0.00', 0);
               DataMoraJuros     := StrToDateDef('0.00', 0);
              End;
             If qryBancoPERC_DESC.AsFloat > 0 Then
              Begin
               ValorDesconto     := StrToCurrDef('0.00', ValorPerc(ValorDocumento, qryBancoPERC_DESC.AsFloat));
               DataDesconto      := Vencimento;
              End
             Else
              Begin
               ValorDesconto     := StrToCurrDef('0.00', 0);
               DataDesconto      := StrToDateDef('0.00', 0);
              End;
             If qryBancoPERC_ABATIMENTO.AsFloat > 0 Then
              Begin
               ValorAbatimento   := StrToCurrDef('0.00', ValorPerc(ValorDocumento, qryBancoPERC_ABATIMENTO.AsFloat));
               DataAbatimento    := Vencimento;
              End
             Else
              Begin
               ValorAbatimento   := StrToCurrDef('0.00', 0);
               DataAbatimento    := StrToDateDef('0.00', 0);
              End;
             If qryBancoVALOR_MULTA_ATRASO.AsFloat > 0 Then
              PercentualMulta   := qryBancoVALOR_MULTA_ATRASO.AsFloat
             else
              PercentualMulta   := StrToCurrDef('0.00', 0);
             //Datas diversas
            End;
           DataProtesto      := StrToDateDef('0.00', 0);
           //Menssagem pré cadastrada para o sistema
           Mensagem.Text     := qryBancoOBSERVACAO.AsString;
           OcorrenciaOriginal.Tipo := toRemessaRegistrar;
           Instrucao1        := '00';
           Instrucao2        := '00';

 

Boa Tarde,

 

Cade a rotina de configurar o componente como dados do banco e cedente.

 

Att.

Francisco Junior

Programador - Delphi

SCV - SIstemas

http://www.scvsistemas.com.br

Postado

Boa Tarde,

 

Cade a rotina de configurar o componente como dados do banco e cedente.

 

Att.

 //Carrega dados para o componente ACBRBoleto
 ACBrBoleto.Banco.TipoCobranca    := TipoCobranca(qryBancoTIPO_COBRANCA.AsString);
 ACBrBoleto.Banco.OrientacoesBanco.Text := qryBancoORIENTACOES_BANCO.AsString;
// ACBrBoleto.Banco.TamanhoMaximoNossoNum := ACBrBoleto.Banco.BancoClass.TamanhoMaximoNossoNum;
 ACBrBoleto.Cedente.Nome:= qryCedenteNOME.AsString;
 ACBrBoleto.Cedente.CodigoCedente := qryBancoCOD_CEDENTE.AsString;
 //ACBrBoleto.Cedente.CodigoTransmissao:=
 ACBrBoleto.Cedente.Agencia       := qryBancoCOD_AGENCIA.AsString;
 ACBrBoleto.Cedente.AgenciaDigito := qryBancoAG_DIGITO.AsString;
 ACBrBoleto.Cedente.Conta         := qryBancoNUMERO_CONTA.AsString;
 ACBrBoleto.Cedente.ContaDigito   := qryBancoCONTA_DIGITO.AsString;
 //ACBrBoleto.Cedente.Modalidade   :=
 ACBrBoleto.Cedente.Convenio      := qryBancoCONVENIO.AsString;
 ACBrBoleto.Cedente.ResponEmissao := ResponEmissao(qryBancoRESPON_EMISSAO.AsString);
 ACBrBoleto.Cedente.CaracTitulo   := CaracteristicaTitulo(qryBancoCARACT_TITULO.AsString);
 ACBrBoleto.Cedente.CNPJCPF       := DM.MascaraCNPJCPF(DM.DesmascaraCNPJCPF(qryCedenteCPFCGC.AsString), True);
 ACBrBoleto.Cedente.TipoInscricao := pJuridica;
 ACBrBoleto.Cedente.Logradouro    := qryCedenteNOMERUA.AsString;
 ACBrBoleto.Cedente.NumeroRes     := qryCedenteNUMRUA.AsString;
 ACBrBoleto.Cedente.Complemento   := qryCedenteCOMPLEMENTO.AsString;
 ACBrBoleto.Cedente.Bairro        := qryCedenteBAIRRO.AsString;
 ACBrBoleto.Cedente.Cidade        := qryCedenteCIDADE.AsString;
 ACBrBoleto.Cedente.UF            := qryCedenteID_UF.AsString;
 ACBrBoleto.Cedente.CEP           := qryCedenteCEP.AsString;
 //XyberX, alterado para início de Sistema
//  ACBrBoleto.DirArqRemessa         := qryBancoDIRETORIO.AsString; //ExtractFilePath(dsave.FileName);
 ACBrBoleto.DirArqRemessa         := qryBancoPATH_REMESSA.AsString; //ExtractFilePath(dsave.FileName);
 ACBrBoleto.DirArqRetorno         := qryBancoPATH_RETORNO.AsString; //ExtractFilePath(dsave.FileName);
 ACBrBoleto.NomeArqRetorno        := Format('rem_%s.rem', [stringReplace(StringReplace(StringReplace(FormatDateTime('dd/mm/yyyy hh:mm:ss', DataRemessa), ':', '', [rfReplaceAll, rfIgnoreCase]),
                                                                                                                                         '/', '', [rfReplaceAll, rfIgnoreCase]),
                                                                                                                                         ' ', '_', [rfReplaceAll, rfIgnoreCase])]);
 ACBrBoleto.NomeArqRemessa        := ACBrBoleto.NomeArqRetorno;
 ACBrBoleto.DataArquivo           := DataRemessa;
 ACBrBoleto.LayoutRemessa         := LayOutRemessa(qryBancoLAYOUT_BOLETOS.AsString);
 ACBrBoletoFCFortes.DirLogo       := qryBancoPATH_LOGOTIPO.AsString;
Postado

Bom Dia,

Verifica se você não está passando o código do cedente no convenio por que esse código da empresa que bradesco passa deve ser informado no campo codigo cedente no componente.

 

Att

 São campos separados e estão ok, os boletos estão OK, só a geração de remessa que tá dando isso....

  • Administradores
Postado

Boa tarde.

 

 

A impressão do boleto não utiliza o Código do Cedente, sendo assim o fato de estar imprimindo corretamente não significa  que as informações para geração da remessa foram passadas corretamente.

 

Com relação a propriedade CodigoCedente, ela foi informada? Se sim, oque está saindo nas posições correspondentes do arquivo?

 

De acordo com o fonte está tudo sendo adicionado ao arquivo corretamente, realize um teste com o demo utilizando os mesmos dados do seu programa.

 

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

Postado (editado)

 São campos separados e estão ok, os boletos estão OK, só a geração de remessa que tá dando isso....

 

Não geração do arquivo de remessa você está carregando mesmo valores que foi feito na geração do boleto ?

 

Tenho vários cliente usando o Bradesco para emissão e controle de remessa com cobrança registrada está tudo ok...

 

Att

Editado por lucasjrnany

Francisco Junior

Programador - Delphi

SCV - SIstemas

http://www.scvsistemas.com.br

Postado

Boa Tarde,

 

Juliana o que ele passou, que no arquivo de remessa está com erro nesta posição como ele descreveu. 
 

Header

posição 027 a 046 = gravar "Número do Convênio" completando o campo com zeros a esquerda

 

Como eu trabalho aqui com bradesco e  está homologado está  valor deve ser informado no campo código do cedente pois ele é o código da empresa que bradesco fornece caso ele não tenha essa informação basta ele entrar em contato no telefone 3003  -1000 com os dados da contas que ele vão passar essa informação e também pegar o sequencia de remessa por que eles informa nesse telefone. Sobre impresso oficial do boleto que está na pasta do demo  na homologação deu inconformidade  segue a reposta do bradesco.

 

Srs.,

 

Boa tarde!

 

Boletos analisados e aprovados.

 

Porém se faz necessário estes ajustes:

 

Campo beneficiário: falta o endereço completo da empresa. 

 

Campo agência/código beneficiário: deve ser preenchido,   0073-6/0127420-1.

 

 

Atenciosamente,

 

 

BANCO BRADESCO S.A.

4510-1/Departamento de Suporte a Produtos e Serviços

COBRANÇA / PRODUTOS / DDA

Rosana Aparecida Soares

 

 

Depois que fiz esse ajuste ficou tudo certo.

 

Att ...

Francisco Junior

Programador - Delphi

SCV - SIstemas

http://www.scvsistemas.com.br

  • Administradores
Postado

Bom dia  lucas.

 

Oque não fica claro no post é se a informação está sendo gerada vazia ou com valores incorretos, porém conforme você mesmo citou basta informar corretamente as propriedades.

 

Quanto aos dados do beneficiário citados por você, não ficou claro se vc resolveu passando esta informações ao componente ou se realmente foi necessário fazer algum ajuste.

 

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

Postado

Bom dia,

Juliana eu subi nesse tópico o .fr3 que foi ajustado  como essa informações que banco me mandou, só no impresso que foi ajustado o restante está tudo tanta para Bradesco e Sicredi que tinha problema na formatação do Cedente que ajustei subi o .fr3 para poder ser analisado, mais fora isso está tudo ok componente funcionando 100% .

 

Att

Obrigado. 

Francisco Junior

Programador - Delphi

SCV - SIstemas

http://www.scvsistemas.com.br

  • Administradores
Postado

Bom dia.

 

Solicitei a outro administrador para analisar o arquivo, pois não tenho fast no meu pc.

 

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

  • 9 meses depois ...
Postado (editado)

O melhor caminho é alterar o arquivo do BOLETO para utilizar o codigo da agencia / conta  visto que o tratamento do retorno também utiliza o codigo do cedente.

Coloque este codigo no campo AgenciaConta no relatorio :

[Cedente."Agencia"][IIF(<Cedente."AgenciaDigito">='0','','-'+<Cedente."AgenciaDigito">)]/[Cedente."Conta"][IIF(<Cedente."ContaDigito">='0','','-'+<Cedente."ContaDigito">)]
 

 

 

 

Obrigado

 

Marcio

Editado por medreis
  • Este tópico foi criado há 3299 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.