Pārskats
Query Builder (vaicājumu veidotājs) ir Vitextra List Filter Online tīmekļa daļas sastāvdaļa, kurā lapas redaktors definē iepriekš definēto filtru - nosacījumu kopu, kurai jāatbilst katram vienumam, pirms tas parādās tīmekļa daļā. Lietotāji šo filtru neredz un nevar noņemt; viņi rezultātu var tikai papildus sašaurināt ar filtru rūti un kolonnu galveņu filtriem.
Iepriekš definētais filtrs tiek glabāts kā nosacījumu un grupu koks un tiek pārveidots par CAML vaicājumu, ko SharePoint izpilda serverī. Nekas netiek ielādēts pārlūkprogrammā un filtrēts pēc tam: saraksts atgriež tikai atbilstošos vienumus, lapu pa lapai, un tieši tāpēc tīmekļa daļa saglabā ātrdarbību lielos sarakstos.
Tipiski iepriekš definētā filtra lietojumi:
- Rādīt tikai dokumentus, ko izveidojis vai modificējis pašreizējais lietotājs.
- Informācijas paneļa lapā rādīt tikai pēdējo 12 mēnešu ierakstus.
- Rādīt tikai apstiprinātus vienumus, vienumus ar pielikumiem vai vienumus, kuru Statuss nav Closed.
- No viena saraksta izveidot lapu katrai nodaļai, neveidojot skatu katrai nodaļai.
📝 Piezīme
Query Builder definē filtru, kas tiek lietots vienmēr. Vadīklas, ko lietotāji redz filtru rūtī, tiek konfigurētas atsevišķi - skatiet KB10255. Filtru rūts vadīklas un atbalstītie kolonnu tipi List Filter Online.
Kur atrast Query Builder
- Atveriet lapu rediģēšanas režīmā un List Filter Online tīmekļa daļā atlasiet Rediģēt tīmekļa daļu.
- Rekvizītu rūtī ritiniet līdz grupai Filtrs. Aiz uzraksta Filtrēt skatu pēc: redzams pašreizējā filtra priekšskatījums - Filtrs nav lietots, ja nekas vēl nav definēts.
- Atlasiet Rediģēt filtru. Query Builder atveras lielā sānu panelī.
- Izveidojiet vaicājumu un pēc tam atlasiet Saglabāt, lai to lietotu, vai Atcelt, lai atmestu izmaiņas. Tīmekļa daļa nekavējoties tiek pārzīmēta ar jauno filtru.

Query Builder ir pieejams tikai pēc tam, kad grupā Datu avots ir atlasīta vietne un Saraksts vai bibliotēka, jo lauku saraksts un to tipi tiek iegūti no atlasītā saraksta.
Nosacījumi un grupas
Vaicājums sastāv no divu veidu elementiem.
- Nosacījums ir viens salīdzinājums: lauks - operators - vērtība, piemēram,
Amount- Lielāks par -5000. Dažiem operatoriem vērtība nav vajadzīga (Satur datus, Ir pašreizējais lietotājs, Šodien). - Grupa satur nosacījumus un citas grupas un savieno tos ar vienu loģisko operatoru - UN (patiesiem jābūt visiem elementiem) vai VAI (patiesam jābūt vismaz vienam elementam). Pārslēgs grupas kreisajā malā pārslēdz starp abiem.
Panelī vienmēr ir viena saknes grupa; to nevar izdzēst. Jebkurā grupā poga Pievienot piedāvā divas komandas:
- Nosacījums - pievieno pašreizējai grupai tukšu rindu;
- Grupa - pievieno ligzdotu grupu (pēc noklusējuma UN), ko aizpildāt tāpat.
Grupas var ligzdot citās grupās. Katrai rindai un katrai ligzdotajai grupai labajā pusē ir dzēšanas ikona; dzēšot grupu, tiek dzēsts viss tās saturs.

Attēlā redzamais vaicājums nozīmē: Title nav tukšs un sākas ar „C" un (es esmu izveidojis vai modificējis) un (izveidots pēdējā gada laikā vai modificēts pēdējā gada laikā) un (ir pielikumi, vai arī Customer ir aizpildīts un Amount ir lielāks par 5000).
💡 Padoms
Atstājiet saknes grupu kā UN un katru alternatīvo nosacījumu kopu ievietojiet savā VAI grupā. Šādi veidotu vaicājumu ir viegli nolasīt priekšskatījumā un vēlāk viegli paplašināt.
Operatori pēc kolonnas tipa
Rindas operatoru saraksts ir atkarīgs no atlasītā lauka tipa. Tabulā uzskaitīti operatori, ko Query Builder piedāvā katram atbalstītajam kolonnas tipam.
| Kolonnas tips | Operatori |
|---|---|
| Viena teksta rinda, Vairākas teksta rindas, Hipersaite vai attēls | Vienāds ar, Nav vienāds ar, Sākas ar, Satur, Satur datus, Nesatur datus |
| Izvēle | Vienāds ar, Nav vienāds ar, Sākas ar, Satur, Satur datus, Nesatur datus |
| Izvēle (vairākas vērtības), Uzmeklēšana, Aprēķināta (teksta rezultāts) | Vienāds ar, Nav vienāds ar, Satur datus, Nesatur datus (aprēķinātai kolonnai pieejami arī Sākas ar un Satur) |
| Skaitlis, Valūta, ID | Vienāds ar, Nav vienāds ar, Lielāks par, Lielāks vai vienāds ar, Mazāks par, Mazāks vai vienāds ar (skaitlim pieejami arī Satur datus, Nesatur datus) |
| Datums un laiks | Datumā, Ne datumā, Datumā vai vēlāk, Pēc, Datumā vai agrāk, Pirms, Starp, Šodien, Pēdējās X dienas, Pēdējās X nedēļas, Pēdējie X mēneši, Pēdējie X gadi, Nākamās X dienas, Nākamās X nedēļas, Nākamie X mēneši, Nākamie X gadi, Satur datus, Nesatur datus |
| Jā/Nē | Vienāds ar, Nav vienāds ar, Satur datus, Nesatur datus |
| Pielikumi | Vienāds ar, Nav vienāds ar (vērtība: Jā / Nē) |
| Persona vai grupa | Vienāds ar, Nav vienāds ar, Ir pašreizējais lietotājs, Nav pašreizējais lietotājs, Satur datus, Nesatur datus |
| Pārvaldītie metadati (viena un vairākas vērtības) | Vienāds ar, Nav vienāds ar, Satur, Nesatur, Satur datus, Nesatur datus |
| Apstiprinājuma statuss | Vienāds ar, Nav vienāds ar (vērtība - statusu saraksts) |
| Vērtējums, Patīk | Vienāds ar, Nav vienāds ar, Satur datus, Nesatur datus (Patīk: tikai Satur datus, Nesatur datus) |
Satur datus un Nesatur datus pārbauda, vai kolonnai vispār ir vērtība - tāpat kā IsNotNull un IsNull CAML valodā.
Arī vērtības redaktors atbilst kolonnas tipam: datumu atlasītājs datumiem (operatoram Starp - divi datumu atlasītāji), skaitlisks lauks skaitļiem un valūtai, personu atlasītājs kolonnai Persona vai grupa, terminu atlasītājs pārvaldītajiem metadatiem, saraksts Jā / Nē kolonnām Jā/Nē un Pielikumi, statusu saraksts kolonnai Apstiprinājuma statuss, kā arī tekstlodziņš teksta, izvēles un uzmeklēšanas kolonnām.
❗ Svarīgi
Sistēmas un tikai lasāmās kolonnas (piemēram, Content Type ID, Unique ID, Version vai Checked Out To) lauku sarakstā netiek piedāvātas. Netiek piedāvātas arī kolonnas, kuru tipus CAML nevar salīdzināt, - piemēram, Attēls, Atrašanās vieta vai Atkārtošanās.
Statiski un dinamiski nosacījumi
Statisks nosacījums salīdzina kolonnu ar jūsu ievadītu fiksētu vērtību: datumu, skaitli, tekstu, personu. Vērtība vaicājumā tiek ierakstīta tāda, kāda tā ir. Starp ietver abus datumus, ar precizitāti līdz kalendārajai dienai; ja ir iestatīts tikai viens no datumiem, nosacījums kļūst par atvērtu Datumā vai vēlāk vai Datumā vai agrāk.
Dinamisku nosacījumu SharePoint izvērtē vaicājuma izpildes brīdī, tāpēc viena un tā pati lapa dažādiem lietotājiem un dažādās dienās rāda dažādus vienumus:
| Operators | Kā tas tiek izvērtēts |
|---|---|
| Ir pašreizējais lietotājs / Nav pašreizējais lietotājs | Salīdzina personas kolonnu ar pierakstītā lietotāja ID (<UserID /> CAML valodā). |
| Šodien | Salīdzina datuma kolonnu ar pašreizējo datumu (<Today />). |
| Pēdējās X dienas / nedēļas / mēneši / gadi | Diapazons no šodien mīnus X (dienas, nedēļas, mēneši vai gadi) līdz šodien. |
| Nākamās X dienas / nedēļas / mēneši / gadi | Diapazons no šodien līdz šodien plus X. |
Skaitli Pēdējās X un Nākamās X operatoriem ievada rindas vērtības laukā. Pēdējie X mēneši un Pēdējie X gadi vaicājuma ģenerēšanas brīdī tiek pārveidoti par sākuma datumu, tāpēc lapa ar nosacījumu Modified - Pēdējie X gadi - 1 vienmēr aptver pēdējos divpadsmit mēnešus, nevienam nerediģējot filtru.
📝 Piezīme
SharePoint izvērtē vaicājumu serverī. Mēnešu un gadu diapazonu robežas tiek aprēķinātas pārlūkprogrammā vaicājuma ģenerēšanas laikā, savukārt <Today /> nosaka SharePoint. Tāpēc vēlu vakarā modificēts dokuments var iekrist citā dienā, nekā rāda jūsu vietējais pulkstenis.
Kā iepriekš definētais filtrs apvienojas ar lietotāja filtriem
Kad lietotājs lieto filtru filtru rūtī vai kolonnas galvenē, tīmekļa daļa iepriekš definēto filtru neaizstāj. Tā izveido jaunu vaicājumu, kurā iepriekš definētais filtrs un lietotāja filtri ir savienoti ar UN:
<Where>
<And>
</And>
</Where>
Sekas, ko ir vērts zināt:
- Lietotāji rezultātu var sašaurināt, bet nekad nevar paplašināt ārpus iepriekš definētā filtra. Lapa, kas filtrēta pēc Created By - Ir pašreizējais lietotājs, nekad nerāda citas personas vienumus neatkarīgi no tā, ko lietotājs atlasa rūtī.
- Kārtošana, grupēšana, kopsummas un eksports uz Excel darbojas ar apvienoto rezultātu.
- Saglabātie filtri un filtru saites (skatiet KB10253. Filtru saglabāšana un saites kopīgošana uz filtrētu skatu List Filter Online) glabā tikai vaicājuma lietotāja daļu. Iepriekš definētais filtrs ir lapas konfigurācijas daļa un pārvietojas kopā ar lapu.
No koka līdz CAML
CAML - SharePoint sarakstu vaicājumu valoda - elementos <And> un <Or> pieļauj tieši divus operandus. Tāpēc grupu ar trim vai vairāk elementiem nevar ierakstīt kā vienu elementu; tā jāsaloka ligzdotu pāru ķēdē. Query Builder šo salocīšanu veic jūsu vietā, kā arī parūpējas par tipam specifiskajām detaļām: katras vērtības atribūtu Type, LookupId uzmeklēšanas kolonnām un IncludeTimeValue datumu salīdzinājumiem.
Iepriekš redzamā attēla vaicājums rada aptuveni 70 rindu garu <Where> klauzulu. Tās skelets - ar saīsinātiem salīdzinājumiem - izskatās šādi:
<Where>
<And>
<Or>
<Eq><FieldRef Name="Author" /><Value Type="Integer"><UserID /></Value></Eq>
<Eq><FieldRef Name="Editor" /><Value Type="Integer"><UserID /></Value></Eq>
</Or>
<And>
<Or>
<And> <Geq Created 2025-10-21 /> <Leq Created <Today /> /> </And>
<And> <Geq Modified 2025-10-21 /> <Leq Modified <Today /> /> </And>
</Or>
<And>
<Or>
<And> <IsNotNull Customer /> <Gt Amount 5000 /> </And>
<Eq Attachments 1 />
</Or>
<And> <IsNotNull Title /> <BeginsWith Title "C" /> </And>
</And>
</And>
</And>
</Where>
Katra rinda Pēdējie X gadi kļuva par divu datumu salīdzinājumu <And>, katra VAI grupa - par elementu <Or>, bet saknes UN grupas četri elementi - par trim ligzdotiem elementiem <And>.
Ģenerētā vaicājuma apskate
Lai redzētu precīzu CAML, ko tīmekļa daļa nosūta, - ieskaitot iepriekš definēto filtru, pašreizējos lietotāja filtrus, skata laukus, rindu ierobežojumu un grupēšanu:
- Rekvizītu rūtī izvērsiet Izstrādātāja rīki un ieslēdziet Iespējot izstrādātāja režīmu.
- Saglabājiet lapu. Tīmekļa daļas komandjoslas labajā galā parādās izstrādātāja rīku izvēlne.
- Atlasiet CAML vaicājums. Vaicājums atveras dialoglodziņā, un to var nokopēt.

💡 Padoms
Kad filtrs ir gatavs, izslēdziet izstrādātāja režīmu. Izvēlne ir redzama visiem, kas redz tīmekļa daļu.
Iepriekš definēti filtri lielos sarakstos
Sarakstos ar vairāk nekā 5000 vienumiem SharePoint vaicājumu izpilda tikai tad, ja pirmais nosacījums, kas sašaurina rezultātu, izmanto indeksētu kolonnu un pietiekami samazina vienumu skaitu. Iepriekš definētais filtrs tiek izpildīts pirmais, tāpēc tieši tas izšķir, vai lapa vispār atvērsies.
- Sāciet saknes grupu ar nosacījumu indeksētā kolonnā (pārbaudiet, piemēram, kolonnu Created, Modified, Author, Editor un ID indeksus un vajadzības gadījumā izveidojiet tos saraksta iestatījumos).
- Saknē dodiet priekšroku UN: VAI starp divām neindeksētām kolonnām nevar izmantot nevienu indeksu.
- Dinamiskie datuma nosacījumi (Pēdējie X mēneši, Šodien) ir labi pirmie nosacījumi, ja datuma kolonna ir indeksēta.
Sīkāka informācija, indeksa brīdinājums filtru konfiguratorā un indeksa izveide ar vienu klikšķi aprakstīti rakstā KB10257. Lielu sarakstu filtrēšana: indeksētās kolonnas un 5000 vienumu slieksnis.
Ierobežojumi
- Query Builder strādā ar viena saraksta vai bibliotēkas kolonnām - tā, kas atlasīts datu avotā. Nosacījumi citu sarakstu kolonnām nav iespējami.
- Uzmeklēšanas un izvēles vērtības tiek salīdzinātas pēc jūsu ievadītā teksta; Query Builder tām atlasītāja nav.
- Ligzdota grupa bez nosacījumiem vaicājuma ģenerēšanā tiek ignorēta.
- Praksē divi vai trīs līmeņi aptver gandrīz visus scenārijus; dziļāku koku priekšskatījumā ir grūti nolasīt.
- Iepriekš definētais filtrs lietotājiem netiek rādīts. Ja lietotājiem jāzina, kāpēc daži vienumi trūkst, norādiet to tīmekļa daļas virsrakstā vai lapā.