Ir para conteúdo
  • Cadastre-se

Valdir Dill

Membros Pro
  • Total de ítens

    950
  • Registro em

  • Última visita

  • Days Won

    5

Tudo que Valdir Dill postou

  1. Boa tarde, A linha 2.114 (rotina abaixo) da AcbrBoleto.pas está gerando um valor de multa com arredondamento, o que está gerando rejeição da homologação dos boletos pelo banco. ACBrStr('Cobrar multa de ' + FormatCurr('R$ #,##0.00', IfThen(MultaValorFixo, PercentualMulta, ValorDocumento*( 1+ PercentualMulta/100)-ValorDocumento)) + ' para pagamento'+ IfThen(DataMulta = Vencimento, ' após o vencimento.', ' a partir de '+ FormatDateTime('dd/mm/yyyy',DataMulta))) Num exemplo prático de um título com valor de R$ 2,75, se informarmos um percentual de multa de 2%, o cálculo exato seria R$ 0,055. Mas esse formato de cálculo utilizado pelo ACbr (nessa linha acima) gera um valor de R$ 0,06 e que é impresso nas instruções do boleto. Isso está gerando rejeição de homologação do Santander. O motivo que alegam é que no arquivo remessa vai só o percentual da multa de 2% e, como o sistema do banco não faz o arredondamento, ou seja, o valor de 2,75 x 2% = 0,05, fica inconsistente. Como eu poderia proceder nesse caso? Obrigado.
  2. Boa tarde, Também estou com esse problema. Não sei se é alguma coisa no Acbr que mudou, pois até semana passada não fazia isso. E não é o Gmail o problema, pois testei tanto com Gmail com outros servidores e acontece a mesma coisa. Ele vai como anexo e também como texto no corpo do e-mail. Obrigado.
  3. O VFormats.ShortDateFormat que postei inicialmente está errado. O correto é VFormats.ShortTimeFormat. Bom dia, Consegui uma solução. O problema ocorria porque GetLocaleFormatSettings(LOCALE_USER_DEFAULT, VFormats) traz sempre todo o texto em minúsculo. Aí não tem como avaliar se está configurado para 12 horas (hh:mm) ou para 24 horas (HH:MM). A solução é ler diretamente no registro. Deixo a função para quem sabe ajudar outros. class function TFuncPubl.GetHoraCurtaFormat : String; Var VReg : Tregistry; begin //não pode usar o GetLocaleFormatSettings( aqui pqe essa função retorna sempre tudo em minúsculo. Aí sempre daria erro. result := 'HH:MM'; //para se der erro retornar o correto do GFIL. VReg := TRegistry.Create; try VReg.RootKey := HKEY_CURRENT_USER; VReg.OpenKey('Control Panel\International', false); result := VReg.ReadString('sShortTime'); finally FreeAndNil(VReg); end; end; Tópico resolvido. Obrigado.
  4. Bom dia, Estamos tendo rejeições de NFCes por problema de padrão de hora configurada incorretamente no Windows do usuário. Ele tem configurada a hora no padrão 12 horas ao invés do padrão 24. Aí ele gera uma nota no sistema às 15:00, mas no XML acaba indo 03:00 horas, o que logicamente, será incorreto e gerará a rejeição. A minha pergunta/questão é: existe alguma rotina em Delphi para se verificar se a hora está no padrão 12/24? Se existir, o sistema poderia verificar e impedir que o usuário tomasse rejeição por esse motivo. Tentei algo assim: Var VFormats : TFormatSettings; begin GetLocaleFormatSettings(LOCALE_USER_DEFAULT, VFormats); if VFormats.ShortDateFormat = 'HH:MM' then ShowMessage('Está no formao 24') else if VFormats.ShortDateFormat = 'hh:mm' then ShowMessage('Está no formao 12'). end; Mas isso não funciona. Parece que não é o maiúsculo e minúsculo que define o padrão configurado. Essa rotina acima foi a única coisa que encontrei sobre o assunto nas pesquisa por aí. Se alguém tiver alguma dica... Obrigado.
  5. Bom dia, De fato, era limite excedido. Nem sabia que existia essa cota. Tinha arquivos de 2012 lá, kkkk... Beleza, após limpeza estou enviando o arquivo. Obrigado. Layouts_para_troca_de_informações_03-09-2018.xls
  6. Valdir Dill

    Manaul Bancoob

    Bom dia, O manual do Bancoob disponível no svn está desatualizado. Solicitei e o banco me enviou um atualizado (set/18). Gostaria de enviar o arquivo para que seja atualizado no repositório. Mas, mesmo compactado, ele dá 1,4 mb e aqui só aceita anexos até 860 kb. Como procedo para enviar? Obrigado.
  7. Boa tarde, Fontes atualizados, testados e problema resolvido. Obrigado.
  8. Boa tarde, Fontes atualizados, testados e problema resolvido. Obrigado.
  9. Boa tarde, Estou tendo o erro: "cannot create file "". A sintaxe do nome do arquivo, do nome do diretório ou do rótulo do volume está incorreta" Ocorre ao tentar imprimir o Danfe com ACBrNFeDANFeRL1 -> ACBrNFe1.NotasFiscais.Imprimir Passou a acontecer após a atualização dos fontes ontem. A geração do .pdf (ACBrNFe1.NotasFiscais.ImprimirPDF) e também da impressão em vídeo, ou seja, com ACBrNFeDANFeRL1.MostraPreview = true, nessas duas opções o erro não ocorre. Acontece somente quando direciona a impressão diretamente para impressora. Pensei que pudesse ser algo na impressora, mas deu erro em 3 clientes diferentes. Alguma sugestão? Obrigado.
  10. Ok, entendido. De toda forma, o manual do Bancoob disponível no svn está desatualizado. Como mencionei, tenho o atualizado aqui. Só não sei como enviar. Em relação ao tópico, está resolvido. Obrigado.
  11. Ok, ficou claro agora. Resolvido. Obrigado.
  12. Bom dia, Bah, nem me toquei dessa propriedade, rs...Obrigado. Mas então há 2 propriedades para a mesma informação, AgenciaDigito e DigitoVerificadorAgenciaConta? Obrigado.
  13. Bom dia, Estou tendo uma rejeição do Sicoob no arquivo remessa cnab240. A rejeição ocorre porque na linha do Header, coluna 72, o Acbr está colocando espaço. Mas o correto é 0 (zero). Solicitei o manual para o banco e me enviaram e constatei que de fato houve mudança nesse campo. Nos prints anexos demonstro isso em detalhes. Estou enviando a unit com a correção. Gostaria de também enviar o manual atualizado recebido do banco hoje, mas mesmo compactado ele dá 1,5 mb e não consigo anexar aqui por causa do limite de 860 kb. Se desejarem posso enviar. Me informem como. Obrigado ACBrBancoBancoob.pas
  14. Acho que você não entendeu. Não é que eu informe + 1 em algum lugar. Eu informo vencimento adicionando 1 dia para a data da multa juros. Exemplo: - Vencimento: 30/01/2019 - DataMulta: 31/01/2019 - DataMoraJuros: 31/01/2019 Como você mesmo disse, os juros serão cobrados a partir da data informada no campo DataMoraJuros. Então, se eu informar DataMoraJuros = 30/01/2019, como esse banco está exigindo, o pagador vai pagar juros mesmo que ele quite o boleto no dia do vencimento, o que, logicamente, está errado. Sim, já que esse banco está exigindo isso, vou mudar e colocar como DataMoraJuros = vencimento. Mas a questão é: qual é o correto desse campo? Devo informar DataMoraJuros = vencimento para todos os bancos? Obrigado.
  15. Boa noite, Na geração do arquivo remessa sempre alimentei os campos DataMulta e DataMoraJuros com vencimento + 1. Entendo que seria a data para iniciar a cobrança da multa e juros e mora, ou seja, 1 dia após o vencimento. Nunca tive problemas fazendo dessa forma. Mas agora os arquivos remessa do Sicoob estão sendo rejeitados pelo banco (retorno do banco em anexo) com erro dizendo que que tanto a data da multa como dos juros deve ser a mesma data do vencimento do título. Será que está mesmo correta essa rejeição do banco? Devo mesmo informar o vencimento como data da multa/juros? E para os demais bancos, também deve ser assim? Existe algum padrão/regra geral para essa informação? Procurei nos manuais e não encontrei nada esclarecedor a esse respeito. Obrigado. validador-cnab240-cobranca.pdf
  16. Beleza, esclarecido. Obrigado.
  17. Certo. Pelo debug que fiz nas rotinas do componente, também entendi assim. Mas aí vem outra pergunta: nesse caso, essa duas propriedades (TipoCorte CortaPapel) não seriam desnecessárias? Obrigado.
  18. Bom dia, Estou um pouco confuso em relação a algumas propriedades do ACBrPosPrinter, mais especificamente no corte do papel. Ele tem as propriedades TipoCorte e CortaPapel, certo? Muito bem, por uma questão de lógica eu imaginei que setando a primeira para ctTotal e a segunda para true, quando se executasse a rotina ACBrPosPrinter1.Imprimir(, ocorreria a impressão e logo após ocorreria o corte de papel. Mas nos meus testes isso não aconteceu. Mesmo setando essas duas propriedades, ainda tenho que o alimentar o ACBrPosPrinter1.Buffer.Add('</corte_total>'). Rotina 1: desta forma o corte é acionado: ACBrPosPrinter1.Buffer.Add('Teste de impressão'); ACBrPosPrinter1.TipoCorte := ctTotal; ACBrPosPrinter1.CortaPapel := true; ACBrPosPrinter1.Buffer.Add('</corte_total>'); ACBrPosPrinter1.Imprimir('', True, True, True, 1); Rotina 2: desta forma NÃO é acionado o corte: ACBrPosPrinter1.Buffer.Add('Teste de impressão'); ACBrPosPrinter1.TipoCorte := ctTotal; ACBrPosPrinter1.CortaPapel := true; ACBrPosPrinter1.Imprimir('', True, True, True, 1); Na rotina 2 não deveria acionar o corte? Obrigado.
  19. Bom dia, Fontes atualizados e problema corrigido. Obrigado.
  20. Boa tarde, Na geração do remessa Bancoob (GerarRegistroTransacao240) está gerando a linha 3 (segmento P) com apenas 229 colunas. Aparentemente há um problema na criação da linha a partir da coluna 127. Vide print anexo da unit. Anexo também o arquivo remessa para análise. Obs.: atualizei os fontes agora pouco. Obrigado. cb170101.rem
  21. Bom dia, Beleza, atualizei novamente agora e tudo certo, as mudanças estão presentes. Obrigado. Abraços.
  22. Boa tarde, Essas mudanças já foram upadas para o repositório? Baixei os fontes hoje e os resDFe e chDFe não estão disponíveis para uso. Obrigado.
  23. Bom dia, Testado com novos fontes e tudo certo. Voltou a abrir o .pdf normal. Obrigado.
  24. Boa tarde @Daniel Simoes O problema ocorre tanto com a opção expandido como não expandido. Pelo que verifiquei a linha "if rliLogo.Picture.Bitmap.Empty then" é um método e não uma simples verificação se tem logo ou não. Esse método limpa a logo. Por isso ela não é impressa. Comentei essa linha (712 da ACBrNFeDANFeRLRetrato.pas) e imprimiu o danfe normalmente. Abraços.
  25. Boa tarde, Também estamos com esse problema. Obrigado.
×
×
  • 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.