Ir para conteúdo
  • Cadastre-se

dev botao

Erro ao homologar boleto caixa


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

Recommended Posts

Quando mandei os boletos para envio o banco retornou a seguinte mensagem de erro:

NÃO foram homologadas por apresentarem os motivos apontados abaixo:

1- Falta Dígito Verificador Geral do Código de Barras (ou seja, campo 4 da Representação Numérica) 5 e 7.

Solicitamos contatar o cedente para que envie bloquetos com o DV faltante, ou seja, com dígito geral do código de barras 5 e 7.

Ressaltamos que para a homologação as amostras devem ser enviadas em quantidade de 9 (nove) bloquetos originais, contendo todas as possibilidades de DV Geral do Código de Barras (de 1 a 9), ou seja, campo 4 da Representação Numérica, conforme exemplo a seguir:

Campo 1 Campo 2 Campo 3 Campo 4 Campo 5

10493.44888 60000.200042 00000.000307 1 55210000000100

Em resumo, onde está o número 1 isolado na Representação Numérica acima, precisamos ter amostras com os números 1, 2, 3, 4, 5, 6, 7, 8 e 9, portanto, 09 (nove) amostras conforme MN CO 003 vigente.

Solicitamos contatar o cliente para que proceda a correção, observando que as amostras devem ser emitidas de acordo com o "lay-out" definido.

Ressaltamos que as amostras devem ser enviadas em quantidade de 9 (nove) guias originais, contendo todas as possibilidades de DV Geral do Código de Barras (de 1 a 9), ou seja, campo 4 da Representação Numérica.

Qual informação que passo para resolver esse problema?

Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde.

Primeiramente informe as informações que vc passou ao componente para a emissão do boleto...observe que existem 2 units para a caixa, a CaixaEconomica e a CaixaSicoob, verifique qual das duas você deve utilizar.

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

Link para o comentário
Compartilhar em outros sites

  • Administradores

Quais informações foram passadas ao componente para emitir os boletos?

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

Link para o comentário
Compartilhar em outros sites

{Adiciona os boletos para geração e impressão}

FTitulo := FBoleto.CriarTituloNaLista;

FTitulo.TotalParcelas := QtdeDocs;

FTitulo.Parcela := FReceberParc;

if ContemString(vAgencia, '-') = True then

begin

FAgencia := SubstituiString(vAgencia,'-','');

FAgenciaDgt := RightStr(FAgencia, 1);

FAgencia := LeftStr(FAgencia, Length(FAgencia) - 1);

end

else

FAgencia := vAgencia;

FConta := SubstituiString(vConta,'-','');

FContaDgt := RightStr(FConta, 1);

FConta := LeftStr(FConta, Length(FConta) - 1);

{Atualiza a data de geracao do boleto na tabela receber, mas só quando for gerar o boleto}

if GetDataGeracaoBoleto(FReceberParc,FReceberDoc) then

begin

SetUpdateDataGeracao(FReceberDoc,FReceberParc);

end;

{Informações da Empresa}

FBoleto.Cedente.CNPJCPF := Empresa.Cnpj;

FBoleto.Cedente.Nome := Empresa.Fantasia;

FBoleto.Cedente.Agencia := FAgencia;

if FAgenciaDgt = '' then

FBoleto.Cedente.AgenciaDigito := '0'

else

FBoleto.Cedente.AgenciaDigito := FAgenciaDgt;

FBoleto.Cedente.Conta := FConta;

FBoleto.Cedente.ContaDigito := FContaDgt;

FBoleto.Cedente.CodigoCedente := vCedente;

case vBanco of

237: FBoleto.Banco.TipoCobranca := cobBradesco;

1: FBoleto.Banco.TipoCobranca := cobBancoDoBrasil;

104: if FCobrancaCaixa = 0 then

FBoleto.Banco.TipoCobranca := cobCaixaEconomica

else

FBoleto.Banco.TipoCobranca := cobCaixaSicob;

end;

if FBoleto.Banco.Numero = 1 then

begin

FBoleto.Cedente.Convenio := FConvenioTpDoc;

FBoleto.Cedente.Modalidade := fCarteiraModalidade;

end;

{Informações do Cliente}

FTitulo.Sacado.NomeSacado := format('%.6d',[FClienteCodigo])+'-'+FClienteNome;

FTitulo.Sacado.CNPJCPF := FormatarCpfCnpj(FClienteCpfCnpj);

FTitulo.Sacado.Logradouro := FClienteEndereco;

FTitulo.Sacado.Numero := ','+FClienteNumero;

FTitulo.Sacado.Bairro := ' - '+FClienteBairro;

FTitulo.Sacado.Cidade := ' '+FClienteCidade;

FTitulo.Sacado.UF := '- '+FClienteUF;

FTitulo.Sacado.CEP := FormatarCEP(FClienteCep);

if FBoleto.Banco.Numero <> 104 then

FTitulo.LocalPagamento := 'Pagar preferêncialmente nas agências do(a) '+FBoleto.Banco.Nome

else

FTitulo.LocalPagamento := 'Pagamento em qualquer agência bancária ou lotéricas até o vencimento, após somente na CAIXA';

FTitulo.EspecieDoc := 'DM';

case FBoleto.Banco.Numero of

237,1,104 : FTitulo.Aceite := atNao;

end;

{Informações do Documento}

FTitulo.DataProcessamento := StrToDate(FSistema.DataServidor);

FTitulo.Vencimento := FReceberVencimento;

FTitulo.DataDocumento := FReceberDtCad;

FTitulo.NumeroDocumento := FReceberDoc+'/'+IntToStr(FReceberParc);

{Caso o boleto ja tenha sido gerado a funcao recupera o nosso_numero caso contrario ele gera um novo}

if LoadNossoNumero(FReceberDoc,FReceberParc) <> EmptyStr then

FTitulo.NossoNumero := LoadNossoNumero(FReceberDoc,FReceberParc)

else

begin

if FGeraNossoNMManu = 0 then

iNossoNumero := 0

else

iNossoNumero := FNossoNumeroBolAux;

FTitulo.NossoNumero := IntToStr(StrToInt(GetNossoNumero(FBoleto.Banco.Numero))+iNossoNumero);

SetUpdateNossoNumero(FReceberParc,FReceberDoc,FTitulo.NossoNumero);

end;

FTitulo.ValorDocumento := FReceberValor;

FTitulo.Mensagem.Text := FMensagemTpDoc;

{Tipo de Carteira}

FTitulo.Carteira := FCarteiraTpDoc;

{Informações dos juros,multas,protesto e descontos para serem impresso no boleto}

if FPercDescTpDoc > 0 Then

begin

FTitulo.ValorDesconto := (FPercDescTpDoc/100) * FReceberValor;

FTitulo.DataDesconto := FReceberVencimento;

end;

if FDiasJurosTpDoc > 0 Then

begin

FTitulo.DataMoraJuros := IncDay(FReceberVencimento, FDiasJurosTpDoc);

if FReceberJurosP > 0 then

FTitulo.ValorMoraJuros := (FTitulo.ValorDocumento * (FPercJurosTpDoc/100)) /30;

end;

if FDiasMultaTpDoc > 0 Then

begin

DtJurosMulta := IncDay(FReceberVencimento, FDiasMultaTpDoc);

ValJurosMulta := (FPercMultaTpDoc/100) * FTitulo.ValorDocumento;

end;

if FDiasProtesto > 0 then

FTitulo.DataProtesto := IncDay(FReceberVencimento, FDiasProtesto);

{Mensagem Impressas no Boleto}

if FTitulo.ValorMoraJuros > 0 then

FTitulo.Mensagem.Add('Mora Dia/Com. Permanência ........................ R$ '+FormatFloat('###,##0.00', FTitulo.ValorMoraJuros));

if (DtJurosMulta > FReceberVencimento) then

FTitulo.Mensagem.Add('Após '+DateToStr(DtJurosMulta)+' Multa ............................ R$ '+FormatFloat('###,##0.00',ValJurosMulta));

if FBoleto.Banco.Numero = 1 then

FTitulo.Mensagem.Add('Após o vencimento pagavél somente no '+FBoleto.Banco.Nome+'.')

else

FTitulo.Mensagem.Add('Após o vencimento pagavél somente no banco '+FBoleto.Banco.Nome+'.');

FTitulo.Mensagem.Add('Após o vencimento NÃO dispensar JUROS e MULTA.');

if Empresa.ImprimirNumeroNFBoleto = 1 then

if GetNotaFiscal(FReceberOS) > 0 then

FTitulo.Mensagem.Add('Referente ao pgto. da Nota fiscal '+IntToStr(GetNotaFiscal(FReceberOS))+'.');

FTitulo.Mensagem.Add('Não receber após 30 dias de vencido.');

if FReceberValorAbatido > 0 then

begin

FTitulo.ValorAbatimento := FReceberValorAbatido;

FTitulo.Mensagem.Add('Conceder abatimento de ' +

FormatCurr('R$ #,##0.00',FTitulo.ValorAbatimento));

end;

Link para o comentário
Compartilhar em outros sites

  • Administradores

Anexe aqui um boleto enviado ao banco

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

Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

Eu havia entendido que havia algo errado nos boletos....pelo texto do primeiro post, eles só estão pedindo para que você envie boletos com todas as possibilidades de DV do código de barras...como esse campo é resultado do calculo efetuado usando as demais informações, acredito que você deve emitir vários boletos diferentes até obter os que precisa.

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

Link para o comentário
Compartilhar em outros sites

  • 2 anos depois...

Boa tarde Juliana.

Não existe nenhuma maneira mais simples de gerar 10 boletos com o DV em sequencia? Pois todos os clientes que tentam homologar os 10 boletos caixa ligam para o suporte reclamando e toda vez precisa fazer isso, não existe uma maneira de fazer o calculo reverso pra descobrir quais informações devo informar para gerar esses codigos sequencialmente?

Acredito que iria facilitar um monte.

 

Obrigado.

"A arte de programar consiste em organizar e dominar a complexidade." 🤖

-Edsger W. Dijkstra

Link para o comentário
Compartilhar em outros sites

Bom dia agnaldoprates e Leao

Agnaldoprates abri seu demo e ficou show de bola, ficou bem completo mas mesmo eu tendo acesso a todas essas informações quando imprimo alguns boletos ele começa na sequencia, mas quando chega no número 1 ele repete.

Leao, o meu problema é que independentemente das informações que eu coloco o DV é gerado aleatóriamente, pois ele é resultado de um cálculo feito apartir das informações alimentadas no componente. Fiz desta forma que você falou, mas tive que gerar alguns boletos 2 ou 3 vezes para gerar na sequencia. Muito obrigado pela dica.

 

Obriagdo pela atenção pessoal.

Editado por Ferdinan Marco
  • Curtir 1

"A arte de programar consiste em organizar e dominar a complexidade." 🤖

-Edsger W. Dijkstra

Link para o comentário
Compartilhar em outros sites

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