Greita paieška
(nuo 113.0101 versijos)
Sintaksė
GRPAJ(cParametras1,cParametras2,[cParametras3])
Grąžina
Vykdoma greita paieška pagal kodą arba pavadinimą
Parametrai
Parametras | Aprašymas | Formatas |
---|---|---|
Parametras1 | tekstinio lauko adresas | C |
Parametras2 | sąrašo tipas (arba išvardinti keli sąrašų tipai) | C |
Parametras3 | sąrašo tipas (jeigu antram parametre buvo išvardintas keli tipai) | C(2) |
Pastaba
Užprogramuojamas formos INIT.
Jeigu užprogramavus greitą paiešką, darbo metu atsiranda klaidos, gali būti, kad yra likęs senas grpaj.app (ALL arba įmonės kataloguose) - jį reikia išmesti.
Pavyzdžiai
_thisform=thisform
grpaj("_thisform")
_thisform=thisform
grpaj("_thisform")
grpaj("_thisform.KOR.KODAS","PS,AS,BS",titi_pagr.adf.KOR.TIPAS)
Galima užprogramuoti specializuotą SQL „select“ sakinį bet kokios informacijos greitai paieškai.
Perduodami parametrai:
Parametras | Aprašymas | Formatas |
---|---|---|
Parametras1 | tekstinio lauko adresas | C |
Parametras2 | modulio kodas -- | C |
Parametras3 | SQL „select“ priskiriamas lauko objektui gp.sak_sel |
Kintamieji, kuriuos galima naudoti:
Parametras | Aprašymas |
---|---|
pTipas | Įrašo tipas, perduotas per parametrą |
pValue | Tiksli įvesta frazė (ABCD = ABCD) |
pValue1 | Paieška pagal pradžią (ABCD = AB) (pValue+'%') |
pValue2 | Paieška pagal fragmentą (ABCD = BC) ('%'+pValue+'%') |
Reikalavimas, kad grąžintas rezultatas :
_thisform=thisform
grpaj("_thisform.KOR.lapas.page1.kodas_ks","--")
_thisform.KOR.lapas.page1.kodas_ks.gp.sak_sel=[select top 50 n08_kodas_ks as kodas, n08_pav as pav from n08_klij where n08_rusis in (1,3) and (n08_poz_date=0 or getdate() between n08_beg_date and n08_end_date) and (n08_kodas_ks like ?m.pValue1 or n08_pav like ?m.pValue2) order by n08_kodas_ks asc]
_thisform=thisform
grpaj("_thisform.KOR.KODAS","--,AS,BS, , ,--",_thisform.KOR.TIPAS)
_thisform.KOR.KODAS.gp.sak_sel=[select top 50 n17_kodas_ps as kodas, (case when n17_kod_t<>'' then '('+rtrim(n17_kod_t)+') ' else '' end)+rtrim(n17_pav) as pav from n17_prod where n17_tipas=1 and (n17_kod_t like ?m.pValue1]+[ or n17_kodas_ps like ?m.pValue1 or n17_pav like ?m.pValue2) order by n17_kodas_ps asc]
(nuo 118.0201+DI versijos)
_thisform=thisform
grpaj("_thisform.kor.pav","--")
_thisform.kor.pav.gp.sak_sel=[select top 50 n17_pav as pav from n17_prod where (n17_poz_date=0 or getdate() between n17_beg_date and n17_end_date) and (n17_kodas_ps like ?m.pValue1 or n17_pav like ?m.pValue2) order by n17_pav asc]
Šis INIT-as sprendžia problemą, kai vedant naujas prekių korteles reikia pastebėti, jog prekė su tokiu pavadinimu jau yra.
Šis INIT-as gali būti patogus, kai vedami sudėtingi pavadinimai, kurių tik nedidelė dalis skiriasi nuo jau suvestų - tada paprasčiau pasirinkti iš sąrašo ir pakeisti tai, kas skiriasi.
Naudojant savybę gp.width galima praplėsti atsakymo langą.
_thisform=thisform
grpaj("_thisform.KOR.lapas.page1.kodas_ks","--")
_thisform.KOR.lapas.page1.kodas_ks.gp.width=900
m.lcSakSel=""
m.lcSakSel=m.lcSakSel+" select top 50 n08_kodas_ks as kodas,"
m.lcSakSel=m.lcSakSel+" cast(rtrim(left(n08_pav,80)) as varchar(80))+isnull(' (-'+skola+' €)','')+' Kredito limitas '+ltrim(str(n08_credit_lim,12,2)) as pav"
m.lcSakSel=m.lcSakSel+" from n08_klij"
m.lcSakSel=m.lcSakSel+" left join ("
m.lcSakSel=m.lcSakSel+" select t03_kodas_ks, cast(SUM(t03_suma_db-t03_suma_cr) as varchar(18)) as skola from t03_sdok where t03_data_mok<getdate() group by t03_kodas_ks having SUM(t03_suma_db-t03_suma_cr)>0) as S on t03_kodas_ks=n08_kodas_ks"
m.lcSakSel=m.lcSakSel+" where n08_rusis in (1,3) and (n08_poz_date=0 or ?titi_pagr.date between n08_beg_date and n08_end_date) and (n08_kodas_ks like ?m.pValue1 or n08_pav like ?m.pValue2)"
m.lcSakSel=m.lcSakSel+" order by n08_kodas_ks asc"
_thisform.KOR.lapas.page1.kodas_ks.gp.sak_sel=m.lcSakSel
_thisform=thisform
grpaj("_thisform")
grpaj("_thisform.grid1.KODAS1","--,GS, ,KS,--",_thisform.grid1.raktas)
_thisform.grid1.KODAS1.gp.sak_sel=[select top 50 n17_kodas_ps as kodas, rtrim(n17_pav) as pav from n17_prod where n17_tipas=1 and (]+[n17_kodas_ps like ?m.pValue2 or n17_pav like ?m.pValue2) order by n17_kodas_ps asc]
Ieškoma pagal prekės, prekių grupės, tiekėjo, tiekėjo prekės kodo ar pavadinimo fragmentą.
_thisform=thisform
grpaj("_thisform")
grpaj("_thisform.grid1.KODAS1","--",_thisform.grid1.raktas)
_thisform.grid1.KODAS1.gp.sak_sel=[select top 50 n17_kodas_ps as kodas, rtrim(n17_pav) as pav from n17_prod where n17_tipas=1 and (]+[n17_kodas_ps like ?m.pValue2 or n17_pav like ?m.pValue2) order by n17_kodas_ps asc]
Ieškoma pagal prekės kodo ar pavadinimo fragmentą.