Jump to content

romerofartura

Usuários SAC
  • Content Count

    8
  • Joined

  • Last visited

Community Reputation

1 Neutral

About romerofartura

  • Rank
    Novato
  • Birthday 12/26/1980

Contact Methods

  • Website URL
    http://www.maisfacilsistemas.com.br

Profile Information

  • Sexo
    Masculino
  • Localização
    Sorocaba

Recent Profile Visitors

375 profile views
  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.
×
×
  • Create New...