Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa tarde pessoal,

Ao tentar homologar o boleto pelo banco Sicoob, no momento da geracao do boleto obtive o erro

"Dígito da agência não informado" ,  como o layout do banco me pede que o digito da agencia seja

" " (1 caracter vazio)  , precisei alterar o método "procedure TACBrBoleto.ChecarDadosObrigatorios;'"

adicionando o cobBancoob para resolver o problema. Vcs acham que a solução é esta ou  existe 

outra maneira de resolver ?.

Obrigado

  • Administradores
Postado

Bom dia.

Provavelmente esta alteração não era necessária tendo em vista que a classe esta em uso por outro bancos.

Você chegou a passar o valor "0" para a propriedade AgenciaDigito?

Att.

  • Curtir 1
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
22 horas atrás, Elias Conti disse:

Boa tarde pessoal,

Ao tentar homologar o boleto pelo banco Sicoob, no momento da geracao do boleto obtive o erro

"Dígito da agência não informado" ,  como o layout do banco me pede que o digito da agencia seja

" " (1 caracter vazio)  , precisei alterar o método "procedure TACBrBoleto.ChecarDadosObrigatorios;'"

adicionando o cobBancoob para resolver o problema. Vcs acham que a solução é esta ou  existe 

outra maneira de resolver ?.

Obrigado

 

 

Postado

Juliana, obrigado pela atenção.

Mas se eu informo 0 , o campo sai com valor 0 na remessa, e o banco SICOOB nao aceita 0 o campo tem que ser vazio " ".

por isso deixei na minha base de dados este campo vazio , porem quando tento armazenar neste campo (Ex: para aemitir o boleto) o componente reclama

que vazio é invalido, para resolver precisei adicionar "cobBancoob"  no metodo "procedure TACBrBoleto.ChecarDadosObrigatorios;'"

procedure TACBrBoleto.ChecarDadosObrigatorios;
begin
  if Cedente.Nome = '' then
    Raise Exception.Create(ACBrStr('Nome do cedente não informado'));
  if Cedente.Conta = '' then
    Raise Exception.Create(ACBrStr('Conta não informada'));
  if (Cedente.ContaDigito = '') and (not (Banco.TipoCobranca in [cobBanestes,cobBanese, cobCitiBank])) then
    Raise Exception.Create(ACBrStr('Dígito da conta não informado'));
  if Cedente.Agencia = '' then
    Raise Exception.Create(ACBrStr('Agência não informada'));
  if (Cedente.AgenciaDigito = '') and (not (Banco.TipoCobranca in [cobBanestes, cobBanese,
     cobBanrisul, cobItau, cobCaixaEconomica, cobCaixaSicob, cobCitiBank,cobBancoob])) then  //[ELIAS acrescentei o cobBancoob 10/10/2019]
    Raise Exception.Create(ACBrStr('Dígito da agência não informado'));
end;

 

Obrigado

Postado

Desculpe Juliana,

Realmente se eu colocar um "if"  para armazenar " " (vazio) no componente  no momento da geracao da remessa , resolve 

ai eu posso deixar 0 no digito da agencia para os outros efeitos (Ex: imprimir o boleto) e para a remessa deixo vazio.

Obrigado Juliana e Antonio.

  • Administradores
Postado

Bom dia Elias,

Pela sua mensagem me dá a impressão de que houve alteração no componente, é isso mesmo?

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
43 minutos atrás, Juliana Tamizou disse:

Bom dia Elias,

Pela sua mensagem me dá a impressão de que houve alteração no componente, é isso mesmo?

Att.

Eu penso que ele fez confusão, o digito da agencia tem que enviar, pensei que estava falando do digitoAgenciaConta

conforme imagem do manual, um deles tem que ir vazio mesmo, porem, não está sendo validado, o componente está correto, ele valida apenas  o digito da agencia.

image.thumb.png.b651009a54e16483c2efadd787dc7fc8.png

  • Curtir 1
Postado

Ola Juliana,

Isso mesmo . o problema comecou dai.

Na classe  "TACBrBancoob" no metodo "GerarRegistroTransacao240" 

onde gera o digito da agencia estava: PadLeft(ACBrBoleto.Cedente.AgenciaDigito, 1, '0'), (no registro "P" )

precisei alterar para: PadLeft(ACBrBoleto.Cedente.AgenciaDigito, 1, ' ')

para que no arquivo de remessa o campo saia vazio "". 

Porem la na classe TACBrBoleto metodo "ChecarDadosObrigatorios" 

no ultimo  if ele nao deixava passar vazio o campo AgencaDigito . ai acrescentei "cobBancoob"

Este é o problema .

Obrigado.

 

Postado

Antonio,

No HEADER é para colocar "0" no digito da agencia porem no registro "P" que é onde estou com o problema

o banco nos passou que tem que ser " " 1 caracter vazio 

 

 

 

Postado

Entendi. vc parametrizar no seu programa, para aceitar esse campo, vai funcionar,:

veja:

na procedure: GerarRegistroHeader240 está assim:

PadRight(DigitoVerificadorAgenciaConta, 1, ' ')+ // 72 - Dígito verificador Ag/Conta (zero)  << aqui entra seu parametro, igual coloquei la em cima

 

na procedure: TACBrBancoob.GerarRegistroTransacao240 está assim:

   PadLeft(ACBrBoleto.Cedente.ContaDigito , 1, '0')              + //36 - Dígito da Conta Corrente
               ' ';                                                            //37 - DV Agência/COnta Brancos

 

olha a tela, o parametro que pede no componente:

vc repassa o valor direto como string, para permanecer como o usuario colocou:

    Cedente.DigitoVerificadorAgenciaConta := ADataSetConfigServicoBanco.FieldByName('DV_AGENCIA_CONTA_CCR').AsString;

image.thumb.png.fce5921499e5f6d7733efa410ac65b93.png

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