Ir para conteúdo
  • Cadastre-se

Daniel Simoes

Fundadores
  • Total de ítens

    27.038
  • Registro em

  • Última visita

  • Days Won

    758

Tudo que Daniel Simoes postou

  1. provavelmente vc está informando a resposta errada... (notei que está tudo '0')... entenda, a variável "Resposta" deve conter o que o usuário digitaria
  2. O que não funcionou ? Ao que parece vc continua fazendo a abertura do form ShowModal, mesmo já tendo a resposta que deseja... corrija isso...
  3. Você poderia usar um Servidor FTP, e a biblioteca Synapse ou Indy fariam o "Client" do FTP... Mas isso só iria transferir o arquivo, provavelmente vc precisará de um programa "robô" do lado do Servidor para detectar a chegada do arquivo e integra-lo a base principal
  4. Durante a homologação, vc precisa realmente exibir novamente as Telas, caso contrário eles irão solicitar isso... Mas depois, basta você verificar o Tipo do campo que chega no evento OnObtemCampo e atrabuir manualmente a resposta a ele... Exemplo: case TipoCampo of 504 : // Taxas de Servico e Taxa de Embarque begin Digitado := True; VoltarMenu := False; Resposta := '0,00' ; end ; else [/code]
  5. Oi JMC, Sim, ela existe Entre em contato diretamente com o pessoal da V&SPague - http://www.vespague.com.br/ Acredito que sejam necessários pequenos ajustes no ACBrTEFD para homologar com o V&SPague... Eu estava pretendendo realizar minha homologação com eles, mas acabei adiando por ter assuntos mais urgentes (sempre tem algo que fura a fila) Se precisar de alguma ajuda com os ajustes no ACBrTEFD é só postar aqui no forum
  6. Por esse motivo, que eu acabei optando por "bufferizar" todas as formas de pagamento em Cartão de Crédito (TEF), e deixo a cargo do componente ACBerTEFD imprimir a somatória delas em uma única forma de pagamento, e na sequencia, abre-se um vinculado e imprime todos os comprovantes, de todas as transações pendentes, dentro do mesmo vinculado... Assim o cancelamento de cupom sempre funciona...
  7. Certifique-se de que você tem a última versão dos fontes no SVN, e siga as intruções do arquivo: LEIA-ME.TXT
  8. Tópico dividido para uma melhor compreensão...
  9. Lucio, SIM, basta substituir o .EXE... mas gerar o instalador é bem simples... vc precisará compilar o programa ECFTeste da pasta: \ACBr\trunk\Exemplos\ACBrECF\Lazarus e copia-lo para a mesma pasta do ACBrMonitor... depois disso, Use o InnoSetup para compilar o script ACBrMonitor.iss Cada pasta de conjunto de componentes tem um arquivo ACBr***-Change-Log.txt (embora em tenha esquecido de atualizar o change-log do ACBrSerial )
  10. Tente uma compilação completa com Clean Entre em Tools -> Configure Build Lazarus. Selecione a opção "Clean Up + Build All" e marque a caixa "Clean All" em Target OS (abaixo)... depois disso clique no botão "Build" e aguarde
  11. Implementei as novas propriedades na Epson... mas assim como na Bematech não encontrei a CCDC
  12. Oi Elton, Acho que seria bom anexar uma mini explicação sobre a finalidade de cada um desses registradores novos... Pois alguns manuais de ECF podem chama-los de outras siglas..
  13. Lucio Mauro, Provavelmente é o LazReport... Acho que faltou instalar o PowerPDF... Você pode encontra-lo na CCR... Link para Dowload via SVN, de todos os componentes da CCR https://lazarus-ccr.svn.sourceforge.net ... components
  14. Eu nunca fui reprovado... mas sempre precisei ajustar algo no momento da homologação ... Mas notei nas vezes que estive lá, que a média de aprovação é de apenas 50% Basta você aplicar com bastante atenção os testes do roteiro de pre-teste, que tudo vai bem... e sempre que ficar uma "duvidazinha" é importante ligar nos homologadores ou solicitar ajuda no forum... Não há custo para homologar o TEF discado... (apenas despesas de viagem/hospedagem) Para o dedicado, vc tb pode se isentar de custos, se homologar junto a um parceiro como por exemplo a DataRegis ou SkyTEF
  15. Bom... demorou um pouco mais, mas finalmente consegui fazer um Merge das alterações propostas pelo Franklin e modificadas pelo Elton... Modifiquei alguns poucos detalhes como: - Todas as variáveis de parâmetros do evento são declaradas como "const" - todos eventos começam com TACBrECF (e não epenas TACBr) - Removi alguns eventos repetidos Achei a modificação significativa o suficiente para promover o ACBrECF para a versão 1.0.0 Será bem mais simples implementar rotinas para gravar tudo que o ECF faz, usando os eventos... e com isso atender aos requisitos do PAF-ECF (Elton, por favor edite o Change-Log.txt com as modificações que vc fez, (com as novas propriedades e métodos))
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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 ?
  21. 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]
  22. 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...
  23. 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
  24. 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
  25. Caso relacionado: http://www.djsystem.com.br/acbr/mantis/view.php?id=845
×
×
  • 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.