Mostra uma tela de mensagem informando ao usuário que a tela será finalizada, conforme configuração dosparâmetros MV_FATOUT e MV_MSGTIM. Parametros: nTimeMsg -> Informar quantos segundos a tela da mensagem deverá aparecer antes do fechamento da tela principal. oDlgAux -> Obejto da tela principal que será fechada. Muito usado no financeiro ou faturamento, um exemplo disso é quando você vai emitir uma nota e fica com a tela parada, alguns minutinhos a tela se fecha.
Local oTimer Local nTimeOut := SuperGetMv("MV_FATOUT",,900)*1000 // Estabelece 15 minutos para que o usuarios selecione os titulos a faturar Local nTimeMsg := SuperGetMv("MV_MSGTIME",,120)*1000 // Estabelece 02 minutos para exibir a mensagem para o usuário // informando que a tela fechará automaticamente em XX minutos DEFINE MSDIALOG oDlg1 TITLE STR0021 From aSize[7],0 To aSize[6],aSize[5] OF oMainWnd PIXEL//"Fatura a Receber" oTimer:= TTimer():New((nTimeOut-nTimeMsg),{|| MsgTimer(nTimeMsg,oDlg1) },oDlg1) // Ativa timer oTimer:Activate() oDlg1:lMaximized := .T. oPanel := TPanel():New(0,0,'',oDlg,, .T., .T.,, ,40,40,.T.,.T. ) oPanel:Align := CONTROL_ALIGN_TOP @ 008 , 005 SAY STR0051 + cPrefix FONT oDlg1:oFont PIXEL OF oPanel //"Prefixo: " @ 017 , 005 SAY STR0022 + cFatura FONT oDlg1:oFont PIXEL OF oPanel //"N£mero: " @ 008 , 080 SAY STR0023 + Substr(cNat,1,10) FONT oDlg1:oFont PIXEL OF oPanel //"Natureza: " @ 017 , 080 SAY STR0024 + AllTrim(Str(nMoedFat,2,0)) FONT oDlg1:oFont PIXEL OF oPanel //"Moeda: " @ 008 , 150 Say STR0025 FONT oDlg1:oFont PIXEL OF oPanel //"Valor Fatura" @ 008 , 200 Say STR0026 FONT oDlg1:oFont PIXEL OF oPanel //"Valor Selecionado" @ 008 , 250 Say STR0027 FONT oDlg1:oFont PIXEL OF oPanel //"T¡t. Selec." If cPaisLoc<>"CHI" @ 017 , 150 Say oValorFat VAR nValorF Picture "@E 999,999,999.99" FONT oDlg1:oFont PIXEL OF oPanel @ 017 , 200 Say oValor VAR nValor Picture "@E 999,999,999.99" FONT oDlg1:oFont PIXEL OF oPanel else @ 017 , 150 Say oValorFat VAR nValorF Picture "@E 99,999,999,999" FONT oDlg1:oFont PIXEL OF oPanel @ 017 , 200 Say oValor VAR nValor Picture "@E 99,999,999,999" FONT oDlg1:oFont PIXEL OF oPanel endif @ 017 , 250 Say oQtdTit VAR nQtdTit Picture "@E 999,999,999" FONT oDlg1:oFont PIXEL OF oPanel @ 0.2 , 00.3 To 2.5,17 OF oPanel @ 0.2 , 17 To 2.5,39 OF oPanel oMark :=MsSelect():New(cAliasSe1,"E1_OK","!E1_SALDO",aCampos,@lInverte,@cMarca,{45,oDlg1:nLeft,oDlg1:nBottom,oDlg1:nRight}) oMark:bMark := {||Fa280Exibe(cAliasSe1,cMarca,oValor,oQtdTit,oMark,@nValor)} oMark:bAval := {||Fa280bAval(cAliasSe1,cMarca,oValor,oQtdTit,oMark,@nValor,,,aChaveLbn)} oMark:oBrowse:lhasMark := .t. oMark:oBrowse:lCanAllmark := .t. oMark:oBrowse:bAllMark := { || FA280Inverte(cAliasSe1,cMarca,oValor,oQtdTit,.T.,oMark,@nValor,,,,aChaveLbn)} oMark:oBrowse:Align := CONTROL_ALIGN_ALLCLIENT If ExistBlock("F280REC") aBut280 := ExecBlock( "F280REC",.F.,.F., {aBut280}) EndIf ACTIVATE MSDIALOG oDlg1 ON INIT FaMyBar(oDlg1,{|| nOpca := 1,; IIF(Fa280ValOK(),IF(Fa280Soma(),oDlg1:End(),; Iif(Fa280Val(oValorFat),nOpca:=0,nOpca:=0)),nOpca:=0)},; {|| nOpca := 2,oDlg1:End()},aBut280); VALID (oTimer:End(),.T.) CENTERED