Ir para conteúdo
  • Cadastre-se

Daniel Simoes

Fundadores
  • Total de ítens

    26.897
  • Registro em

  • Última visita

  • Days Won

    755

Tudo que Daniel Simoes postou

  1. SIM... devo lançar a 0.9.2 em breve... Mas vamos lá... qual foi a dificuldade que você teve com o Lazarus ? Seria bom você mesmo conseguir compilar o ACBrMonitor... com isso vc poderá se beneficiar das melhorias implementadas no SVN
  2. Você já estudou o Demo da pasta \ACBr\trunk\Exemplos\ACBrTEFD Porém, antes de tudo, é fundamental ler o Guia do Gerenciador Padrão (mesmo para quem vai homologar Dedicado) http://www.softwareexpress.com.br/ArqCl ... efdial.htm
  3. Finalmente consegui um tempo para me dedicar a essa questão... Apliquei uma modificação no ACBrECF.pas, que verifica se o Gerencial foi fechado, caso a impressão da Linha do Gerencial falhe... e se for o caso, Abre um novo gerencial e continua com a Impressão... o método ficou: procedure TACBrECF.LinhaRelatorioGerencial(const Linha: AnsiString; const IndiceBMP: Integer); Var Texto, Buffer : String ; Lin : Integer ; SL : TStringList ; Procedure TentaImprimirLinhas( Texto: AnsiString; IndiceBMP: Integer ) ; var Est : TACBrECFEstado ; OldTimeOut : LongInt ; begin ComandoLOG := 'LinhaRelatorioGerencial( "'+Texto+'", '+IntToStr(IndiceBMP)+' )'; try fsECF.LinhaRelatorioGerencial( Texto, IndiceBMP ) ; except // Não conseguiu imprimir ? Verifique se o relatório foi fechado pelo ECF // OldTimeOut := TimeOut; TimeOut := max(TimeOut,5); // Tenta ler o Estado por 5 seg ou mais try Est := Estado; // Lendo o estado do ECF if Est = estLivre then begin // Está Livre, provavelmente foi fechado por longo tempo de // impressao... (O ECF é obrigado a fechar o Gerencial após 2 // minutos de Impressão). Vamos abrir um Novo Gerencial e Tentar // novamente AbreRelatorioGerencial(fsIndiceGerencial); fsECF.LinhaRelatorioGerencial( Texto, IndiceBMP ); end ; finally TimeOut := OldTimeOut; end ; end ; end ; begin if MaxLinhasBuffer begin ComandoLOG := 'LinhaRelatorioGerencial( "'+Texto+'", '+IntToStr(IndiceBMP)+' )'; fsECF.LinhaRelatorioGerencial( Texto, IndiceBMP ) ; end else begin Texto := '' ; Buffer := AjustaLinhas(Linha, Colunas) ; SL := TStringList.Create ; try SL.Text := Buffer ; For Lin := 0 to SL.Count - 1 do begin Texto := Texto + SL[Lin] + sLineBreak; if (Lin mod MaxLinhasBuffer) = 0 then begin TentaImprimirLinhas( Texto, IndiceBMP ) ; Texto := '' ; end ; end ; if Texto '' then TentaImprimirLinhas( Texto, IndiceBMP ) ; finally SL.Free ; end ; end ; {$IFNDEF CONSOLE} if MemoAssigned then begin fsMemoOperacao := 'linharelatoriogerencial' ; Buffer := AjustaLinhas( Linha, fsMemoColunas) ; MemoAdicionaLinha( Buffer ); end ; {$ENDIF} end; [/code] Já está "comitado" no SVN
  4. Vc não pode vincular uma forma de pagamento a uma bandeira específica... os homologadores vão pedir para vc mudar isso... e ainda tem outra questão... - E se os 2 clientes tiverem VISA ? - E se o estabelecimento aceitar mais cartoes que o limite das formas de pagamento (O SiTEF aceita mais de 100 tipos de cartões) A forma de pagamento dever ser genérica... algo como: CARTAO TEF
  5. Forneça mais dados... Qual a versão do ACBr ? Qual a versão da sua IDE ? Qual é o modelo e versão do ECF ?
  6. Oi Andrews, Me desculpe pela demora na resposta... Acho que seria traumático mudar isso novamente... a não ser que na PPLB seja necessário o uso de Strings... Achei melhor mudar para Integer, para garantir que a passagem de parâmetros seja facilmente mais acertada... Em relação a PPLA... inseri a seguinte rotina: function TACBrETQPpla.ConverteMultiplicador(Multiplicador : Integer) : String ; begin if (Multiplicador >= 0) and (Multiplicador Result := IntToStr(Multiplicador) else if Multiplicador Result := chr(Multiplicador+55) //Ex: 10 + 55 = 65 = A else Raise Exception.Create(ACBrStr('Informe um valor entre 0 e 24 para Multiplicador')); end ; [/code]
  7. A meu ver sua lógica está incorreta... A cada forma de pagamento informada, é necessário abrir consulta TEF para verificar se ela é válida... Mas recomendo que você ligue nas homologadoras e faça uma consulta...
  8. Os Pacotes mudaram completamente... Veja o arquivo LEIA-ME.TXT O ACBrTEFD pode ser usado com o ACBrECF ou com as DLLs dos fabricantes... basta você programar corretamente os eventos
  9. A Synapse e Lazarus "casam" muito bem... é o substituto natural para quem usa Indy Vc poderia usar a Synapse com Web_Service_Toolkit para fazer múltiplas-camadas usando WebServices Sobre conexão segura com a Synapse veja essa página: http://www.ararat.cz/synapse/doku.php/p ... tcpwithssl
  10. Caso relacionado: http://www.djsystem.com.br/acbr/mantis/view.php?id=845
  11. É comum usar PChar em DLLs, pois devemos informar o início do Buffer onde a DLL irá ler/escrever, ou seja, um ponteiro para o inicio da String, e a String deve ter o tamanho suficiente (já alocado) para que a DLL possa escrever em sua área de memória com segurança.... No D2010 a tradução natural de PChar seria PAnsiChar... portanto para mim parece estar correto...
  12. Provavelmente é um problema no sensor de Papel... isso é muito comum... Teste com o Emulador, e verifique que essa propriedade funciona corretamente...
  13. Daniel Simoes

    Daruma x pansichar

    Olá pessoal, Alguem está tendo problemas nos métodos ArquivoMFD_DLL e EspelhoMFD_DLL com a Daruma ? Recebi o seguinte e-mail... mas não apliquei por achar que poderia causar problemas nos usuários de D2010 Segue em anexo o arquivo modificado pelo Rómulo ACBrECFDaruma.zip
  14. Informação interessante... Parece coisa de um futuro distante... mas está próxima de se tornar uma realidade...
  15. Acho que é mais simples usar algum programa utilitário do próprio fabricante, pois isso deve ser feito apenas uma única vez...
  16. Carlos, Agradeço a sua ajuda... e entendo o seu comentário sobre a falta de retorno do ACBrBoleto... Estou entrando em contato com a equipe atual do ACBrBoleto, para ver se temos algum progresso... Ajudei na formatação das Classes do ACBrBoleto, e em algumas outras tarefas pontuais... mas fico pouco a vontade quando se trata de lay-out de banco, formatação dos códigos etc... pois li muito pouco sobre os manuais dos bancos... por isso não me sinto a vontade para analisar as mudanças sugeridas... mas enfim... precisamos de uma equipe mais atuante... e vou procurar corrigir isso...
  17. Ricardo, Finalmente consegui um tempo para analisar as modificações... Apliquei a propriedade: AssinarArquivo : Boolean, mas fiquei na dúvida quando ao campo COO_DFV ... Acredito que o colega Isaque possa nos ajudar aqui Vc tem algum link para o documento que mostre que esse campo não deva existir no Lay-out ?
  18. Grande Fernando... Parabéns... e obrigado pela sua ajuda no ACBr... Humm.. Acho que precisamos criar novamente o tópico de Casos de Sucesso com o ACBr...
  19. Rafael, Para que eu possa investigar o fato, preciso de um passo a passo em como reproduzir o problema... Exemplo: 1 - Abra o ACBrMonitor 2 - Clique em ativar o ECF. 3 - Clique na aba RFD... etc...
  20. Não pode isso é contra a lei... seria semelhante a uma falsificação de documentos, ou seja, vc iria informar para o fisco algo que não é o real...
  21. Como você conseguiu fazer 2 cupons Vinculados nesse ECF ? pois esse modelo não permite 2 vinculados usando a mesma forma de pagamento (mesmo que tenha ocorrido 2 pagamentos para o cupom anterior) Você está usando AutoEfetuarPagamento := True ? Se SIM, recomendo usa-lo como False... pois nesse caso, o componente irá somar todos os pagamentos em apenas 1 operação, e imprimir todos os comprovantes de cartão em apenas um Vinculado, isso minimiza muito problemas como este...
  22. Você pode programar o evento ACBrECF1.OnMsgPoucoPapel procedure TForm1.ACBrECF1MsgPoucoPapel(Sender : TObject) ; Var OldTecladoBloqueado : Boolean ; begin OldTecladoBloqueado := ACBrTEFD1.TecladoBloqueado; try ShowMessage('ATENÇÃO. Detectada proximadade do fim da Bobina'); finally ACBrTEFD1.BloquearMouseTeclado(OldTecladoBloqueado); end ; end; [/code]
  23. Humm.... Que coisa... um bug induzido nos fontes realmente o problema ocorrerá sempre que o valor for -2... Vou aplicar a correção proposta pelo Rodrigo
  24. Não compreendi corretamente o último relato... O ACBrMonitor é encerrado abruptamente ? Você poderia fornecer passos para a reprodução do problema ? (SIM, o arquivo RFD é gerado a cada Redução Z)
  25. Qual é linguagem de Etiqueta suportada por essa Impressora ? PPLA / PPLB / ZPL ?
×
×
  • 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.