Ir para conteúdo
  • Cadastre-se

Daniel Simoes

Fundadores
  • Total de ítens

    29.331
  • Registro em

  • Última visita

  • Days Won

    781

Tudo que Daniel Simoes postou

  1. Experimente apagar os BPLs do ACBr e recompilar novamente...
  2. Tente reproduzir o problema no programa Demo do ACBrBoleto, disponível na pasta Exemplos... A única maneira de conseguirmos analisar, e nós mesmos nos deparando com o problema...
  3. Bom que vc conseguiu corrigir... mas pena que não deu tempo de fazer durante a homologação... Obrigado pelo retorno...
  4. Acho que não... os tipos mais modificados são ShortDateFormat e DecimalSeparator Se no D7 pudermos modificar: ShortDateFormat -> FormatSettings.ShortDateFormat DecimalSeparator -> FormatSettings.DecimalSeparator acho que resolve o problema, e de quebra removemos vários Warnings da compilação... (Vou testar)
  5. ilsousa, Nem todas as classes de ECF usam "dd/mm/yy"... ou seja, o seu código ainda pode "quebrar"
  6. Uma possível correção seria: {$IFDEF DELPHIXE_UP}FormatSettings.{$ENDIF}ShortDateFormat := 'dd/mm/yy' ; {$IFDEF DELPHIXE_UP}FormatSettings.{$ENDIF}DateSeparator := '/' ; Em muitos lugares o código existente poderia ser substituído por uma chamada a ACBrUtil.StringToDateTime Mesmo assim daria um trabalho insano...
  7. O Lazarus já sinaliza o uso direto dos registradores de TFormatSetting como depreciado, ou seja a mudança seria compatível com o Lazarus O problema são as IDEs Delphi inferiores ao XE2
  8. Pode ser isso... no XE2, mudou o tratamento a todos "FormatSettings"... Pelo que analisei rapidamente... em vários pontos do código podem haver problemas... pois em vários momentos é usada a modificação de ShortDateFormat
  9. Qual a versão do seu Delphi ? O que vc está fazendo já é (ou deveria ser) feito pela function ACBrUtil.StringToDateTime Function StringToDateTime( const DateTimeString : String; const Format : String = '') : TDateTime ; Var OldShortDateFormat, AStr : String ; begin OldShortDateFormat := ShortDateFormat ; try if Format <> '' then ShortDateFormat := Format ; AStr := Trim( StringReplace(DateTimeString,'/',DateSeparator, [rfReplaceAll])) ; AStr := StringReplace(AStr,':',TimeSeparator, [rfReplaceAll]) ; Result := StrToDateTime( AStr ) ; finally ShortDateFormat := OldShortDateFormat ; end ; end ;
  10. Apliquei a seguinte modificação nos fontes do SVN: Por favor atualize e teste...
  11. Qual a sua sugestão para correção ? Por favor anexe a unit corrigida alterada...
  12. Infelizmente não tenho o FastReport para testar... Lembrando que no Demo em Delphi (original) existe apenas opções para impressão em Fortes Report e Quick Report
  13. Sim, tomando o cuidado para desprezar as informações inválidas (que o ECF não retornou) em DadosUltimaReducaoZ
  14. Você deve usar a leitura de DadosReducaoZ instantes antes de emitir a Z... e está correto o procedimento de somar 1 ao CRZ e COO Esse método é mais seguro, pois ele lê cada registrador/totalizador individualmente Após a Z todos os registrador/totalizador são todos zerados.. então chamar DadosReducaoZ não funcionará... Após a Z use DadosUltimaReducaoZ. Esse método usa comando específico do ECF para retornar em um "linguição de dados" as informações da última Z emitida... Porém, a informação retornada depende muito de cada fabricante... e muitos dos registradores/totalizadores não são retornados, por isso eles são preenchidos na Classe como "-1" ou "" (vazio) O ideal é usar ambos os métodos... e fazer uma mesclagem com as informações de ambos, dando preferência a informação de DadosUltimaReducaoZ (caso ela exista)
  15. Pelo que entendi vc quer fazer uma remessa para o Banco.. e não a impressão do Boleto... Você sabe qual o campo que o Banco permite que você informe as Observações na remessa ? Ele não consta no LayOut que o ACBrBoleto gera ? Não funcionou usando Mensagem.Text ?
  16. Enviado para o SVN... obrigado pela correção...
  17. Provavelmente o PATH está errado ou sendo modificado em tempo de execução ... Tente com o Demo do ACBrBoleto em: \ACBr\Exemplos\ACBrBoleto
  18. Vc poderia fazer um relatório de acompanhamento do Boleto... Você imprime seu relatório demonstrativo em meia página, e o boleto que faz cobrança no resto da página...
  19. Tente usar o componente de Impressão em Fortes Report (o Fortes Report é OpenSource) Se funcionar nele... podemos ter um bug no impressor em QuickReport
  20. Já analisaram a aplicação Demo em: \ACBr\Exemplos\ACBrBoleto ?
  21. Juliana, Como está no manual do Banco ? Existem vários formatos de arquivo para este Banco ?
  22. Perfeito isso mesmo... Removemos a DirArqPDF_HTML pois ela mais confundia do que ajudava.... e nem todas as units de Impressão de boleto faziam uso dela...
  23. Vc programou o evento ACBrTEFD1.OnComandaECFSubtotaliza ? Estude (com muita atenção) os fontes do TEFDDemo... Veja o exemplo abaixo... Observe que ele recebe o Desconto que foi enviado pelo TEF (DescAcre), que deve ser aplicado na Subtotalização do cupom, juntamente com o Seu Desconto (se houver) (MeuDescAcres no exemplo abaixo) procedure TForm1.ACBrTEFD1ComandaECFSubtotaliza(DescAcre: Double; var RetornoECF: Integer); Var Est : TACBrECFEstado ; MeuAcresDesc : Double ; begin Memo1.Lines.Add('ComandaECFSubtotaliza: DescAcre: ' + FormatFloat('0.00',DescAcre) ); MeuAcresDesc := StringToFloatDef( edValorDescAcre.Text, 0 ); try Est := ACBrECF1.Estado; if Est = estNaoFiscal then ACBrECF1.SubtotalizaNaoFiscal( DescAcre + MeuAcresDesc, 'Projeto ACBr|http://acbr.sf.net' ) else ACBrECF1.SubtotalizaCupom( DescAcre + MeuAcresDesc, 'Projeto ACBr|http://acbr.sf.net' ); { Remove o Desconto pois já foi aplicado, caso contrário iria influenciar o retorno de ineSubTotal } edValorDescAcre.Text := '0,00'; RetornoECF := 1 ; except RetornoECF := 0 ; end; end;
  24. Os novos ECFs possuem Arredondamento por Item... Tente: ACBrECF1.ArredondaItemMFD := True (antes de vender o Item) Se o ECF não suportar nenhuma maneira de arredondamento... Tente: ACBrECF1.ArredondaPorQtd := True (observe que essa propriedade altera a QTD enviada para o ECF)
  25. Qual o nome do contador exatamente ? Se for o CCF ele está implementado sim, em ecfSwedaSTX function TACBrECFSwedaSTX.GetNumCCF: String; begin Result := Trim(copy( RetornaInfoECF( 'A4' ), 21, 6)) ; end;
×
×
  • 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...