Ir para conteúdo
  • Cadastre-se

Daniel_FC

Membros
  • Total de ítens

    165
  • Registro em

  • Última visita

Tudo que Daniel_FC postou

  1. Bom dia. Implementei a impressão da carta de correção, esta funcionando beleza. Parabéns pela iniciativa. Mas estou com um problema, no windows 7 que estou testando, a impressão esta funcionando normal, mas quando baixei em um servidor windows 2008 server, a função de impressão não funciona, nem para gerar o pdf (tps_pdf) nem para imprimir direto (tps_print). Alguém poderia me ajudar ? Obrigado. Daniel.
  2. Ok, so que eu passo o subtotal do ecf mas mesmo assim, nao funciona. vc tentou fazer como ta no exemplo passo-a-passo que vc me pedio... tenta simular igualzinho. pra ver..
  3. Ok, eu entendi.. quando homologuei pela primeira vez o tef sempre fiz desta forma. eu que jogo na ecf o subtotaliza eo efetuapgto apos a trz ok e nao o componente. {sempre deu certo com exessção da vinda do cielo premia}. mas se eu quiser usar desta forma como estou fazendo.. oq devo fazer para nao dar a msg: ''Operação TEF deve ser limitada ao '+'Saldo restante a Pagar'' existe alguma coisa que posso alterar ou tenho mesmo que armazenar em tempo execução e depois lançar todas na ecf?
  4. Opa, colei errado.. segue denovo o exemplo. Sobre o Cielo premio eu ainda nao vou homologar... Iniciar venda ACBrECF1.AbreCupom; ACBrECF1.VendeItem('12345','PRODUTO TESTE','NN',1,Valor); ACBrECF1.VendeItem('12345','PRODUTO TESTE','NN',1,Valor); chama tef. no valor de 1,00 ACBrTEFD1.CRT( StringToFloatDef(edValorTEF.Text, 0) ,edFPGCartao.Text, ACBrECF1.NumCOO); trz ok ACBrECF1.SubtotalizaCupom ; ACBrECF1.EfetuaPagamento( CodFormaPagamento, StringToFloatDef(edValorECF.Text, 0) ); impressora tef 1,00 falta 1,00 chama tef. no valor de 1,00 ACBrTEFD1.CRT( StringToFloatDef(edValorTEF.Text, 0) ,edFPGCartao.Text, ACBrECF1.NumCOO); trz ok ACBrECF1.EfetuaPagamento( CodFormaPagamento, StringToFloatDef(edValorECF.Text, 0) ); ACBrECF1.FechaCupom('Projeto ACBr|http://acbr.sf.net'); ACBrTEFD1.ImprimirTransacoesPendentes; é assim que faço no demo.
  5. ok. Daniel Simoes segue um roteiro pelo DemoTefd Parametros do TEF ckAutoEfetuarPagamento : falso ckAutoFinalizarCupom : falso ckMultiplosCartoes : true Iniciar venda ACBrECF1.AbreCupom; ACBrECF1.VendeItem('12345','PRODUTO TESTE','NN',1,Valor); ACBrECF1.VendeItem('12345','PRODUTO TESTE','NN',1,Valor); chama tef. no valor de 1,00 ACBrTEFD1.CRT( StringToFloatDef(edValorTEF.Text, 0) ,edFPGCartao.Text, ACBrECF1.NumCOO); trz ok ACBrECF1.SubtotalizaCupom ; ACBrECF1.EfetuaPagamento( CodFormaPagamento, StringToFloatDef(edValorECF.Text, 0) ); impressora tef 1,00 falta 1,00 chama tef. no valor de 1,00 ACBrTEFD1.CRT( StringToFloatDef(edValorTEF.Text, 0) ,edFPGCartao.Text, ACBrECF1.NumCOO); trz ok ACBrECF1.SubtotalizaCupom ; ACBrECF1.EfetuaPagamento( CodFormaPagamento, StringToFloatDef(edValorECF.Text, 0) ); ACBrECF1.FechaCupom('Projeto ACBr|http://acbr.sf.net'); ACBrTEFD1.ImprimirTransacoesPendentes; esta é a sequencia que faço no demoe tb no meu pdv.
  6. Boa tarde. Daniel Simoes Nao to entendendo o seguinte: O meu evento oninfoecf do tef esta igual ao do demo. se vc reparar na imagem postada que eu fiz com o demo logo acima tb esta dando a mesma coisa. segue o trecho do meu codigo: procedure TFrm_MainP.iTEFInfoECF(Operacao: TACBrTEFDInfoECF; var RetornoECF: String); var ASubTotal: Double; begin try case Operacao of ineSubTotal : begin ASubTotal := ImpFiscal.Subtotal; ASubTotal := ASubTotal - ImpFiscal.TotalPago; RetornoECF := FloatToStr( ASubTotal ); end; ineTotalAPagar : begin RetornoECF := '0'; end; ineEstadoECF : begin Case ImpFiscal.Estado of estLivre : RetornoECF := 'L'; estVenda : RetornoECF := 'V'; estPagamento : RetornoECF := 'P'; estRelatorio : RetornoECF := 'R'; estNaoFiscal : RetornoECF := 'N'; else RetornoECF := 'O'; end; end; end; finally Application.ProcessMessages; end; end; segue o do demo tb: procedure TForm1.ACBrTEFD1InfoECF(Operacao : TACBrTEFDInfoECF; var RetornoECF : String ); var ASubTotal: Double; begin try if not ACBrECF1.Ativo then ACBrECF1.Ativar ; except { Para CliSiTEF ou V&SPague aplique o IF abaixo em sua aplicação, que permite saber se o Cupom foi concluido mesmo com o ECF desligado } if (not ACBrTEFD1.TEF.Inicializado) and { Está na inicialização ? } (Operacao = ineEstadoECF) and { Quer Saber o estado do ECF ? (mas se chegou aqui é pq o ECF já está com problemas) } (ACBrTEFD1.GPAtual in [gpCliSiTef,gpVeSPague]) then begin { Leia o último Documento Gravado no seu Banco de Dados, e verifique se o Cupom já foi finalizado,ou se já foi aberto um CCD ou Gerencial... Exemplo: Documento.Le(0); if (Documento.Finalizado) or (pos(Documento.Denominacao,'CC|RG') > 0) then RetornoECF := 'R' else RetornoECF := 'O' ; } //RetornoECF := 'O'; // Executará CancelarTransacoesPendentes; RetornoECF := 'R'; // Executará ConfirmarESolicitarImpressaoTransacoesPendentes; exit ; end ; raise ; end; case Operacao of ineSubTotal : begin ASubTotal := ACBrECF1.Subtotal ; ASubTotal := ASubTotal - ACBrECF1.TotalPago + StringToFloatDef(edValorDescAcre.Text, 0); RetornoECF := FloatToStr( ASubTotal ) ; end; ineTotalAPagar : RetornoECF := FloatToStr( CalculaTotalPago ); ineEstadoECF : begin Case ACBrECF1.Estado of estLivre : RetornoECF := 'L' ; estVenda : RetornoECF := 'V' ; estPagamento : RetornoECF := 'P' ; estRelatorio : RetornoECF := 'R' ; estNaoFiscal : RetornoECF := 'N' ; else RetornoECF := 'O' ; end; end; end; end; tem alguma coisa de errado com meu codigo.
  7. Juliomar Marchetti no demo é outro valor 4,00 foi registrado no ecf fiz pgto com tef 2,00 quando vou fazer outro pgto com tef de 2,00 para totalizar 4,00 que foi registrado ele me da aquela msg.. que motra na imagem do tefdemo. ou seja ele nao ta me deixando fazer o outro pgto do restante em tef... dei uma olha da onde ele gera a msg no unit aqui ta o codigo Procedure TACBrTEFDClass.VerificarTransacaoPagamento(Valor : Double ); var SaldoAPagar : Double ; begin Valor := RoundTo( Valor, -2); if (Valor <= 0) then raise Exception.Create( ACBrStr( 'Valor inválido' ) ); { Lendo o SubTotal do ECF } with TACBrTEFD(Owner) do begin if not (EstadoECF in ['V','P','N']) then raise Exception.Create( ACBrStr('ECF deve estar em Estado de "Venda", "Pagamento" ou "Não Fiscal"') ); SaldoAPagar := InfoECFAsDouble(ineSubTotal) ; SaldoAPagar := SaldoAPagar - InfoECFAsDouble(ineTotalAPagar,0); RespostasPendentes.SaldoAPagar := SaldoAPagar ; if TrocoMaximo <= 0 then begin !! sera que aqui deveria ser saldoApagar !! if (Valor > RespostasPendentes.SaldoRestante ) then raise Exception.Create( ACBrStr( 'Operação TEF deve ser limitada ao '+ 'Saldo restante a Pagar' ) ); end else begin !! sera que aqui deveria ser saldoApagar !! if (Valor > RespostasPendentes.SaldoRestante + TrocoMaximo ) then raise Exception.Create( ACBrStr( 'Operação TEF permite '+ 'Troco Máximo de '+FormatCurr('0,00',TrocoMaximo) ) ); end ; if MultiplosCartoes and (NumeroMaximoCartoes > 0) and // Tem multiplos Cartoes ? !! sera que aqui deveria ser saldoApagar !! (Valor <> RespostasPendentes.SaldoRestante) and // Valor é diferente do Saldo Restante a Pagar ? ((NumeroMaximoCartoes - RespostasPendentes.Count) <= 1) then // Está no último cartão ? raise Exception.Create( ACBrStr( 'Multiplos Cartões Limitado a '+ IntToStr(NumeroMaximoCartoes)+' operações.'+sLineBreak+ 'Esta Operação TEF deve ser igual ao Saldo a Pagar' ) ); end; end; quando eu altero para ''RespostasPendentes.SaldoApagar ai sim funciona certinho...
  8. Bom dia amigos, estou com uma problema mas acho que pode ser na minha logica. preciso de uma ajudo dos amigos novamente. segue a imagem com a menssagem que esta ocorrendo quando uso multiplos cartoes. uma compra de 2,00 faço assim. Na primera vez 1,00 tef subtotalizo cupom, efetuaPgto cupom na ecf ok quando vou fazer o outro cartao do mesmo jeito. 1,00 tef aqui ja retorna a menssagem que esta na imagem em anexo.. o engraçado que no DemoTEFD tb faz o mesmo... igualzinho.. segue a imagem tb.. fico no aguardo dos amigos.. Obs: AutoEfetuaPgto = falso AutoFinalizaCupom = falso MuntiplosCartoes = true no componente.
  9. Daniel. era isso mesmo que vc citou antes, nao tinha percebido que tava com conflitos resolvido. Obrigado.
  10. Opa, sim eu atualizei hoje pela manha e fiz os testes mas nao funcionou.
  11. Bom dia amigos, estou com um problema, nao esta imprimindo o comprovante de tef cancelado. antes ele fazia tudo certo. depois q atualizei uns dias atraz so fui perceber agora quando fiz uma atualização no meu clinete. estou enviando o log do tefdemo. para analizar.. uso tef dedicado sitef. agradeço a ajuda. Log_CliSiTef.txt log_ecf.txt Log_CliSiTef.txt log_ecf.txt
  12. Ok, funcionou 100%, obrigado Dionatan. Daniel.
  13. Estou com o mesmo problema. O evento gernfe.WebServices.EnvEvento.EventoRetorno.xMotivo retorna a mensagem "Lote de Evento Processado", mas o xmotivo que preciso é o outro que esta dentro do xml , como este por exemplo: "Rejeição: A data do evento não pode ser maior que a data do processamento" Lote de Evento Processado versao="1.00">2SP_EVENTOS_PL_10035 Orgao>578Rejeição: A data do evento não pode ser maior que a data do processamento< Alguém tem alguma solução ? Obrigado. Daniel
  14. Ola. Daniel Ok, fiz as atualizaçoes que vc solicitou, tb, fiz novos testes e agora deu certo.. a transação nao ficou pendente e sim confirmou. e tb liberou os creditos para o celular.. Obrigado.. Resolvido.
  15. Bom dia pessoal segue os logs e tb a rotina da minha aplicação para efetuar a recarga celular. {TEF} fCancelado := False; Frm_MainP.iTEF.TEFCliSitef.OperacaoADM := 300; {Pin-Pad Menssagem} Frm_MainP.iTEF.TEFCliSiTef.DefineMensagemPermanentePinPad(' FOCO SISTEMAS | TEF - 1.0.5'); if (Frm_MainP.iTEF.ADM(TACBrTEFDTipo(gpCliSiTef))) then begin if (Frm_MainP.iTEF.TEFCliSiTef.Resp.LeInformacao(591,0).AsFloat > 0 ) then begin try Sleep(500); {Grava na TB Suprimento tipo [ C ] = Recarga Celular} ProcMenuFisc.Close; ProcMenuFisc.SQL.Clear; ProcMenuFisc.SQL.Add('INSERT INTO TB_RECARGAS ('); ProcMenuFisc.SQL.Add(' DATA,'); ProcMenuFisc.SQL.Add(' NECF,'); ProcMenuFisc.SQL.Add(' NSERIE,'); ProcMenuFisc.SQL.Add(' NCUPOM,'); ProcMenuFisc.SQL.Add(' SEQ,'); ProcMenuFisc.SQL.Add(' HORA,'); ProcMenuFisc.SQL.Add(' VALOR,'); ProcMenuFisc.SQL.Add(' CFISCAL,'); ProcMenuFisc.SQL.Add(' ATUSERV,'); ProcMenuFisc.SQL.Add(' ATUSERV_DATA)'); ProcMenuFisc.SQL.Add('VALUES ('); ProcMenuFisc.SQL.Add(' :DATA,'); ProcMenuFisc.SQL.Add(' :NECF,'); ProcMenuFisc.SQL.Add(' :NSERIE,'); ProcMenuFisc.SQL.Add(' :NCUPOM,'); ProcMenuFisc.SQL.Add(' ( SELECT COALESCE(MAX(SEQ + 1),1) FROM TB_RECARGAS WHERE DATA = CURRENT_DATE),'); ProcMenuFisc.SQL.Add(' :HORA,'); ProcMenuFisc.SQL.Add(' :VALOR,'); ProcMenuFisc.SQL.Add(' :CFISCAL,'); ProcMenuFisc.SQL.Add(' NULL,'); ProcMenuFisc.SQL.Add(' NULL)'); ProcMenuFisc.Params[0].Value := Frm_MainP.EdtDataHoraECF.Text; ProcMenuFisc.Params[1].Value := Frm_MainP.EdtNumECF.Text; ProcMenuFisc.Params[2].Value := Frm_MainP.EdtNumSERIE.Text; ProcMenuFisc.Params[3].Value := Frm_MainP.EdtNumCUPOM.Text; ProcMenuFisc.Params[4].Value := Frm_MainP.EdtDataHoraECF.Text; ProcMenuFisc.Params[5].Value := Frm_MainP.iTEF.TEFCliSiTef.Resp.LeInformacao(591,0).AsFloat; ProcMenuFisc.Params[6].Value := Frm_MainP.LbOperadorP.Caption; ProcMenuFisc.ExecSQL; {Commit Transacao - Servidor} if (TrzMenuFisc.InTransaction ) then TrzMenuFisc.Commit; except on E : Exception do begin {Menssagem na Tela Opeador} Message_SIM('Erro ao Gravar Registro no BD!!',True); {Greavar LogERRO} GravaLogPDVErro('ERRO: '+ E.ClassName + ' - '+ E.Message +' Rollback '); {Rollback Transacao - Servidor} if (TrzMenuFisc.InTransaction ) then TrzMenuFisc.Rollback; end; end; end; LOGCUPOM.TXT LOGECF.TXT LOGTEF.TXT
  16. Ola pessoal estou com uma pequeno problema no tef quando faço recarga de celular funçao 300. ''atraves da getnet.'' o que ta acontecendo éo segunte; Apos o tef dar Transação OK ele começa a imprimir o comprovante normammente, so que a transação no relatorio do sitef fica pendente. e nao é efetuada a recarga no telefone. o pior que tava dando tudo certo ate a semana passada. depois disso fiz algumas atualizaçoes do Acbr e quando atualizei meu cliente parou. detalhe, nao foi alterado nada no codigo da minha aplicação onde faz a recarga. Pelo DemoTEF tb, faz o mesmo. alguma dica dos amigos.
  17. Opa, pessoal ,me desculpa pela pergunta, mas gostaria de ter certeza dos mais experiente aqui no forun. Gostaria de saber em relação aos eventos do AcbrEcf por ex. ''OnErroVendeItem Tratado Boolean'' por exemplo quando q vou usar? Tratado que seria isso..? alguem pode me dar um exemplo de uso deste evento e pra que serve.? Tipo: se eu colocar o Tratado = True que isso faz ? se eu colocar o Tratado = Falso que isso faz ? posso mesmo confiar nestes eventos, eles sempre vam ser executados se eu usa-los? Obrigado.
  18. Sr. tive este mesmo problema em que algums titulo ficava errado. acabei ajustando na minha aplicação e acabei não atualizando o componente se vc quiser posso lhe enviar a unit p/ vc olhar.
  19. Daniel_FC

    Boletos Sicredi

    Estou homologando com o Cooperativa Sicredi e nas criticas houve muitos de erro. Gostaria de confirmar se alguem ja homologou com o mesmo?
  20. Bom dia amigos estou com um probleminha na minha aplicação pdv com o TEF Migrei do delphi7 para 2010. Uso o Instalador do Acbr para instalar os pacotes. ta tudo certo e instalado.. Apos confirmar a transaçao do tef, esta retornando a seguinte menssagem em tela --------------------------- pdv1 --------------------------- Access violation at address 00345822 in module 'ACBrComum.bpl'. Read of address 00000000. --------------------------- OK --------------------------- A aplicação Funciona tudo certo ate este momento, que apos a menssagem ''Trasação OK'' acontece este erro. Já usei o DemoTEF, e nao acontece isso. alguem tem alguma sugestao. segue anexo imagem tb. obrigado.
  21. Opa. sim isto mesmo, fiz uma dll para testar o tef. na minha aplicaçao com o meu PDV. Mas isso nao deveria dar problema?
  22. EMBarbosa!! Amigo, olhei, como vc me falou, mas esta igualzinho. o do demo. Olha so. quando em abro o demo nao da erro, ai abro minha aplicacao funciona certinho, sem dar aquele erro. fecho o delphi, e abro direto minha aplicação, volta o erro da imagem que postei. que doidera.. alguma outra ideia. obrigado.
  23. Ola Amigos, estou precisando de auxilho para desenv. pdv-paf, atualmente tenho meu pdv usando ACBECF, TEF, BAL, DISP, em Delphi 7, tudo funcionando ate agora perfeito. Porem chegou minha hora do PAF (Droga.. rsrsrs), estou pençando em migrar para o delphi2010, reformulando algumas coisas do pdv. pq tenho meu retaguarda em delphi2010 ai seria melhor manter numa linguagem atual e a mesma. Bom o problema que com todos os componentes disponivel do ACBR para o PAF, eu nao concigo sair do chao. nao sou um programador muito expert ainda. Tenho muitas duvidas em relação: 1 Em que momento vou usar o ACBR_AAC, ACBR_EAD, ACBR_PAF, ACBr_RFD por EX. 2 O que fazer em primeiro. 3 Quais realmente os comp. q devo usar citado acima. pessoal olhei os demos dos comp citados acima, mas todos sao individual, nao sei o que devo ligar primerio. pesso geltilmemente ao colegas mais experientes se possivel algum demo de um pdv bem simples a onde é usado todos os comp. juntos para o paf. tipo(uma tela que mostra quem é ligado com quem, e o que fazer desde a abertura do pdv ate finalizar ele.) Nao precisa falar dos menus fiscais pq isso nao é o dificil sao so telas e no demo do ECFteste ja entendi,,). gostaria de ajudar ou contribuir ate mesmo com algum valore, se alguem me ajudar, bem como manda o figurino do paf-ecf. Olha! eu ja homoleguei o meu pdv com o ACBRTEF foi muito facil. mas agora sou obrigado a fazer o paf. Sei que tem amigos aqui q ja fizeram, por isso pesso a ajuda, ou um demo mais simplificado. um fonte que posso fer todos os passo a passo. HA! NAO VOU USAR PRE-VENDA E TB DAV, SOMENTE REGISTRO DE CUPOM. fico no aguardo do pessoal. Meu mail. [email protected] se alguem tiver um demo ou algo assim para mandar. ja ajuda. obrigado.
  24. segue anexo.. a imagem do delphi. ?
  25. ok, mas onde exatamente. qual das opsoes, q devo alterar.. ?
×
×
  • 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.