Papildomų filtravimo sąlygų automatinis priskyrimas

INIT formos koregavimo lange

** Formos INIT-as 
** Griežtai reikalauti filtravimo failo
bind_command("EXECSCRIPT(thisform.ShowTest,thisform)",thisform,"Show")
thisform.AddProperty("ShowTest",SUBSTR(komanda_v,ATC(CHR(13),komanda_v,ij_k+1)))
EXIT
LPARAMETERS _thisform
LOCAL lcFileName, _err
_err=.F.

** Priskirti filtravimo failą
m.lcFileName="C:\RIV_GAMA\imone\padalinys001.FIL"

IF !FILE(lcFileName)
    _thisform.hide()
    MESSAGEBOX("Nerastas filtravimo failas "+lcFileName,16,"Klaida!")
    RETURN .F.
ENDIF

** Patikriname ar filtravimo lentelė atitinka
IF USED("temp_fil")
    USE IN temp_fil
ENDIF
_err=.F.
TRY
    USE (m.lcFileName) SHARED IN 0 ALIAS temp_fil
    mas=_thisform.filtravimo_salygos.failumasyvas
    IF !EMPTY(mas)
        mas=STRTRAN(mas,"thisform.","m._thisform.")
        _err=.T.
        FOR m.i=1 TO ALEN(&mas,1)
            SELECT temp_fil
            GO TOP
            LOCATE FOR LOWER(L7)=LOWER(&mas(m.i,1))
            IF FOUND("temp_fil")
                _err=.F.
                EXIT
            ENDIF
        ENDFOR
    ENDIF
CATCH TO _err
ENDTRY
IF USED("temp_fil")
    USE IN temp_fil
ENDIF
IF TYPE("m._err")="O" OR m._err
    _thisform.hide()
    MESSAGEBOX("Klaidingas filtravimo failas "+lcFileName,16,"Klaida!")
    RETURN .F.
ENDIF

** Uždėti filtravimo sąlygas
_thisform.filtravimo_salygos.fil_from(m.lcFileName)
*_thisform.filtravimo_salygos.Command1.enabled=.F.

RETURN .T.

Pateikiamas pavyzdys, kaip automatiškai priskirti papildomas filtravimo sąlygas, kurios buvo išsaugototos faile C:\RIV_GAMA\imone\padalinys001.FIL

Jeigu reikalingas klavišas, kurį paspaudus užsideda tam tikros filtravimo sąlygos, jis užprogramuojamas taip:

_thisform=thisform
EXECSCRIPT(SUBSTR(komanda_v,ATC(CHR(13),komanda_v,ij_k+1)))
EXIT
** Priskirti filtravimo failą
m.lcFileName="C:\RIV_GAMA\imone\padalinys001.FIL"

IF !FILE(lcFileName)
    _thisform.hide()
    MESSAGEBOX("Nerastas filtravimo failas "+lcFileName,16,"Klaida!")
    RETURN .F.
ENDIF

** Patikriname ar filtravimo lentelė atitinka
IF USED("temp_fil")
    USE IN temp_fil
ENDIF
_err=.F.
TRY
    USE (m.lcFileName) SHARED IN 0 ALIAS temp_fil
    mas=_thisform.filtravimo_salygos.failumasyvas
    IF !EMPTY(mas)
        mas=STRTRAN(mas,"thisform.","m._thisform.")
        _err=.T.
        FOR m.i=1 TO ALEN(&mas,1)
            SELECT temp_fil
            GO TOP
            LOCATE FOR LOWER(L7)=LOWER(&mas(m.i,1))
            IF FOUND("temp_fil")
                _err=.F.
                EXIT
            ENDIF
        ENDFOR
    ENDIF
CATCH TO _err
ENDTRY
IF USED("temp_fil")
    USE IN temp_fil
ENDIF
IF TYPE("m._err")="O" OR m._err
    _thisform.hide()
    MESSAGEBOX("Klaidingas filtravimo failas "+lcFileName,16,"Klaida!")
    RETURN .F.
ENDIF

** Uždėti filtravimo salygas
_thisform.filtravimo_salygos.fil_from(m.lcFileName)

RETURN .T.