Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa Tarde, gostaria de fazer uma sugestão. Segue o código abaixo:

try
        JsonDadosPagador.Add('tipoInscricao').Value.AsInteger   := StrToInt(IfThen(Length( OnlyNumber(ATitulo.Sacado.CNPJCPF)) = 11,'1','2'));
        JsonDadosPagador.Add('numeroInscricao').Value.AsNumber  := StrToInt64(OnlyNumber(ATitulo.Sacado.CNPJCPF));
        JsonDadosPagador.Add('nome').Value.AsString             := ATitulo.Sacado.NomeSacado;
        JsonDadosPagador.Add('endereco').Value.AsString         := ATitulo.Sacado.Logradouro + ' ' + ATitulo.Sacado.Numero;
        JsonDadosPagador.Add('cep').Value.AsInteger             := StrToInt(OnlyNumber(ATitulo.Sacado.CEP)); //ERRO AQUI
        JsonDadosPagador.Add('cidade').Value.AsString           := ATitulo.Sacado.Cidade;
        JsonDadosPagador.Add('bairro').Value.AsString           := ATitulo.Sacado.Bairro;
        JsonDadosPagador.Add('uf').Value.AsString               := ATitulo.Sacado.UF;
        //JsonDadosPagador.Add('telefone').Value.AsString         :=

        JsonPairPagador := TJsonPair.Create(AJson, 'pagador');
        try
          JsonPairPagador.Value.AsObject := JsonDadosPagador;
          AJson.Add('pagador').Assign(JsonPairPagador);
        finally
          JsonPairPagador.Free;
        end;
      finally
        JsonDadosPagador.Free;
      end;

Eu estava verificando a documentação do Banco do Brasil, e na integração com boleto, os unicos campos obrigatórios para o preenchimento da parte do Pagador são:
tipoInscricao e numeroInscricao.

Quando fui realizar um teste onde o pagador não tem CEP, deu um erro na linha acima, na unit ACBrBoletoW_BancoBrasil_API, pois esta convertendo uma string vazia para um inteiro.
Se puder adicionar uma validação, fico agradecido, que ai não precisa de colocar CEP obrigatório, já que para o Banco do Brasil não é, n sei para os outros bancos ainda.

  • Consultores
Postado
54 minutos atrás, Douglas Conceição disse:

obrigatórios para o preenchimento da parte do Pagador são

Mas não seria uma boa prática enviar todos os dados?
Se você enviar uma instrução de protesto não vai ser rejeitado a instrução por falta de dados?
Como vão notificar o protesto sem os dados ?

  • Curtir 2
Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

Postado
59 minutos atrás, Daniel InfoCotidiano disse:

Mas não seria uma boa prática enviar todos os dados?
Se você enviar uma instrução de protesto não vai ser rejeitado a instrução por falta de dados?
Como vão notificar o protesto sem os dados ?

Realmente, então suponho que seja melhor adicionar uma validação de campos obrigatórios ao invés de tratar o erro na linha que marquei.
É melhor assim para os dados completos, e que se estiver sem não vai acontecer um erro e não informar nada, como esta acontecendo hj.

  • Consultores
Postado
11 minutos atrás, Douglas Conceição disse:

Realmente, então suponho que seja melhor adicionar uma validação de campos obrigatórios ao invés de tratar o erro na linha que marquei.
É melhor assim para os dados completos, e que se estiver sem não vai acontecer um erro e não informar nada, como esta acontecendo hj.

Jóia, depois anexe as units aqui q modificou e a equipe de boleto faz a analise para validação.
 

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

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