P.E. executado para filtrar as baixas por lote – Contas a Pagar
Exemplo 1- Faz o filtro conforme um grupo de Perguntas:
User Function F080FIL() //Variaveis Local aArea := GetArea() Local cFilRet := "" Local cPrefDe := "" Local cPrefAt := "" Local cTipoDe := "" Local cTipoAt := "" Local dEmiDe := sToD("") Local dEmiAt := sToD("") Local cFornDe := "" Local cFornAt := "" Local cPerg := PadR("XF080FIL", 10) Local _mv_par01 := mv_par02 Local _mv_par02 := mv_par01 Local _mv_par03 := mv_par03 Local _mv_par04 := mv_par04 //Cria o Pergunte fCriaPerg(cPerg) //Se o usuário confimar o Pergunte If Pergunte(cPerg,.T.) //Obtendo o conteúdo dos parâmetros cPrefDe := mv_par01 cPrefAt := mv_par02 cTipoDe := mv_par03 cTipoAt := mv_par04 dEmiDe := mv_par05 dEmiAt := mv_par06 cFornDe := mv_par07 cFornAt := mv_par08 //Montando o filtro para exibição dos registros cFilRet := "SE2->E2_PREFIXO >= '"+cPrefDe+"' .AND. SE2->E2_PREFIXO <= '"+cPrefAt+"' .AND. " cFilRet += "SE2->E2_TIPO >= '"+cTipoDe+"' .AND. SE2->E2_TIPO <= '"+cTipoAt+"' .AND. " cFilRet += 'SE2->E2_EMISSAO >= sToD("'+dToS(dEmiDe)+'") .AND. SE2->E2_EMISSAO <= sToD("'+dToS(dEmiAt)+'") .AND. ' cFilRet += "SE2->E2_FORNECE >= '"+cFornDe+"' .AND. SE2->E2_FORNECE <= '"+cFornAt+"' " EndIf //Recuperando o conteudo dos mv_par da rotina padrão mv_par01 := _mv_par01 mv_par02 := _mv_par02 mv_par03 := _mv_par03 mv_par04 := _mv_par04 Pergunte("FIN080",.F.) //Restaura a area RestArea(aArea) Return cFilRet