Līdzīgi vaicājuma nosacījumiem. Līdzīgs pieprasījuma nosacījumos Operators līdzīgs 1c pieprasījumā

Neskatoties uz visiem trūkumiem, teksta lauka meklēšana joprojām ir viena no populārākajām. Virkņu datu tipus varam atrast visur – šādā formātā var saglabāt vārdus, kontu numurus, adreses, kā arī citu informāciju. Vaicājumos iebūvētajā 1C valodā izstrādātāju ērtībām tiek izmantots īpašs operators “LIKE”. Šī ir viena no visbiežāk izmantotajām komandām, tāpēc bez pamatīgām zināšanām par tās sintaksi un iespējām programmētājam būs grūti strādāt.

Izmantojot operatoru LIKE

Pirms izmantot jebkuru operatoru praksē, jums ir skaidri jāsaprot tā mērķis, pielietojuma vietas un sintakse. “LIKE” izmantošanas mērķis 1C pieprasījumā ir pārbaudīt, vai nosacījums ir izpildīts kā veidne. Atgriešanas vērtība ir Būla tips — patiess vai nepatiess —, kas norāda, vai norādītais nosacījums ir patiess. Operatoru LIKE var izmantot vairākās vaicājuma vietās:

  • Nosacījumu blokā, kas norādīts ar atslēgvārdu “KUR”;
  • Izvēles Kad tad citādi beigas dizainā;
  • Tieši atlases laukos, lauku salīdzināšanas rezultātā.

Verifikācijas sintakse vienmēr ir vienāda un sastāv no 3 saitēm. Kreisajā pusē ir pārbaudāmā teksta vērtība, pēc tam pats operators “LIKE”, bet labajā pusē ir pārbaudāmā veidne. Lai ātri un vienkārši izveidotu veidnes, ir īpaši simboli, kas atvieglo izstrādi:

  1. “%” ir jebkura patvaļīga garuma rakstzīmju secība. Izmanto, lai virknē meklētu atsevišķus vārdus vai ciparus;
  2. “_” — jebkura atsevišķa rakstzīme. Paredzēts, lai norādītu uz vienas rakstzīmes klātbūtni;
  3. “[...]” ir rakstzīmju secība, kas jāsalīdzina ar rakstzīmi virknē. Ar šāda modeļa palīdzību tiek pārbaudīta atbilstība jebkurai no iekavās norādītajām rakstzīmēm. Varat arī norādīt ciparu vai burtu diapazonu ([a-g], );
  4. “[^...]” ir pretējs modelis iepriekšējam. Tiek pārbaudīta atšķirība starp rindā norādītajām rakstzīmēm un iekavās norādītajām rakstzīmēm.

Lai labāk izprastu un izprastu pareizu veidņu veidošanas principus, apskatīsim dažus piemērus, ar kuriem bieži nākas saskarties izstrādātāju dzīvē. Pirmais ir tad, kad no nomenklatūras direktorija ir jāatlasa visi vienumi, kuru nosaukumos parādās vārds “CUTTER”. Šajā gadījumā vaicājuma nosacījumos ir jāizmanto LIKE:

SELECT Nomenclature.Name AS Nosaukums FROM Directory.Nomenclature AS Nomenclature WHERE Nomenclature.Name LĪDZĪGI "% CUTTER%"

Ja mēs noņemsim abus “%” simbolus, vaicājumā tiks parādīts produkts, kura nosaukums pilnībā atbilst pēdiņās norādītajam. Ja atstājam veidni “CUTTER%” vai “% CUTTER”, tad rezultāts būs to vienumu saraksts, kas attiecīgi beidzas vai sākas ar noteiktu rakstzīmju kombināciju.


Apskatīsim problēmu, kas var mulsināt iesācēju programmētājus, kuri nezina vaicājuma sintaksi. Pieņemsim, ka jums ir jāatrod visi vienumi, kuru nosaukumos ir simbols “%”. Īpaši gadījumos, kad jāmeklē rezervētās rakstzīmes, ir operators “speciālā rakstzīme”. #,\,/,~ un citas rakstzīmes var izmantot kā speciālo rakstzīmi, pēc kuras visas rezervētās rakstzīmes vienkārši apzīmēs zīmi.

SELECT Nomenklatūra.Nosaukums AS Nosaukums FROM Direktorija.Nomenklatūra AS Nomenklatūra WHERE Nomenklatūra.Nosaukums LĪDZĪGI "%#%" SPECIAL CHARACTER "#"

Ja meklēšanā ir jāizmanto parametrs, tad vaicājumā esošais mainīgais ar parametru LĪDZĪGS tiek izmantots, izmantojot pievienošanu. Atcerieties, ka parametram ir jābūt virknes tipam, pretējā gadījumā tas būs jāpārvērš par virkni pieprasījumā. Šī ir diezgan sarežģīta operācija, un labāk to iepriekš izslēgt.

SELECT Nomenclature.Name AS Nosaukums FROM Directory.Nomenclature AS Nomenclature WHERE Nomenclature.Name LĪDZĪGI "%" + &name + "%"

Funkcija LĪDZĪGA ir piemērojama visās platformas versijās, sākot no 8, un tās pielietojamības dēļ 1C izstrādātāji to nevēlēsies mainīt. Protams, teksta meklēšana vienmēr ir atkarīga no ievadītā vārda precizitātes, taču tā joprojām ir viena no visizplatītākajām. Šajā sakarā profesionāliem 1C izstrādātājiem ir jāizpēta LĪDZĪGA izmantošana ar visām tā niansēm.

43
NULL — trūkst vērtību. Nejaukt ar nulles vērtību! NULL nav skaitlis, nav vienāds ar atstarpi, tukšu atsauci vai Undefined. NULL ir tipu veidojoša vērtība, t.i. ir tips NULL un viena šāda veida vērtība. NULL... 26
Lai ģenerētu un izpildītu vaicājumus datu bāzes tabulām platformā 1C, tiek izmantots īpašs programmēšanas valodas Query objekts. Šis objekts tiek izveidots, izsaucot New Request konstrukciju. Ērts pieprasījums... 18
Rakstā ir sniegti noderīgi paņēmieni, strādājot ar 1C v.8.2 vaicājumiem, kā arī informācija, kas nav tik labi zināma par vaicājumu valodu. Es nemēģinu sniegt pilnīgu vaicājumu valodas aprakstu, bet vēlos pakavēties tikai pie... 12
Saskāros ar uzdevumu atlasīt visus maksājumu dokumentus un sagrupēt pēc dokumenta veida! Pārskatījis visus mājokļu un komunālos pakalpojumus un internetu, es sapratu, ka nav vienkāršs veids, kā iegūt dokumenta veidu pieprasījumā: (Man bija...

Apskatīsim nosacītā operatora mērķi un lietojumu PATĪK(lat. LIKE) 1C vaicājumu valodā piemēros.

Ātra pāreja

Mērķis

Pārbaudiet, vai virknes vērtība pieprasījumā atbilst norādītajam modelim — atgriež Būla vērtību (TRUE vai FALSE).

  • Čeks ir no gadījuma neatkarīgs.
  • Vaicājumā tiek izmantoti tabulu indeksi, kas nav saistīti ar pilna teksta meklēšanas indeksiem.
  • Tas var aizņemt ilgu laiku, lai pabeigtu ar lieliem galdiem.
  • Neierobežota garuma virknes ir jāpārveido, izmantojot funkciju SUBSTRING

Lietošanas vietas

  • Pēc operatora WHERE noteikumiem
  • Projektēšanas nosacījumos IZVĒLE KAD<>TAD BEIGAS "" CITS ""
  • Atlases laukos (piemēram: nosaukums LIKE ¶metrs, kas līdzīgs StringSuitable)

Operatora LIKE sintakses apraksts

Operatora parametram ir jābūt virknei: to var norādīt kā konstanti vai nodot kā pieprasījuma parametru.

Tālāk uzskaitītos literāļus (maskas) var lietot kopā vai atsevišķi.

Precīza virknes specifikācija

IZVĒLIES pirmos 10
Atslēgas.Vārds
NO
Directory.Keys AS Atslēgas
KUR
Keys.Name LĪDZĪGI "1" // Atbilst Keys.Name ="1"

Rezultāts:

% ir burtisks burts, kas nozīmē patvaļīgu jebkuru rakstzīmju skaitu

IZVĒLIES pirmos 10
Atslēgas.Vārds
NO
Directory.Keys AS Atslēgas
KUR
Keys.Name LIKE "%"

Rezultāts: jebkuras 10 preces

_ (pasvītrojums): burtiski atbilst jebkurai rakstzīmei

1. piemērs:

IZVĒLIES pirmos 10
Atslēgas.Vārds
NO
Directory.Keys AS Atslēgas
KUR
Keys.Name LIKE "_"

2. piemērs: sākot ar jebkuru rakstzīmi, kam seko “1” un pēc tam jebkuras rakstzīmes

IZVĒLIES pirmos 10
Atslēgas.Vārds
NO
Directory.Keys AS Atslēgas
KUR
Keys.Nosaukums LĪDZĪGI "_1%"

Rezultāts:

(viena vai vairākas rakstzīmes kvadrātiekavās)

  • Katrs burts, kas atbilst kādai rakstzīmei, tiek izmantots kā VAI.
    Ir pieļaujams norādīt diapazonu, piemēram, a-z,0-5, kas nozīmē patvaļīgu rakstzīmi no norādītā diapazona

Piemērs

IZVĒLIES pirmos 10
Atslēgas.Vārds
NO
Directory.Keys AS Atslēgas
KUR
Keys.Nosaukums LĪDZĪGI "[l]%"

Rezultāts: 10, kas sākas ar "l" vai "z"

Piemērs: sākot ar 5,6,7

IZVĒLIES pirmos 10
Atslēgas.Vārds
NO
Directory.Keys AS Atslēgas
KUR
Keys.Name LIKE "%"

Rezultāts:

[^] (kvadrātiekavās ir izslēgšanas simbols ^, kam seko viena vai vairākas rakstzīmes)

Atbilst jebkurai rakstzīmei (_), izņemot norādītās ()

Piemērs

IZVĒLIES pirmos 10
Atslēgas.Vārds
NO
Directory.Keys AS Atslēgas
KUR
Keys.Nosaukums LĪDZĪGS "8.[^012]%"//neietver 8.0,8.1,8.2

Rezultāts: viss sākas ar "8." izņemot norādītos

SPECIAL CHARACTER - komanda, lai norādītu iepriekš pieprasījumā reģistrētās rakstzīmes

Kā pakalpojuma simbolu ir pieņemams izmantot vismaz: #,~,/,\

Piemērs:

IZVĒLIES pirmos 10
Atslēgas.Vārds
NO
Directory.Keys AS Atslēgas
KUR
Taustiņi. Nosaukums LIKE "#_" ĪPAŠAIS RAKSTURS "#"

Rezultāts:

Pielietojamība platformās

Nepareizi parametri LIKE<>

  • Tiek nodots nevirknes tipa parametrs: piemēram, skaitlis 1, nevis virkne “1”
  • Lauks, kas nav virkne, tiek salīdzināts ar derīgu masku (piemēram, saiti) vai savienojuma laikā netiek pārbaudīta vērtība IsNUL.

Pievērsiet uzmanību kļūdas tekstam, kurā tiek parādīts jautājums:

Taustiņi.Vārds LĪDZĪGS<>&L

Šajā rakstā mēs vēlamies ar jums visu apspriest 1C vaicājumu valodas funkcijas, un vaicājumu valodas konstrukcijas. Kāda ir atšķirība starp funkciju un dizainu? Funkcija tiek izsaukta ar iekavām un iespējamajiem parametriem tajās, un konstrukcija tiek rakstīta bez iekavām. Neapšaubāmi visas 1C vaicājumu valodas struktūras un funkcijas padarīt datu iegūšanas procesu elastīgu un daudzfunkcionālu. Šīs funkcijas un konstrukcijas attiecas uz pieprasījuma laukiem, un dažas attiecas arī uz nosacījumiem.

1C vaicājumu valodas funkcijas

Jo skaidrs apraksts 1c vaicājumu valodas funkcijas ir daudz retāk nekā struktūru apraksti, mēs nolēmām sākt aplūkot funkcijas. Tagad apskatīsim katru atsevišķi, aprakstot tā mērķi, sintaksi un lietošanas piemēru, tātad:

1. Funkcija DATUMS LAIKS- šī funkcija izveido nemainīgu lauku ar veidu "Datums".

Sintakse: DATUMS LAIKS(<Год>,<Месяц>,<День>,<Час>,<Минута>,<Секунда>)

Lietošanas piemērs:

2. Funkcija DATE DIFFERENCE- atgriež starpību starp diviem datumiem vienā no dimensijām (gads, mēnesis, diena, stunda, minūte, sekunde). Mērījums tiek nodots kā parametrs.

Sintakse: DIFFERENCEDATE(<Дата1>, <Дата2>, <Тип>)

Lietošanas piemērs:

Query.Text = "SELECT | DIFFERENCEDATE(DATETIME(2015, 4, 17), DATETIME(2015, 2, 1), DAY) | AS Dienu skaits";

3. Funkcija VALUE- iestata nemainīgu lauku ar iepriekš definētu ierakstu no datu bāzes, jūs varat arī iegūt jebkura veida tukšu saiti.

Sintakse: VALUE(<Имя>)

Lietošanas piemērs:

Request.Text = "SELECT //iepriekš definēts elements | VĒRTĪBA(Directory.Currencies.Dollar) AS dolārs, //tukša saite | VĒRTĪBA(Dokuments.Preču un pakalpojumu saņemšana.EmptyLink) AS kvīts, //pārskaitījuma vērtība | VĒRTĪBA(Pārskaitījums Juridiska fiziska persona) AS Privātpersona, //iepriekš definēts konts VĒRTĪBA(Kontu plāns. Pašuzskaite.Materiāli) AS Konts_10" ;

4. SELECT funkcija- mūsu priekšā ir IF konstrukcijas analogs, kas tiek izmantots kodā, tikai šis tiek izmantots 1C vaicājumos.

Sintakse: IZVĒLE, KAD<Выражение>TAD<Выражение>CITĀDI<Выражение>BEIGAS

Lietošanas piemērs:

Request.Text = //ja summa ir lielāka par 7500, tad ir jābūt atlaidei 300 rubļu apmērā, //tātad, ja nosacījums tiek aktivizēts, funkcija //atgriež Summa - 300 //pretējā gadījumā pieprasījums vienkārši atgriezīs summu "ATLASĪT | IZVĒLĒTIES | KAD TKRkvītis.Summa > 7500 | TAD TKRkvītis.Summa - 300 | CITI TKRkvītis.Summa | BEIGAS KĀ SummaAratlaidi | NO |

5. EXPRESS funkcija- ļauj izteikt konstantu lauku ar noteiktu veidu.

Sintakse: EXPRESS (lauka nosaukums kā tipa nosaukums)

Lietošanas piemērs:

Query.Text = "ATLASĪT DAŽĀDU | Pārdošana.Reģistra numurs, | IZVĒLĒTIES | WHEN Pārdošana. Reģistratūras saites dokuments.Izdevumi | THEN EXPRESS(Pārdošana.Reģistrs kā dokuments.Izdevumi) | ELSE SELECT | WHEN Pārdošana.Reģistras saites dokuments.Ieviešana | THEN EXPRESS(Sales.Registrar AS Document.Implementation) |. END AS Uzkrāšanas reģistrs Pirkumi";

Vai ir vēl kāda iespēja izmantot funkciju EXPRESS jaukta tipa laukos, kur tās rodas? Vienkāršākais piemērs ir jebkura reģistra “reģistrators”. Tātad, kāpēc mums varētu būt nepieciešams kvalificēt veidu reģistratorā? Apskatīsim situāciju, kad no reģistratūras atlasām lauku "Numurs", no kuras tabulas tiks izvēlēts numurs? Pareizā atbilde visiem! Tāpēc, lai mūsu vaicājums darbotos ātri, mums ir jānorāda precīzs veids, izmantojot funkciju EXPRESS

Lietošanas piemērs:

Query.Text = "SELECT | EXPRESS(Nomenclature.Comment AS Line(300)) AS Comment, | EXPRESS(Nomenclature.Sum AS Number(15,2)) AS Sum |FROM | Directory.Nomenclature AS Nomenclature";

6. ISNULL funkcija(alternatīvā pareizrakstība ISNULL) - ja laukam ir NULL tips, tas tiek aizstāts ar funkcijas otro parametru.

Sintakse: ISNULL(<Поле>, <ПодставляемоеЗначение>)

Lietošanas piemērs:

Ņemiet vērā arī to, ka ir ieteicams VIENMĒR aizstāt NULL tipu ar kādu vērtību, jo salīdzinājums ar tipu NULL vienmēr atgriež FALSE, pat ja jūs salīdzināt NULL ar NULL. Visbiežāk NULL vērtības veidojas tabulu savienošanas rezultātā (visu veidu savienojumi, izņemot iekšējos).

Query.Text = //Atlasīt visu preci un tās atlikumus //ja kādā vienībā nav bilances, tad būs lauks //NULL, kas tiks aizstāts ar vērtību 0 "SELECT | No. Link, | ISNULL (ProductsInStockRemains.InStockRemaining, 0) KĀ Atlikuši |. Katalogs.Nomenklatūra AS Nr. |.KREISĀS DARBĪBAS |

7. REPREZENTĀCIJAS funkcija- ļauj iegūt pieprasījuma lauka attēlojumu.

Sintakse: PERFORMANCE(<НаименованиеПоля>)

Lietošanas piemērs:

Query.Text = "SELECT | REPREZENTĀCIJA(FreeRemainingRemains.Nomenclature) AS Nomenklatūra, | REPREZENTĀCIJA(FreeRemaining.Warehouse) AS Noliktava, | FreeRemainingRemaining.InStockRemaining |FROM |Uzkrāšanas reģistrs.FreeRemainingAS FreeRemaining"

Konstrukcijas 1C vaicājumu valodā

Mēs ar jums apspriedām iepriekš 1C vaicājumu valodas funkcijas, tagad ir laiks apsvērt konstrukcijas 1C vaicājumu valodā, tie ir ne mazāk svarīgi un noderīgi, sāksim.

1. Būvniecība LINK- ir loģisks operators atsauces veida pārbaudei. Visbiežāk sastopams, pārbaudot kompleksa tipa lauku ar noteiktu tipu. Sintakse: SAITE<Имя таблицы>

Lietošanas piemērs:

Pieprasījums.Teksts = //ja ierakstītāja vērtības tips ir dokuments Kvīts, //tad vaicājums atgriezīs "Preču saņemšana", pretējā gadījumā "Preču pārdošana" "SELECT | SELECT | WHEN Remaining.Registrar LINK Dokuments.Preču saņemšanaPakalpojumi | TAD ""Saņemšana"" |. END AS Pārvietošanās veids |. Atlikušo produktu reģistrs noliktavās" ;

2. Dizains STARP- šis operators pārbauda, ​​vai vērtība ir norādītajā diapazonā.

Sintakse: STARP<Выражение>UN<Выражение>

Lietošanas piemērs:

Request.Text = //iegūstiet visu nomenklatūru, kuras kods ir diapazonā no 1 līdz 100 "SELECT | Nomenclature.Link | FROM | Directory.Nomenclature AS Nomenclature | WHERE | Nomenclature.Code BETWEEN 1 UN 100" ;

3. B un B būvniecības HIERARHIJA- pārbaudiet, vai vērtība ir pārsūtītajā sarakstā (masīvus, vērtību tabulas utt. var pārsūtīt kā sarakstu). Operators IN HIERARHIJA ļauj skatīt hierarhiju (kontu plāna izmantošanas piemērs).

Sintakse: IN(<СписокЗначений>), HIERARHJĀ(<СписокЗначений>)

Lietošanas piemērs:

Pieprasījums.Teksts = //atlasīt visus konta apakškontus "SELECT | Pašpietiekams. Saistīt AS kontu | NO | Kontu plāns. Pašpietiekams AS Pašpietiekams | KUR | Pašpietiekams. Saite HIERARHIJAS VĒRTĪBĀ (Chart of Konti. Pašnodrošinātas preces.

4. Dizains LĪDZĪGS- Šī funkcija ļauj mums salīdzināt virkni ar virknes modeli.

Sintakse: PATĪK "<ТекстШаблона>"

Rindu raksta opcijas:

% — virkne, kas satur jebkādu skaitu patvaļīgu rakstzīmju.

Viens patvaļīgs raksturs.

[...] — jebkura atsevišķa rakstzīme vai rakstzīmju secība, kas norādīta kvadrātiekavās. Uzskaitījums var norādīt diapazonus, piemēram, a–z, kas nozīmē diapazonā iekļautu patvaļīgu rakstzīmi, tostarp diapazona beigas.

[^...] — jebkura atsevišķa rakstzīme vai rakstzīmju secība, kas norādīta kvadrātiekavās, izņemot tās, kas norādītas aiz nolieguma zīmes.

Lietošanas piemērs:

Query.Text = //atrodiet visu nomenklatūru, kas satur sakni TABUR un sākas //vai nu ar mazo vai lielo burtu t "SELECT | Nomenclature. Link | FROM | Directory. Nomenclature AS Nomenclature | WHERE | Products. Name LIKE "" [Tt ]abur%""" ;

5. Dizains ATĻAUTS- šis operators ļauj no datu bāzes atlasīt tikai tos ierakstus, kuriem zvanītājam ir lasīšanas atļauja. Šīs tiesības ir konfigurētas ieraksta līmenī (RLS).

Sintakse: ALOWED ir rakstīts aiz atslēgvārda SELECT

Lietošanas piemērs:

Request.Text = "ATLASĪT ATĻAUTO | Darījuma partneri. Saite | NO | Katalogs. Darījuma partneri KĀ darījuma partneri";

6. Dizains DAŽĀDI- ļauj atlasīt ierakstus, kuros nav ierakstu dublikātu.

Sintakse: DAŽĀDI ir rakstīts aiz atslēgvārda SELECT

Lietošanas piemērs:

Request.Text = //atlasa ierakstus, uz kuriem lasītājam ir tiesības "IZVĒLĒTIES DAŽĀDU | Counterparties.Name |FROM | Directory. Counterparties AS Counterparties" ;

Tāpat DAŽĀDU konstrukciju var izmantot ar ATĻAUTO operatoru un citiem operatoriem.

Lietošanas piemērs:

Request.Text = //atlasa dažādus ierakstus, uz kuriem lasītājam ir tiesības "ATLASĪT ATĻAUTOS DAŽĀDU | Counterpartities.Name |FROM | Directory. Counterparties AS Counterpartities";

7. Dizains PIRMAIS- no vaicājuma rezultāta izvēlas parametrā norādīto ierakstu skaitu.

Sintakse: FIRST<число>

Lietošanas piemērs:

Request.Text = //atlasiet pirmos 4 CCD numurus no direktorija "SELECT FIRST 4 | CCD Numbers. Link | FROM | Directory. CCD Numbers AS CCD Numbers";

8. Dizains PĀRMAIŅĀM- ļauj bloķēt galdu, darbojas tikai transakcijās (attiecas tikai uz automātiskajām slēdzenēm).

Sintakse: PĀRMAIŅĀM<НаименованиеТаблицы>

Lietošanas piemērs:

Query.Text = "SELECT | Bezmaksas atlikumi, atlikumi. Nomenklatūra, | Bezmaksas atlikumi. Noliktava, | Bezmaksas atlikumi. Noliktavā Atlikušie | NO | Uzkrājumu reģistrs. Bezmaksas atlikumi. Atlikumi KĀ bezmaksas atlikumi Atlikumi | MAINĪJUMU reģistrs | Brīvās atliekas.

9. Dizains PASŪTĪT PĒC- kārto datus pēc noteikta lauka. Ja lauks ir saite, tad, uzstādot karogu AUTO PASŪTĪJUMS Kārtošana notiks pēc saites attēlojuma, ja karodziņš ir izslēgts, tad saites tiek kārtotas pēc saites adreses vecumposma atmiņā.

Sintakse: KĀRTOT PĒC<НаименованиеПоля>AUTO PASŪTĪJUMS

Lietošanas piemērs:

Query.Text = "SELECT | Free Remainings Remainings. Nomenclature AS Nomenclature, | Free Remainings Remainings. Warehouse AS Noliktava, | Free Remainings Remainings. Noliktavā Atlikušie | FROM | Reģistrēt Uzkrājumi. Bezmaksas Atlikumi. Atlikušie AS Free Remaining Remainings BY | |. Nomenklatūra |. AUTO PASŪTĪJUMU LASĪŠANA";

10. Dizains GROUP BY- izmanto, lai grupētu vaicājuma virknes pēc noteiktiem laukiem. Ciparu lauki ir jāizmanto ar jebkuru apkopošanas funkciju.

Sintakse: GROUP BY<НаименованиеПоля1>, .... , <НаименованиеПоляN>

Lietošanas piemērs:

Query.Text = "SELECT | ProductsInWarehouses.Nomenclature AS Nomenclature, | ProductsInWarehouses.Warehouse, | SUM(GoodsInWarehouses.Stock) AS KRĀJUMI | NO | ReģistrētiesUzkrājumi.ProduktiNoliktavās AS |ProduktiNoliktavās |Noliktavā .Noliktava";

11. Dizains HAVING- ļauj datu atlases nosacījumam lietot apkopošanas funkciju, līdzīgi kā WHERE konstrukcijai.

Sintakse: ŅEMOT<агрегатная функция с условием>

Lietošanas piemērs:

Query.Text = //atlasa grupētus ierakstus, kur InStock lauks ir lielāks par 3 "SELECT | ItemsInStocks.Nomenclature AS Nomenclature, | ItemsInWarehouses.Warehouse, | SUM(ItemsInStocks.InStock) AS INSTOCK |FROM | RegisterItemstockumlationsa. GROUP BY |. ProduktiNoliktavās.Noliktavās |.SUMMA (ProduktiNoliktavās) > 3" ;

12. Būvniecības INDEX BY- izmanto vaicājuma lauka indeksēšanai. Vaicājuma ar indeksēšanu pabeigšana prasa ilgāku laiku, taču paātrina meklēšanu indeksētos laukos. Var izmantot tikai virtuālajās tabulās.

Sintakse: INDEX BY<Поле1, ... , ПолеN>

Lietošanas piemērs:

Request.Text = "SELECT | Ts.NameOS, | Ts.FolderNumber, | Ts.CodeOS, | Ts.Term, | Ts.Type | PLACE DataTs | FROM | &Ts AS Ts | | INDEX BY | Ts.NameOS, | Ts .CodeOS";

13. Dizains KUR- ļauj uzlikt nosacījumu jebkuram atlases laukam. Rezultātā tiks iekļauti tikai tie ieraksti, kas atbilst nosacījumam.

Sintakse: KUR<Условие1 ОператорЛогСоединения УсловиеN>

Lietošanas piemērs:

Query.Text = //ir atlasīti visi ieraksti ar CompensationRemaining<>0 un //AmountFor CalcCompRemaining > 100 "SELECT | CompensationRPORemains.Counterparty, |CompensationRPORemains.Child, | CompensationRPORemains.CompensationRemains | AtlīdzībaRPPaliek |KUR |AtlīdzībaRPORatlikums.Atlīdzība<>0 | Un CompensationRPORemains.AmountForCalcCompRemaining> 100" ;

14. Dizaina REZULTĀTI... VISPĀRĪGI- izmanto kopsummas aprēķināšanai. Izmantojot kopsummas katram laukam pēc konstrukcijas KOPĀ, dati tiek grupēti. Pēc izvēles ir GENERAL konstrukcija, tā izmantošana nodrošina arī papildu grupēšanu. Tālāk redzēsit pieprasījuma rezultāta piemēru.

Sintakse: REZULTĀTI<АгрегатнаяФункция1, ... , АгрегатнаяФункцияN>BY<ОБЩИЕ> <Поле1, ... , ПолеN>

Lietošanas piemērs:

Request.Text = "SELECT | Aprēķini. Darījuma partnera līgums. Līguma veids AS Līguma veids, | Aprēķini. Darījuma partnera līgums AS līgums, | Aprēķini. Darījuma partneris, | Aprēķini. Savstarpējo norēķinu bilances summa AS bilance | NO | Uzkrājumu reģistrs. Savstarpēja Norēķini AR Darījuma partneriem |. KOPĀ |. VISPĀRĪGI, |Līguma veids";

Attēlā ir norādīti grupējumi, kas tika izveidoti pieprasījuma izpildes laikā, augšējais attiecas uz sadaļu VISPĀRĪGI, bet otrais uz lauku Darījuma partnera līgumaLīguma veids.

Dažreiz rodas situācija, kad 1C 8.3 vai 8.2 jums ir jāveic atlase, piemēram, no visu elementu direktorijas, kuru nosaukumā ir vārds “glazūra”. Vai arī no direktorijas atlasiet visus darbuzņēmējus, kuru uzvārdos ir vārds “Ivans”. Kopumā pārbaudiet kādu virknes vērtību.

Šim nolūkam 1C vaicājumos 8.3 un 8.2 ir operators - “Līdzīgs”. To izmanto attiecīgi šādos apstākļos:

Saņemiet 267 video nodarbības 1C bez maksas:

Kā izmantot veidnes 1C vaicājumos?

Lai ģenerētu atlases nosacījumu, jums ir jānodod noteikta veidne kā parametrs. Lai izveidotu veidni, ir tā sauktie pakalpojumu simboli.

Piemēram, rakstzīme "%" pieļauj jebkuru patvaļīgu rakstzīmju secību:

Ir arī citas īpašās rakstzīmes:

  • % (procenti) - pieļauj jebkuru patvaļīgu rakstzīmju secību;
  • _ (pasvītrojums) - jebkura atsevišķa rakstzīme;
  • […] – viena patvaļīga rakstzīme no tām, kas norādītas iekavās. Papildus rakstzīmju uzskaitīšanai varat izmantot diapazonus. Piemērs: a-o;
  • [^...] – tas pats, kas iepriekšējais, bet otrādi. Zīme "^" nozīmē noliegumu.


 

Varētu būt noderīgi izlasīt: