jef2_tim Posted November 19, 2008 Report Share Posted November 19, 2008 Ola amigos Fui reprovado hj no Visa, Redecard passou normal mas o visa me quebrou as pernas. Bem, o problema foi o seguinte: Para fazer a venda com a impressao normal do comprovante TEF eu uso o comand da dll da daruma: Daruma_TEF_ImprimirResposta("C:\TEF_DIAL\RESP\INTPOS.001",Des_Por_Tef,"1") id=code>id=code>Com este comando eu consigo imprimir normalmente e o sistema verifica se houver desligamento tanto na primeira via quanto na segunda via. Agora para fazer um relatorio eu uso o mesmo comando com a diferenca de nao usar a forma de pagamento: Daruma_TEF_ImprimirResposta("C:\TEf_Dial\Resp\INTPOS.001", " ", "1") id=code>id=code>Ae q esta o problema, como a daruma diz, com este comand no relatorio gerencial eu nao preciso nem usar o comando de abertura, ele faz normalmente. Para enviar entao as duas vias eu mando a impressao do arquivo duas vezes verificando a comunicacao com a impressora logo apos enviar o comand. Se eu desligar a impressora na PRIMEIRA via do relatorio o sistema me retorna impressora desligada e tal e consigo fazer os tratamentos, agora se eu desligar a impressora na segunda via do cupom ae a impressora nao me retorna q foi desligada, passa tudo normalmente como se nao houvesse erro! Aqui esta a rotina *-------------------------- Function Rel_X(Ope) *-------------------------- Ret_VerStat := .T. If Alltrim(oVar:Nme_Imp_Fisc) = "FS345" MsgRun("Verificando Status da Impressora Fiscal","Aguarde Retorno",; { || Ret_VerStat := Verifica_Cupons() } ) If Ret_VerStat Ret_Tef := Ver_Arq_Tef() TransOK := Left(Ret_Tef,3) Opera := Substr(Ret_Tef,4,3) Menstef := Substr(Ret_tef,7,40) oTelaPrincipal:Minimize() SysRefresh() oTelaPrincipal:Restore() SysRefresh() DaTefFocu("Impactus Automação Comercial Versão 5.0") If TransOK = "IMP" MsgRun( "Fazendo Beckup Do Arquivo Resposta TEF, Aguarde!!!","Aguarde Retorno Sistema", ; { || __copyfile( "C:\Tef_Dial\Resp\Intpos.001", "C:\Impac\BkpTef\INTPOS.001" ) } ) Do While .T. // Aqui, na primeira via vai normal DaTeftec("1") oDlg_Jef := Jef_Meter("Atencao!!! Mensagem Retorno TEF",MensTEF,1,100) DaImpTef("C:\TEf_Dial\Resp\INTPOS.001", " ", "1") Do While !Ver_Ret_Dar(.F.) oDlg_Jef:End() DaTeftec("0") IF MsgYesNo( "Impressora Não Responde ! Tentar Imprimir Novamente ?","Erro de Impressão" ) DaCupAdFec() If Ver_Ret_Dar(.F.) Exit Loop Else Loop Endif Else Verifica_Cupons() If Ope = "VND" oVenda_OK:Disable() Endif tef_Ncn() dele file "c:\TEF_DIAL\RESP\INTPOS.STS" dele file "c:\TEF_DIAL\RESP\ATIVO.001" dele file "c:\TEF_DIAL\RESP\intpos.001" Dele File "C:\Impac\BkpTef\Intpos.001" Return .F. exit Exit Endif Enddo oDlg_Jef:End() oDlg_Jef := Jef_Meter("Atencao!!! Mensagem Retorno TEF",MensTEF,1,100) DaTeftec("1") Ver_Ret_Dar(.F.) Inkey(5) DaImpTef("C:\TEf_Dial\Resp\INTPOS.001", " ", "1") // Aqui q acho interessante. Ela nao me da o retorno Do While !Ver_Ret_Dar(.F.) oDlg_Jef:End() DaTeftec("0") IF MsgYesNo( "Impressora Não Responde ! Tentar Imprimir Novamente ?","Erro de Impressão" ) DaCupAdFec() If Ver_Ret_Dar(.F.) Exit Loop Else Loop Endif Else Verifica_Cupons() If Ope = "VND" oVenda_OK:Disable() Endif tef_Ncn() dele file "c:\TEF_DIAL\RESP\INTPOS.STS" dele file "c:\TEF_DIAL\RESP\ATIVO.001" dele file "c:\TEF_DIAL\RESP\intpos.001" Dele File "C:\Impac\BkpTef\Intpos.001" Return .F. exit Exit Endif Enddo Exit Enddo DaFechaRel() Do While !Ver_Ret_Dar(.F.) DaTeftec("0") IF MsgYesNo( "Impressora Não Responde ! Tentar Imprimir Novamente ?","Erro de Impressão" ) DaTeftec("1") DaCupAdFec() Loop Else DaCupAdFec() Ver_Ret_Dar(.T.) Verifica_Cupons() If Ope = "VND" oVenda_OK:Disable() Endif TEF_NCN() dele file "c:\TEF_DIAL\RESP\INTPOS.STS" dele file "c:\TEF_DIAL\RESP\ATIVO.001" dele file "c:\TEF_DIAL\RESP\intpos.001" dele file "c:\Impac\intpos.002" Dele File "C:\Impac\BkpTef\Intpos.001" Return .F. exit Endif Enddo DaTeftec("0") Else MsgInfo(MensTef,"Atenção!!! Mensagem de Retorno Sistema T.E.F.") Endif Endif If TransOK = "IMP" DaTeftec("1") MsgRun("Enviando Confirmação de Operação","Atenção!!! Mensagem de Retorno Sistema T.E.F.", ; { || Tef_Cnf() } ) oTelaPrincipal:Minimize() SysRefresh() oTelaPrincipal:Restore() SysRefresh() DaTefFocu("Orçamento / Venda de Produtos ou Serviços") inkey(3) DaTeftec("0") Endif id=code>id=code>Se alguem tiver uma ideia ou uma rotina somente da impressao do arquivo em relatorio gerencial na daruma e puder me ajudar.. eu agradeco. Amanha vou ficar na seven ate pouco antes do encontro. Vou tentar conseguir um reagendamento. valeu amigos Um Xharbraço. Uso Fwh 2.5 (xharbour 0.99.3) e Xmate Para Compilar Impactus Automação Comercial jef2_timber@hotmail.com (91)-32387012 Belem-PA Quote Link to comment Share on other sites More sharing options...
jef2_tim Posted November 19, 2008 Author Report Share Posted November 19, 2008 Ola amigos Fui reprovado hj no Visa, Redecard passou normal mas o visa me quebrou as pernas. Bem, o problema foi o seguinte: Para fazer a venda com a impressao normal do comprovante TEF eu uso o comand da dll da daruma: Daruma_TEF_ImprimirResposta("C:\TEF_DIAL\RESP\INTPOS.001",Des_Por_Tef,"1") id=code>id=code>Com este comando eu consigo imprimir normalmente e o sistema verifica se houver desligamento tanto na primeira via quanto na segunda via. Agora para fazer um relatorio eu uso o mesmo comando com a diferenca de nao usar a forma de pagamento: Daruma_TEF_ImprimirResposta("C:\TEf_Dial\Resp\INTPOS.001", " ", "1") id=code>id=code>Ae q esta o problema, como a daruma diz, com este comand no relatorio gerencial eu nao preciso nem usar o comando de abertura, ele faz normalmente. Para enviar entao as duas vias eu mando a impressao do arquivo duas vezes verificando a comunicacao com a impressora logo apos enviar o comand. Se eu desligar a impressora na PRIMEIRA via do relatorio o sistema me retorna impressora desligada e tal e consigo fazer os tratamentos, agora se eu desligar a impressora na segunda via do cupom ae a impressora nao me retorna q foi desligada, passa tudo normalmente como se nao houvesse erro! Aqui esta a rotina *-------------------------- Function Rel_X(Ope) *-------------------------- Ret_VerStat := .T. If Alltrim(oVar:Nme_Imp_Fisc) = "FS345" MsgRun("Verificando Status da Impressora Fiscal","Aguarde Retorno",; { || Ret_VerStat := Verifica_Cupons() } ) If Ret_VerStat Ret_Tef := Ver_Arq_Tef() TransOK := Left(Ret_Tef,3) Opera := Substr(Ret_Tef,4,3) Menstef := Substr(Ret_tef,7,40) oTelaPrincipal:Minimize() SysRefresh() oTelaPrincipal:Restore() SysRefresh() DaTefFocu("Impactus Automação Comercial Versão 5.0") If TransOK = "IMP" MsgRun( "Fazendo Beckup Do Arquivo Resposta TEF, Aguarde!!!","Aguarde Retorno Sistema", ; { || __copyfile( "C:\Tef_Dial\Resp\Intpos.001", "C:\Impac\BkpTef\INTPOS.001" ) } ) Do While .T. // Aqui, na primeira via vai normal DaTeftec("1") oDlg_Jef := Jef_Meter("Atencao!!! Mensagem Retorno TEF",MensTEF,1,100) DaImpTef("C:\TEf_Dial\Resp\INTPOS.001", " ", "1") Do While !Ver_Ret_Dar(.F.) oDlg_Jef:End() DaTeftec("0") IF MsgYesNo( "Impressora Não Responde ! Tentar Imprimir Novamente ?","Erro de Impressão" ) DaCupAdFec() If Ver_Ret_Dar(.F.) Exit Loop Else Loop Endif Else Verifica_Cupons() If Ope = "VND" oVenda_OK:Disable() Endif tef_Ncn() dele file "c:\TEF_DIAL\RESP\INTPOS.STS" dele file "c:\TEF_DIAL\RESP\ATIVO.001" dele file "c:\TEF_DIAL\RESP\intpos.001" Dele File "C:\Impac\BkpTef\Intpos.001" Return .F. exit Exit Endif Enddo oDlg_Jef:End() oDlg_Jef := Jef_Meter("Atencao!!! Mensagem Retorno TEF",MensTEF,1,100) DaTeftec("1") Ver_Ret_Dar(.F.) Inkey(5) DaImpTef("C:\TEf_Dial\Resp\INTPOS.001", " ", "1") // Aqui q acho interessante. Ela nao me da o retorno Do While !Ver_Ret_Dar(.F.) oDlg_Jef:End() DaTeftec("0") IF MsgYesNo( "Impressora Não Responde ! Tentar Imprimir Novamente ?","Erro de Impressão" ) DaCupAdFec() If Ver_Ret_Dar(.F.) Exit Loop Else Loop Endif Else Verifica_Cupons() If Ope = "VND" oVenda_OK:Disable() Endif tef_Ncn() dele file "c:\TEF_DIAL\RESP\INTPOS.STS" dele file "c:\TEF_DIAL\RESP\ATIVO.001" dele file "c:\TEF_DIAL\RESP\intpos.001" Dele File "C:\Impac\BkpTef\Intpos.001" Return .F. exit Exit Endif Enddo Exit Enddo DaFechaRel() Do While !Ver_Ret_Dar(.F.) DaTeftec("0") IF MsgYesNo( "Impressora Não Responde ! Tentar Imprimir Novamente ?","Erro de Impressão" ) DaTeftec("1") DaCupAdFec() Loop Else DaCupAdFec() Ver_Ret_Dar(.T.) Verifica_Cupons() If Ope = "VND" oVenda_OK:Disable() Endif TEF_NCN() dele file "c:\TEF_DIAL\RESP\INTPOS.STS" dele file "c:\TEF_DIAL\RESP\ATIVO.001" dele file "c:\TEF_DIAL\RESP\intpos.001" dele file "c:\Impac\intpos.002" Dele File "C:\Impac\BkpTef\Intpos.001" Return .F. exit Endif Enddo DaTeftec("0") Else MsgInfo(MensTef,"Atenção!!! Mensagem de Retorno Sistema T.E.F.") Endif Endif If TransOK = "IMP" DaTeftec("1") MsgRun("Enviando Confirmação de Operação","Atenção!!! Mensagem de Retorno Sistema T.E.F.", ; { || Tef_Cnf() } ) oTelaPrincipal:Minimize() SysRefresh() oTelaPrincipal:Restore() SysRefresh() DaTefFocu("Orçamento / Venda de Produtos ou Serviços") inkey(3) DaTeftec("0") Endif id=code>id=code>Se alguem tiver uma ideia ou uma rotina somente da impressao do arquivo em relatorio gerencial na daruma e puder me ajudar.. eu agradeco. Amanha vou ficar na seven ate pouco antes do encontro. Vou tentar conseguir um reagendamento. valeu amigos Um Xharbraço. Uso Fwh 2.5 (xharbour 0.99.3) e Xmate Para Compilar Impactus Automação Comercial jef2_timber@hotmail.com (91)-32387012 Belem-PA Quote Link to comment Share on other sites More sharing options...
jef2_tim Posted November 19, 2008 Author Report Share Posted November 19, 2008 Um 0 q esta me custando, por enquanto, 2mil reais. Amigos.. eu olhei uns lances no Help da daruma e troquei a verificacao do erro e tal por apenas ver se foi ou nao o comando, ou seja 1 = foi legal, 0 nao foi. E parece q funcionou normalmente. Vou postar aqui para q se algum amigo ver algo q pode me ferrar depois e puder deixar a dica. *-------------------------- Function Rel_X(Ope) *-------------------------- Ret_VerStat := .T. If Alltrim(oVar:Nme_Imp_Fisc) = "FS345" MsgRun("Verificando Status da Impressora Fiscal","Aguarde Retorno",; { || Ret_VerStat := Verifica_Cupons() } ) If Ret_VerStat Ret_Tef := Ver_Arq_Tef() TransOK := Left(Ret_Tef,3) Opera := Substr(Ret_Tef,4,3) Menstef := Substr(Ret_tef,7,40) oTelaPrincipal:Minimize() SysRefresh() oTelaPrincipal:Restore() SysRefresh() DaTefFocu("Impactus Automação Comercial Versão 5.0") x := 0 If TransOK = "IMP" DaTeftec("1") MsgRun( "Fazendo Beckup Do Arquivo Resposta TEF, Aguarde!!!","Aguarde Retorno Sistema", ; { || __copyfile( "C:\Tef_Dial\Resp\Intpos.001", "C:\Impac\BkpTef\INTPOS.001" ) } ) Do While x < 2 X++ oDlg_Jef := Jef_Meter("ATENCAO!!! Mensagem de Retorno TEF...",MensTEF,1,100) mRet := DaImpTef("C:\TEF_DIAL\RESP\INTPOS.001", " ", "1") // Eu criei aqui a var mREt q recebe o retorno da funcao, se 1 ou 0... E faco o tratamento por ela agora e parece q assim funcionou normal. Do While mRet = 0 oDlg_Jef:End() DaTeftec("0") IF MsgYesNo( "Impressora Não Responde ! Tentar Imprimir Novamente ?","Erro de Impressão" ) DaTeftec("1") mRet := DaCupAdFec() If mRet # 0 X := 0 Endif Else oDlg_Jef:End() Verifica_Cupons() If Ope = "VND" oVenda_OK:Disable() Endif tef_Ncn() dele file "c:\TEF_DIAL\RESP\INTPOS.STS" dele file "c:\TEF_DIAL\RESP\ATIVO.001" dele file "c:\TEF_DIAL\RESP\intpos.001" Dele File "C:\Impac\BkpTef\Intpos.001" Return .F. exit Exit Endif Enddo If x = 1 DaTeftec("1") mRet := DaImpTef("C:\Impac\P_Lin.Txt", " ", "1") Do While mRet = 0 oDlg_Jef:End() DaTeftec("0") IF MsgYesNo( "Impressora Não Responde ! Tentar Imprimir Novamente ?","Erro de Impressão" ) DaTeftec("1") mRet := DaCupAdFec() If mRet # 0 X := 0 Endif Else oDlg_Jef:End() Verifica_Cupons() If Ope = "VND" oVenda_OK:Disable() Endif tef_Ncn() dele file "c:\TEF_DIAL\RESP\INTPOS.STS" dele file "c:\TEF_DIAL\RESP\ATIVO.001" dele file "c:\TEF_DIAL\RESP\intpos.001" Dele File "C:\Impac\BkpTef\Intpos.001" Return .F. exit Exit Endif Enddo Inkey(5) Endif oDlg_Jef:End() Enddo DaTeftec("1") DaFechaRel() Do While !Ver_Ret_Dar(.F.) DaTeftec("0") IF MsgYesNo( "Impressora Não Responde ! Tentar Imprimir Novamente ?","Erro de Impressão" ) DaTeftec("1") DaCupAdFec() Loop Else DaCupAdFec() Ver_Ret_Dar(.T.) Verifica_Cupons() If Ope = "VND" oVenda_OK:Disable() Endif TEF_NCN() dele file "c:\TEF_DIAL\RESP\INTPOS.STS" dele file "c:\TEF_DIAL\RESP\ATIVO.001" dele file "c:\TEF_DIAL\RESP\intpos.001" dele file "c:\Impac\intpos.002" Dele File "C:\Impac\BkpTef\Intpos.001" Return .F. exit Endif Enddo DaTeftec("0") Else MsgInfo(MensTef,"Atenção!!! Mensagem de Retorno Sistema T.E.F.") Endif Endif If TransOK = "IMP" DaTeftec("1") MsgRun("Enviando Confirmação de Operação","Atenção!!! Mensagem de Retorno Sistema T.E.F.", ; { || Tef_Cnf() } ) oTelaPrincipal:Minimize() SysRefresh() oTelaPrincipal:Restore() SysRefresh() DaTefFocu("Orçamento / Venda de Produtos ou Serviços") inkey(3) DaTeftec("0") Endif id=code>id=code>Um Xharbraço. Uso Fwh 2.5 (xharbour 0.99.3) e Xmate Para Compilar Impactus Automação Comercial jef2_timber@hotmail.com (91)-32387012 Belem-PA Quote Link to comment Share on other sites More sharing options...
Kleyton Posted November 20, 2008 Report Share Posted November 20, 2008 Jef2_tim, tem um escritório da daruma, ai na avenida paulista, justamente para ajudar os programadores que forem homologar sistema com tef, vale a pena dar uma passada lá. Só não sei o endereço, entre em contato com eles. Kleyton xHarbour 99.5 Clipper5.2E+Clipper5.3b+Blink7+FW2.0d+Fwh 2.5 (xHarbour 0.99.3) cleitonbala@bol.com.br Quote Link to comment Share on other sites More sharing options...
Geo_sts Posted November 24, 2008 Report Share Posted November 24, 2008 Bom dia amigo.. Você se encontra aonde? está em São Paulo ainda? Geovanni hollior Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.