Sąlyga panaši į 1c prašymą. Panašus į užklausos sąlygas. Netinkami parametrai, pvz

Šiame straipsnyje norime viską aptarti su jumis 1C užklausų kalbos funkcijos, ir užklausos kalbos konstrukcijos. Kuo skiriasi funkcija ir dizainas? Funkcija iškviečiama su skliaustais ir galimais parametrais juose, o konstrukcija rašoma be skliaustų. Neabejotinai visos 1C užklausų kalbos struktūros ir funkcijos padaryti duomenų gavimo procesą lanksčiu ir daugiafunkciniu. Šios funkcijos ir konstrukcijos taikomos užklausos laukams, o kai kurios taip pat taikomos sąlygoms.

1C užklausų kalbos funkcijos

Nes aiškus aprašymas 1c užklausos kalbos funkcijos yra daug rečiau nei struktūrų aprašymai, nusprendėme pradėti žiūrėti į funkcijas. Dabar pažvelkime į kiekvieną atskirai, apibūdindami jo paskirtį, sintaksę ir naudojimo pavyzdį, taigi:

1. Funkcija DATA LAIKAS- ši funkcija sukuria pastovų lauką, kurio tipas yra „Data“.

Sintaksė: DATA LAIKAS (<Год>,<Месяц>,<День>,<Час>,<Минута>,<Секунда>)

Naudojimo pavyzdys:

2. Funkcija DATE DIFFERENCE- grąžina skirtumą tarp dviejų datų viename iš matmenų (metai, mėnuo, diena, valanda, minutė, sekundė). Matavimas perduodamas kaip parametras.

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

Naudojimo pavyzdys:

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

3. Funkcija VALUE- nustato pastovų lauką su iš anksto nustatytu įrašu iš duomenų bazės, taip pat galite gauti bet kokio tipo tuščią nuorodą.

Sintaksė: VALUE(<Имя>)

Naudojimo pavyzdys:

Request.Text = "SELECT //iš anksto apibrėžtą elementą | VERTĖ (Katalogas. Valiutos. Doleris) AS doleris, //tuščia nuoroda | VERTĖ (Dokumentas. Prekių ir paslaugų gavimas. EmptyLink) AS kvitas, //pervedimo vertė | VERTĖ (Pervedimas) . Juridinis asmuo) Asmuo, //iš anksto nustatyta sąskaita VERTĖ (Sąskaitų planas. Savarankiška apskaita. Medžiaga) AS Sąskaita_10" ;

4. SELECT funkcija- prieš mus yra IF konstrukcijos analogas, kuris naudojamas kode, tik šis naudojamas 1C užklausose.

Sintaksė: PASIRINKTI KADA<Выражение>TADA<Выражение>KITAIP<Выражение>GALAS

Naudojimo pavyzdys:

Request.Text = //jei suma yra didesnė nei 7500, tada turėtų būti 300 rublių nuolaida, //taigi, jei sąlyga suveikia, funkcija //grąžina Suma - 300 //kitaip užklausa grąžins tiesiog Suma "PASIRINKITE | PASIRINKTI | KAI TCR kvitai.Suma > 7500 | TAD TKRkvitai.Suma - 300 | KITAI TCRkvitai.Suma | PABAIGTI AS Suma Su nuolaida | NUO |

5. EXPRESS funkcija- leidžia išreikšti pastovų lauką tam tikru tipu.

Sintaksė: EXPRESS (lauko pavadinimas AS tipo pavadinimas)

Naudojimo pavyzdys:

Query.Text = "PASIRINKITE ĮVAIRIUS | Pardavimas.Regitros numeris, | PASIRINKTI | KAI Pardavimas.Registruotojas LINK Dokumentas.Sunaudojimas | THEN EXPRESS(Pardavimas.Registr.Kaip dokumentas.Sunaudojimo reikmenys) | ELSE SELECT | WHEN Pardavimas |Registruotojas LINK Dokumentas.Įgyvendinimas THEN EXPRESS(Pardavimas.Registras AS dokumentas.Įgyvendinimas) |. END AS Numeris Akumuliacinis registras, Pirkimai";

Ar yra kita galimybė naudoti funkciją EXPRESS mišrių tipų laukuose, kur jie atsiranda? Paprasčiausias pavyzdys yra bet kurio registro „Regitras“. Taigi kodėl mums gali reikėti kvalifikuoti tipą registratoriuje? Panagrinėkime situaciją, kai iš registratoriaus pasirenkame lauką „Skaičius“, iš kurios lentelės bus pasirinktas skaičius? Teisingas visų atsakymas! Todėl, kad mūsų užklausa veiktų greitai, turėtume nurodyti aiškų tipą naudodami funkciją EXPRESS

Naudojimo pavyzdys:

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

6. ISNULL funkcija(alternatyvi rašyba ISNULL) - jei laukas yra NULL tipo, tada jis pakeičiamas antruoju funkcijos parametru.

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

Naudojimo pavyzdys:

Taip pat atkreipkite dėmesį, kad NULL tipą patartina VISADA pakeisti kokia nors reikšme, nes palyginimas su tipu NULL visada grąžina FALSE, net jei lyginate NULL su NULL. Dažniausiai NULL reikšmės susidaro dėl lentelių sujungimo (visų tipų sujungimai, išskyrus vidinius).

Query.Text = //Pasirinkite visą prekę ir jos likučius //jei kurioje nors prekėje nėra likučio, bus laukas //NULL, kuris bus pakeistas reikšme 0 "SELECT | No. Link, | ISNULL (ProductsInStockRemains.InStockRemaining, 0) AS Likęs |. Katalogas.Nomenklatūra AS Nr. |. RegistracijaAccumulations.GoodsInWarehouses.Remainings AS GoodsInStockRemainings

7. ATSTOVIMO funkcija- leidžia gauti užklausos lauko vaizdą.

Sintaksė: SPEKTAKLIS(<НаименованиеПоля>)

Naudojimo pavyzdys:

Query.Text = "SELECT | ATSTOVYMAS(FreeRemainingRemains.Nomenclature) AS nomenklatūra, | ATSTOVYMAS(FreeRemaining.Warehouse) AS Sandėlis, | FreeRemainingRemaining.InStockRemaining |NUO |Akumuliacijos Registras.LikusiasLikęs;Likęs

Konstrukcijos 1C užklausos kalba

Mes su jumis aptarėme aukščiau 1C užklausų kalbos funkcijos, dabar laikas pagalvoti konstrukcijas 1C užklausos kalba, jie ne mažiau svarbūs ir naudingi, pradėkime.

1. Statybos LINK- yra loginis operatorius, skirtas patikrinti nuorodos tipą. Dažniausiai susiduriama tikrinant kompleksinio tipo lauką su konkrečiu tipu. Sintaksė: LINK<Имя таблицы>

Naudojimo pavyzdys:

Request.Text = //jei registratoriaus vertės tipas yra dokumentas Kvitas, //tada užklausa pateiks "Prekių gavimas", kitu atveju "Prekių pardavimas" "SELECT | SELECT | WHEN Remainings.Registr LINK Dokumentas.Prekių gavimas ir Paslaugos |. TAD ""Sunaudojimas"

2. Dizainas TARP- šis operatorius patikrina, ar reikšmė yra nurodytame diapazone.

Sintaksė: TARP<Выражение>IR<Выражение>

Naudojimo pavyzdys:

Request.Text = //gauti visą nomenklatūrą, kurios kodas yra nuo 1 iki 100 "SELECT | Nomenclature.Link | FROM | Katalogas. Nomenklatūra AS Nomenklatūra | WHERE | Nomenklatūra.Kodas NUO 1 IR 100" ;

3. B ir B konstrukcijos HIERARCHIJA- patikrinkite, ar reikšmė yra perduodamame sąraše (masyvus, verčių lenteles ir pan. galima perkelti kaip sąrašą). Operatorius IN HIERARCHIJA leidžia peržiūrėti hierarchiją (sąskaitų plano naudojimo pavyzdys).

Sintaksė: IN(<СписокЗначений>), HIERARCHIJOJE(<СписокЗначений>)

Naudojimo pavyzdys:

Request.Text = //pasirinkite visas paskyros subsąskaitas "SELECT | Savarankiškas. Susieti AS paskyrą | IŠ Sąskaitos.

4. Dizainas PANAŠUS- Ši funkcija leidžia palyginti eilutę su eilutės raštu.

Sintaksė: KAIP "<ТекстШаблона>"

Eilučių modelio parinktys:

% – seka, turinti bet kokį skaičių atsitiktinių simbolių.

Vienas savavališkas simbolis.

[...] – bet koks vienas simbolis arba simbolių seka, nurodyta laužtiniuose skliaustuose. Sąrašas gali nurodyti diapazonus, pvz., a-z, o tai reiškia savavališką simbolį, įtrauktą į diapazoną, įskaitant diapazono galus.

[^...] – bet koks atskiras simbolis arba simbolių seka, nurodyta laužtiniuose skliaustuose, išskyrus tuos, kurie išvardyti po neigimo ženklo.

Naudojimo pavyzdys:

Query.Text = //raskite visą nomenklatūrą, kurioje yra šaknis TABUR ir kuri prasideda //mažąja arba didžiąja raide t "SELECT | Nomenklatūra. Nuoroda | FROM | Katalogas. Nomenklatūra AS Nomenklatūra | WHERE | Produktai. Pavadinimas PATINKA "" [Tt ]abur%""" ;

5. Dizainas LEIDŽIAMAS- šis operatorius leidžia iš duomenų bazės pasirinkti tik tuos įrašus, kuriems skambinantysis turi leidimą skaityti. Šios teisės sukonfigūruotos įrašo lygiu (RLS).

Sintaksė: ALOWED rašomas po raktinio žodžio SELECT

Naudojimo pavyzdys:

Request.Text = "PASIRINKITE LEIDŽIAMUS | Sandorio šalis. Nuoroda | IŠ | Katalogas. Sandorio šalys KAIP sandorio šalys";

6. Dizainas ĮVAIRUS- leidžia pasirinkti įrašus, kuriuose nėra pasikartojančių įrašų.

Sintaksė: VARIOUS rašomas po raktinio žodžio SELECT

Naudojimo pavyzdys:

Request.Text = //parenka įrašus, į kuriuos skaitytojas turi teises "PASIRINKTI ĮVAIRIUS | Counterparties.Name |FROM | Katalogas. Sandorio šalys AS Counterparties" ;

Taip pat ĮVAIRINGA konstrukcija gali būti naudojama su LEIDŽIAMU operatoriumi ir kitais operatoriais.

Naudojimo pavyzdys:

Request.Text = //parenka įvairius įrašus, į kuriuos skaitytojas turi teises "SELECT ALOWED VARIOUS | Counterparties.Name | FROM | Directory. Counterparties AS Counterparties";

7. Dizainas PIRMA- iš užklausos rezultato pasirenka parametre nurodytą įrašų skaičių.

Sintaksė: FIRST<число>

Naudojimo pavyzdys:

Request.Text = //pasirinkite pirmuosius 4 CCD numerius iš katalogo "SELECT FIRST 4 | CCD Numbers. Link | FROM | Directory. CCD Numbers AS CCD Numbers";

8. Dizainas POKYČIAMS- leidžia užrakinti lentelę, veikia tik operacijose (aktualu tik automatiniams užraktams).

Sintaksė: DĖL POKYČIŲ<НаименованиеТаблицы>

Naudojimo pavyzdys:

Query.Text = "SELECT | Laisvos likučio likučiai. Nomenklatūra, | Laisvos likučio likučiai. Sandėlis, | Laisvos likučio likučiai. Likę sandėlyje | FROM | Kaupimų registras. Nemokami likučiai. Likučiai, kaip nemokami likučiai Likučiai | PAKEITIMAI Registras | Laisvi likučiai“;

9. Dizainas UŽSAKYTI PAGAL- tvarko duomenis pagal tam tikrą lauką. Jei laukas yra nuoroda, tada nustatant vėliavėlę AUTOMATINIS UŽSAKYMAS Rūšiavimas vyks pagal nuorodos vaizdavimą, jei vėliavėlė išjungta, tada nuorodos rūšiuojamos pagal nuorodos adreso atmintyje senumą.

Sintaksė: RŪŠIUOTI PAGAL<НаименованиеПоля>AUTOMATINIS UŽSAKYMAS

Naudojimo pavyzdys:

Query.Text = "SELECT | Nemokami likučiai. Nomenklatūra AS Nomenklatūra, | Nemokami likučiai. Sandėlis AS Sandėlis, | Laisvos likučio likučiai. Sandėlyje Likę | NUO | Registruoti sankaupas. Nemokami likučiai. Likę AS Free Remaining Remainings BY | |. Nomenklatūra |. AUTOMATINIS UŽSAKYMO SKAITYMAS";

10. Dizainas GROUP BY- naudojamas sugrupuoti užklausos eilutes pagal konkrečius laukus. Skaitiniai laukai turi būti naudojami su bet kokia agregato funkcija.

Sintaksė: GRUPUOTI PAGAL<НаименованиеПоля1>, .... , <НаименованиеПоляN>

Naudojimo pavyzdys:

Query.Text = "SELECT | ProductsInWarehouses.Nomenclature AS Nomenclature, | ProductsInWarehouses.Warehouse, | SUM(GoodsInWarehouses.Stock) AS SANTYKOS |IŠ | RegistruotiSandėliuose esantys gaminiai AS ProduktaiNėra sandėlių |Sandėliuose | .Sandėlis“;

11. Dizainas TURIMAS- leidžia duomenų atrankos sąlygai taikyti agregavimo funkciją, panašią į WHERE konstrukciją.

Sintaksė: TURIMAS<агрегатная функция с условием>

Naudojimo pavyzdys:

Query.Text = //parenka sugrupuotus įrašus, kuriuose InStock laukas yra didesnis nei 3 "SELECT | ItemsInStocks.Nomenclature AS Nomenclature, | ItemsInWarehouses.Warehouse, | SUM(ItemsInStocks.InStock) AS INSTOCK |NUO | Registruokitės | GROUP BY |. ProduktaiSandėliuose. Produktai Sandėliuose | |.

12. Statyba INDEX BY- naudojamas užklausos lauko indeksavimui. Užklausa su indeksavimu užtrunka ilgiau, bet pagreitina paiešką indeksuotuose laukuose. Galima naudoti tik virtualiose lentelėse.

Sintaksė: RODYKLĖ PAGAL<Поле1, ... , ПолеN>

Naudojimo pavyzdys:

Query.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. Dizainas KUR- leidžia nustatyti sąlygą bet kuriems pasirinkimo laukams. Rezultatas apims tik sąlygą atitinkančius įrašus.

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

Naudojimo pavyzdys:

Query.Text = //pasirinkti visi įrašai su CompensationRemaining<>0 ir //AmountFor CalcCompRemains > 100 "SELECT | KompensacijaRPORPalieka.Sandorio šalis, |AtlyginimasRPORlieka.Vaikas, | KompensacijaRPORlieka.Atlyginimas, | KompensacijaRPORlieka.AmountForCalcCompRemains.Accumul.AccumulsPFROM |AmountForCalcCompRemains | AtlyginimasRPORliekas |KUR |AtlyginimasRPORliekas.Atlyginimas<>0 | Ir CompensationRPORemains.AmountForCalcCompRemaining> 100" ;

14. Dizaino REZULTATAI... BENDRA- naudojamas sumoms apskaičiuoti, projekte nurodomi laukai, pagal kuriuos bus skaičiuojamos sumos ir sumoms taikomos agreguotos funkcijos. Kai naudojate kiekvieno lauko sumas pagal TOTAL konstrukciją, duomenys sugrupuojami. Yra neprivaloma konstrukcija GENERAL, jos naudojimas taip pat suteikia papildomą grupavimą. Žemiau pamatysite užklausos rezultato pavyzdį.

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

Naudojimo pavyzdys:

Request.Text = "SELECT | Skaičiavimai. Sandorio šalies sutartis. Sutarties tipas AS Sutarties tipas, | Skaičiavimai. Sandorio šalies sutartis AS Sutartis, | Skaičiavimai. Sandorio šalis, | Skaičiavimai. Tarpusavio atsiskaitymo likučio suma AS likutis | NUO | Kaupimų registras. Abipusė Atsiskaitymas SU sandorio šalimis Skaičiavimai |. SUMA | BENDRA, |

Paveikslėlyje pateikiamos grupuotės, kurios buvo suformuotos vykdant užklausą, viršutinė skirta skyriui BENDRA, o antrajame lauke Sandorio šalies sutarties tipas.

operatorius KAIP leidžia palyginti eilutės tipo duomenis užklausoje, esančioje operatoriaus kairėje, su eilutės tipo duomenimis, esančiais operatoriaus dešinėje. Palyginimo rezultatas įvertinamas kaip teisingas arba klaidingas, todėl palyginimas gali būti taikomas kaip sąlyga.

Operatoriui KAIP Yra specialių paslaugų simbolių, kurie nėra suvokiami kaip eilutė:

  • „%“ procento simbolis: nurodo, kad eilutėje yra bet koks savavališkų simbolių skaičius
  • „[...]“ vienas ar daugiau simbolių laužtiniuose skliaustuose: rodo, kad yra bet kuris (vienas) iš išvardytų simbolių. Taip pat gali būti nurodytas simbolių diapazonas (pavyzdžiui)
  • "_" pabraukimas: rodo bet kokį savavališką simbolį
  • „[^...]“ neigimo simbolis: reiškia bet kurio vieno simbolio buvimą, išskyrus nurodytus laužtiniuose skliaustuose
Jei palyginimui reikia nurodyti vieną iš aukščiau pateiktų specialiųjų simbolių, turite naudoti raktinį žodį "SPECIALS SIMBOLIS"

Naudojimo su įvairiomis DBVS ypatybės

IBM DB2"Tik parametras gali būti dešinėje PNAŠTAS operatoriaus pusėje. Vieninteliai pakaitos simboliai yra "_" (pabraukimas reiškia bet kurį simbolį) ir "%" (procentas, reiškiantis bet kokių simbolių seką).
Jei naudojate DBVS " PostgreSQL" arba " Oracle duomenų bazė„Specialieji ženklai „laužtiniai skliaustai [...]“ priimami tik tuo atveju, jei jie nurodyti užklausos tekste, ir NĖRA perduodami kaip užklausos parametras.

Taigi failų duomenų bazėje specialieji simboliai visada bus suvokiami vienodai ir skirtingai, atsižvelgiant į kliento-serverio versijoje naudojamą DBVS.

Pavyzdys: pasirinkite produktus, kurių pavadinime yra simbolis „%“.

PASIRINKTI | Nuoroda |IŠ | Katalogas KUR | Ref.Name LIKE "%\%" SPECIALUS CHARACTER "\"

Pavyzdys: pasirinkite produktus, kurių pavadinimai prasideda žodžiu „Bakas“

PASIRINKTI | Nuoroda |IŠ | Katalogas KUR | Nuorodos pavadinimas, panašus į „Bak%“

Pavyzdys: pasirinkite produktus, kurių pavadinimai baigiasi skaičiumi

PASIRINKTI | Nuoroda |IŠ | Katalogas KUR | Nuorodos pavadinimas, panašus į „%“

Pažiūrėkime į sąlyginio operatoriaus paskirtį ir naudojimą PATINKA (angl. LIKE) 1C užklausos kalba pavyzdžiuose.

Greitas praėjimas

Tikslas

Patikrinkite, ar eilutės reikšmė užklausoje atitinka nurodytą šabloną – grąžina Būlio reikšmę (TRUE arba FALSE).

  • Čekis nepriklauso nuo bylos.
  • Užklausoje naudojami lentelės indeksai, nesusiję su viso teksto paieškos indeksais.
  • Tai gali užtrukti ilgai, kol bus sudarytos didelės lentelės.
  • Neriboto ilgio eilutes reikia konvertuoti naudojant funkciją SUBSTRING

Naudojimo vietos

  • Operatoriaus WHERE sąlygomis
  • Projektavimo sąlygose PASIRINKTI KADA<>TADA PABAIGA "" KITA ""
  • Pasirinkimo laukuose (pavyzdžiui: pavadinimas LIKE ¶metras, panašus į StringSuitable)

Operatoriaus LIKE sintaksės aprašymas

Operatoriaus parametras turi būti eilutė: jis gali būti nurodytas kaip konstanta arba perduodamas kaip užklausos parametras.

Žemiau išvardyti literalai (kaukės) gali būti naudojami kartu arba atskirai.

Tiksli eilutės specifikacija

PASIRINKITE pirmus 10
Raktai.Vardas
NUO
Directory.Keys AS raktai
KUR
Keys.Name, PANAŠUS į "1" // Atitinka Keys.Name ="1"

Rezultatas:

% yra pažodinė reikšmė, bet koks bet kokių simbolių skaičius

PASIRINKITE pirmus 10
Raktai.Vardas
NUO
Directory.Keys AS raktai
KUR
Keys.name LIKE "%"

Rezultatas: bet kurie 10 prekių

_ (pabraukimas): pažodinis, atitinkantis bet kurį simbolį

1 pavyzdys:

PASIRINKITE pirmus 10
Raktai.Vardas
NUO
Directory.Keys AS raktai
KUR
Keys.Pavadinimas LIKE "_"

2 pavyzdys: pradedant bet kokiu simboliu, po kurio seka „1“ ir tada bet kuriais simboliais

PASIRINKITE pirmus 10
Raktai.Vardas
NUO
Directory.Keys AS raktai
KUR
Raktai. Pavadinimas PANAŠUS į „_1%“

Rezultatas:

(vienas ar daugiau simbolių laužtiniuose skliaustuose)

  • Kiekvienas pažodinis žodis, atitinkantis bet kurį simbolį, naudojamas kaip ARBA.
    Priimtinas nurodyti diapazoną, pvz., a-z,0-5, reiškiantį savavališką simbolį iš nurodyto diapazono

Pavyzdys

PASIRINKITE pirmus 10
Raktai.Vardas
NUO
Directory.Keys AS raktai
KUR
Raktai. Pavadinimas PANAŠUS į „[l]%“

Rezultatas: 10 prasidedančių raidėmis "l" arba "z"

Pavyzdys: pradedant nuo 5,6,7

PASIRINKITE pirmus 10
Raktai.Vardas
NUO
Directory.Keys AS raktai
KUR
Keys.name LIKE "%"

Rezultatas:

[^] (laužtiniuose skliaustuose yra pabėgimo ženklas ^, po kurio yra vienas ar daugiau simbolių)

Atitinka bet kurį simbolį (_), išskyrus nurodytus ()

Pavyzdys

PASIRINKITE pirmus 10
Raktai.Vardas
NUO
Directory.Keys AS raktai
KUR
Raktai. Pavadinimas PANAŠUS į "8.[^012]%"//neįtraukite 8.0, 8.1, 8.2

Rezultatas: viskas prasideda "8". išskyrus nurodytus

SPECIAL CHARACTER – komanda, skirta nurodyti aukščiau užklausoje užregistruotus simbolius

Kaip paslaugos simbolį priimtina naudoti bent: #,~,/,\

Pavyzdys:

PASIRINKITE pirmus 10
Raktai.Vardas
NUO
Directory.Keys AS raktai
KUR
Raktai. Pavadinimas LIKE "#_" SPECIALUS SIEBENTAS "#"

Rezultatas:

Taikymas platformose

Neteisingi parametrai LIKE<>

  • Perduotas ne eilutės tipo parametras: pavyzdžiui, skaičius 1 vietoj eilutės "1"
  • Ne eilutės tipo laukas lyginamas su galiojančia kauke (pvz., nuoroda) arba jungiantis nepatikrinama IsNUL reikšmė

Atkreipkite dėmesį į klaidos tekstą, kuriame rodomas klausimas:

Raktai.Vardas PANAŠUS<>&L

PANAŠAS operatorius užklausoje tikrina eilučių vertes iš lentelių, ar jos yra panašios į šabloną.
Jis naudojamas taip: tikrintina eilutė dedama šio operatoriaus kairėje, o raštas – dešinėje.

Patikrinus, jis atitinkamai grąžina True arba False, jis aktyviai naudojamas sąlygomis.
Šablonui sukurti naudojami šie paslaugų simboliai:

  • % (procentai) – seka, turinti bet kokį skaičių savavališkų simbolių
  • _ (pabraukimas) – vienas savavališkas simbolis
  • […] (vienas ar daugiau simbolių laužtiniuose skliaustuose) – bet koks atskiras simbolis, esantis laužtiniuose skliaustuose
    Taip pat, be įvairių simbolių, galite naudoti diapazonus, pavyzdžiui, a-z(A-z), o tai reiškia, kad yra savavališkas simbolis, įtrauktas į diapazoną, įskaitant diapazono galus.
  • [^...] (laužtiniuose skliaustuose neigimo ženklas, po kurio yra vienas ar daugiau simbolių) – bet koks atskiras simbolis, išskyrus tuos, kurie išvardyti po neigimo ženklo

Likę simboliai naudojami pagal paskirtį.
Jei reikia perduoti vieną iš aukščiau nurodytų paslaugų simbolių kaip simbolį, prieš jį turi būti nurodytas<Спецсимвол>. Aš pats<Спецсимвол>(bet koks tinkamas simbolis) apibrėžiamas tame pačiame teiginyje po raktinio žodžio SPECIAL CHARACTER.
Pavyzdžiui, šablonas „%ABV[abvg]\_abv%“ SPECIALUS CHARACTER „\“ reiškia poeilelę, kurią sudaro simbolių seka:
raidės A; raidės B; raidės B; vienas skaitmuo; viena iš raidžių a, b, c arba d; pabrėžti; raidės a; raidės b; raidės v.
Be to, prieš šią seką gali būti įrašytas savavališkas simbolių rinkinys.

Procedūros pasirinkimo sutartis, kurioje yra vardo tekstas (mText)
//Užklausoje naudosime tokį šabloną kaip "%" + mText + "%" Request = New Request; Query.SetParameter("Vardas", "%" + Tekstas + "%"); Request.Text = "SELECT | Sutartys. Nuoroda, | Sutartys. Savininkas | FROM | Katalogas. Sandorio šalių sutartys AS Sutartys | | KUR | Sutartys. Pavadinimas PANAŠUS & Vardas"; Rezultatas = Query.Run(); Pasirinkimas = Result.Select(); Report("Sutartys, kurių pavadinime yra: " + mText + ", turi šias sandorio šalis"); Nors Selection.Next() Ciklo ataskaita("Sandorio šalis: " + Atranka.Savininkas + "; Sutartis: " + Atranka. Nuoroda EndIf; EndProcedure

Kartais susidaro situacija, kai 1C 8.3 arba 8.2 reikia pasirinkti, pavyzdžiui, iš visų elementų, kurių pavadinime yra žodis „glazūra“, katalogo. Arba iš katalogo pasirinkite visus rangovus, kurių pavardėse yra žodis „Ivanas“. Apskritai patikrinkite kai kurias eilutės reikšmę.

Šiuo tikslu 1C užklausose 8.3 ir 8.2 yra operatorius - „Panašus“. Jis naudojamas atitinkamai tokiomis sąlygomis:

Gaukite 267 vaizdo įrašų pamokas 1C nemokamai:

Kaip naudoti šablonus 1C užklausose?

Norėdami sugeneruoti pasirinkimo sąlygą, kaip parametrą turite perduoti tam tikrą šabloną. Norėdami sukurti šabloną, yra vadinamieji paslaugų simboliai.

Pavyzdžiui, simbolis „%“ leidžia naudoti bet kokią savavališkų simbolių seką:

Yra ir kitų specialiųjų simbolių:

  • % (procentas) – leidžia bet kokią savavališkų simbolių seką;
  • _ (pabraukimas) – bet koks vienas simbolis;
  • […] – vienas savavališkas simbolis iš tų, kurie išvardyti skliausteliuose. Be simbolių sąrašo, galite naudoti diapazonus. Pavyzdys: a-o;
  • [^...] – toks pat kaip ir ankstesnis, tik atvirkščiai. „^“ ženklas reiškia neigimą.


Turite klausimų?

Pranešti apie rašybos klaidą

Tekstas, kuris bus išsiųstas mūsų redaktoriams: