Հարցման պայմանների նման: Նմանատիպ հարցումների պայմաններում Օպերատորը նման է 1c հարցումին

Չնայած բոլոր թերություններին, տեքստային դաշտի որոնումը շարունակում է մնալ ամենատարածվածներից մեկը: Մենք կարող ենք ամենուր գտնել լարային տվյալների տեսակներ՝ անունները, հաշվի համարները, հասցեները, ինչպես նաև այլ տեղեկություններ կարող են պահվել այս ձևաչափով: Ներկառուցված 1C լեզվով հարցումներում, մշակողների հարմարության համար, օգտագործվում է «LIKE» հատուկ օպերատոր: Սա ամենաշատ օգտագործվող հրամաններից մեկն է, ուստի առանց դրա շարահյուսության և հնարավորությունների մանրակրկիտ իմացության, ծրագրավորողի համար դժվար կլինի աշխատել:

Օգտագործելով LIKE օպերատորը

Նախքան որևէ օպերատոր գործնականում օգտագործելը, դուք պետք է հստակ հասկանաք դրա նպատակը, կիրառման վայրերը և շարահյուսությունը: 1C հարցումում «LIKE»-ի օգտագործման նպատակը որպես ձևանմուշ ներկայացված պայմանի բավարարվածության ստուգումն է: Վերադարձված արժեքը բուլյան տեսակ է՝ ճշմարիտ կամ կեղծ, որը ցույց է տալիս, թե արդյոք նշված պայմանը ճշմարիտ է: LIKE օպերատորը կարող է օգտագործվել հարցումների մի քանի վայրերում.

  • Պայմանների բլոկում, որը նշվում է «WHERE» բանալի բառով.
  • Ընտրության նախագծման մեջ, երբ այն կավարտվի;
  • Անմիջապես ընտրության դաշտերում՝ դաշտերի համեմատության արդյունքում։

Ստուգման շարահյուսությունը միշտ նույնն է և բաղկացած է 3 հղումից։ Ձախ կողմում ստուգվող տեքստի արժեքն է, այնուհետև ինքը՝ «LIKE» օպերատորը, իսկ աջ կողմում՝ ստուգվող ձևանմուշը։ Կաղապարներ արագ և հեշտությամբ ստեղծելու համար կան հատուկ նշաններ, որոնք հեշտացնում են զարգացումը.

  1. «%»-ը կամայական երկարության ցանկացած նիշերի հաջորդականություն է: Օգտագործվում է տողում առանձին բառեր կամ թվեր որոնելու համար;
  2. «_» - ցանկացած առանձին կերպար: Նախատեսված է նշել մեկ նիշի առկայությունը.
  3. «[...]»-ը նիշերի հաջորդականություն է՝ համեմատելու համար տողի նիշի հետ: Նման օրինաչափության օգնությամբ ստուգվում է համապատասխանությունը փակագծերում նշված նիշերից որևէ մեկին։ Կարող եք նաև նշել թվերի կամ տառերի մի շարք ([a-g], );
  4. «[^...]»-ը նախորդի հակառակ օրինաչափությունն է։ Ստուգվում է տողում նշված և փակագծերում նշված նիշերի տարբերությունը:

Ճիշտ կաղապարներ ստեղծելու սկզբունքները ավելի լավ հասկանալու և հասկանալու համար եկեք դիտարկենք մի քանի օրինակներ, որոնք հաճախ հանդիպում են մշակողների կյանքում: Առաջինն այն է, երբ մենք պետք է նոմենկլատուրային գրացուցակից ընտրենք բոլոր այն տարրերը, որոնց անուններում հայտնվում է «CUTTER» բառը: Այս դեպքում մենք պետք է օգտագործենք LIKE հարցման պայմաններում.

SELECT Nomenclature.Name AS Name FROM Directory.Nomenclature AS Nomenclature WHERE Nomenclature.Name SIMILAR to "% CUTTER%"

Եթե ​​մենք հեռացնենք երկու «%» խորհրդանիշները, հարցումը ցույց կտա արտադրանք, որի անունը լիովին համընկնում է չակերտների մեջ նշվածին: Եթե ​​թողնենք «CUTTER%» կամ «% CUTTER» ձևանմուշը, ապա արդյունքը կլինի նիշերի տրված համակցությամբ համապատասխանաբար ավարտվող կամ սկսվող տարրերի ցանկը:


Եկեք նայենք մի խնդրի, որը կարող է շփոթեցնել սկսնակ ծրագրավորողներին, ովքեր չգիտեն հարցումների շարահյուսությունը: Ենթադրենք, դուք պետք է գտնեք բոլոր տարրերը, որոնք իրենց անուններում ունեն «%» նշանը: Հատկապես այն դեպքերում, երբ անհրաժեշտ է փնտրել վերապահված նիշեր, կա «հատուկ նիշ» օպերատոր: #,\,/,~ և այլ նիշերը կարող են օգտագործվել որպես հատուկ նիշ, որից հետո ցանկացած վերապահված նիշ պարզապես կնշանակի նշան:

SELECT Nomenclature.Name AS Name FROM Directory.Nomenclature AS Nomenclature WHERE Nomenclature.Name SIMILAR to "%#%" SPECIAL CARACTER "#"

Եթե ​​որոնման մեջ անհրաժեշտ է օգտագործել պարամետր, ապա հարցման մեջ SIMILAR պարամետրով փոփոխականն օգտագործվում է ավելացման միջոցով: Հիշեք, որ պարամետրը պետք է լինի տողի տիպ, այլապես այն պետք է փոխարկեք հարցումի մեջ: Սա բավականին բարդ վիրահատություն է, և ավելի լավ է այն նախապես բացառել։

SELECT Nomenclature.Name AS Name FROM Directory.Nomenclature AS Nomenclature WHERE Nomenclature.Name SIMILAR to "%" + &name + "%"

SIMILAR ֆունկցիան կիրառելի է հարթակի բոլոր տարբերակներում՝ սկսած 8-ից, և դրա կիրառելիության պատճառով 1C մշակողները չեն ցանկանա փոխել այն։ Իհարկե, տեքստի որոնումը միշտ կախված է մուտքագրված անվան ճշգրտությունից, բայց այն շարունակում է մնալ ամենատարածվածներից մեկը: Այս առումով, պրոֆեսիոնալ 1C մշակողները պետք է ուսումնասիրեն SIMILAR-ի օգտագործումը իր բոլոր նրբություններով:

43
NULL – բացակայող արժեքներ: Չպետք է շփոթել զրոյական արժեքի հետ: NULL-ը թիվ չէ, չի հավասարվում բացատին, դատարկ հղումին կամ Չսահմանվածին: NULL-ը տիպի ձևավորող արժեք է, այսինքն. կա NULL տեսակ և այս տեսակի մեկ արժեք: ԴԱՏԱՐԿ... 26
1C հարթակում տվյալների բազայի աղյուսակներում հարցումներ ստեղծելու և գործարկելու համար օգտագործվում է Query ծրագրավորման լեզվի հատուկ օբյեկտ: Այս օբյեկտը ստեղծվում է՝ կանչելով New Request կառուցվածքը: Հարմար խնդրանք... 18
Հոդվածում ներկայացված են օգտակար տեխնիկա 1C v.8.2 հարցումների հետ աշխատելիս, ինչպես նաև տեղեկություններ, որոնք այնքան էլ հայտնի չեն հարցումների լեզվի մասին: Ես չեմ փորձում հարցման լեզվի ամբողջական նկարագրությունը տալ, այլ ուզում եմ կանգ առնել միայն... 12
Իմ առջեւ խնդիր էր դրված ընտրել բոլոր վճարային փաստաթղթերը եւ խմբավորել դրանք ըստ փաստաթղթի տեսակի: Զննելով բոլոր բնակարանային և կոմունալ ծառայությունները և ինտերնետը, ես հասկացա, որ հարցման մեջ փաստաթղթի տեսակը ստանալու հեշտ ճանապարհ չկա. (ես ստիպված էի...

Եկեք նայենք պայմանական օպերատորի նպատակին և օգտագործմանը Հավանել (անգլ. Հավանել) 1C հարցումների լեզվով օրինակներով:

Արագ անցում

Նպատակը

Ստուգեք, արդյոք հարցումում տողի արժեքը համապատասխանում է նշված օրինաչափությանը. վերադարձնում է բուլյան արժեք (TRUE կամ FALSE):

  • Չեկը գործից անկախ է:
  • Հարցումն օգտագործում է աղյուսակի ինդեքսներ, որոնք կապված չեն ամբողջական տեքստի որոնման ինդեքսների հետ:
  • Այն կարող է երկար ժամանակ պահանջել մեծ սեղաններով ավարտելու համար:
  • Անսահմանափակ երկարությամբ տողերը պետք է փոխարկվեն՝ օգտագործելով SUBSTRING ֆունկցիան

Օգտագործման վայրեր

  • Օպերատորի պայմաններով WHERE
  • Դիզայնի պայմաններում ԸՆՏՐՈՒԹՅՈՒՆ ԵՐԲ<>ՀԵՏՈ «» ԱՅԼՍ «» ՎԵՐՋ
  • Ընտրության դաշտերում (օրինակ՝ Անունը LIKE &ParameterSimilar to StringSuitable)

LIKE օպերատորի շարահյուսության նկարագրությունը

Օպերատորի պարամետրը պետք է լինի տող. այն կարող է նշվել որպես հաստատուն կամ փոխանցվել որպես հարցման պարամետր:

Ստորև թվարկված բառացիները (դիմակները) կարող են օգտագործվել միասին կամ առանձին:

Լարի ճշգրիտ ճշգրտում

ԸՆՏՐԵԼ առաջին 10-ը
Keys.Name
ԻՑ
Directory.Keys AS Keys
ՈՐՏԵՂ
Keys.Name SIMILAR to "1"-ին // Համարժեք է Keys.Name = = "1"-ին

Արդյունք:

%-ը բառացի նշանակում է ցանկացած նիշերի կամայական թիվ

ԸՆՏՐԵԼ առաջին 10-ը
Keys.Name
ԻՑ
Directory.Keys AS Keys
ՈՐՏԵՂ
Keys.Name Հավանում է «%»

Արդյունքցանկացած 10 տարր

_ (ընդգծում). բառացիորեն համապատասխանում է ցանկացած մեկ նիշի

Օրինակ #1:

ԸՆՏՐԵԼ առաջին 10-ը
Keys.Name
ԻՑ
Directory.Keys AS Keys
ՈՐՏԵՂ
Keys.Name LIKE «_»

Օրինակ #2:սկսած ցանկացած նիշից, որին հաջորդում է «1»-ը, այնուհետև ցանկացած նիշ

ԸՆՏՐԵԼ առաջին 10-ը
Keys.Name
ԻՑ
Directory.Keys AS Keys
ՈՐՏԵՂ
Keys.Name SIMILAR to "_1%"

Արդյունք:

(մեկ կամ մի քանի նիշ քառակուսի փակագծերում)

  • Յուրաքանչյուր բառացի, որը համապատասխանում է որևէ մեկ նիշի, օգտագործվում է որպես OR:
    Ընդունելի է նշել տիրույթ, օրինակ a-z, 0-5, որը նշանակում է կամայական նիշ նշված տիրույթից

Օրինակ

ԸՆՏՐԵԼ առաջին 10-ը
Keys.Name
ԻՑ
Directory.Keys AS Keys
ՈՐՏԵՂ
Keys.Name SIMILAR to "[l]%"-ին

Արդյունք 10 սկսած «l»-ով կամ «z»-ով

Օրինակ:սկսած 5,6,7

ԸՆՏՐԵԼ առաջին 10-ը
Keys.Name
ԻՑ
Directory.Keys AS Keys
ՈՐՏԵՂ
Keys.Name Հավանում է «%»

Արդյունք:

[^] (քառակուսի փակագծերում կա փախուստի նշան ^, որին հաջորդում է մեկ կամ մի քանի նիշ)

Համարժեք է ցանկացած նիշին (_), բացառությամբ նշված ()

Օրինակ

ԸՆՏՐԵԼ առաջին 10-ը
Keys.Name
ԻՑ
Directory.Keys AS Keys
ՈՐՏԵՂ
Keys.Name SIMILAR to "8.[^012]%"//չներառել 8.0,8.1,8.2

Արդյունք: Ամեն ինչ սկսվում է «8»-ով։ բացառությամբ նշվածների

ՀԱՏՈՒԿ ՆՇԱՆԱԿ - հրաման՝ հարցումում վերևում գրանցված նիշերը նշելու համար

Որպես ծառայության խորհրդանիշ, ընդունելի է օգտագործել առնվազն՝ #,~,/,\

Օրինակ:

ԸՆՏՐԵԼ առաջին 10-ը
Keys.Name
ԻՑ
Directory.Keys AS Keys
ՈՐՏԵՂ
Keys.Name LIKE "#_" ՀԱՏՈՒԿ ՆՇԱՆԱԿԸ "#"

Արդյունք:

Կիրառելիությունը հարթակներում

Սխալ պարամետրեր LIKE<>

  • Փոխանցվում է ոչ լարային տիպի պարամետր. օրինակ՝ «1» տողի փոխարեն 1 թիվը։
  • Ոչ լարային տիպի դաշտը համեմատվում է վավեր դիմակի հետ (օրինակ՝ հղում) կամ միանալիս արժեքը չի ստուգվում IsNUL-ի համար։

Ուշադրություն դարձրեք սխալի տեքստին, որտեղ ցուցադրվում է հարցը.

Keys.Name SIMILAR<>&Լ

Այս հոդվածում մենք ցանկանում ենք ամեն ինչ քննարկել ձեզ հետ 1C հարցումների լեզվի գործառույթներ, և հարցումների լեզվի կառուցվածքները. Ո՞րն է տարբերությունը ֆունկցիայի և դիզայնի միջև: Ֆունկցիան կանչվում է փակագծերով և դրանցում հնարավոր պարամետրերով, իսկ կոնստրուկցիան գրվում է առանց փակագծերի։ Անկասկած 1C հարցումների լեզվի բոլոր կառուցվածքներն ու գործառույթներըտվյալների հավաքագրման գործընթացը դարձնել ճկուն և բազմաֆունկցիոնալ: Այս ֆունկցիաները և կառուցվածքները կիրառվում են հարցումների դաշտերի վրա, իսկ որոշները նաև կիրառվում են պայմանների վրա:

1C Հարցման լեզվի գործառույթներ

Որովհետև հստակ նկարագրություն 1C հարցումների լեզվի գործառույթներշատ ավելի քիչ տարածված է, քան կառուցվածքների նկարագրությունները, մենք որոշեցինք սկսել դիտարկել գործառույթները: Այժմ եկեք նայենք յուրաքանչյուրին առանձին՝ նկարագրելով դրա նպատակը, շարահյուսությունը և օգտագործման օրինակը, այսպես.

1. Գործառույթ Ամսաթիվ ԺԱՄԱՆԱԿ- այս ֆունկցիան ստեղծում է հաստատուն դաշտ «Ամսաթիվ» տիպով:

Շարահյուսություն: Ամսաթիվ ԺԱՄԱՆԱԿ (<Год>,<Месяц>,<День>,<Час>,<Минута>,<Секунда>)

Օգտագործման օրինակ.

2. DATE DIFFERENCE ֆունկցիա- վերադարձնում է երկու ամսաթվերի տարբերությունը չափերից մեկում (տարի, ամիս, օր, ժամ, րոպե, վայրկյան): Չափումը փոխանցվում է որպես պարամետր:

Շարահյուսություն: ՏԱՐԲԵՐՎԵԼ (<Дата1>, <Дата2>, <Тип>)

Օգտագործման օրինակ.

Query.Text = "SELECT | DIFFERENCEDATE(DATETIME(2015, 4, 17), DATETIME(2015, 2, 1), DAY) | ՈՐՊԵՍ օրերի թիվը";

3. VALUE ֆունկցիա- սահմանում է մշտական ​​դաշտ՝ նախապես սահմանված գրառումով, կարող եք նաև ստանալ ցանկացած տեսակի դատարկ հղում.

Շարահյուսություն՝ VALUE(<Имя>)

Օգտագործման օրինակ.

Request.Text = "SELECT //նախասահմանված տարր | VALUE(Directory.Currencies.Dollar) AS Dollar, // դատարկ հղում | VALUE(Document. Receipt of Goods and Services.EmptyLink) AS անդորրագիր, //փոխանցման արժեքը | VALUE(փոխանցում) Իրավաբանական ֆիզիկական անձ) AS Individual, //predefined account VALUE(Chart of Accounting. Self-Accounting.Materials) AS Account_10" ;

4. SELECT գործառույթը- մենք մեր առջև ունենք IF կոնստրուկցիայի անալոգը, որն օգտագործվում է կոդում, միայն սա է օգտագործվում 1C հարցումներում:

Շարահյուսություն: ԸՆՏՐԵԼ ԵՐԲ<Выражение>ՀԵՏՈ<Выражение>ՀԱԿԱՌԱԿԻՑ<Выражение>ՎԵՐՋ

Օգտագործման օրինակ.

Request.Text = //եթե գումարը 7500-ից ավելի է, ապա պետք է լինի 300 ռուբլի զեղչ, //այսպես, եթե պայմանը գործարկվի, ապա ֆունկցիան //վերադարձնում է Amount - 300 //հակառակ դեպքում հարցումը պարզապես կվերադարձնի Amount: «SELECT | SELECT | WHEN TCreceipts.Amount > 7500 | HEN TCReceipts.Amount - 300 | ELSE TCReceipts.Amount | ԱՎԱՐՏ AS AmountWith Զեղչով | FROM |

5. EXPRESS ֆունկցիա- թույլ է տալիս արտահայտել հաստատուն դաշտ կոնկրետ տիպով:

Շարահյուսություն: ԷՔՍՊՐԵՍ (դաշտի անունը AS TypeName)

Օգտագործման օրինակ.

Query.Text = "SELECT VARIOUS | Sales.Registrar.Number, | SELECT | WHEN Sales.Registrar LINK Document.Expense | THEN EXPRESS(Sales.Registrar AS Document.Expense) | ELSE SELECT | WHEN Sales.Registrar LINK Փաստաթղթեր | ԱՅՍՏԵՂ EXPRESS(Sales.Registrar AS Document.Implementation) END AS Number |.

Կա՞ EXPRESS ֆունկցիան խառը տիպերի դաշտերում օգտագործելու այլ տարբերակ, որտեղ են դրանք առաջանում: Ամենապարզ օրինակը ցանկացած ռեգիստրի «Գրանցողն» է: Ուրեմն ինչու՞ մեզ պետք է որակավորել տեսակը գրանցամատյանում: Դիտարկենք իրավիճակը, երբ գրանցողից ընտրում ենք «Թիվ» դաշտը, ո՞ր աղյուսակից է ընտրվելու համարը։ Բոլորի ճիշտ պատասխանը! Հետևաբար, որպեսզի մեր հարցումն արագ աշխատի, մենք պետք է նշենք հստակ տեսակ՝ օգտագործելով EXPRESS ֆունկցիան:

Օգտագործման օրինակ.

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 ֆունկցիա(այլընտրանքային ուղղագրություն ISNULL) - եթե դաշտը NULL տիպի է, ապա այն փոխարինվում է ֆունկցիայի երկրորդ պարամետրով:

Շարահյուսություն: ISNULL (<Поле>, <ПодставляемоеЗначение>)

Օգտագործման օրինակ.

Նկատի ունեցեք նաև, որ նպատակահարմար է ՄԻՇՏ փոխարինել NULL տեսակը ինչ-որ արժեքով, քանի որ NULL տիպի հետ համեմատությունը միշտ վերադարձնում է FALSE, նույնիսկ եթե NULL-ը համեմատում եք NULL-ի հետ: Ամենից հաճախ NULL արժեքները ձևավորվում են աղյուսակների միացման արդյունքում (միացումների բոլոր տեսակները, բացառությամբ ներքինի):

Query.Text = //Ընտրեք ամբողջ նյութը և դրա մնացորդները //եթե որևէ տարրում մնացորդ չկա, ապա կլինի դաշտ //NULL, որը կփոխարինվի 0 «SELECT | No. Link, | ISNULL» արժեքով (ProductsInStockRemains.InStockRemaining, 0) AS Remaining FROM.Numenclature AS No.

7. ՆԵՐԿԱՅԱՑՈՒՑՄԱՆ ֆունկցիա- թույլ է տալիս ստանալ հարցման դաշտի ներկայացում:

Շարահյուսություն: ԿԱՏԱՐՈՒՄ (<НаименованиеПоля>)

Օգտագործման օրինակ.

Query.Text = "SELECT | REPRESENTATION(FreeRemainingRemains.Nomenclature) AS Nomenclature, | REPRESENTATION(FreeRemainingRemaining.Warehouse) AS Warehouse, | FreeRemainingRemaining.InStockRemaining |FROM |RemainingRemainingAS"FROM |RemainingRemaining.AS"

Կառուցվում է 1C հարցումների լեզվով

Մենք ձեզ հետ քննարկել ենք վերևում 1C հարցումների լեզվի գործառույթներ, հիմա ժամանակն է մտածել կառուցում է 1C հարցումների լեզվով, դրանք պակաս կարևոր և օգտակար չեն, սկսենք։

1. Շինարարական ՀՂՈՒՄ- հղման տեսակը ստուգելու տրամաբանական օպերատոր է: Ամենից հաճախ հանդիպում է բարդ տիպի դաշտը որոշակի տեսակի հետ ստուգելիս: Շարահյուսություն: ՀՂՈՒՄ<Имя таблицы>

Օգտագործման օրինակ.

Request.Text = //եթե ձայնագրողի արժեքի տեսակը document Receipt է, //ապա հարցումը կվերադարձնի «Receipt of goods», հակառակ դեպքում «Sales of goods» «SELECT | SELECT | WHEN Remaining.Registrar LINK Document.Receipt of GoodsServices | ԱՅՍՏԵՂ «Անդորրագիր» |. «Սպառում» |.

2. Դիզայն ՄԻՋԵՎ- այս օպերատորը ստուգում է, թե արդյոք արժեքը նշված տիրույթում է:

Շարահյուսություն: ՄԻՋԵՎ<Выражение>ԵՎ<Выражение>

Օգտագործման օրինակ.

Request.Text = //ստացեք ամբողջ նոմենկլատուրան, որի կոդը գտնվում է 1-ից 100-ի միջակայքում.

3. Շինարարություն B և B ՀԻԵՐԱՐԽԻԱ- ստուգեք, արդյոք արժեքը փոխանցված ցանկում է (զանգվածները, արժեքների աղյուսակները և այլն կարող են փոխանցվել որպես ցուցակ): IN HIERARCHY օպերատորը թույլ է տալիս դիտել հիերարխիան (Հաշիվների գծապատկերի օգտագործման օրինակ):

Շարահյուսություն: IN(<СписокЗначений>), ՀԻԵՐԱՐԽԻԱՅՈՒՄ (<СписокЗначений>)

Օգտագործման օրինակ.

Request.Text = //ընտրեք հաշվի բոլոր ենթահաշիվները «SELECT | Self-served. Link AS Account | FROM | Հաշիվների գծապատկեր. Ինքնապահովվող AS Self-աջակցվող | ՈՐՏԵՂ | Self-աջակցվող. Հղում HIERARCHY VALUE-ում (Chart of Հաշիվներ ինքնասպասարկման ապրանքներ»;

4. Դիզայն ՆՄԱՆԻ- Այս ֆունկցիան թույլ է տալիս համեմատել տողը լարային նախշի հետ:

Շարահյուսություն: Հավանել»<ТекстШаблона>"

Տողերի օրինակի ընտրանքներ.

% - կամայական նիշերի ցանկացած քանակ պարունակող հաջորդականություն:

Մեկ կամայական կերպար.

[...] - քառակուսի փակագծերում նշված ցանկացած մեկ նիշ կամ նիշերի հաջորդականություն: Թվարկումը կարող է նշել միջակայքերը, օրինակ՝ a-z, ինչը նշանակում է կամայական նիշ, որը ներառված է տիրույթում, ներառյալ տիրույթի ծայրերը:

[^...] - քառակուսի փակագծերում նշված ցանկացած նիշ կամ նիշերի հաջորդականություն, բացառությամբ ժխտման նշանից հետո թվարկվածների:

Օգտագործման օրինակ.

Հարցում.Տեքստ = //գտնել ամբողջ անվանակարգը, որը պարունակում է TABUR արմատը և սկսվում է //կամ փոքր կամ մեծ տառով t "SELECT | Անվանակարգ. Հղում | FROM | Տեղեկատու. Անվանակարգ AS Nomenclature | WHERE | Ապրանքներ. Անունը LIKE "" [Tt ]abur%""" ;

5. Դիզայնը ԹՈՒՅԼԱՏՐՎԱԾ Է- այս օպերատորը թույլ է տալիս տվյալների բազայից ընտրել միայն այն գրառումները, որոնց համար զանգահարողը կարդալու թույլտվություն ունի: Այս իրավունքները կազմաձևված են ռեկորդային մակարդակում (RLS):

Շարահյուսություն: ALLOWED գրվում է SELECT բանալի բառից հետո

Օգտագործման օրինակ.

Request.Text = "ԸՆՏՐԵԼ ԹՈՒՅԼԱՏՐՎԱԾՆԵՐԸ | Կողմնակիցներ. Հղում | FROM-ից | տեղեկատու. Կոնտերկողմներ AS Conterparties";

6. Դիզայն ՏԱՐԲԵՐ- թույլ է տալիս ընտրել գրառումներ, որոնցում կրկնօրինակ գրառումներ չկան:

Շարահյուսություն: ՏԱՐԲԵՐ գրվում է SELECT հիմնաբառից հետո

Օգտագործման օրինակ.

Request.Text = //ընտրում է գրառումները, որոնց նկատմամբ ընթերցողը իրավունք ունի "SELECT VARIOUS | Counterparties.Name |FROM | Directory. Counterparties AS Counterparties" ;

Նաև ՏԱՐԲԵՐ կոնստրուկցիան կարող է օգտագործվել թույլատրված օպերատորի և այլ օպերատորների հետ:

Օգտագործման օրինակ.

Request.Text = //ընտրում է տարբեր գրառումներ, որոնց նկատմամբ ընթերցողը իրավունք ունի «Ընտրել թույլատրված տարբեր | Counterparties.Name |FROM | Directory. Counterparties AS Counterparties»;

7. Դիզայն ԱՌԱՋԻՆ- հարցման արդյունքից ընտրում է պարամետրում նշված գրառումների քանակը:

Շարահյուսություն՝ ԱՌԱՋԻՆ<число>

Օգտագործման օրինակ.

Request.Text = //ընտրեք առաջին 4 CCD համարները գրացուցակից «SELECT FIRST 4 | CCD Numbers. Link | FROM | Directory. CCD Numbers AS CCD Numbers»;

8. Դիզայն ՓՈՓՈԽՈՒԹՅԱՆ ՀԱՄԱՐ- թույլ է տալիս կողպել սեղանը, աշխատում է միայն գործարքներում (համապատասխան է միայն ավտոմատ կողպեքների համար):

Շարահյուսություն: ՓՈՓՈԽՈՒԹՅԱՆ ՀԱՄԱՐ<НаименованиеТаблицы>

Օգտագործման օրինակ.

Query.Text = "SELECT | Ազատ մնացորդներ. Անվանակարգ, | Ազատ մնացորդներ. Պահեստ, | Ազատ մնացորդներ. Պահեստում մնացած | FROM | Կուտակումների գրանցում. Ազատ մնացորդներ. Մնացորդներ ՈՐՊԵՍ անվճար մնացորդներ Մնացորդներ | Կուտակման ՀԱՄԱՐ | Ազատ մնացորդներ»;

9. Դիզայն ՊԱՏՎԵՐԸ- կազմակերպում է տվյալներ ըստ կոնկրետ դաշտի: Եթե ​​դաշտը հղում է, ապա դրոշը դնելիս ԱՎՏՈՊԱՏՎԵՐՏեսակավորումը տեղի կունենա ըստ հղման ներկայացման, եթե դրոշակն անջատված է, ապա հղումները դասակարգվում են հիշողության մեջ գտնվող հղման հասցեի հինությամբ:

Շարահյուսություն: ԴԱՍԱՎՈՐԵԼ ԸՍՏ<НаименованиеПоля>ԱՎՏՈՊԱՏՎԵՐ

Օգտագործման օրինակ.

Query.Text = "SELECT | Free Remainings Remainings. Nomenclature AS Nomenclature, | Free Remainings Remainings. Warehouse AS Warehouse, | Free Remainings Remainings. Պահեստում մնացած | FROM | Գրանցվել կուտակումներ. Ազատ մնացորդներ. Remaining AS Free Remainings | |. Անվանակարգ |.

10. Դիզայնի ԽՄԲ- օգտագործվում է հարցումների տողերը ըստ որոշակի դաշտերի խմբավորելու համար: Թվային դաշտերը պետք է օգտագործվեն ցանկացած ագրեգատային ֆունկցիայի հետ:

Շարահյուսություն: ԽՈՒՄԲ ԸՍՏ<НаименованиеПоля1>, .... , <НаименованиеПоляN>

Օգտագործման օրինակ.

Query.Text = "SELECT | ProductsIn Warehouses.Nomenclature AS Nomenclature, | ProductsIn Warehouses.Warehouse, | SUM(GoodsIn Warehouses.InStock) AS STOCK |FROM | Գրանցվել կուտակումներ.Ապրանքների մեջ պահեստներում AS ԱպրանքներՊահեստներում.Պահեստներում տուն»;

11. Դիզայն ՈՒՆԵՑՈՂ- թույլ է տալիս կիրառել ագրեգատ ֆունկցիա տվյալների ընտրության պայմանի վրա, որը նման է WHERE կառուցվածքին:

Շարահյուսություն: ՈՒՆԵՑՈՂ<агрегатная функция с условием>

Օգտագործման օրինակ.

Query.Text = //ընտրում է խմբավորված գրառումները, որտեղ InStock դաշտը մեծ է 3-ից «SELECT | ItemsInStocks.Nomenclature AS Nomenclature, | ItemsInWarehouses.Warehouse, | SUM(ItemsInStocks.InStock) AS INSTOCK.FROM | RegisterAccumStocksStocks | ԽՈՒՄԲԸ ԸՍՏ |. Ապրանքներ Պահեստներում, |.

12. Շինարարություն ԻՆԴԵՔՍ ԸՍՏ- օգտագործվում է հարցման դաշտի ինդեքսավորման համար: Ինդեքսավորմամբ հարցումը ավարտելու համար ավելի երկար է տևում, բայց արագացնում է որոնումը ինդեքսավորված դաշտերում: Կարող է օգտագործվել միայն վիրտուալ աղյուսակներում:

Շարահյուսություն: ԻՆԴԵՔՍ ԸՍՏ<Поле1, ... , ПолеN>

Օգտագործման օրինակ.

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. Դիզայն ՈՐՏԵՂ- թույլ է տալիս պայման դնել ընտրության ցանկացած դաշտի վրա: Արդյունքը կներառի միայն պայմանը բավարարող գրառումներ:

Շարահյուսություն: ՈՐՏԵՂ<Условие1 ОператорЛогСоединения УсловиеN>

Օգտագործման օրինակ.

Query.Text = // CompensationRemaining ունեցող բոլոր գրառումներն ընտրված են<>| ationRPORemains |WHERE |ՓոխհատուցումRPORmaining.CompensationRemaining<>0 | And CompensationRPORemains.AmountForCalcCompRemaining> 100";

14. Դիզայնի ԱՐԴՅՈՒՆՔՆԵՐ... ԸՆԴՀԱՆՈՒՐ- օգտագործվում է հանրագումարները հաշվարկելու համար, դիզայնը սահմանում է այն դաշտերը, որոնցով կհաշվարկվեն հանրագումարները և կկիրառվեն ընդհանուր գործառույթները: TOTAL կառուցվածքին հաջորդող յուրաքանչյուր դաշտի համար ընդհանուր գումարներ օգտագործելիս տվյալները խմբավորվում են: Կա կամընտիր ԸՆԴՀԱՆՈՒՐ կառուցվածք, որի օգտագործումը նաև ապահովում է լրացուցիչ խմբավորում: Ստորև կտեսնեք հարցման արդյունքի օրինակ:

Շարահյուսություն: ԱՐԴՅՈՒՆՔՆԵՐ<АгрегатнаяФункция1, ... , АгрегатнаяФункцияN>ԿՈՂՄԻՑ<ОБЩИЕ> <Поле1, ... , ПолеN>

Օգտագործման օրինակ.

Request.Text = "SELECT | Հաշվարկներ. Կոնտրագենտի պայմանագիր. Համաձայնագրի տեսակը AS Պայմանագրի տեսակը, | Հաշվարկներ. Կողմնակիցների Համաձայնագիր AS Պայմանագիր, | Հաշվարկներ. Կոնտրագենտ, | Հաշվարկներ. Փոխադարձ հաշվարկային մնացորդի AS մնացորդ | FROM | Կուտակումների գրանցամատյան. Փոխադարձ Հաշվարկներ Կողմերի հետ Հաշվարկներ ԸՆԴԱՄԵՆԸ |.

Նկարը ուրվագծում է այն խմբավորումները, որոնք ձևավորվել են հարցումը կատարելու ընթացքում, վերևը վերաբերում է ԸՆԴՀԱՆՈՒՐ բաժնին, իսկ երկրորդը՝ Կոնտրագենտի համաձայնագրի Համաձայնագրի տեսակ դաշտին։

Երբեմն իրավիճակ է ստեղծվում, երբ 1C 8.3 կամ 8.2-ում անհրաժեշտ է ընտրություն կատարել, օրինակ, բոլոր տարրերի գրացուցակից, որոնք իրենց անունով ունեն «փայլ» բառը: Կամ գրացուցակից ընտրեք բոլոր կապալառուներին, որոնց ազգանունները պարունակում են «Իվան» բառը: Ընդհանուր առմամբ, ստուգեք լարային որոշ արժեք:

Այդ նպատակով 1C հարցումներում 8.3 և 8.2 կա օպերատոր՝ «Նմանատիպ»: Այն օգտագործվում է, համապատասխանաբար, հետևյալ պայմաններում.

Ստացեք 267 վիդեո դասեր 1C-ում անվճար.

Ինչպե՞ս օգտագործել ձևանմուշները 1C հարցումներում:

Ընտրության պայման ստեղծելու համար անհրաժեշտ է որպես պարամետր փոխանցել որոշակի ձևանմուշ: Կաղապար ստեղծելու համար կան, այսպես կոչված, ծառայության խորհրդանիշներ:

Օրինակ, «%» նիշը թույլ է տալիս կամայական նիշերի ցանկացած հաջորդականություն.

Կան այլ հատուկ կերպարներ.

  • % (տոկոս) - թույլ է տալիս կամայական նիշերի ցանկացած հաջորդականություն;
  • _ (ընդգծում) - ցանկացած առանձին նիշ;
  • [...] – փակագծերում նշվածներից մեկ կամայական նիշ: Բացի նիշերի ցուցակագրումից, դուք կարող եք օգտագործել միջակայքերը: Օրինակ՝ a-o;
  • [^...] – նույնը, ինչ նախորդը, բայց հակառակ։ «^» նշանը նշանակում է ժխտում։


 

Կարող է օգտակար լինել կարդալ.