Հարցման պայմանների նման: Նմանատիպ հարցումների պայմաններում Օպերատորը նման է 1c հարցումին
Չնայած բոլոր թերություններին, տեքստային դաշտի որոնումը շարունակում է մնալ ամենատարածվածներից մեկը: Մենք կարող ենք ամենուր գտնել լարային տվյալների տեսակներ՝ անունները, հաշվի համարները, հասցեները, ինչպես նաև այլ տեղեկություններ կարող են պահվել այս ձևաչափով: Ներկառուցված 1C լեզվով հարցումներում, մշակողների հարմարության համար, օգտագործվում է «LIKE» հատուկ օպերատոր: Սա ամենաշատ օգտագործվող հրամաններից մեկն է, ուստի առանց դրա շարահյուսության և հնարավորությունների մանրակրկիտ իմացության, ծրագրավորողի համար դժվար կլինի աշխատել:
Օգտագործելով LIKE օպերատորը
Նախքան որևէ օպերատոր գործնականում օգտագործելը, դուք պետք է հստակ հասկանաք դրա նպատակը, կիրառման վայրերը և շարահյուսությունը: 1C հարցումում «LIKE»-ի օգտագործման նպատակը որպես ձևանմուշ ներկայացված պայմանի բավարարվածության ստուգումն է: Վերադարձված արժեքը բուլյան տեսակ է՝ ճշմարիտ կամ կեղծ, որը ցույց է տալիս, թե արդյոք նշված պայմանը ճշմարիտ է: LIKE օպերատորը կարող է օգտագործվել հարցումների մի քանի վայրերում.
- Պայմանների բլոկում, որը նշվում է «WHERE» բանալի բառով.
- Ընտրության նախագծման մեջ, երբ այն կավարտվի;
- Անմիջապես ընտրության դաշտերում՝ դաշտերի համեմատության արդյունքում։
Ստուգման շարահյուսությունը միշտ նույնն է և բաղկացած է 3 հղումից։ Ձախ կողմում ստուգվող տեքստի արժեքն է, այնուհետև ինքը՝ «LIKE» օպերատորը, իսկ աջ կողմում՝ ստուգվող ձևանմուշը։ Կաղապարներ արագ և հեշտությամբ ստեղծելու համար կան հատուկ նշաններ, որոնք հեշտացնում են զարգացումը.
- «%»-ը կամայական երկարության ցանկացած նիշերի հաջորդականություն է: Օգտագործվում է տողում առանձին բառեր կամ թվեր որոնելու համար;
- «_» - ցանկացած առանձին կերպար: Նախատեսված է նշել մեկ նիշի առկայությունը.
- «[...]»-ը նիշերի հաջորդականություն է՝ համեմատելու համար տողի նիշի հետ: Նման օրինաչափության օգնությամբ ստուգվում է համապատասխանությունը փակագծերում նշված նիշերից որևէ մեկին։ Կարող եք նաև նշել թվերի կամ տառերի մի շարք ([a-g], );
- «[^...]»-ը նախորդի հակառակ օրինաչափությունն է։ Ստուգվում է տողում նշված և փակագծերում նշված նիշերի տարբերությունը:
Ճիշտ կաղապարներ ստեղծելու սկզբունքները ավելի լավ հասկանալու և հասկանալու համար եկեք դիտարկենք մի քանի օրինակներ, որոնք հաճախ հանդիպում են մշակողների կյանքում: Առաջինն այն է, երբ մենք պետք է նոմենկլատուրային գրացուցակից ընտրենք բոլոր այն տարրերը, որոնց անուններում հայտնվում է «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;
- [^...] – նույնը, ինչ նախորդը, բայց հակառակ։ «^» նշանը նշանակում է ժխտում։
Կարող է օգտակար լինել կարդալ.
- Գրքի և ընթերցանության խթանումը մեր գործունեության հիմնական ուղղությունն է;
- Նմանատիպ հարցումների պայմաններում Օպերատորը նման է 1c հարցումին;
- Տեղեկատվական տեխնոլոգիաների տերմինների համառոտ բառարան;
- Ցանցային sniffing TCP sniffing;
- Word-ը PDF-ի վերածել Ինչպես փաստաթղթերը փոխարկել RTF-ի;
- Ինչպես փոխարկել HTML ֆայլը PDF ֆայլի;
- Ինչ է թողունակությունը;
- Ինչպես անջատել սենսորային վահանակը Asus-ի, HP-ի կամ Windows-ով աշխատող այլ նոութբուքի վրա Անջատել մկնիկը նոութբուքի վրա;