Jump to content

Curso Dominando o ACBrMonitor
Novo Módulo Soluções de Varejo
Assine o SAC ACBr em qualquer plano e tenha acesso

Saiba Mais

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba Mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

romerofartura

Usuários SAC
  • Content Count

    11
  • Joined

  • Last visited

Community Reputation

3 Neutral

About romerofartura

  • Rank
    Novato
  • Birthday 12/26/1980

Contact Methods

  • Website URL
    http://www.tadsbr.com

Profile Information

  • Sexo
    Masculino
  • Localização
    Sorocaba

Recent Profile Visitors

474 profile views
  1. Muito obrigado! Não cheguei a ver o comunica na época. Resolvido, pode fechar o tópico.
  2. Bom dia, após a atualização do componente a DANFE passou a imprimir descentralizada, está bem para a esquerda. Fiz o teste em mais de um equipamento inclusive em equipamentos de clientes e todos apresentaram a mesma impressão fora do centro. Seria algum problema no componente ou configuração que agora passou a ser necessária? Obrigado. 35200413251001000150550010000009501613053625.pdf
  3. Bom dia! O arquivo de remessa CNAB 240 do SICREDI de um cliente nosso estava sendo rejeitado quando tentava usar o "tipo de Documento" como "DSI" o componente estava alterando para 99 "Outros" e no caso da conta ou carteira dele acontece a rejeição. Fiz alteração na Unit e enviei o arquivo para o banco e foi validado. Estou disponibilizando para conferência pelos administradores e posterior publicação se possível. Unit ACBrBancoSicredi.pas em GerarREgistroTranscacao240. Tenho o manual do banco caso precise, mas como é maior que 2mb não consigo postar aqui. De acordo com o Layout enviado pelo SICREDI, as opções de "Espécie do Título" são: '03' = DMI duplicata mercantil por indicação '05' = DSI duplicata de serviço por indicação '06' = DR duplicata rural '07' = LC letra de câmbio '12' = NP nota promissória '13' = NPR nota promissória rural '16' = NS nota de seguro '17' = RC recibo '19' = ND nota de débito ‘32’ = Boleto Proposta '99' = Outros //Código REMOVIDO {Espécie} {if (EspecieDoc = 'DM') then Especie := '03' else if (EspecieDoc = 'DMI') then Especie := '03' else Especie := '99';} //Código ADICIONADO case AnsiIndexStr(EspecieDoc, ['DMI', 'DSI', 'DR', 'LC', 'NP', 'NPR', 'NS', 'RC', 'ND', 'BP']) of 0 : Especie := '03'; //DMI duplicata mercantil por indicação 1 : Especie := '05'; //DSI duplicata de serviço por indicação 2 : Especie := '06'; //DR duplicata rural 3 : Especie := '07'; //LC letra de câmbio 4 : Especie := '12'; //NP nota promissóri 5 : Especie := '13'; //NPR nota promissória rural 6 : Especie := '16'; //NS nota de seguro 7 : Especie := '17'; //RC recibo 8 : Especie := '19'; //ND nota de débito 9 : Especie := '32'; //Boleto Proposta else Especie := '99'; //Outros end; ACBrBancoSicredi.pas
  4. 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.
  5. 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.
  6. 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;
  7. 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.
  8. 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
  9. Boa noite. O Banco ainda não deu o retorno. Assim que retornarem vou postando aqui.
  10. 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...