Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

tem alguns campos que não estão gerando10000000-retorno_registro.xml10000000-registro_boleto.xml

Estou passando normal os campos , so que não esta sendo gerado no xml

            Sacado.NomeSacado := 'FERNANDO RODRIGO DE JESUS';
            Sacado.CNPJCPF    := '47854871191';
            Sacado.Logradouro := 'AV. PIO XII';
            Sacado.Numero     := '618';
            Sacado.Bairro     := 'CIDADE JARDIM';
            Sacado.Cidade     := 'GOIANIA';
            Sacado.UF         := 'GO';
            Sacado.CEP        := '74425010';
 

Veja o retorno do erro

<ns0:nomeLogradouroBeneficiario>Cliente nao localizado ou sem enderecos validos.  

 

Postado

na unit ACBrBoletoW_BancoBrasil linha 287 o campo abaixo acho que esta com o nome errado pq o retorno do banco esta dizendo um campo e na unit esta passando outra

Gerador.wCampo(tcStr, '#33', PrefixTag('textoEnderecoPagador'               ), 00, 60, 1, Sacado.Logradouro, DSC_LOGRADOURO);

No retorno do banco

<ns0:nomeLogradouroBeneficiario>Cliente nao localizado ou sem enderecos validos.            </ns0:nomeLogradouroBeneficiario>

Estou passando normal os campos

            Sacado.NomeSacado := 'FERNANDO RODRIGO DE JESUS';
            Sacado.CNPJCPF    := '47854871191';
            Sacado.Logradouro := 'AV. PIO XII';
            Sacado.Numero     := '618';
            Sacado.Bairro     := 'CIDADE JARDIM';
            Sacado.Cidade     := 'GOIANIA';
            Sacado.UF         := 'GO';
            Sacado.CEP        := '74425010';
 

 

    Gerador.wCampo(tcStr, '#31', PrefixTag('numeroInscricaoPagador'             ), 00, 15, 1, OnlyNumber(Sacado.CNPJCPF), DSC_NOME_SACADO);
    Gerador.wCampo(tcStr, '#32', PrefixTag('nomePagador'                        ), 00, 60, 1, Sacado.NomeSacado, DSC_NOME_SACADO);
    Gerador.wCampo(tcStr, '#33', PrefixTag('textoEnderecoPagador'               ), 00, 60, 1, Sacado.Logradouro, DSC_LOGRADOURO);
    Gerador.wCampo(tcStr, '#34', PrefixTag('numeroCepPagador'                   ), 00, 08, 1, Sacado.Cep, DSC_CEP);
    Gerador.wCampo(tcStr, '#35', PrefixTag('nomeMunicipioPagador'               ), 00, 20, 1, Sacado.Cidade, DSC_CIDADE);
    Gerador.wCampo(tcStr, '#36', PrefixTag('nomeBairroPagador'                  ), 00, 20, 1, Sacado.Bairro, DSC_BAIRRO);
    Gerador.wCampo(tcStr, '#37', PrefixTag('siglaUfPagador'                     ), 00, 02, 1, Sacado.UF, DSC_UF);
    Gerador.wCampo(tcStr, '#38', PrefixTag('textoNumeroTelefonePagador'         ), 00, 12, 1, Sacado.Fone, DSC_FONE);
 

  • Moderadores
Postado

Bom dia, conseguiu identificar o problema na autenticação? Se possível compartilhe a solução, assim podemos investigar melhor o código genérico do erro...

Quanto ao retorno, o nome dos campos são outros mesmo... Note que o problema é código do Beneficiário e não do Pagador, provavelmente é alguma inconsistência do cadastro do Beneficiário no Banco, precisa passar esse erro para eles analisarem.

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Postado
9 minutos atrás, José M. S. Junior disse:

Bom dia, conseguiu identificar o problema na autenticação? Se possível compartilhe a solução, assim podemos investigar melhor o código genérico do erro...

Quanto ao retorno, o nome dos campos são outros mesmo... Note que o problema é código do Beneficiário e não do Pagador, provavelmente é alguma inconsistência do cadastro do Beneficiário no Banco, precisa passar esse erro para eles analisarem.

o pessoal do banco pediu o json de envio, so que não sei onde pego ele

  • Moderadores
Postado

Para o Banco do Brasil é enviado um XML, seria esse arquivo Registro_Boleto.xml que voce anexou acima... Mas pelo erro reportado o problema agora está no cadastro do Beneficiário junto ao banco.

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Moderadores
Postado
33 minutos atrás, AG Sistemas disse:

Como ativo o LOG para conseguir acompanhar ?

Bom dia, para gravar o arquivo de envio e retorno ative a opção abaixo... Mas esse erro é na autenticação, não chega a enviar os dados do título. Veja: "Software não cadastrado"... Chegou a validar com o Banco se esse cadastro já está disponível para homologação, talvez seja necessário questionar o motivo dessa rejeição.

image.png

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Membros Pro
Postado

Teria como no  mudar esta função que esta abaixo .

pq antes ele gerava o arquivo usando o documento e o documento nos passamos  exemplo " 00001-01/10, 00001-02/10, 00003-01/10 "  e pelo fato de ter a "/"  dava erro para gerar o arquivo.

function TBoletoWS.ObterNomeArquivo: String;
var
  lPath: String;
begin
  if EstaVazio(Boleto.Configuracoes.Arquivos.PathGravarRegistro) then
    lPath := PathWithDelim( ApplicationPath )
  else
    lPath := PathWithDelim( Boleto.Configuracoes.Arquivos.PathGravarRegistro );

  Result := lPath + 'Rem' + FormatDateTime('ddmmyyhhnn',Now) +'-'+ C_REGISTRO_BOLETO + '.xml';

end;

  • Membros Pro
Postado

Estou tendo erro quando envio que é "Dados de entrada inválidos." segundo o manual é campo que esta estourando o tamanho dele .

Comparei com o manual e acredito que o problema esteja no percentual esta gerando com varias casas e no manual fala somente 2.

 

image.png.7c670d50eede59ac120c3ead7e5c4dc9.png

 

image.thumb.png.cd07ce82100d1127058fc668ea32dd28.png

 

Desde já agradeço.

  • Membros Pro
Postado

Bom dia @José M. S. Junior!

Verifica está função também pq é onde salva ou não arquivo de resposta e iria dar o mesmo problema com o campo documento e eu acho importante dando certo ou não gravar a resposta do servidor.

function TBoletoWSSOAP.Enviar: Boolean;
begin
  FBoletoWS.FRetornoBanco.CodRetorno:= 0;
  FBoletoWS.FRetornoBanco.Msg := '';
  FPAuthorization:= '';

  DefinirURL;
  DefinirEnvelopeSoap;
  FPEnvelopeSoap := UTF8ToNativeString(FPEnvelopeSoap);
  //Grava xml gerado
  if Boleto.Configuracoes.Arquivos.LogRegistro then
    WriteToTXT( FBoletoWS.ObterNomeArquivo, FPEnvelopeSoap , False, False);

  try
    Executar;
  finally
    Result := (FDFeSSL.HTTPResultCode in [200, 201, 202]);

    WriteToTXT( ifthen( EstaVazio(Boleto.Configuracoes.Arquivos.PathGravarRegistro),
                PathWithDelim( ApplicationPath ), PathWithDelim( Boleto.Configuracoes.Arquivos.PathGravarRegistro ))
                + FormatDateTime('ddmmyyhhnn',Now) +'-'+ C_RETORNO_REGISTRO + '.xml', FRetornoWS ,False, False);

//    if Result then //Grava xml retorno
//      WriteToTXT( ifthen( EstaVazio(Boleto.Configuracoes.Arquivos.PathGravarRegistro),
//                  PathWithDelim( ApplicationPath ), PathWithDelim( Boleto.Configuracoes.Arquivos.PathGravarRegistro ))
//                  + Titulos.NumeroDocumento +'-'+ C_RETORNO_REGISTRO + '.xml', FRetornoWS ,False, False);
  end;

end;

  • 2 semanas depois ...
  • Membros Pro
Postado

Boa tarde!!

Consegui transmitir o boleto!!

Tive um problema com a espécie do documento Passei 'DM' como o de costume mas ele não aceita.

codigoTipoTITULO Short (4) Sim Domínios Válidos

1 = CHEQUE 2 = DUPLICATAMERCANTIL 4 = DUPLICATASERVICO 6 = DUPLICATARURAL 7 = LETRA-DECAMBIO 12 = NOTAPROMISSORIA 13 = NOTAPROMISSORIARURAL 17 = RECIBO 19 = NOTA-DEDEBITO 23 = DIVIDAATIVA-UNIAO Código adotado pela FEBRABAN para identificar o tipo para o Título de Cobrança. 25 Manual de Integração – Registro Online de Títulos de Cobrança 24 = DIVIDAATIVA-ESTADO 25 = DIVIDAATIVAMUNICIPIO

Postado
2 horas atrás, AG Sistemas disse:

Boa tarde!!

Consegui transmitir o boleto!!

Tive um problema com a espécie do documento Passei 'DM' como o de costume mas ele não aceita.

codigoTipoTITULO Short (4) Sim Domínios Válidos

1 = CHEQUE 2 = DUPLICATAMERCANTIL 4 = DUPLICATASERVICO 6 = DUPLICATARURAL 7 = LETRA-DECAMBIO 12 = NOTAPROMISSORIA 13 = NOTAPROMISSORIARURAL 17 = RECIBO 19 = NOTA-DEDEBITO 23 = DIVIDAATIVA-UNIAO Código adotado pela FEBRABAN para identificar o tipo para o Título de Cobrança. 25 Manual de Integração – Registro Online de Títulos de Cobrança 24 = DIVIDAATIVA-ESTADO 25 = DIVIDAATIVAMUNICIPIO

não poderia colocar essas conversões direto no fonte ?

Postado

O que tem de errado no que estou fazendo, a hora que tento enviar da erro abaixo, não gera log não gera nada

 

image.thumb.png.6bc1810d2270afd87995b6065d4a55f1.png

ACBrBoleto1.Cedente.CedenteWS.ClientID      := 'eyJpZCI6IjdhYjA3YmMtMmVjNS00MGMxIiwiY29kaWdvUHVibGljYWRvciI6MCwiY29kaWdvU29mdHdhcmUiOjExNTA1LCJzZXF1ZW5jaWFsSW5zdGFsYWNhbyI6MX0';
ACBrBoleto1.Cedente.CedenteWS.ClientSecret  := 'eyJpZCI6ImJjMzY5ZjEtYTBlZS00MjZmLWFkODUtMzc2MjMzOCIsImNvZGlnb1B1YmxpY2Fkb3IiOjAsImNvZGlnb1NvZnR3YXJlIjoxMTUwNSwic2VxdWVuY2lhbEluc3RhbGFjYW8iOjEsInNlcXVlbmNpYWxDcmVkZW5jaWFsIjoxLCJhbWJpZW50ZSI6ImhvbW9sb2dhY2FvIiwiaWF0IjoxNjAyODgwMzI2Nzg4fQ';

ACBrBoleto1.Cedente.CedenteWS.Scope         := 'cobranca.registro-boletos';
ACBrBoleto1.Cedente.CedenteWS.KeyUser       := 'xxxxxxxx';

 

      With ACBrBoleto1.CriarTituloNaLista do
       begin
            With ACBrBoleto1.Cedente do
                  begin
                       {Dados do cedente - Loja}
                      CodigoTransmissao := '11';
                      TipoInscricao   := pJuridica; {CNPJ}
                      CNPJCPF         := '34954837000191';
                      Nome            :='RMP AUTO PECAS LTDA';
                      CodigoCedente   := '55395';
                      Convenio          := '3210690';
                      Modalidade      := '19'; // Variação
                      Carteira        := '17';
                      Logradouro      :='AV. CONSOLACAO N 835';
                      NumeroRes       := '';
                      Complemento     := '';
                      Bairro          := 'CIDADE JARDIM';
                      Cidade          := 'GOIANIA';
                      UF              := 'GO';
                      CEP             := '74425535';
                      Agencia         :='1840';
                      AgenciaDigito   := '6';
                      Conta           :='64516';
                      ContaDigito     := '8';
                      ResponEmissao   := tbCliEmite;
                      TipoCarteira    := tctRegistrada;
                  end;

            LocalPagamento    := 'Pagar em qualquer banco'; //MEnsagem exigida pelo bradesco
            Vencimento        := IncMonth(EncodeDate(2020,12,10),I);
            DataDocumento     := EncodeDate(2020,10,15);
            NumeroDocumento   := PadRight(IntToStr(I),8,'0');
            EspecieDoc        := '2';
            Aceite            := atSim;
            DataProcessamento := Now;
            NossoNumero       := IntToStrZero(I,8);
            SeuNumero         := IntToStrZero(I,8);

            ACBrBoleto1.Banco.TamanhoMaximoNossoNum := Length(NossoNumero);

            ValorDocumento    := 100.35 * (I+0.5);
            Sacado.NomeSacado := 'FERNANDO RODRIGO DE JESUS';
            Sacado.CNPJCPF    := '47854871191';
            Sacado.Logradouro := 'AV. PIO XII';
            Sacado.Numero     := '618';
            Sacado.Bairro     := 'CIDADE JARDIM';
            Sacado.Cidade     := 'GOIANIA';
            Sacado.UF         := 'GO';
            Sacado.CEP        := '74425010';
            ValorAbatimento   := 10;
            ValorMoraJuros    := 0.05;

            DataAbatimento    := Vencimento-5;
            Instrucao1        := '00';
            Instrucao2        := '00';
            with ACBrBoleto1.Banco do
            begin
                TipoCobranca := cobBancoDoBrasil;
                Carteira     := '17';
            end;

       end;

  • Consultores
Postado
15 horas atrás, Fernando Rodrigo disse:

O que tem de errado no que estou fazendo, a hora que tento enviar da erro abaixo, não gera log não gera nada

 

image.thumb.png.6bc1810d2270afd87995b6065d4a55f1.png

ACBrBoleto1.Cedente.CedenteWS.ClientID      := 'eyJpZCI6IjdhYjA3YmMtMmVjNS00MGMxIiwiY29kaWdvUHVibGljYWRvciI6MCwiY29kaWdvU29mdHdhcmUiOjExNTA1LCJzZXF1ZW5jaWFsSW5zdGFsYWNhbyI6MX0';
ACBrBoleto1.Cedente.CedenteWS.ClientSecret  := 'eyJpZCI6ImJjMzY5ZjEtYTBlZS00MjZmLWFkODUtMzc2MjMzOCIsImNvZGlnb1B1YmxpY2Fkb3IiOjAsImNvZGlnb1NvZnR3YXJlIjoxMTUwNSwic2VxdWVuY2lhbEluc3RhbGFjYW8iOjEsInNlcXVlbmNpYWxDcmVkZW5jaWFsIjoxLCJhbWJpZW50ZSI6ImhvbW9sb2dhY2FvIiwiaWF0IjoxNjAyODgwMzI2Nzg4fQ';

ACBrBoleto1.Cedente.CedenteWS.Scope         := 'cobranca.registro-boletos';
ACBrBoleto1.Cedente.CedenteWS.KeyUser       := 'xxxxxxxx';

 

      With ACBrBoleto1.CriarTituloNaLista do
       begin
            With ACBrBoleto1.Cedente do
                  begin
                       {Dados do cedente - Loja}
                      CodigoTransmissao := '11';
                      TipoInscricao   := pJuridica; {CNPJ}
                      CNPJCPF         := '34954837000191';
                      Nome            :='RMP AUTO PECAS LTDA';
                      CodigoCedente   := '55395';
                      Convenio          := '3210690';
                      Modalidade      := '19'; // Variação
                      Carteira        := '17';
                      Logradouro      :='AV. CONSOLACAO N 835';
                      NumeroRes       := '';
                      Complemento     := '';
                      Bairro          := 'CIDADE JARDIM';
                      Cidade          := 'GOIANIA';
                      UF              := 'GO';
                      CEP             := '74425535';
                      Agencia         :='1840';
                      AgenciaDigito   := '6';
                      Conta           :='64516';
                      ContaDigito     := '8';
                      ResponEmissao   := tbCliEmite;
                      TipoCarteira    := tctRegistrada;
                  end;

            LocalPagamento    := 'Pagar em qualquer banco'; //MEnsagem exigida pelo bradesco
            Vencimento        := IncMonth(EncodeDate(2020,12,10),I);
            DataDocumento     := EncodeDate(2020,10,15);
            NumeroDocumento   := PadRight(IntToStr(I),8,'0');
            EspecieDoc        := '2';
            Aceite            := atSim;
            DataProcessamento := Now;
            NossoNumero       := IntToStrZero(I,8);
            SeuNumero         := IntToStrZero(I,8);

            ACBrBoleto1.Banco.TamanhoMaximoNossoNum := Length(NossoNumero);

            ValorDocumento    := 100.35 * (I+0.5);
            Sacado.NomeSacado := 'FERNANDO RODRIGO DE JESUS';
            Sacado.CNPJCPF    := '47854871191';
            Sacado.Logradouro := 'AV. PIO XII';
            Sacado.Numero     := '618';
            Sacado.Bairro     := 'CIDADE JARDIM';
            Sacado.Cidade     := 'GOIANIA';
            Sacado.UF         := 'GO';
            Sacado.CEP        := '74425010';
            ValorAbatimento   := 10;
            ValorMoraJuros    := 0.05;

            DataAbatimento    := Vencimento-5;
            Instrucao1        := '00';
            Instrucao2        := '00';
            with ACBrBoleto1.Banco do
            begin
                TipoCobranca := cobBancoDoBrasil;
                Carteira     := '17';
            end;

       end;

Bom dia,

Pega o fonte deste tópico que tem um ajuste que fiz para facilitar.

 

 

  • Curtir 1
Postado

Esse erro esta retornando na unit ACBrBoletoW_BancoBrasil..pas

function TBoletoW_BancoBrasil.GerarTokenAutenticacao:String;
begin
  result:= '';
  if Assigned(OAuth) then
  begin
    if OAuth.GerarToken then
      result := OAuth.Token
    else
      raise EACBrBoletoWSException.Create(ClassName + Format( S_ERRO_GERAR_TOKEN_AUTENTICACAO, [OAuth.ErroComunicacao] ));
  end;
end;

 

Essa função acima que faz a validação do token, esta na unit  ACBrBoletoWS.pas o token esta chegando sempre em branco, onde tenho que preencher ele ?

function TOAuth.GerarToken: Boolean;
begin

  if ( Token <> '' ) and ( CompareDateTime( Expire, Now ) = 1 ) then                                        //Token ja gerado e ainda válido
    Result := True
  else                                                                                                      //Converte Basic da Autenticação em Base64
    Result := Executar( 'Basic ' + String(EncodeBase64(AnsiString(FClientID + ':' + FClientSecret))) );

end;

  • Moderadores
Postado

Bom dia, primeiro é necessário se comunicar com o servidor de autenticação para obter o token, com esse token é possivel enviar a requisição. Para isso é preciso alimentar os campos: 

ACBrBoleto1.Cedente.CedenteWS.ClientID:=
ACBrBoleto1.Cedente.CedenteWS.ClientSecret:=
ACBrBoleto1.Cedente.CedenteWS.Scope:= 'cobranca.registro-boletos';
ACBrBoleto1.Cedente.CedenteWS.KeyUser:=

 

Na configuração webService, precisa configurar SSLHTTPLIb e SSLType da seguinte forma:

image.png

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

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