Ir para conteúdo
  • Cadastre-se

romerofartura

Membros Pro
  • Total de ítens

    17
  • Registro em

  • Última visita

Tudo que romerofartura postou

  1. Mando assim veja se tem algo diferente. DM.ACBrBoleto1.LayoutRemessa := c240; with DM.ACBrBoleto1.Banco do begin Nome := DmFd.FDQ_Boletos.FieldByName('BANCO_NOME').AsString; Numero := StrToInt(DmFd.FDQ_Boletos.FieldByName('BANCO_NRO').AsString); case DmFd.FDQ_Boletos.FieldByName('BANCO_NRO').AsInteger of 1 : TipoCobranca := cobBancoDoBrasil; 33 : TipoCobranca := cobSantander; 104 : TipoCobranca := cobCaixaEconomica; 237 : TipoCobranca := cobBradesco; 341 : TipoCobranca := cobItau; 748 : TipoCobranca := cobSicred; 756 : TipoCobranca := cobBancoob; //SICOOB end; end; with DM.ACBrBoleto1.Cedente do //Beneficiario begin Agencia := DmFd.FDQ_Boletos.FieldByName('AGENCIA_NRO').AsString; AgenciaDigito := DmFd.FDQ_Boletos.FieldByName('AGENCIA_NRO_DIG').AsString; Conta := DmFd.FDQ_Boletos.FieldByName('CONTA').AsString; ContaDigito := DmFd.FDQ_Boletos.FieldByName('CONTA_DIG').AsString; Convenio := DmFd.FDQ_Boletos.FieldByName('CONVENIO').AsString; // Modalidade := IBDS_boleto.FieldByName('CONVENIO').AsString; CodigoCedente := DmFd.FDQ_Boletos.FieldByName('CEDENTE_COD').AsString; Nome := DmFd.FDQ_Boletos.FieldByName('CEDENTE_NOME').AsString; CNPJCPF := so_numeros(Dm.empCNPJ); Logradouro := tira_acento(trim(Dm.empEnder)); NumeroRes := trim(Dm.empNro); Complemento := tira_acento(trim(Dm.empCompl)); Bairro := tira_acento(trim(Dm.empBairro)); Cidade := tira_acento(Dm.empCid); UF := Dm.empUF; CEP := Dm.empCEP; case StrToInt(DmFd.FDQ_Boletos.FieldByName('BANCO_NRO').AsString) of 756 : Modalidade := '01'; 001 : Modalidade := '027'; end; if (Length(CNPJCPF) = 11) then TipoInscricao := pFisica else TipoInscricao := pJuridica; end; DM.ACBrBoleto1.ListadeBoletos.Clear; for I := 0 to NrTitulos - 1 do begin Abrir(emp, Boletos[i]); //Abre a tabela do boleto coms os dados Titulo := DM.ACBrBoleto1.CriarTituloNaLista; with Titulo do begin DataProcessamento := Now; DataDocumento := DmFd.FDQ_Boletos.FieldByName('DATA_INC').AsDateTime; Vencimento := DmFd.FDQ_Boletos.FieldByName('DT_VENCTO').AsDateTime; Carteira := DmFd.FDQ_Boletos.FieldByName('CARTEIRA').AsString; NumeroDocumento := DmFd.FDQ_Boletos.FieldByName('N_DOC').AsString; NossoNumero := DmFd.FDQ_Boletos.FieldByName('N_NUMERO').AsString; SeuNumero := DmFd.FDQ_Boletos.FieldByName('CODIGO').AsString; //DmFd.FDQ_Boletos.FieldByName('COD_CONTA').AsString; EspecieDoc := DmFd.FDQ_Boletos.FieldByName('ESPECIE').AsString; //EspecieMod := '01'; Aqui para BANCOOP, se precisar ValorDocumento := DmFd.FDQ_Boletos.FieldByName('VALOR').AsFloat; ValorDesconto := DmFd.FDQ_Boletos.FieldByName('DESCONTO').AsFloat; //VALOR, Se percentual calcular o valor na hora de gerar o boleto e passar o valor. DataDesconto := 0; //AQUI Adicionar ValorAbatimento := 0; //AQUI Adicionar PercentualMulta := DmFd.FDQ_Boletos.FieldByName('MULTA').AsFloat; //Percentual ValorMoraJuros := DmFd.FDQ_Boletos.FieldByName('JUROS').AsFloat; //VALOR, Se percentual calcular o valor na hora de gerar o boleto e passar o valor. //DataMoraJuros := DmFd.FDQ_Boletos.FieldByName('DT_JUROS').AsFloat; //AQUI Adicionar. 0 A contar do atraso DataBaixa := DmFd.FDQ_Boletos.FieldByName('DT_VENCTO').AsDateTime + 90; case DM.ACBrBoleto1.Banco.TipoCobranca of cobBancoob : begin CodigoMora := '2'; //SICOOB if (ValorMoraJuros > 0) then Instrucao1 := '01'; //Mandar a instrução 01 já na remessa. 01 - Cobrar juros e 07 não protestar end; end; DataProtesto := DmFd.FDQ_Boletos.FieldByName('DT_PROT').AsDateTime; //Mandar data como zero, sem protesto if (DataProtesto > 0) then TipoDiasProtesto := diCorridos; case AnsiIndexStr(DmFd.FDQ_Boletos.FieldByName('ACEITE').AsString, ['A', 'S', 'N', 'B']) of 0 : Aceite := atAceite; 1 : Aceite := atSim; 2 : Aceite := atNao; 3 : Aceite := atBNao; end; Sacado.NomeSacado := tira_acento(DmFd.FDQ_Boletos.FieldByName('SACADO').AsString); Sacado.CNPJCPF := DmFd.FDQ_Boletos.FieldByName('CPF_CNPJ').AsString; Sacado.Logradouro := tira_acento(DmFd.FDQ_Boletos.FieldByName('ENDERECO').AsString); Sacado.Numero := DmFd.FDQ_Boletos.FieldByName('NRO').AsString; Sacado.Bairro := tira_acento(DmFd.FDQ_Boletos.FieldByName('BAIRRO').AsString); Sacado.Cidade := tira_acento(DmFd.FDQ_Boletos.FieldByName('NOMECID').AsString); Sacado.UF := DmFd.FDQ_Boletos.FieldByName('UF').AsString; LocalPagamento := tira_acento(DmFd.FDQ_Boletos.FieldByName('LOC_PAGTO').AsString); if (remessa > 0) then //remesa 0 impressão e 1 remessa Sacado.CEP := so_numeros(DmFd.FDQ_Boletos.FieldByName('CEP').AsString) else Sacado.CEP := DmFd.FDQ_Boletos.FieldByName('CEP').AsString; if (Length( so_numeros(Sacado.CNPJCPF)) = 11) then Sacado.Pessoa := pFisica else Sacado.Pessoa := pJuridica; if (remessa = 0) then ////remesa 0 impressão e 1 remessa begin if (Trim(DmFd.FDQ_Boletos.FieldByName('INSTRUCOES').AsString) <> '') then Mensagem.Text := tira_acento(DmFd.FDQ_Boletos.FieldByName('INSTRUCOES').AsString); if (Trim(DmFd.FDQ_Boletos.FieldByName('INSTRUCOES2').AsString) <> '') then Mensagem.Text := Mensagem.Text + tira_acento(DmFd.FDQ_Boletos.FieldByName('INSTRUCOES2').AsString); if (Trim(DmFd.FDQ_Boletos.FieldByName('INSTRUCOES3').AsString) <> '') then Mensagem.Text := Mensagem.Text + tira_acento(DmFd.FDQ_Boletos.FieldByName('INSTRUCOES3').AsString); end; DM.ACBrBoleto1.AdicionarMensagensPadroes(Titulo, Mensagem); //ACBrBoleto.Banco.MontarCampoNossoNumero() end; end; DM.ACBrBoleto1.ChecarDadosObrigatorios; if (remessa = 0) then //0 Imprimir e 1 remessa begin DM.ACBrBoleto1.Imprimir; DM.ACBrBoleto1.GerarPDF; end else DM.ACBrBoleto1.GerarRemessa(remessa); Minha função de emissão é basicamente esta. Veja se te ajuda.
  2. Boa tarde. Verifique se a carteira é esta mesmo, porque as carteiras sem registros (Carteira :=SR) não vão mais existir. Na minha homologação foi usada a carteira RG (com registro). Fique atento também ao gerar a remessa dê preferência pelo no CNAB240. Na homologação que estou fazendo para o SICREDI, vei a orientação, pois a FEBRABAN, segundo eles vai descontinuar o CNAB 400 este ano. No mais as informações parecem esta corretas.
  3. Nelas tem alterações nas linhas que contém os novos aceites: atAceite = 'A' e atBnao = 'B' e notei que em algumas units não tem o else deixando o aceite com algum valor padrão. case Aceite of atSim, atAceite : ATipoAceite := 'A'; atNao, atBnao : ATipoAceite := 'N'; else ATipoAceite := 'N'; end;
  4. Precisa ver com seu gerente qual o tipo de cobrança que está sendo usada na sua conta se não me engano a caixa tem duas a SIGCB que é a discutida aqui no tópico e a SICOB. Identificando qual foi colocada em sua conta vc ajusta o componente.
  5. Boa tarde. Meu cliente acabou por não usar a CEF, mas foi homologado com ressalva. Segue transcrição abaixo. " Corrigir a distância entre o fim da folha e o código de barras, de acordo com item 4.2.10.1 do MO67.119 - "Posição: 12mm desde a margem inferior da Ficha de compensação até o centro do código de barras" (foi necessário cortar a folha ao fim da margem para leitura do código de barras); Quanto aos cálculos todos foram aplicados corretamente. Enviei os 20 boletos que eles pedem com dígitos verificadores diferentes e aprovaram. Aliás (Juliana), aproveito o post para que verifique a possibilidade de aplicar estas alterações no fonte, caso já não tenham sido feitas, possivelmente irá ajudar muitos usuários. Depois delas já consegui homologar, além da CEF o BB e Itaú e estou no aguardo do SICREDI, mas ao que tudo indica vai passar. As alterações principais solicitadas nas homologações foram no layout mesmo, pouca coisa. A linha "corte aqui" abaixo do código de barras, foi o que resolveu, mas veio a ressalva). O ideal seria posicionar a 12mm, o que ainda irei fazer. Segue as alterações dos fontes novamente. Agradeço a todos que interagiram e se dispuseram a ajudar. ACBrBancoBrasil.pas ACBrBancoCaixa.pas ACBrBoleto.pas ACBrBoletoFCFortesFr.dfm ACBrBoletoFCFortesFr.pas
  6. Boa noite. O Banco ainda não deu o retorno. Assim que retornarem vou postando aqui.
  7. Bom dia pessoal, estou tendo problemas com a homologação do Boleto impresso na Caixa Econômica Federal - SIGCB. A principal é o layout que estou modificando e assim que homologar posto o arquivo a quem interessar. Antes da modificação do Layout foram necessárias duas pequenas alterações nos fonte, que ao meu ver não vão interferir nos outros bancos, mas segue sugestão para análise, e se possível que seja adicionada ao projeto. O aceite tem que ser "A" e não "S". Também existe mais uma opção possível em outros Bancos que é a "B", Banco do Nordeste. No arquivo ACBrBoleto.pas, na linha: TACBrAceiteTitulo = (atSim, atNao); Modificar para: TACBrAceiteTitulo = (atSim, atNao, atAceite, atBNao); No arquivo \FC\Fortes\ACBrBoletoFCFortesFr.pas (aqui uso somente fortes) mudar a linha: txtAceite.Caption := IfThen((atSim = Titulo.Aceite), 'A', 'N'); para: case Titulo.Aceite of atSim : txtAceite.Caption := 'S'; atNao : txtAceite.Caption := 'N'; atAceite : txtAceite.Caption := 'A'; atBnao : txtAceite.Caption := 'B'; end; O mesmo para a linha com txtAceite2.Caption. Outro problema sempre me ocorreu (em qualquer banco),é a duplicação das instruções, principalmente quando se usa os campos abaixo Titulo.PercentualMulta e Titulo.ValorMoraJuros. No arquivo \FC\Fortes\ACBrBoletoFCFortesFr.pas removendo a linha (: ACBrBoletoFC.ACBrBoleto.AdicionarMensagensPadroes(Titulo,MensagemPadrao); Esta duplicação não ocorre (efetuei o teste pelo demo). Segue sugestões, caso não interfiram no componente seriam bem vindas. Obrigado a todos.
×
×
  • 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...