Pesquisar na Comunidade
Showing results for tags 'tef funçôes'.
Encontrado 1 registro
-
Olá Galera. Estou implementando no PDV o uso do TEF com o Servidor dedicado, para tanto criei duas funções function ConfiguraClisitef(const vIpSitef, vIdLoja, vIdTerminal,vNomeLoja: WideString): WideString; stdcall; function IniciaTransacaoSitef(vFuncao: SYSINT; const vValor, vCupomFiscal,vDataFiscal, vHoraFiscal, vOperador, vParamsAdd: WideString): SYSINT; stdcall; function TEcfCOM.ConfiguraClisitef(const vIpSitef, vIdLoja, vIdTerminal, vNomeLoja: WideString): WideString; var vRetorno: string; vNumRetorno:Integer; begin CliSiTef := TCliSiTef.Create(nil); CliSiTef.OnCliSiTef := OnCliSiTef; vRetorno:='Iniciando'+#13+#10; vNumRetorno := CliSiTef.Configure(vIpSitef,vIdLoja,vIdTerminal); if vNumRetorno = 0 then begin vRetorno:= vRetorno+'Inicialização Ok!'+#13+#10; end else begin vRetorno:= vRetorno+'Inicialização com retorno ' + IntToStr (vNumRetorno) + #13+#10; ShowMessage('Erro: retorno ' + IntToStr (vNumRetorno)); end; if CliSiTef.PinPad.IsPresent then begin vRetorno:= vRetorno+'Pinpad encontrado' + #13+#10; CliSiTef.PinPad.SetDisplayMessage(vNomeLoja, True); end else begin vRetorno:= vRetorno+'Pinpad não encontrado' + #13+#10; end; Result := vRetorno; end; function TEcfCOM.IniciaTransacaoSitef(vFuncao: SYSINT; const vValor, vCupomFiscal, vDataFiscal, vHoraFiscal, vOperador, vParamsAdd: WideString): SYSINT;stdcall; var vRetorno: integer; begin vRetorno := 0; vRetorno := CliSiTef.StartTransaction(vFuncao,vValor,vCupomFiscal,vDataFiscal,vHoraFiscal,vOperador,vParamsAdd); Result := vRetorno; end; O que está acontecendo é : Mando um ConfiguraClisitef(vIpSitef,vIdLoja,vIdTerminal,vNomeLoja) e me conecta ok com o pinpad Depois mando o comando vRetornoSitef := IniciaTransacaoSitef(2 ,FloatToStrF(Edit_VlrPagto.Value,ffFixed,14,2),NumCF,vDataFiscal,vHoraFiscal,vOperador,vParams) Que deveria me retonar 10000 pois configurei o sitefcfg.ini para [Geral] BandeiraPadraoHabilitada=1 Para me retornar a Bandeira do cartão, mas me retorna 0, e encerra o procedimento. Porem entrei em contato com o suporte da SE e disseram que pelo arquivo dmp de log o processo retornou duas vezes o 10000 então acho que eu que não estou sabendo usar. Alguem pode me ajudar?