Ir para conteúdo
  • Cadastre-se

Daniel Simoes

Fundadores
  • Total de ítens

    27.596
  • Registro em

  • Última visita

  • Days Won

    766

Tudo que Daniel Simoes postou

  1. Infelizmente não uso o QuickReport... e portanto não sei o que poderia ser ajustado... Se descobrir algo, por favor notifique aqui mesmo...
  2. Por favor pesquise antes de postar viewtopic.php?f=5&t=1740
  3. O SAT ou CFe, praticamente elimina a homologação PAF-ECF... São mundos totalmente diferentes... mas o fisco é criativo... e quem sabe no futuro exigirão PAF-SAT
  4. O FasTEF é o SiTEF, porém distribuído pela DataRegis... A DataRegis fará toda a intermediação do seu processo de homologação (sem custos), e em troca, vc sempre oferecerá o SiTEF através deles (FastTEF)...
  5. Hoje o SiTEF tem um custo fixo de + ou - R$ 300,00... não precisa mais de X25 ou aluguel do servidor SiTEF Basta vc usar um integrador SiTEF, como por exemplo a DataRegis.. veja esse link: http://www.dataregis.com.br/fasttef.shtml
  6. Para empresas com 1 PDV o V&SPague tem um plano ideal... com um custo mensal muito baixo... Já com 3 ou mais PDVs o SiTEF leva vantagem, pois não tem limite de transações nem de Terminais... O Pay&Go é mais caro que o SiTEF, e é recomendado apenas se a aplicação não suporta TEF dedicado (pois é compatível com a estrutura do discado)... O discado é o pior de todos... é caro pela baixa qualidade que oferece... e não esqueça de por na conta os custos de Telefonia (Conta + Pulsos) Ainda pretendo homologar o V&SPague para focar os pequenos, e substituir de vez o discado dos meus clientes....
  7. Edson, Acompanhe os históricos de atualização através dos arquivos ACBrxxx-Chage-Log.txt (em cada pasta dos fontes) Você tb pode usar o TortoiseSVN para comparar os fontes atuais com a qq outra versão anterior...
  8. Vc poderia ancorar os componentes Left/Right para que eles se ajustem ao tamanho da tela... mas isso não mudaria a fonte... No meu caso, fiz um editor de Skins, onde posiciono os componentes visualmente, e esse programa gera um .INI com as coordenadas e características de cada componente (uma re-invenção do .DFM )
  9. Isso realmente ocorre... Vc precisa cancelar a transação TEF independente de ter tido sucesso na comunicação com o ECF... O que geralmente é feito... e verificar o estado do ECF antes de iniciar uma nova venda... Ou seja, apenas quando realmente for necessário vc se preocupa com o estado do ECF... E se o estado não for livre, vc trata o documento em aberto... No ACBrECF o método CorrigeEstadoErro já faz isso
  10. - Experimente remover o Path do nome do arquivo... Deixe apenas: "nomearquivo.so" - O que é "SharedSuffix" ? Lembre-se que o Linux é CaseSensitive, ou seja, o nome deve ser idêntico ao do arquivo - No Lazarus/FPC, Tenho usado o método: dynlibs.LoadLibrary(LibName) ; - Tenha certeza de que a Lib está em algum diretório do LibPath do Linux (apenas os .SO existente nos diretórios previamente autorizados são carregados) (provavelmente /usr/lib é correto) - Verifique se essa LIB depende de outras (que ainda não foram instaladas)... tente o comando: ldd "nomearquivo.so"
  11. Isso realmente acontece... (pois os dados foram lidos antes)... o mesmo será verdade para o CRZ... basta vc lembrar disso e adicionar +1
  12. Acho que é a hora de aposentar essa IF do código function TACBrECFBematech.GetTotalPago: Double; begin { O Bug no comando 35 + 22 ainda persiste na versao 010101... Enquanto nao obter uma correção da Bematech vou ignorar o uso do 35+22 na MPTH e MP25 } if fs25MFD then // if NumVersao = '010000' then Result := fsTotalPago else Result := StrToFloatDef( RetornaInfoECF( '22' ),0 ) / 100 ; end;[/code] para simplesmente: [code] function TACBrECFBematech.GetTotalPago: Double; begin Result := StrToFloatDef( RetornaInfoECF( '22' ),0 ) / 100 ; end;
  13. Consegui resolver o problema, lendo direto o Flag de Tipo de documento... function TACBrECFBematech.GetSubTotal: Double; Var RetCmd : AnsiString ; B2 : Integer ; ENaoFiscal : Boolean ; begin ENaoFiscal := False; if fpMFD then begin RetCmd := RetornaInfoECF( '65' ) ; B2 := ord( RetCmd[1] ) ; ENaoFiscal := TestBit( B2 ,0) ; end ; if not ENaoFiscal then begin BytesResp := 7 ; RetCmd := BcdToAsc( EnviaComando( #29 ) ) ; end else RetCmd := RetornaInfoECF('66') ; Result := StrToFloatDef( RetCmd, 0) / 100 ; end; [/code] O problema porém agora foi transferido para o método [b]GetTotalPago[/b]... ao que parece a Bematech não tem um registrador que informe o total já pago em um comprovante não fiscal
  14. Em um IF acima ele faz o teste de Visible... deve ser o suficiente para o Delphi.. mas no caso do FPC, ainda é possível saber se o controle está realmente sendo pintado... Por exemplo: IsVisible pode ser False, se um TTabShet está oculto...
  15. Realmente essa propriedade não existe no Delphi.. deve ser exclusiva do lazarus/FPC... Inseri um IFDEF... por favor atualize e verifique se resolve...
  16. A modificação é recente... estou verificando se no Delphi não existe essa propriedade (IsVisible)
  17. podemos usar uma variável private... (na Daruma é usado isso pois em alguns casos não é possível detectar o estado de pagamento) Mas isso só funciona enquanto o Flag estiver na memória... ou seja, sair e carregar novamente o programa, o flag perderá o valor...
  18. Estranho, pois não há modificação no tipo de código de Barras usado pelo Gerador em Quick por Banco... Ou seja, todos os Bancos usam o mesmo formato de código de barras.... e não temos reclamação semelhante de outros bancos Imprima um boleto com outro programa, com os mesmos dados, e verifique se realmente há diferença Tente tb em outra impressora...
  19. Por favor tente mudar para: ANossoNumero := OnlyNumber(NossoNumero);
  20. Em qual linha do código, e de qual Unit ocorre o erro ? Qual banco / carteira, etc ?? Não há uma homologação do componente... cada conta de cliente em que vc solicitar a impressão do Boleto precisará solicitar a homologação novamente diretamente com o banco...
  21. Pode ser que ajude... O método abaixo calcula um Hash baseado em todos os campos de um DataSet, menos os campos informados na lista de Campos a ignorar Uses ACBrUtil ; ... function CalcHashDataSet(const ADataSet : TDataSet ; Chave : AnsiString = ''; IgnoreFields : TSetOfByte = [] ) : Word ; var NFields, I : Integer; Buffer : AnsiString ; begin Buffer := ''; Result := 0; NFields := ADataSet.FieldCount - 1 ; For I := 0 to NFields do begin if (not (I in IgnoreFields)) and (LowerCase( ADataSet.Fields[I].FieldName ) 'hash') then Buffer := Buffer + ADataSet.Fields[I].AsString; end ; if Chave '' then Buffer := StrCrypt( Buffer, Chave ); Result := StringCrc16( Buffer ) ; end; [/code] Exemplo: sqlDocumento.FieldByName('HASH').AsInteger := CalcHashDataSet(DataSet, 'SuaChave' );
  22. Não... Atualmente o ACBr não faz comunicação com nenhum micro-terminal por TCP/IP
  23. Veja na Unit ACBrBoleto.pas o seguinte método: procedure TACBrBanco.SetNumero(const AValue: Integer); begin if fNumeroBanco = AValue then exit; fBancoClass.Free; case AValue of 001 : fBancoClass := TACBrBancoBrasil.create(Self); 033,353,008 : fBancoClass := TACBrBancoSantander.create(Self); 041 : fBancoClass := TACBrBanrisul.create(Self); 104 : fBancoClass := TACBrCaixaEconomica.create(Self); 237 : fBancoClass := TACBrBancoBradesco.create(Self); 341 : fBancoClass := TACBrBancoItau.Create(self); 389 : fBancoClass := TACBrBancoMercantil.create(Self); 748 : fBancoClass := TACBrBancoSicredi.Create(self); 756 : fBancoClass := TACBrBancoob.create(self) else fBancoClass := TACBrBancoClass.create(Self); end; fNumeroBanco := AValue; end; [/code]
  24. Veja as instruções de instalação do Fortes... Acredito que a página oficial seja: http://sourceforge.net/projects/fortesreport/
  25. Cada banco tem suas próprias peculiaridades.... Por favor seja mais específico no problema... O componente não lê um arquivo de Retorno que é lido com sucesso por outro programa ?
×
×
  • 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.