Ներկառուցված լեզվի հարցման օբյեկտի հետ աշխատելու կարգը: Ո՞րն է «Լեզու» կազմաձևման օբյեկտի նպատակը:

1C: Enterprise համակարգում կիրառական լուծման մշակումը բաղկացած է երկու հիմնական գործողություններից՝ կոնֆիգուրացիայի օբյեկտների տեսողական ձևավորում և համակարգի հատուկ վարքագծի նկարագրություն՝ օգտագործելով ներկառուցված լեզուն և հարցումների լեզուն:

1C: Enterprise համակարգի ներկառուցված լեզուն շատ նմանություններ ունի ծրագրավորման այլ լեզուների հետ, բայց դրանցից ոչ մեկի անմիջական անալոգը չէ: Դրա ամենակարևոր հատկանիշները.

· փափուկ մուտքագրում (փոփոխականի տեսակը որոշվում է նրա պարունակած արժեքի տեսակով և կարող է փոխվել շահագործման ընթացքում);

· հավելվածների տեսակների ծրագրային նկարագրության բացակայություն (դրանք ստեղծվում են կազմաձևման օբյեկտներ ավելացնելիս);

· իրադարձությունների վրա հիմնված ներկառուցված լեզու;

· Բոլոր օպերատորներն ունեն ինչպես ռուսերեն, այնպես էլ անգլերեն ուղղագրություններ, որոնք կարող են օգտագործվել միաժամանակ:

Կազմաձևման մոդուլներ

Հավելվածի լուծման մոդուլները նախատեսված են ծրագրի տեքստը ներկառուցված լեզվով տեղադրելու համար: Այս մոդուլները տեղակայված են կոնֆիգուրացիայի տարբեր վայրերում և ունեն տարբեր նպատակներ: Մոդուլների մեծ մասը «կապված է» որոշակի կոնֆիգուրացիայի օբյեկտների կամ կիրառական լուծման հետ:

Առանձնացվում են ծրագրային մոդուլների հետևյալ տեսակները.

· Ընդհանուր մոդուլներ. Կազմաձևը կարող է ունենալ կամայական թվով մոդուլներ, ներառյալ ոչ մեկը: Ընդհանուր մոդուլներն իրենք չեն կանչվում կազմաձևման գործընթացում: Դրանք ծառայում են միայն ընթացակարգերի և գործառույթների տեքստերը պարունակելու համար, որոնք կարող են կանչվել կիրառական լուծման այլ մոդուլներից: Հետևաբար, նրանց բացակայում է փոփոխական նկարագրության բաժինը և հիմնական ծրագրի բաժինը: Դա. Ընդհանուր մոդուլները պարունակում են միայն ընթացակարգեր և գործառույթներ:

· Դիմումի մոդուլ. Կազմաձևում միշտ կա մեկ հավելվածի մոդուլ: Այն իրականացվում է, երբ համակարգը գործարկում է 1C: Enterprise ռեժիմով և նախատեսված է վերջնական օգտագործողի աշխատանքային նստաշրջանի հետ կապված գործողություններ մշակելու համար: Հիմնական իրադարձությունները, որոնք կարող են մշակվել հավելվածի մոդուլում, հավելվածի սկզբի և ավարտի իրադարձություններն են: Զանգի հաջորդականությունը ցուցադրվում է բրինձ. 1. Իրադարձություն Համակարգը գործարկելուց առաջԴա տեղի է ունենում, երբ համակարգը սկսում է մինչև հիմնական պատուհանը բացվելը: Այս իրադարձությունը վարելով՝ ծրագրավորողը, օրինակ, հնարավորություն ունի հրաժարվել առաջադրվելուց, եթե որևէ պայմաններ չկատարվեն: Իրադարձություն Համակարգը գործարկելիստեղի է ունենում հիմնական պատուհանը բացելուց հետո: Այս իրադարձության մշակիչում կարող եք, օրինակ, ցուցադրել ծննդյան մարդկանց մասին տեղեկություններ և այլն:

· Արտաքին կապի մոդուլ. Կազմաձևում միշտ կա մեկ արտաքին կապի մոդուլ: Այն իրականացվում է, երբ հավելվածը մուտք է գործում որպես COM սերվեր (արտաքին կապի ռեժիմում): Արտաքին կապի ռեժիմում գործարկվում է ոչ թե լիարժեք 1C: Enterprise հավելվածը, այլ «թեթև տարբերակ», որում հասանելի չեն բոլոր գործառույթները, որոնք այս կամ այն ​​կերպ կապված են օգտագործողի միջերեսի կազմակերպման հետ:

· Դիմումի օբյեկտի մոդուլներ. Ծրագրի կազմաձևման յուրաքանչյուր օբյեկտ (օրինակ, ծրագրային փաստաթուղթ կամ գրացուցակ), որի տվյալները կարող են փոփոխվել 1C: Enterprise ռեժիմում, ունի իր մոդուլը: Բացի փոփոխականների նկարագրությունից և հիմնական ծրագրից, օբյեկտի մոդուլը կարող է պարունակել ընթացակարգերի նկարագրություն՝ իրադարձությունների մշակիչներ՝ կապված տվյալ կազմաձևման օբյեկտի հետ: Կան երկու իրադարձություն, որոնք բարձրացվում են բոլոր օբյեկտների համար. Նախքան ձայնագրումըԵվ Երբ ձայնագրվում է.

· Ձևավորել մոդուլներ. Յուրաքանչյուր ձև ունի իր մոդուլը, որը սահմանում է ձևի վարքագիծը և դրանից կատարվող գործողությունները, օրինակ՝ բացելով այլ ձևեր։ Իրադարձությունները բարձրացվում են բոլոր ձևերի համար Բացումից առաջ, Բացման ժամանակ, Փակելուց առաջԵվ Փակման ժամանակ.

Համատեքստ

1C: Enterprise համակարգում համատեքստը նշանակում է մոդուլի միջավայրը, այսինքն. նրան հասանելի փոփոխականներ, օբյեկտներ, հատկություններ, մեթոդներ և իրադարձություններ: Մենք կարող ենք տարբերակել համատեքստերի հետևյալ տեսակները և, համապատասխանաբար, արտահանվող փոփոխականների, ընթացակարգերի և գործառույթների տեսանելիության կանոնները.

· Համաշխարհային համատեքստ, հասանելի բոլոր մյուս համատեքստերում, բաղկացած է հետևյալ մասերից.

§ գլոբալ համատեքստի հատկությունները, մեթոդները և իրադարձությունները (օրինակ՝ հատկությունը Աշխատանքային ամսաթիվ);

§ համակարգային թվարկումներ և համակարգի արժեքների հավաքածուներ (օրինակ, Վերադարձեք CodeDialog-ըԵվ Խորհրդանիշներ).

· Ընդհանուր մոդուլի համատեքստձևավորվում է գլոբալ համատեքստով և բուն ընդհանուր մոդուլի տեղական համատեքստով (այսինքն՝ ընդհանուր մոդուլում սահմանված ընթացակարգերն ու գործառույթները): Ընդհանուր մոդուլի համատեքստում հասանելի են այլ ընդհանուր մոդուլների արտահանվող ընթացակարգերը և գործառույթները: Հավելվածի մոդուլի արտահանված փոփոխականները, ընթացակարգերը և գործառույթները հասանելի չեն:

· Հավելվածի մոդուլի կամ արտաքին կապի մոդուլի համատեքստումԱռկա են ընդհանուր մոդուլների արտահանվող ընթացակարգերը և գործառույթները:

· Հավելվածի օբյեկտի մոդուլի համատեքստումհասանելի է օբյեկտի մանրամասներին և աղյուսակային մասերին, ինչպես նաև դրա մեթոդներին և իրադարձություններին: Արտահանված փոփոխականները, ընթացակարգերը և գործառույթները հավելվածի մոդուլի (արտաքին կապի մոդուլ) և ընդհանուր մոդուլները հասանելի են այստեղ:

· Ձևի մոդուլի համատեքստումհասանելի են ձևի մանրամասները, ինչպես նաև ձևի հատկությունները, մեթոդները և իրադարձությունները: Եթե ​​ձևը ունի հիմնական հատկանիշ, ապա որպես հիմնական հատկանիշ օգտագործվող հավելվածի օբյեկտի հատկությունները և մեթոդները հասանելի են դառնում ձևի մոդուլում:

Համատեքստերի միջև փոխհարաբերությունները սխեմատիկորեն ցուցադրվում են բրինձ. 2.Վրա բրինձ. 3պատկերում է ամսագրի ձևի մոդուլի և փաստաթղթի մոդուլի հնարավոր փոխազդեցությունը:


Ընթացակարգեր և գործառույթներ

Ընթացակարգերը և գործառույթները ծրագրային բլոկներ են, որոնք կարելի է անվանել մեկ այլ վայրից, օրինակ՝ այլ ընթացակարգից: Գործառույթները պրոցեդուրաներից տարբերվում են միայն նրանով, որ ունեն վերադարձի արժեք: 8-րդ տարբերակում ընթացակարգերի և գործառույթների հերթականությունը կարևոր չէ: Սա նշանակում է, որ ընթացակարգը կարող է տեղակայվել ներքևում, որտեղ այն կոչվում է:

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

Օրինակ 1:

Ընթացակարգի հաշվարկ ()

Գումար=Գին*Քանակ;

Ընթացակարգի ավարտը

Հաշվարկ(); // Զանգահարեք ընթացակարգը

Օրինակ 2:

Պերեմ Գլոբ;

// Ընթացակարգի նկարագրությունը

Ընթացակարգի հաշվարկ (Par1, Par2, ParZ) Արտահանում

Glob = Glob + Par1 + Par2 + ParZ;

Ընթացակարգի ավարտը

Հաշվարկ (5, 6, 7); // Զանգահարեք ընթացակարգը

Օրինակ 3:

Պերեմ Գլոբ;

// Գործառույթի նկարագրություն

Ֆունկցիայի հաշվարկ (Par1, Par2, ParZ) Արտահանում

Lok = Glob + Par1 + Par2 + ParZ;

Վերադարձի կողպեք;

EndFunction

Res = Calc (5, 6, 7); // Ֆունկցիոնալ զանգ

Տվյալների տեսակները

Համար, տող, ամսաթիվ, բուլյան, չսահմանված, զրոյական (տվյալների բազայի աղյուսակներում չճշտված արժեքների համար)

Տիպ.Տվյալների տեսակները ներկայացնելու և համեմատելու համար անհրաժեշտ են հատուկ տեսակի «Տիպ» արժեքներ, օրինակ.

Փոփոխականների հայտարարում

Փոփոխականները հայտնվում են ծրագրում հետևյալ դեպքերում.

· Փոփոխական օպերատորի միջոցով դրանք հայտարարվելուց հետո:

Պերեմ<Имя_переменной>[Արտահանում];

Փոփոխական A, B;

· փոփոխականի անվան առաջին տեղադրումից հետո հանձնարարության օպերատորի ձախ կողմում:

Օրինակ:

· խմբագրված երկխոսության տարրերի նույնացուցիչների անվանումները որոշելիս.

· ընթացակարգերի պաշտոնական պարամետրեր սահմանելիս:

Դերերում

Տիպի ձուլումը կարող է լինել բացահայտ կամ անուղղակի:

Հստակ ձուլման համար կան հետևյալ գործառույթները՝ համար, տող, ամսաթիվ, բուլյան: Արտահայտությունները գնահատելիս համակարգի կողմից ինքնաբերաբար կատարվում է անուղղակի տիպի ձուլում:

Օրինակ. MonthNumber թվային փոփոխականի արժեքը անուղղակիորեն փոխարկվում է տողի և կցվում է մեկ այլ տողի.

A = «Ամիս» + ԱմիսՀամար;

տեղեկատուներ

Գրացուցակների հետ աշխատանքն իրականացվում է հետևյալ օբյեկտների միջոցով.

· Directories Manager.Ապահովում է մուտք դեպի բոլոր կազմաձևման տեղեկատու գրքեր: Այս օբյեկտի հատկությունները համընկնում են դիրեկտորիաների անունների հետ և պարունակում են DirectoryManager տիպի օբյեկտներ։

· Directory Manager.Ապահովում է գրացուցակի գործողություններին հասանելիություն՝ որպես տարրերի մի շարք: Օգտագործելով այս օբյեկտի մեթոդները, դուք կարող եք որոնել, ստանալ ընտրություն, ստեղծել նոր տարրեր և մուտք գործել գրացուցակի ձևեր և դասավորություններ:

· DirectoryLink.Միանշանակորեն նույնացնում է գրացուցակի տարրը (խումբը) և թույլ է տալիս մուտք գործել այն միայն կարդալու ռեժիմով: Այս օբյեկտի հատկությունների և մեթոդների միջոցով դուք կարող եք կարդալ տարրի (խմբի) մանրամասները և մուտք գործել դրա աղյուսակային մասեր: Այս տեսակի արժեքը պահվում է ատրիբուտներում, որոնք վերաբերում են այս գրացուցակի տարրերին, օրինակ՝ հատկանիշում Աշխատակիցփաստաթուղթ Հավաքագրումպահվում է կոնկրետ գրացուցակի տարրի հղումը Աշխատակիցներ.

· DirectoryObject.Ապահովում է տարրի գրավոր հասանելիություն: Այս օբյեկտը պարունակում է մեթոդներ, որոնք ազդում են տվյալների բազայի տարրի վրա, օրինակ՝ մեթոդներ Գրի առեքԵվ Ջնջել.

· Գրացուցակի ընտրություն.Ապահովում է գրացուցակի տարրերի միջոցով կրկնելու հնարավորություն: Նմուշառումը կարող է լինել ուղղակի կամ հիերարխիկ:

· տեղեկատու ցուցակ.Աղյուսակ դաշտում տարրերի ցանկը կառավարելու օբյեկտ: Թույլ է տալիս կառավարել սյունակները, ընտրությունը և տեսակավորումը ցանկում:

1C:Enterprise համակարգո՞ւմ:

1. Կազմաձևման և տվյալների բազայի տեքստերը պահվում են ձևաչափովՅՈՒՆԻԿՈԴ

3. Ճիշտ պատասխան չկա

6.75 Ինչ նպատակով են կոնֆիգուրացիայի և տվյալների բազայի տեքստերը պահվում ձևաչափովՅՈՒՆԻԿՈԴ?

1. UNICODE ձևաչափն ապահովում է տեղեկատվության ներկայացման անփոփոխությունը (օպերացիոն համակարգի ծրագրային հարթակի անկախությունը).

2. ՁևաչափՅՈՒՆԻԿՈԴ թույլ է տալիս աջակցել տարբեր լեզուների 1C:Enterprise համակարգում

3. Ճիշտ պատասխան չկա

6.76 Սահմանված են միջազգայնացման մեխանիզմները. ..

1. տեխնոլոգիական հարթակ 1C: Ձեռնարկություն

2. կիրառական լուծումներ

3. 1-ին և 2-րդ պատասխանները ճիշտ են

4. ճիշտ պատասխան չկա

6.77 Ի՞նչ է տեղայնացման կոդը:

1. Լեզվի կոդից և երկրի կոդից բաղկացած տող, որը նույնականացնում է աշխարհի որոշ շրջան

2. Ծրագրային ապահովման արտադրանքի կոդը (նշված է գրանցման ձևաթղթում, առաքման փաթեթում ներառված փաստաթղթերը)

3. Փոխակերպման համար ֆորմատի լարային տարբերակ

4. Նրա պատասխանը ճիշտ է

6.78 Ճի՞շտ է, որ 1C:Enterprise 8-ում ցանկացած տեքստային տեղեկատվություն կարող է միաժամանակ ներառել տարբեր լեզուների նիշեր:

1. Այո, քանի որ բոլոր կոնֆիգուրացիայի և տվյալների բազայի տեքստերը պահվում են ձևաչափովՅՈՒՆԻԿՈԴ

2. Կախված ինֆոբազա ստեղծելիս նշված կարգավորումներից

3. Միայն այն դեպքում, եթե դա նախատեսված է կոնֆիգուրացիայի կողմից

6.79 Ո՞րն է «Լեզու» կազմաձևման օբյեկտի նպատակը:

1. Տարբեր լեզուներով ծրագրային ինտերֆեյս ստեղծելու համար

2. Տարբեր լեզուներով տեքստային փաստաթղթեր ստեղծելու համար

3. Նման օբյեկտ 1C-ում գոյություն չունի՝ Enterprise 8

6.80 Ինչպե՞ս կարող եմ փոխել կոնֆիգուրացիան դիտելու (խմբագրելու) լեզուն:

1. Օգտագործելով «NUM» կոճակի աջ կողմում գտնվող կարգավիճակի տողում գտնվող լեզվի ընտրության կոճակը

2. «Կազմաձևում - Կազմաձևման խմբագրման լեզու» ընտրացանկի միջոցով

3. 1 C. ձեռնարկությունում այս հնարավորությունը գոյություն չունի

4. Verpa-ն պատասխանում է 1-ին և 2-ին

6.81 Ո՞րն է ներկառուցված լեզվական օպերատորների ուղղագրությունը:

1. Միայն ռուսերեն գիր

3.

6.82 Հնարավո՞ր է արդյոք օգտագործել ներկառուցված օպերատորներ ռուսերեն և անգլերեն գրավոր մեկ սկզբնական տեքստում:

1. Միայն հատուկ կոնֆիգուրատորի կարգավորումներով

2. Այո, սա չի պահանջում փոխելու կոնֆիգուրատորի կարգավորումները

3. Ոչ, քանի որ ներկառուցված լեզվի տարբերակը դրված է կազմաձևման հատկություններում

6.83 Ո՞րն է ներկառուցված լեզվի նպատակը:

1. Ծրագրի լռելյայն ինտերֆեյսը որոշելու համար

2. Նկարագրել (կոնֆիգուրացիայի մշակման փուլում) կիրառական առաջադրանքի գործարկման ալգորիթմներ

3. Ճիշտ պատասխան չկա

6.84 Ո՞րն է ներկառուցված լեզվական ֆունկցիաների ուղղագրությունը:

1. Միայն ռուսերեն գիր

2. Միայն անգլերեն ուղղագրություն

3. ռուսերեն և անգլերեն գրավոր

4. Կախված կոնֆիգուրատորի կարգավորումներից

6.85 Ի՞նչ է նշանակում L պարամետրը:(Լ) NumberInWriting() ֆորմատավորման ֆունկցիայի ֆորմատի տողո՞ւմ։

1. Ստորագրեք «կոտորակային մասը թվերով/բառերով դուրս բերեք»

2. Տասնորդական թվերի թիվը

3. Տեղայնացման կոդը

7. Կիրառական լուծման աղյուսակային մոդելը

7.1 Տվյալների մուտքի սահմանափակումներ սահմանելիս կարող եք սահմանել մի քանի (դաշտերի քանակի հիման վրա) սահմանափակումներ.

1. «Կարդալ» իրավունքի համար

2. Ճիշտ «Փոփոխության» համար

3. «Ավելացնել» իրավունքի համար

4. «Ջնջել» իրավունքի համար

5. Վերը նշված բոլոր իրավունքների համար

6. Բոլոր հնարավոր իրավունքների համար

7.2 Տվյալների մուտքի սահմանափակումներ սահմանելիս հետևյալը կարող է օգտագործվել որպես արժեքներ, որոնց միջոցով կատարվում են տվյալների մուտքի սահմանափակումներ.

1. Միայն նստաշրջանի պարամետրերի արժեքները

2. Միայն աղյուսակների տվյալները (հարցումները)

3. Նստաշրջանի պարամետրերի արժեքները և աղյուսակներից ստացված տվյալները (հարցումները)

4. Միայն տիպերով արժեքներ՝ համար, տող, բուլյան, ամսաթիվ

7.3 Վերոհիշյալ մեթոդներից ո՞րը կարող է օգտագործվել, որպեսզի գրացուցակի կոդը և անունը հայտնվեն հարցումների դիզայների «Դաշտեր» բաժնում:

1. Նախ լրացրեք «Սեղաններ» բաժինը, այնուհետև այս բաժնից ընտրելով ցանկալի օբյեկտները, մկնիկի ձախ կոճակով կրկնակի սեղմելով տեղափոխեք դրանք «Դաշտեր» բաժին։

2. Առանց «Աղյուսակներ» բաժինը լրացնելու, աղյուսակներից անմիջապես ընտրեք անհրաժեշտ օբյեկտները՝ «Տվյալների բազա» բաժնի տվյալների աղբյուրները՝ դրանք տեղափոխելով «Դաշտեր» բաժին՝ օգտագործելով Drag & Drop տեխնոլոգիան: «Սեղաններ» բաժինը լրացվում է ավտոմատ կերպով

3. Նախ լրացրեք «Սեղաններ» բաժինը, այնուհետև այս բաժնից ընտրելով անհրաժեշտ օբյեկտները, «>» «» ձևի կոճակների միջոցով տեղափոխեք դրանք «Դաշտեր» բաժին։

4. I և 3 պատասխանները ճիշտ են

5. I, 2 և 3 պատասխանները ճիշտ են

7.4 Հարցման կատարման արագությունը բարձրացնելու համար դուք պետք է.

1. Սահմանեք պարամետրեր իրական աղյուսակների մեծ մասի համար

2. Սահմանեք պարամետրեր վիրտուալ աղյուսակների մեծ մասի համար

3. Իրական կամ վիրտուալ աղյուսակի պարամետրերը նշելու փոխարեն օգտագործեք «WHERE» հարցման լեզվի կառուցվածքով նշված ընտրությունը:

4. I և 2 պատասխանները ճիշտ են

7.5 Հնարավո՞ր է արդյոք դրա համար նոր անուն (փոխանուն) վերագրել հարցման նախագծողի «Աղյուսակներ» բաժնում աղբյուրի աղյուսակ ընտրելիս:

1. Այո, դու կարող ես

2. Այո, կարող եք, բայց միայն այն դեպքում, եթե տվյալների աղբյուրը տեղադրված է հարցում

3. Այո, կարող եք, բայց միայն այն դեպքում, եթե տվյալների աղբյուրը վիրտուալ աղյուսակ է

4. 1-ին և 2-րդ պատասխանները ճիշտ են

5. 1-ին և 3-րդ պատասխանները ճիշտ են

7.6 Ներդրված հարցումը կարող է օգտագործվել.

1. Որպես տվյալների աղբյուրի աղյուսակ

2. Որպես «B» կամ «NOT B» համեմատական ​​գործողությունների օպերանդ՝ վիրտուալ աղյուսակի պարամետրերը սահմանելիս

3. Որպես «B» կամ «NOT B» համեմատական ​​գործողությունների օպերանդ՝ հարցման լեզվի «WHERE» կառուցվածքը նշելիս:

4. Verpa-ն պատասխանում է 1, 2 և 3

7.7 Հնարավո՞ր է արդյոք ստանալ հանրագումարներ ըստ հիերարխիայի՝ օգտագործելով հարցումների դիզայները:

1. Դա հնարավոր է, եթե խմբավորման դաշտի համար նշեք «Elements and Hierarchy» ընդհանուր տեսակը

2. Դա հնարավոր է, եթե խմբավորման դաշտի համար նշեք «Միայն հիերարխիա» ընդհանուր տեսակը

3. Verpa-ն պատասխանում է 1-ին և 2-ին

7.8 Հարցման դիզայների «Պայմաններ» ներդիրում կարող է ստեղծվել պայմանների ցանկի առանձին տող.

1. Մկնիկի ձախ կոճակով կրկնակի սեղմեք առկա դաշտերի ցանկում ցանկալի դաշտի վրա

2. Ցանկալի դաշտը տեղափոխելով ցուցակ՝ օգտագործելով Drag & Drop տեխնոլոգիան

3. Սեղմեք «Ավելացնել» կոճակը: Եթե ​​պայմանը կամայական է, ապա պայմանի տեքստը կարող է մուտքագրվել «ձեռքով»

4. Զանգահարեք համատեքստի ընտրացանկը և այնտեղից ընտրեք «Ավելացնել»: Հնարավոր է օգտագործել կամայական արտահայտություն

5. Վերոնշյալ բոլոր պատասխանները ճիշտ են

7.9 Հարցման դիզայների «Հղումներ» ներդիրում կարող եք սահմանել.

1. Տվյալների աղբյուրների աղյուսակների և նրանց միջև փոխհարաբերությունների միացում

2. Տվյալների աղբյուրների աղյուսակների և դրանց միջև կապերի համադրում

3. Հարցման արդյունքում ստացված աղյուսակի դաշտերի փոխհարաբերությունները

4. Տվյալների աղբյուրի աղյուսակի դաշտերի և հարցման արդյունքում ստացված աղյուսակի միջև փոխհարաբերությունները.

7.10 Հարցման նախագծողում տվյալների աղբյուրի աղյուսակներին միացնելիս կարող եք.

1. Նշանակե՛ք միացում՝ առանց միացման պայմանը նշելու

2. Նշանակեք միացում, որը ցույց է տալիս միացման պայմանը, և այս պայմանը կարող է լինել միայն մեկը

3. Նշանակեք կապ, որը ցույց է տալիս կապի պայմանը, և այս պայմանը կարող է լինել միայն պարզ

4. Նշանակե՛ք կապի անհրաժեշտ քանակությունը՝ նշելով կապի անհրաժեշտ քանակությունը, և այդ պայմանները կարող են լինել պարզ կամ կամայական

7.11 Հարցման դիզայներում տվյալների աղբյուրի աղյուսակների միջև կապ ստեղծելը թույլ է տալիս.

1. Տվյալների աղբյուրի միայն երկու աղյուսակների միացում

2. Պահանջվող թվով տվյալների աղբյուրի աղյուսակների միացում

3. Միացնելով միայն երկու տվյալների աղբյուրի աղյուսակներ, և «Բոլորը» վանդակը պետք է ստուգվի աղյուսակներից առնվազն մեկի համար:

Հիմնական, ինչը հեշտացնում է սկսնակ ծրագրավորողների համար սովորելը: Այնուամենայնիվ, այն թվարկված լեզուներից որևէ մեկի անմիջական անալոգը չէ:

Ահա ներկառուցված լեզվի ամենակարևոր առանձնահատկություններից մի քանիսը.

  • նախնական կազմավորում; նախքան կատարումը, ներկառուցված լեզվով տեքստ պարունակող մոդուլները վերածվում են ներքին կոդի.
  • հիշողության մեջ հավաքված մոդուլների քեշավորում;
  • փափուկ մուտքագրում - փոփոխականի տեսակը որոշվում է այն արժեքի տեսակով, որը պարունակում է և կարող է փոխվել շահագործման ընթացքում.
  • կոնֆիգուրացիայի օբյեկտների ծրագրային նկարագրության բացակայություն; մշակողը կարող է օգտագործել կա՛մ հարթակում ներկառուցված օբյեկտներ, կա՛մ կիրառական լուծման տեսողական ձևավորման արդյունքում համակարգի կողմից ստեղծված օբյեկտներ:

Իրադարձությունների վրա հիմնված ներկառուցված լեզու: 1C:Enterprise համակարգում ներկառուցված լեզվի նպատակը որոշվում է կիրառական լուծումներ ստեղծելու գաղափարախոսությամբ։ 1C:Enterprise 8.0-ի կիրառական լուծումները լիովին կոդավորված չեն: Ծրագրային լուծումների մեծ մասը ստեղծվում է ծրագրավորողի կողմից տեսողական դիզայնի միջոցով՝ ստեղծելով նոր կոնֆիգուրացիայի օբյեկտներ, սահմանելով դրանց հատկությունները, ներկայացման ձևերը, հարաբերությունները և այլն: Ներկառուցված լեզուն օգտագործվում է միայն կիրառական լուծման օբյեկտների վարքագիծը որոշելու համար, որը տարբերվում է ստանդարտ մեկը և ստեղծել իրենց սեփական տվյալների մշակման ալգորիթմները:

Այդ իսկ պատճառով, ներկառուցված լեզվով տեքստ պարունակող մոդուլներն օգտագործվում են համակարգի կողմից հատուկ, նախկինում հայտնի իրավիճակներում, որոնք կարող են առաջանալ հավելվածի լուծման ընթացքում: Նման իրավիճակները կոչվում են իրադարձություններ: Իրադարձությունները կարող են կապված լինել կիրառական լուծման օբյեկտների գործունեության կամ հենց կիրառական լուծման հետ, որպես այդպիսին:

Օրինակ, մի շարք իրադարձություններ կապված են Directory հավելվածի լուծման օբյեկտի գործունեության հետ, որոնց թվում է BeforeWrite իրադարձությունը։ Այս իրադարձությունը տեղի է ունենում հենց այն բանից առաջ, երբ գրացուցակի տարրի տվյալները պետք է գրվեն տվյալների բազայում: Մշակողը, օգտագործելով ներկառուցված լեզու, կարող է նկարագրել ալգորիթմ, որը, օրինակ, կստուգի օգտագործողի կողմից մուտքագրված տվյալների ճշգրտությունը: Տեղադրելով այս ալգորիթմը համապատասխան մոդուլում՝ մշակողը կապահովի, որ ամեն անգամ, երբ օգտատերը գրանցում է գրացուցակի տարր, համակարգը կգործարկի ծրագրավորողի կողմից ստեղծված ալգորիթմը և ստուգի, թե արդյոք օգտագործողը մոռացել է լրացնել անհրաժեշտ գրացուցակի մանրամասները:

Այսպիսով, կարելի է ասել, որ ներկառուցված լեզուն ծրագրավորման բիզնես տրամաբանության սկրիպտային լեզու է, իսկ ներկառուցված լեզվում մոդուլների օգտագործումը կախված է իրադարձություններից, այսինքն. մոդուլները կատարվում են, երբ որոշակի իրադարձություններ են տեղի ունենում կիրառական լուծումների շահագործման ընթացքում:

Նախապես սահմանված տվյալների տեսակները

1C:Enterprise 8.0 հարթակը ծրագրավորողին թույլ է տալիս օգտագործել տարբեր տեսակի տվյալներ:

Կան մեծ թվով տվյալների տեսակներ, որոնք սահմանվում են հենց հարթակի մակարդակով: Օրինակ սա պարզունակ տվյալների տեսակները, ինչպիսիք են տողը, համարը, ամսաթիվը և այլն:


Նկարագրություն պարզունակ տվյալների տեսակները:

  • ԴԱՏԱՐԿ- բացակայող արժեք: Օգտագործվում է, օրինակ, հարցումներում:
  • Չսահմանված- դատարկ, չսահմանված արժեք: Այն օգտագործվում է, օրինակ, պարամետրերի փոխանցումը գնահատելիս, եթե այս պարամետրը բաց է թողնվել ընթացակարգ կամ ֆունկցիա կանչելիս: Մանրամասները, որոնք ունեն կոմպոզիտային տվյալների տեսակ, լռելյայնորեն «Չսահմանված» տիպի են:
  • Բուլյան- պարունակում է երկու արժեք՝ True կամ False: Օգտագործվում է, օրինակ, տրամաբանական արտահայտություններում. տրամաբանական արտահայտությունը «բուլյան» տիպի է։
  • ամսաթիվը- պարունակում է ամսաթիվ և ժամ: Լռելյայն արժեքն է 01/01/01 00:00:00 մեր դարաշրջանի մեկնարկի ամսաթիվը: Ժամանակը չափվում է օրվա սկզբից։ Արտահայտությունը, որն ունի բառացի «ամսաթիվ» տիպ, գրվում է հետևյալ կերպ՝ «00010101000000»: Սկզբում գրվում է տարին, հետո ամիսը, հետո ամսաթիվը և հետո ժամը: Հնարավոր է հետևյալ գրառումը՝ «20041031»։ Նախնական ժամանակը օրվա սկիզբն է:
  • Գիծ- կարող է լինել փոփոխական, ֆիքսված կամ անսահմանափակ երկարություն: Ընդհանուր առմամբ, խորհուրդ է տրվում օգտագործել փոփոխական երկարության տողեր։
  • Թիվ- թվի բիթերի խորությունը ավելացվել է մինչև 38 բիթ:
  • Տիպ- ծառայում է արժեքների տեսակների որոշմանը. Օգտագործվում է, օրինակ, տվյալների տեսակները համեմատելու համար: Այն չունի բառացիներ և վերադարձվում է Type(() ֆունկցիաներով<Имя типа>) կամ TypeValue (<Значение>).

Բացի այդ, կան ավելին տվյալների բարդ տեսակներ. Օրինակ, հարթակն աջակցում է մի շարք տեսակների, որոնք արժեքների ունիվերսալ հավաքածուներ են՝ զանգված, կառուցվածք, արժեքների ցուցակ, արժեքների ծառ և այլն։


Տվյալների տեսակները «Համընդհանուր հավաքածուներ» - ցանկացած տեսակի տվյալների օբյեկտների ցանկ (լրակազմ), որոնց արժեքներին կարելի է մուտք գործել կոպիտ ուժով կամ նշված ինդեքսով (բանալինով): Հավաքածուի տարրերի համարակալումը սկսվում է 0-ից: Բոլոր նշված տվյալների տեսակները ստեղծվում են միայն ծրագրային եղանակով:

Զանգված. Ներկայացնում է կամայական տիպի արժեքների համարակալված հավաքածու: Զանգվածի տարրը հասանելի է իր ինդեքսով: Զանգվածի տարրերը կարող են լինել, մասնավորապես, այլ զանգվածներ։ Սա թույլ է տալիս ստեղծել բազմաչափ զանգվածներ:

Կառուցվածք. Ներկայացնում է անվանված հավաքածու, որը բաղկացած է Key-Value զույգերից: Բանալին կարող է լինել միայն տող, արժեքը կարող է լինել կամայական տիպի: Կառուցվածքային տարրին կարելի է մուտք գործել իր բանալի արժեքով, այսինքն. անունով։ Սովորաբար օգտագործվում է փոքր թվով արժեքներ պահելու համար, որոնցից յուրաքանչյուրն ունի յուրահատուկ անուն:

Նամակագրություն. Ճիշտ այնպես, ինչպես Structure-ը, այն Key-Value զույգերի հավաքածու է: Այնուամենայնիվ, ի տարբերություն Կառուցվածքի, բանալին կարող է լինել գրեթե ցանկացած տեսակի:

Արժեքների ցանկ. Սովորաբար օգտագործվում է ինտերֆեյսի խնդիրները լուծելու համար: Թույլ է տալիս կառուցել արժեքների դինամիկ հավաքածուներ և շահարկել դրանք (ավելացնել, խմբագրել, ջնջել տարրեր, տեսակավորել): Այն կարող է պարունակել ցանկացած տեսակի արժեքներ, բացի այդ, մեկ ցուցակում պահվող արժեքների տեսակները կարող են տարբեր լինել:

Արժեքների աղյուսակ. Արժեքների աղյուսակը թույլ է տալիս կառուցել և շահարկել արժեքների դինամիկ հավաքածուներ: Այն կարող է լրացվել ցանկացած տեսակի արժեքներով, և մեկ աղյուսակում պահվող արժեքների տեսակները կարող են տարբեր լինել:

Արժեքների ծառ. Արժեքի ծառը ցանկացած տեսակի արժեքների դինամիկ ձևավորված հավաքածու է, որը նման է արժեքների աղյուսակին: Ի տարբերություն արժեքների աղյուսակի, արժեքների ծառի տողերը կարող են ձևավորել հիերարխիկ կառուցվածքներ. ծառի յուրաքանչյուր տող կարող է ունենալ ստորադաս տողերի մի շարք, ենթակա տողերից յուրաքանչյուրն իր հերթին կարող է ունենալ նաև ստորադաս տողերի հավաքածու և այլն: Այս դեպքում արժեքների որոնումը, տեսակավորումը և արդյունքների ստացումը կարող են իրականացվել կամ ըստ ընթացիկ հիերարխիայի մակարդակի, կամ ներառելով բոլոր ստորադասները։

COMSafeArray. Ներկայացնում է օբյեկտի փաթաթան բազմաչափ SAFEARRAY զանգվածի վրա

Ընթացակարգ SelectFromFileClick(Element) // Ֆայլի ընտրություն viewingFileSelectionDialog = NewFileSelectionDialog(FileSelectionDialogMode.Open); FileSelectionDialog.Directory = ""; FileSelectDialog.Preview = True; FileSelectionDialog.FilterIndex = 0; Եթե ​​FileSelectDialog.Select() Ապա File = New File(FileSelectDialog.FullFileName); Պատկեր = NewValueStorage (NewImage (FileSelectionDialog.FullFileName)); DisplayImage (); վերջԵթե; Ընթացակարգի ավարտը

THIS_KEYWORD
<Это конструкция языка>,
<Это конструкция языка>
THIS_FUNCTION (<Это конструкция языка>)

Հարցման լեզուն նկարագրող կանոններում լեզվական կառուցվածքները նշված են անկյունային փակագծերում: Հիմնաբառերը և ֆունկցիաների անվանումները նկարագրված են մեծատառերով:

Լեզվի կառուցվածքները կարող են պարունակել կամընտիր տարրեր՝ հիմնաբառեր և այլն։ Հարցման լեզուն նկարագրող կանոններում կամընտիր տարրերը փակցված են «[» և «]» քառակուսի փակագծերում.

[ՍԱ ԸՆԴՀԱՆՈՒՐ ԲԱՌ Է] [<Это необязательная конструкция>]

Որոշ դեպքերում լեզվի ձևավորումը կարող է օգտագործել մի քանի այլընտրանքային տարրերից մեկը: Կանոնների նման տարրերը թվարկված են «|» ուղղահայաց գծի միջոցով.

EITHER_THIS_WORD | ԿԱՄ THIS_WORD
<Либо эта конструкция> | <Либо эта конструкция>

Բոլոր կառուցվածքների նկարագրությունները ուղեկցվում են օրինակներով, որոնք բացատրում են, թե ինչպես են դրանք օգտագործվում հարցման լեզվում:

Մեկնաբանություններ հարցման լեզվով

Հարցման մարմինը կարող է ներառել մեկնաբանություններ: Մեկնաբանությունը համարվում է տողի մի մաս, որը սկսվում է նիշերի հաջորդականությամբ // և շարունակվում մինչև տողի վերջը.

// Սա մեկնաբանություն է։

Մեկնաբանությունները անտեսվում են, երբ հարցումն իրականացվում է:

Հիմնաբառերի երկլեզու ներկայացում

1C. Enterprise հարցումների լեզվի կարևոր առանձնահատկություններից մեկն այն է, որ, ինչպես ներկառուցված լեզվում, բոլոր հիմնաբառերն ունեն երկու ուղղագրություն՝ ռուսերեն և անգլերեն: Հետագայում այս գլխում նշվում են հիմնաբառերի ռուսերեն ուղղագրությունները: Ստորև բերված է աղյուսակ, որը ցույց է տալիս ռուսերենի և անգլերենի համապատասխանությունը և հարցման լեզվում հիմնաբառերի ուղղագրական տարբերակները...... (բաց թողնված)

Հարցման տեքստի հիմնական բաժինները

Հարցման տեքստը կարելի է նկարագրել հետևյալ կանոնով.

<Описание запроса>
[<Объединение запросов>]
[<Упорядочивание результатов>]
[ԱՎՏՈՊԱՏՎԵՐ]
[<Описание итогов>]

Ինչպես երևում է այս կանոնից, հարցման տեքստը բաղկացած է մի քանի մասերից կամ բաժիններից.

Բաժնում<Упорядочивание результатов>Հարցման արդյունքում կարող եք սահմանել տողերի դասավորության պայմանները: Հարցման արդյունքի պատվիրումը քննարկվում է 324-րդ էջում:

AUTO ORDER-ը թույլ է տալիս միացնել տողերի ավտոմատ դասավորությունը հարցման արդյունքում: Այս ռեժիմը նկարագրված է 331-րդ էջում:

Բաժնում<Описание итогов>Դուք կարող եք նշել, թե որ գումարները պետք է հաշվարկվեն հարցման մեջ: Այս բաժինը նկարագրված է 332-րդ էջում։

Հարցման նկարագրություն

Ինչպես արդեն նշվեց, հարցման տեքստը պետք է անպայման պարունակի հարցման նկարագրության բաժին, որը սահմանում է.

Դաշտեր, որոնք կպարունակվեն հարցման արդյունքում.

Հարցման տվյալների աղբյուրներ - աղբյուրի աղյուսակներ;

Հարցման մեջ տվյալների ընտրության վրա ազդող պայմաններ.

Հարցման արդյունքների խմբավորման հերթականությունը:

Հարցման նկարագրության բաժինը բաղկացած է մի քանի փոխկապակցված նախադասություններից.

ԸՆՏՐԵԼ [ՏԱՐԲԵՐ] [ԱՌԱՋԻՆ<Количество>]
<Список полей выборки>
[ԻՑ<Список источников>]
[ՈՐՏԵՂ<Условие отбора>]
[ԽՄԲ<Поля группировки>]
[ՈՒՆԵՑՈՂ<Условие отбора>]
[ՓՈՓՈԽՈՒԹՅԱՆ ՀԱՄԱՐ [<Список таблиц верхнего уровня>]]

Հարցման նկարագրությունը սկսվում է պահանջվող հիմնաբառով ԸՆՏՐԵԼ.

Առաջարկ ՈՐՏԵՂ<Условие отбора> թույլ է տալիս զտել հարցման արդյունքը: Արդյունքը ներառում է միայն այն գրառումները, որոնց համար նշված պայմանը ճիշտ է: Ընտրության պայմանները նկարագրելու կանոնները քննարկված են 315-րդ էջում:

Առաջարկ ՓՈՓՈԽՈՒԹՅԱՆ ՀԱՄԱՐնախատեսված է ցույց տալու գործարքում կարդացված տվյալների արգելափակման անհրաժեշտությունը:

Առաջարկ ԽՈՒՄԲթույլ է տալիս նկարագրել հարցման արդյունքների խմբավորման հերթականությունը: Խմբավորումը մանրամասն քննարկվում է 316-րդ էջում։

Առաջարկ ՈՒՆԵՑՈՂթույլ է տալիս պայմաններ դնել խմբավորման արդյունքների վրա: Նկարագրված է 318-րդ էջում։

Այս գլխի բոլոր հարցման օրինակները տրամադրում են հարցման տեքստը և հարցման արդյունքը: Ենթադրվում է, որ հարցման տեքստը որպես պարամետր փոխանցվում է Request օբյեկտի Execute մեթոդին։

Բերենք բավականին պարզ հարցման օրինակ, որը բաղկացած է մեկ SELECT հայտարարությունից և ընտրության դաշտերի ցանկից:

//Զեկույցում պետք է ցուցադրեք հաշիվ-ապրանքագրերի ցանկը:

Հարցման արդյունք.

ՏԱՐԲԵՐ բառի օգտագործումը

Շատ իրավիճակներում ցանկալի է, որ հաշվետվության նույն տողերը չկրկնվեն:

// Պետք է պարզել, թե որ կոնտրագենտներն ընդհանրապես
// ապրանքները առաքվել են տվյալ ժամանակահատվածի համար:
Ընտրեք Document.Invoice.Counterparty

Հարցման արդյունք.

Կարելի է տեսնել, որ հարցման արդյունքը պարունակում է բազմաթիվ կրկնվող տողեր, ինչը նվազեցնում է դրա պարզությունը։ Կրկնությունից խուսափելու համար հարցման նկարագրության մեջ պետք է նշել DIFFERENT հիմնաբառը:

Ընտրեք Various Document.Invoice.Counterparty

Հարցման արդյունք.

ԱՌԱՋԻՆ բառի օգտագործումը

Որոշ դեպքերում անհրաժեշտ է հաշվետվության մեջ ցուցադրել սահմանափակ թվով տողեր: Դա անելու համար հարցման նկարագրության մեջ պետք է նշեք ԱՌԱՋԻՆ հիմնաբառը, իսկ դրանից հետո՝ անհրաժեշտ թվով տողեր:

// Անհրաժեշտ է ընտրել հինգ ամենաթանկ ապրանքները.
// Ընտրությունը պետք է կատարվի ապրանքի գնի նվազման կարգով:
Ընտրեք Առաջին 5
Directory.Nomenclature.Name,
Directory.Nomenclature.PurchasingPrice
Դասավորել ըստ Directory.Nomenclature.PurchasePrice Նվազող

Հարցման արդյունք.

Ընտրության դաշտերի նկարագրություն

SELECT պարտադիր բանալի բառից հետո (և համապատասխանող DIFFERENT և FIRST բառերից հետո) հարցման տեքստում նշվում է ընտրության դաշտերի ցանկը: Այս դաշտերը կմշակվեն հարցման մեջ տվյալների առբերման ժամանակ: Հարցման արդյունքը կունենա նաև այս ցանկում սահմանված դաշտերի հավաքածու: Ընտրության դաշտերը նկարագրված են հետևյալ կանոնների համաձայն.

<Описание поля>[[ԻՆՉՊԵՍ]<Псевдоним поля>]

<Выражение>[.<Группа полей>]

Ընտրության դաշտերի ցանկը բաղկացած է մեկ կամ մի քանի տարրերից, որոնք բաժանված են ստորակետերով: Յուրաքանչյուրը<Поле выборки>բաղկացած է ընտրության դաշտի նկարագրությունից և կամընտիր դաշտի կեղծանունից:

Ընտրության ցանկում դաշտերը ցուցակագրելու փոխարեն կարող եք նշել «*» աստղանիշը: Սա կնշանակի, որ հարցման արդյունքը պետք է պարունակի բոլոր դաշտերը, որոնք գտնվում են սկզբնաղբյուր աղյուսակներում՝ աղբյուրների ցանկում նկարագրված հարցման տվյալների աղբյուրները:

ՄեկնաբանությունԸնտրության դաշտերի ցանկում աստղանիշ «*» նշելիս սկզբնաղբյուրի աղյուսակների վիրտուալ դաշտերը չեն ներառվում արդյունքում:

<Описание поля>սահմանում է, թե ինչպես պետք է ստեղծվեն դաշտի արժեքները: Ամենապարզ դեպքում ընտրության դաշտը հղում է աղբյուրի աղյուսակի դաշտին: Հղումը կարելի է ճշտել՝ նշելով այս դաշտը պարունակող աղյուսակը կամ առանց ինքնին աղյուսակը նշելու։ Դաշտային վերաբերման հարցը քննարկվում է ժ.

Ընդհանրապես, ընտրության դաշտը կարող է լինել ոչ միայն սկզբնաղբյուր աղյուսակի դաշտի հղում, այլ նաև որոշ<Выражение>. Արտահայտությունները մանրամասն քննարկվում են 344-րդ էջում։

Հարցման արդյունքները կարող են խմբավորվել՝ օգտագործելով ագրեգատ գործառույթները, որոնք նշված են որպես արտահայտություններ ընտրված դաշտերում: Հարցման արդյունքների խմբավորումը քննարկվում է 316-րդ էջում: Ընդհանուր գործառույթները նկարագրված են 345-րդ էջում:

Յուրաքանչյուր ընտրության դաշտին կարող է վերագրվել այլանուն: Հետագայում այն ​​կարող է օգտագործվել այս ոլորտ ավելի հարմարավետ մուտք գործելու համար։ Դաշտային կեղծանունների օգտագործումը քննարկվում է ստորև:

<Группа полей>կարող է նշվել միայն այն դեպքում, երբ ընտրված դաշտը մատնանշում է տեղադրված աղյուսակը: Այս դեպքում դուք կարող եք նշել, թե որ դաշտերը պետք է մշակվեն ներդիր աղյուսակի ընտրության մեջ: Եթե ​​դաշտերի խումբը նշված չէ, ընտրության մեջ կմշակվեն ներդիր աղյուսակի բոլոր դաշտերը: Ներդրված աղյուսակների մուտքը նկարագրված է.

Դաշտի անունները ընտրության ցանկում

Եթե ​​ընտրության դաշտին փոխանուն եք հատկացնում, կարող եք հետագայում դիմել այս դաշտին՝ օգտագործելով դրա այլանունը ORDER BY և TOTAL կետերում, ինչպես նաև հարցման արդյունքի հետ աշխատելիս: Նման բուժումը կարող է լինել ավելի հարմար և տեսողական, իսկ որոշ դեպքերում՝ միակ հնարավորը։

HOW հիմնաբառը կարող է նախորդել դաշտի այլանունին: Այս բառը կարող է ընդհանրապես չնշված լինել, բայց եթե այն նշված է, ապա հարցման տեքստի տեսանելիությունն ու ընթեռնելիությունը մեծանում է։

Դաշտային անունները սահմանվում են փոփոխականների նույնացուցիչներ նշանակելու կանոններին համապատասխան: Հարցման մեջ տեղանունները չեն կարող նույնը լինել:

Դաշտերին կեղծանուններ վերագրելը ինքնին չի ազդում հարցման մեջ տվյալների ընտրության վրա:

// Պետք է ընտրվի ապրանքի գրացուցակից
// ապրանքների անվանումները և խմբերի անվանումները.
Ընտրեք
տեղեկատու. Անվանակարգ: Անվանումը որպես ապրանք,
տեղեկատու. Nomenclature.Parent.Name As Group
-ից
տեղեկատու.Անոմենկլատուրա

Հարցման արդյունք.

Նկատի ունեցեք, որ դաշտի հարցման արդյունքի դաշտերը կոչվում են «Նյութ» և «Խումբ»: Եթե ​​դաշտերի կեղծանունները նշված չլինեին, հարցման արդյունքի դաշտերը կկոչվեն «Անուն» և «Անուն1» (հարցման արդյունքի դաշտերի անունները չեն կարող համընկնել, ուստի «1» ինքնաբերաբար ավելացվում է երկրորդ դաշտի անվանմանը): ինչը շատ ավելի քիչ պարզ է.

Ներդրված աղյուսակներ ընտրության դաշտերի ցանկում

Ընտրված ցանկի դաշտը կարող է հղում կատարել հարցման տվյալների աղբյուրի մեջ տեղադրված աղյուսակին: Այս դեպքում հարցման արդյունքի դաշտը կլինի Query Result տիպի, այսինքն՝ այն կպարունակի ներդիր հարցման արդյունք, որը ստեղծվել է ներդիր աղբյուրի աղյուսակի հիման վրա։

Լռելյայնորեն, տեղադրված աղյուսակի բոլոր դաշտերը՝ տվյալների աղբյուրը, ներառված են ներկառուցված արդյունքի մեջ: Հնարավոր է հստակորեն սահմանել դաշտերի խումբ, որը պետք է պարունակվի ներկառուցված հարցման արդյունքում: Ներդրված արդյունքի դաշտերի խումբը նկարագրվում է հետևյալ կանոնի համաձայն.

(<Список вложенных полей>) | *

<Вложенное поле [, <Вложенное поле>[, ...] ]

<Список вложенных полей>բաղկացած է մեկ կամ մի քանի տարրերից, որոնք բաժանված են ստորակետերով: Եթե ​​ցանկը բաղկացած է մեկ տարրից, ապա այն փակագծերում փակելու կարիք չկա:

Ներդրված դաշտերը ցուցակագրելու փոխարեն կարող եք նշել աստղանիշ «*»; սա կնշանակի, որ ներդրված հարցման արդյունքը պետք է պարունակի բոլոր դաշտերը, որոնք գտնվում են ներդիր աղյուսակում:

<Выражение>[[ԻՆՉՊԵՍ]<Псевдоним поля>]

<Вложенное поле>կարող է ինչ-որ արտահայտություն ներկայացնել: Ամենապարզ դեպքում<Выражение>Հղում է ներդիր աղյուսակի դաշտին: Արտահայտությունները մանրամասն քննարկվում են 344-րդ էջում։

Յուրաքանչյուր ներդիր դաշտին կարող է վերագրվել այլանուն: Հետագա<Псевдоним поля>կարող է օգտագործվել այս դաշտ ավելի հարմար մուտք գործելու համար, որը նման է ընտրության ցանկի դաշտերի մականուններին. տե՛ս «Ընտրության ցուցակի դաշտերի անունները» բաժինը:

Փոխանունները կարող են վերագրվել ներդիր դաշտերին՝ անկախ այն հանգամանքից, թե արդյոք նույնանունը վերագրված է բուն աղյուսակին:

//Անհրաժեշտ է հաշվետվության մեջ ցուցադրել հաշիվ-ապրանքագրերի ճշգրտումը,
// փաստաթուղթն ինքնին, նոմենկլատուրան և քանակությունը:
Ընտրեք

Document.Invoice.Composition.(Անվանակարգը որպես ապրանք, քանակ)

Հարցման արդյունք.

Հղում Բաղադրյալ
Արտադրանք Քանակ
Ջինս կանանց համար 4
Ջինս կանանց համար 5
Վերնաշապիկ «Cowgirl» 5
00005 հաշիվ-ապրանքագիր 24.02.2002 0:00:00 Ջինս կանանց համար 1
Ջինս կանանց համար 1
Մոյդոդիր «Ակվարիում» 5
Լվացարան «Լիլի» 8
«Ուլտրա» խառնիչ 10

Խնդրում ենք նկատի ունենալ, որ հարցման արդյունքի «Կոմպոզիցիա» դաշտը ներդիր աղյուսակ է, որն ունի «Անվանակարգ» և «Քանակ» դաշտերը:

//Զեկույցում ցուցադրել հաշիվ-ապրանքագրի աղյուսակային մասի բոլոր դաշտերը:
Ընտրեք
Փաստաթուղթ.Ինվոյս.Հղում,
Document.Invoice.Composition.*

IZ կետի նպատակն է նախանշել սկզբնաղբյուրների աղյուսակների ցանկը՝ տվյալ SELECT հայտարարության մեջ օգտագործվող տվյալների աղբյուրները:

Հարկ է նշել, որ հարցման լեզվում IZ կետը պարտադիր չէ: Այն կարող է բաց թողնել, եթե տվյալների աղբյուրները լիովին համապատասխանում են SELECT կետում պարունակվող ընտրության դաշտերի ցանկի նկարագրությանը: Խնդրում ենք նկատի ունենալ, որ նախորդ բաժինների մի շարք օրինակներ չեն պարունակում IZ կետ:

IZ հիմնաբառից հետո նշվում է աղբյուրների ցանկը: Ընդհանուր առմամբ, աղբյուրների ցանկը նկարագրվում է հետևյալ կանոնների համաձայն.

<Источник>[, <Источник>[, ...]]

Հարցման տվյալների աղբյուրները նշված են սկզբնաղբյուրների ցանկում՝ բաժանված ստորակետերով: Ամեն<Источник>աղբյուրների ցանկը պետք է ներառի աղբյուրի նկարագրությունը. բացի այդ, կարելի է նշել<Перечень соединений>- աղբյուրը այլ աղբյուրներին միացնելու կանոններ: Միացման բնութագրերը նկարագրված են:

<Описание источника> [ <Перечень соединений> ]

Եթե ​​տվյալների աղբյուրը տեղեկատվական բազայի աղյուսակ է,<Описание источника>պարունակում է<Имя таблицы>.

<Таблица>[[ԻՆՉՊԵՍ]<Псевдоним источника>]

Եթե ​​աղբյուրի աղյուսակը վիրտուալ է, կարող եք նշել<Параметры>դրա ձևավորումը։ Վիրտուալ աղյուսակի պարամետրերը մանրամասն նկարագրված են «Հարցման տվյալների աղբյուրներ» բաժնում:

<Имя таблицы> [(<Параметры>)] | <Описание запроса>

Ենթահարկը կարող է նաև գործել որպես հարցման տվյալների աղբյուր. այս դեպքում աղբյուրի նկարագրությունը պարունակում է<Описание запроса>. Ներդրված հարցումների օգտագործումը նկարագրված է.

Տվյալների աղբյուրի նկարագրությունը կարող է նաև վերագրել դրա այլանունը: Հետագա<Псевдоним источника>կարող է օգտագործվել այս աղբյուրին ավելի հարմար մուտք գործելու համար: Տվյալների աղբյուրի կեղծանունների օգտագործումը քննարկվում է այստեղ:

Միացման բնութագրերը

Աղբյուրների ցանկում մի քանի աղբյուրներ սահմանելիս առաջին աղբյուրի աղյուսակից յուրաքանչյուր գրառման համար ընտրություն է կատարվում երկրորդ աղբյուրի աղյուսակից և այլն: Այսպիսով, հարցումը հանգեցնում է բոլոր նշված աղբյուրների բոլոր գրառումների բոլոր հնարավոր համակցություններին:

Հարցման արդյունք.

Կոնտրակուսակցական Բանկ
Մատակարարներ JSCB InvestBank
Մատակարարներ JSCB PromStroyBank
Տրիկոտաժի գործարան «Զարյա» JSCB InvestBank
Տրիկոտաժի գործարան «Զարյա» JSCB PromStroyBank
Ջինսե հագուստի արտադրամաս JSCB InvestBank
Ջինսե հագուստի արտադրամաս JSCB PromStroyBank
Գնորդներ JSCB InvestBank
Գնորդներ JSCB PromStroyBank
Հագուստի տոնավաճառ JSCB InvestBank
Հագուստի տոնավաճառ JSCB PromStroyBank
«Բուդենովսկի» առևտրի տուն JSCB InvestBank
«Բուդենովսկի» առևտրի տուն JSCB PromStroyBank
45 տաղավար մեծածախ շուկայում JSCB InvestBank
45 տաղավար մեծածախ շուկայում JSCB PromStroyBank
Բավարիա - ճենապակյա JSCB InvestBank
Բավարիա - ճենապակյա JSCB PromStroyBank
Ջինսե հագուստի արտադրամաս JSCB InvestBank
Ջինսե հագուստի արտադրամաս JSCB PromStroyBank
JSCB PromStroyBank JSCB InvestBank
JSCB PromStroyBank JSCB PromStroyBank

Հարցման արդյունքը պարունակում է բոլոր կոնտրագենտների համակցությունները բոլոր բանկերի հետ: Որպես կանոն, նման արդյունքն ինքնին իմաստ չունի։ Սովորաբար, տարբեր աղբյուրների աղյուսակներից գրառումների համակցությունները պետք է սահմանափակվեն որոշ պայմաններով: Հարցման լեզվով հնարավոր է նկարագրել աղբյուրների նման համակցությունը` նշելով աղբյուրները և սահմանելով այն պայմանները, որոնց դեպքում այդ աղբյուրների գրառումների համակցությունները պետք է ներառվեն հարցման արդյունքում:

Միացման մի քանի տեսակներ կան, դրանք նկարագրվում են հետևյալ կանոններով.

<Соединение> [<Перечень соединений>]

Ընդհանուր առմամբ<Перечень соединений>կարող է պարունակել և նկարագրել ոչ միայն մեկ կապ (երկու աղբյուրի), այլև միանգամից մի քանի աղբյուրների միացումներ։

[ՆԵՐՔԻՆ] ՄԻԱՑԵՔ<Описание источника>ԿՈՂՄԻՑ<Условие отбора> |

ՁԱԽ [Արտաքին] ՄԻԱՑԵԼ<Описание источника>ԿՈՂՄԻՑ<Условие отбора> |

ԱՋԱԿԱՆ [Արտաքին] ՄԻԱՑԵԼ<Описание источника>ԿՈՂՄԻՑ<Условие отбора> |

ԼՐԻՎ (ԱՐՏԱՔԻՆ] ՄԻԱՑԵՔ<Описание источника>ԿՈՂՄԻՑ<Условие отбора>

<Условие отбора>պարունակում է պայմաններ, որոնց համաձայն ընտրությունը պետք է միավորի բնօրինակ աղյուսակների տվյալները՝ հարցման աղբյուրները: Հարցման լեզվով պայմանները նկարագրելու կանոնները քննարկված են 357-րդ էջում:

ՁԱԽ, ԱՋ և ԼԻՎԱԼ բառերը պարզաբանում են կապի բնույթը: INTERNAL կամ EXTERNAL բառերը կարող են ընդհանրապես չնշվել, դրանք մեծացնում են հարցման տեքստի պարզությունն ու ընթեռնելիությունը:

Միացող աղբյուրները միմյանց համարժեք չեն, և որոշ դեպքերում արդյունքը կախված է նրանից, թե որ աղյուսակն է նշված առաջինը, նախքան JOIN հիմնաբառը (դրա ձախ կողմում), և որ աղյուսակը նշված է երկրորդում (աջ կողմում):

[INTERNAL] JOIN նշանակում է, որ երկու աղբյուրի աղյուսակներից՝ տվյալների աղբյուրներից, հարցման արդյունքում պետք է ներառվեն միայն այն գրառումների համակցությունները, որոնք համապատասխանում են նշված պայմանին: Մնացած գրառումները ներառված չեն արդյունքի մեջ։

// Պետք է պարզել, թե որ բանկերն են միաժամանակ
// կոնտրագենտներ (ներկայում են նույն անունները
// և՛ Կողմերի գրացուցակում, և՛ Բանկերի գրացուցակում):
Ընտրեք

Banks.Link How to Bank
Սկսած

Ներքին միացում
Directory.Banks How Banks
Ըստ

Հարցման արդյունք.

Կոնտրակուսակցական Բանկ
JSCB PromStroyBank JSCB PromStroyBank

ՁԱԽ [Արտաքին] ՄԻԱՑՈՒՄ նշանակում է, որ հարցման արդյունքը պետք է ներառի երկու աղբյուրի աղյուսակների գրառումների համակցությունները, որոնք համապատասխանում են նշված պայմանին: Բայց, ի տարբերություն ներքին միացման, հարցման արդյունքը պետք է ներառի նաև առաջին աղբյուրի գրառումները (նշված է JOIN բառի ձախ կողմում), որոնց համար երկրորդ աղբյուրից որևէ գրառում չի գտնվել, որը համապատասխանում է պայմանին:

Այսպիսով, հարցման արդյունքը կներառի բոլոր գրառումները առաջին աղբյուրից. դրանք կմիավորվեն երկրորդ աղբյուրի գրառումների հետ, եթե նշված պայմանը բավարարվի: Հարցման արդյունքների տողերը, որոնց համար երկրորդ աղբյուրից ոչ մի գրառում չի գտնվել, որը համապատասխանում է պայմանին, այս աղբյուրից ստացված գրառումների հիման վրա ստեղծված դաշտերում NULL կպարունակեն:

//Հաղորդագրության մեջ անհրաժեշտ է ցուցադրել բոլոր կոնտրագենտները, և նրանց համար
// ով նույնպես բանկ է - նշեք բանկի հղումը:
Ընտրեք
Counterparties.Link As Counterparties,
Banks.Link How to Bank
Սկսած
Գրացուցակ. Կոնտերկողմներ Ինչպես Կոնտերկողմներ
Ձախ արտաքին միացում
Directory.Banks How Banks
Ըստ
Counterparties.Name = Banks.Name

Հարցման արդյունք.

ԱՋԱԿԱՆ [ԱՐՏԱՔԻՆ] ՄԻԱՑՈՒՄԸ նշանակում է, որ հարցման արդյունքը պետք է ներառի երկու աղբյուրի աղյուսակների գրառումների համակցությունները, որոնք համապատասխանում են նշված պայմանին: Բացի այդ, հարցման արդյունքը պետք է ներառի նաև երկրորդ աղբյուրի գրառումները (նշված է ՄԻԱՑՈՒՄ բառի աջ կողմում), որոնց համար առաջին աղբյուրից որևէ գրառում չի գտնվել, որը համապատասխանում է պայմանին:

Այսպիսով, հարցման արդյունքը կներառի երկրորդ աղբյուրի բոլոր գրառումները. դրանք կմիավորվեն առաջին աղբյուրի գրառումների հետ, եթե նշված պայմանը բավարարվի: Հարցման արդյունքների տողերը, որոնց համար առաջին աղբյուրից ոչ մի գրառում չի գտնվել, որը համապատասխանում է պայմանին, այս աղբյուրից ստացված գրառումների հիման վրա ստեղծված դաշտերում NULL կպարունակեն:

//Անհրաժեշտ է հաշվետվության մեջ ցուցադրել բոլոր բանկերը, և նրանց համար
// ով է նաև կոնտրագենտ - նշեք կոնտրագենտի հղումը:
ԸՆՏՐԵԼ
Counterparties.Link As Counterparties,
Banks.Link Like Bank
ԻՑ
Գրացուցակ. Կոնտերկողմներ Ինչպես Կոնտերկողմներ
Աջ արտաքին միացում
Directory.Banks How Banks
Ըստ
Counterparties.Name = Banks.Name

Հարցման արդյունք.

Կոնտրակուսակցական Բանկ
ԴԱՏԱՐԿ JSCB InvestBank
JSCB PromStroyBank JSCB PromStroyBank

ԼԻՐԱԿԱՆ [ԱՐՏԱՔԻՆ] ՄԻԱՑՈՒՄԸ նշանակում է, որ հարցման արդյունքը պետք է ներառի երկու աղբյուրի աղյուսակների գրառումների համակցությունները, որոնք համապատասխանում են նշված պայմանին: Բացի այդ, հարցման արդյունքը պետք է ներառի նաև այն գրառումները երկու աղբյուրներից, որոնց համար ոչ մի համընկնում չի գտնվել:

Այսպիսով, հարցման արդյունքը կներառի բոլոր գրառումները երկու աղբյուրներից. դրանք կմիացվեն միմյանց հետ, երբ կատարվի նշված պայմանը: Հարցման արդյունքների տողերը, որոնց համար որևէ աղբյուրից որևէ գրառում չի գտնվել, որը համապատասխանում է պայմանին, այդ աղբյուրից ստացված գրառումների հիման վրա ստեղծված դաշտերում կպարունակեն NULL:

// Անհրաժեշտ է հաշվետվության մեջ ցուցադրել բոլոր կոնտրագենտները և բոլոր բանկերը,
// իսկ նրանք, ովքեր երկուսն էլ - տպել մեկ տողով:
Ընտրեք
Counterparties.Link As Counterparties,
Banks.Link How to Bank
Սկսած
Գրացուցակ. Կոնտերկողմներ Ինչպես Կոնտերկողմներ
Ամբողջական արտաքին միացում
Directory.Banks How Banks
Ըստ
Counterparties.Name = Banks.Name

Հարցման արդյունք.

Տվյալների աղբյուրի անունները

Եթե ​​դուք փոխանուն եք հատկացնում տվյալների աղբյուրին, ապա ապագայում այս աղբյուրը կարող է հասանելի լինել այս կեղծանունով (և այլևս չի կարող մուտք գործել՝ նշելով աղյուսակի անունը): Նման բուժումը կարող է լինել ավելի հարմար և տեսողական, իսկ որոշ դեպքերում՝ միակ հնարավորը։

Փոխանունը սահմանվում է փոփոխականների նույնացուցիչներ նշանակելու կանոններին համապատասխան: Հարցման մեջ տեղանունները չեն կարող նույնը լինել:

ԻՆՉՊԵՍ հիմնաբառը կարող է նախորդել սկզբնաղբյուր կեղծանունին: Այս բառը կարող է ընդհանրապես չնշված լինել, բայց եթե այն նշված է, ապա հարցման տեքստի տեսանելիությունն ու ընթեռնելիությունը մեծանում է։

Աղբյուրներին կեղծանուններ վերագրելը ինքնին չի ազդում հարցման մեջ տվյալների ընտրության վրա:

// Այս օրինակը ցույց է տալիս օգտագործումը
// Ապրանքանիշի ընտրության դաշտերի ցանկում,
// նշանակված է սկզբնաղբյուր աղյուսակին Directory.Nomenclature
Ընտրեք
Ապրանքային անուն,
Ապրանք.Ծնող
Սկսած
Directory.Nomenclature.Product

Ներդրված աղյուսակներ սկզբնաղբյուրների ցանկում

Աղբյուրների ցանկը կարող է ներառել նաև տեղադրված աղյուսակներ՝ տեղեկատու գրքերի և փաստաթղթերի աղյուսակային մասեր:

//Անհրաժեշտ է հաշվետվության մեջ ցուցադրել հաշիվ-ապրանքագրերի ճշգրտումը.
// ցույց տալ փաստաթուղթն ինքնին, անվանակարգը և քանակը:
//Աղբյուրների ցանկը պարունակում է «Կազմ» աղյուսակը.
// հաշիվ-ապրանքագրի աղյուսակային մաս:
// Ընտրությունը սահմանափակված է ութ գրառումով՝ օրինակը չծանրաբեռնելու համար։
Ընտրեք Առաջին 8-ը
Հղում, Անվանակարգ, Քանակ
Սկսած
Փաստաթուղթ.Հաշիվ.Կազմ

Հարցման արդյունք.

Հղում Անվանակարգ Քանակ
00007 հաշիվ-ապրանքագիր 25.02.2002 21:03:21 Ջինս կանանց համար 4
00006 հաշիվ-ապրանքագիր 25.02.2002 0:00:00 Ջինս կանանց համար 5
00006 հաշիվ-ապրանքագիր 25.02.2002 0:00:00 Վերնաշապիկ «Cowgirl» 5
Հաշիվ 00005 03/01/2002 20:58:28 Ջինս կանանց համար 1
00004 հաշիվ-ապրանքագիր 03/01/2002 20:50:40 Ջինս կանանց համար 1
Ինվոյս 00003 02/23/2002 0:00:00 Մոյդոդիր «Ակվարիում» 5
Ինվոյս 00003 02/23/2002 0:00:00 Լվացարան «Լիլի» 8
Ինվոյս 00003 02/23/2002 0:00:00 «Ուլտրա» խառնիչ 10

Խնդրում ենք նկատի ունենալ, որ աղբյուրների ցանկում տեղադրված աղյուսակը նշելիս հնարավոր է մուտք գործել ինչպես բուն աղյուսակի, այնպես էլ վերին մակարդակի աղյուսակի դաշտերը (այն, որը պարունակում է ներդիր աղյուսակը): Այս դեպքում մուտք է գործում հենց փաստաթղթի «Հղում» դաշտը:

Ենթահղումները սկզբնաղբյուրների ցանկում

Հարցման աղբյուրների ցանկում ենթահարկը կարող է օգտագործվել որպես սկզբնաղբյուր աղյուսակ: Այս դեպքում աղբյուրի նկարագրությունը պարունակում է ենթհարցման նկարագրությունը: Ներդրված հարցման նկարագրությունը կազմվում է ճիշտ այնպես, ինչպես սովորականը. տես

Ներդրված հարցումը որպես տվյալների աղբյուր օգտագործելը չի ​​տարբերվում տեղեկատվական բազայի աղյուսակից: Ենթհարցման ընտրության դաշտերի ցանկում նկարագրված բոլոր դաշտերը հասանելի են որպես այդպիսի աղբյուրի դաշտեր:

Արդյունքը կլինի նույնը, ինչ նախորդ օրինակում:

Հաշվետվությունների ստեղծում

Աշխատեք հարցումների հետ

Հարցումների հետ աշխատելու համար օգտագործվում է ներկառուցված լեզվական օբյեկտ Հայց . Այն թույլ է տալիս ստանալ տվյալների բազայի դաշտերում պահվող տեղեկատվությունը սահմանված կանոններով ձևավորված նմուշի տեսքով:

Հարցման տվյալների աղբյուրներ

Հարցումը նախնական տեղեկատվություն է ստանում մի շարք աղյուսակներից: Այս աղյուսակները ներկայացնում են իրական տվյալների բազայի աղյուսակների տվյալները հեշտ վերլուծվող ձևով: Դրանք կարելի է բաժանել երկու մեծ խմբի՝ իրական և վիրտուալ։

Իրական աղյուսակները, իրենց հերթին, կարող են լինել օբյեկտ (հղում) կամ ոչ օբյեկտ (ոչ հղում).

Իրական աղյուսակների տարբերակիչ առանձնահատկությունն այն է, որ դրանք պարունակում են տվյալներ տվյալների բազայում պահվող մեկ իրական աղյուսակից: Օրինակ՝ իրական աղյուսակներն են «Directory.Clients» աղյուսակը, որը համապատասխանում է «Clients» գրացուցակին կամ «Acumulation Register. Material Remaining» աղյուսակը, որը համապատասխանում է «Material Remaining» կուտակային ռեգիստրին:

Վիրտուալ աղյուսակները հիմնականում ձևավորվում են տվյալների բազայի մի քանի աղյուսակներից: Օրինակ՝ վիրտուալ աղյուսակը «Կուտակման ռեգիստր. Նյութերի մնացորդներ. մնացորդներ և շրջանառություններ» աղյուսակն է՝ կազմված «Նյութական մնացորդներ» կուտակային ռեգիստրի մի քանի աղյուսակներից: Երբեմն վիրտուալ աղյուսակները կարող են ձևավորվել մեկ իրական աղյուսակից (օրինակ՝ «Prices.SliceLast» վիրտուալ աղյուսակը ձևավորվում է տեղեկատվական ռեգիստրի «Prices» աղյուսակի հիման վրա): Այնուամենայնիվ, բոլոր վիրտուալ աղյուսակների ընդհանուրն այն է, որ նրանց կարող են տրվել մի շարք պարամետրեր, որոնք կորոշեն, թե ինչ տվյալներ են ներառված այդ վիրտուալ աղյուսակներում: Նման պարամետրերի հավաքածուն կարող է տարբեր լինել տարբեր վիրտուալ աղյուսակների համար և որոշվում է աղբյուրի տվյալների բազայի աղյուսակներում պահվող տվյալների հիման վրա:

Իրական աղյուսակները բաժանվում են օբյեկտի (տեղեկանք) և ոչ օբյեկտի (ոչ հղման) աղյուսակների։

Օբյեկտների (տեղեկատու) աղյուսակները տեղեկատվություն են տրամադրում տեղեկատու տվյալների տեսակների մասին (տեղեկատուներ, փաստաթղթեր, բնութագրերի տեսակների պլաններ և այլն): Իսկ ոչ օբյեկտում (ոչ հղում)՝ բոլոր մյուս տվյալների տեսակները (հաստատուններ, ռեգիստրներ և այլն):

Օբյեկտների (տեղեկանքի) աղյուսակների տարբերակիչ առանձնահատկությունն այն է, որ դրանք պարունակում են «Հղում» դաշտ, որը պարունակում է հղում դեպի ընթացիկ գրառումը: Բացի այդ, նման աղյուսակների համար հնարավոր է ձեռք բերել օբյեկտի հատուկ ներկայացում, այդ աղյուսակները կարող են լինել հիերարխիկ, իսկ նման աղյուսակների դաշտերը կարող են պարունակել ներդիր աղյուսակներ (աղյուսակի մասեր):

Հարցման լեզու

Ալգորիթմը, որով տվյալները կընտրվեն հարցման աղբյուրի աղյուսակներից, նկարագրված է հարցման տեքստում հատուկ լեզվով. հարցման լեզու.Հարցման տեքստը բաղկացած է մի քանի մասից.

    հարցումի նկարագրությունը,

    հարցումների միաձուլում

    արդյունքների պատվիրում,

    ավտոմատ պատվիրում,

    արդյունքների նկարագրությունը։

Հարցման միակ պարտադիր մասը առաջինն է՝ հարցման նկարագրությունը։ Բոլոր մյուսները ներկա են ըստ անհրաժեշտության:

Հարցման նկարագրությունսահմանում է տվյալների աղբյուրները, ընտրության դաշտերը, խմբավորումները և այլն:

Հարցումների միաձուլումորոշում է, թե ինչպես են միավորվելու բազմաթիվ հարցումների արդյունքները:

Արդյունքների կազմակերպումսահմանում է հարցման արդյունքների տողերի պատվիրման պայմանները:

Ավտոպատվերթույլ է տալիս միացնել հարցման արդյունքների տողերի ավտոմատ պատվիրումը:

Արդյունքների նկարագրությունըորոշում է, թե որ գումարները պետք է հաշվարկվեն հարցման մեջ և ինչպես խմբավորել արդյունքները:

Հաշվետվություն Փաստաթղթերի գրանցամատյան Ծառայությունների մատուցում

Առաջին զեկույցը, որի հիման վրա մենք կսկսենք ծանոթանալ հարցման լեզվին, կլինի «Ծառայությունների մատուցման փաստաթղթերի գրանցամատյան» հաշվետվությունը։ Այս հաշվետվությունը պարզապես կցուցադրի տվյալների բազայում առկա «Ծառայությունների մատուցման» փաստաթղթերի ցանկը՝ ըստ դրանց ամսաթվերի և թվերի:

Եկեք կոնֆիգուրատորում ստեղծենք նոր կոնֆիգուրացիայի օբյեկտ՝ հաշվետվություն «Փաստաթղթերի ծառայությունների մատուցման գրանցամատյան»: Եկեք գնանք «Layout» ներդիր և գործարկենք ելքային ձևի դիզայները:

Որպես հարցման տվյալների աղբյուր՝ մենք կընտրենք «Ծառայությունների մատուցում» փաստաթղթերի օբյեկտը (տեղեկանք) աղյուսակը: Այս աղյուսակից մենք ընտրում ենք հետևյալ դաշտերը.

  • «Վարպետ»,

    «Հաճախորդ»:

Խնդրում ենք նկատի ունենալ, որ երբ ընտրում եք «Պահեստ», «Վարպետ» և «Հաճախորդ» դաշտերը, ընտրված դաշտերի ցանկում ընտրվում են նաև «Պահեստ. դիտում», «Վարպետ. դիտում» և «Հաճախորդ. դիտում» դաշտերը: Փաստն այն է, որ ընդհանուր դեպքում ենթադրվում է, որ այդ դաշտերը կցուցադրվեն աղյուսակային փաստաթղթի բջիջներում: Քանի որ «Պահեստ», «Վարպետ» և «Հաճախորդ» համապատասխան դաշտերը հղման դաշտեր են, եթե ելքի համար որպես պարամետր արժեք փոխանցվի հղման արժեք, համակարգը լրացուցիչ հարցում կկատարի այս դաշտի ներկայացումը ստանալու համար (որը կլինի. ցուցադրվում է փաստաթղթում), ինչը հանգեցնում է ավելի դանդաղ հաշվետվության: Հետևաբար, հղման դաշտերն ընտրելիս համակարգը առաջարկում է անմիջապես ներառել հղման դաշտերի ներկայացումները ընտրված դաշտերի ցանկում՝ ակնկալիքով, որ դրանք կօգտագործվեն փաստաթղթում ելքի համար:

Դրանից հետո եկեք գնանք «Պատվեր» ներդիր և նշենք, որ հարցման արդյունքը նախ պետք է պատվիրել «Ամսաթիվ» դաշտի արժեքով, այնուհետև «Ծառայությունների մատուցում. Հղում» դաշտի արժեքով.

Եկեք գնանք «Զեկույց» ներդիր և վերակայենք «Օգտագործել զեկույցի ստեղծող» դրոշը.

Եկեք վերակայենք «Օգտագործել զեկույցի ստեղծող» դրոշը...

Սեղմեք «OK»: Դիզայները կստեղծի հաշվետվության ձևը և դասավորությունը: Եկեք բացենք ձևի մոդուլը և դրանում գտնենք «Փաստաթղթերի ծառայությունների մատուցման գրանցամատյան» կարգը: Այս ընթացակարգում ինչպես է ստեղծվելու հարցման տեքստը, որը կօգտագործվի մեզ հետաքրքրող տվյալները ստանալու համար.

Query.Text = «SELECT

Ծառայությունների մատուցում. Ամսաթիվ AS Ամսաթիվ,

Ծառայությունների մատուցում Համար AS համարը,

Ծառայությունների մատուցում Պահեստ,

Ծառայությունների մատուցում, Պահեստ, ներկայացում,

Ծառայությունների մատուցում Վարպետ,

Ծառայությունների մատուցում Վարպետ Պրեզենտացիա,

Ծառայությունների մատուցում Հաճախորդ,

Ծառայությունների մատուցում Հաճախորդ Ներկայացուցչություն

Փաստաթուղթ.Ծառայությունների մատուցում ԻՆՉՊԵՍ Տրամադրել Ծառայություններ

ԴԱՍԱՎՈՐԵԼ ԸՍՏ

Հարցման տեքստը սկսվում է, ինչպես ասացինք վերևում, հարցման նկարագրության մի մասով.

I Ծառայության մատուցում Ամսաթիվ AS Ամսաթիվ,

I Ծառայությունների մատուցում Համար AS համարը,

I Ծառայությունների մատուցում Պահեստ,

I Ծառայությունների մատուցում, Պահեստ, շնորհանդես,

Ծառայություններ եմ մատուցում Վարպետ,

I Ծառայությունների մատուցում Վարպետ. Ներկայացում,

I Ծառայությունների մատուցում Հաճախորդ,

1 Ծառայությունների մատուցում Հաճախորդներ Ներկայացուցչություն

I Փաստաթուղթ Ծառայությունների մատուցում ԻՆՉՊԵՍ ԾԱՌԱՅՈՒԹՅՈՒՆՆԵՐ ՏՐԱՄԱԴՐԵԼ

Հարցման նկարագրությունը սկսվում է պահանջվող հիմնաբառով ԸՆՏՐԵԼ.Դրան հաջորդում է ընտրված դաշտերի ցանկը, որը նկարագրում է այն դաշտերը, որոնք պետք է պարունակվեն հարցման արդյունքում: Այս ցանկը կարող է պարունակել ինչպես դաշտերը, այնպես էլ դաշտի արժեքների հիման վրա հաշվարկված որոշ արտահայտություններ:

IZ բանալի բառից հետո նշվում են տվյալների աղբյուրները՝ սկզբնական հարցման աղյուսակները, որոնց բովանդակությունը մշակվում է հարցումում: Այս դեպքում սա «Փաստաթուղթ. Ծառայությունների մատուցում» օբյեկտի (տեղեկանքի) աղյուսակն է: Հիմնաբառից հետո ԻՆՉՊԵՍնշված է կեղծանունտվյալների աղբյուր. Մեր դեպքում սա «Ծառայությունների մատուցում» է։ Հետագայում տվյալների այս աղբյուրը կարող է մուտք գործել հարցման հիմնական մասում` օգտագործելով կեղծանունը:

Մենք տեսնում ենք այս զանգը ընտրության դաշտերի նկարագրության մեջ.

| Ծառայությունների մատուցում. Ամսաթիվ AS Ամսաթիվ,

| Ծառայությունների մատուցում Համար AS համարը,

| Ծառայությունների մատուցում Պահեստ,

| Ծառայությունների մատուցում, Պահեստ, ներկայացում,

| Ծառայությունների մատուցում Վարպետ,

| Ծառայությունների մատուցում Վարպետ Պրեզենտացիա,

| Ծառայությունների մատուցում Հաճախորդ,

| Ծառայությունների մատուցում Հաճախորդ Ներկայացուցչություն

Ընտրության դաշտերը կարող են ունենալ նաև փոխանուններ, որոնք կարող են օգտագործվել այս դաշտին ավելի ուշ դիմելու հարցումի տեքստում: Մեր դեպքում դրանք «Ամսաթիվ» և «Համար» ծածկանուններն են:

Մեր օրինակում հարցման նկարագրության մասից հետո գալիս է արդյունքի պատվիրման մասը.

|ՊԱՏՎԵՐԸ ԸՆԴ

| Ամսաթիվ, | Թիվ";

Առաջարկ ԴԱՍԱՎՈՐԵԼ ԸՍՏթույլ է տալիս տեսակավորել տողերը հարցման արդյունքում: Այս հիմնական նախադասությունից հետո դասավորվող արտահայտություն է, որը, ընդհանուր առմամբ, դաշտերի (արտահայտությունների) և ելքային կարգի ցուցակ է: Մեր դեպքում պատվերը կկատարվի նախ ընտրության դաշտով, որը մուտք է գործում «Կոդ» կեղծանունով, այնուհետև՝ «Թիվ» դաշտով: Երկու դեպքում էլ տեսակավորման կարգը կլինի աճող, որը լռելյայն տեսակավորման կարգն է:

Այժմ եկեք ուշադրություն դարձնենք, թե ինչպես է հարցման արդյունքը ցուցադրվում աղյուսակային փաստաթղթում:

Ընթացակարգ Փաստաթղթերի գրանցամատյան Ծառայությունների մատուցում (TabDoc) Արտահանում

//((CONSTRUCTOR_OUTPUT_FORM(Փաստաթղթերի ծառայությունների մատուցման գրանցամատյան)// Այս հատվածը կառուցվել է կոնստրուկտորի կողմից:// Կոնստրուկտորը նորից օգտագործելիս,// ներկայացրել էձեռքով փոփոխություններըկկորչի!!!

Layout = GetLayout («Ծառայություններ մատուցող փաստաթղթերի գրանցամատյան»); Request = Նոր հարցում;

Արդյունք = Query.Run();

HeaderArea = Layout.GetArea ("Header"); Տարածք Նկուղ =

Layout.GetArea ("TableFooter"); DetailRecordsArea =

TabDoc.Output (TableHeadArea); TabDoc.StartAutogruttingRows();

SelectDetails = Result.Select();

Մինչ SelectDetails.NextFunctions() հանգույց

AreaDetailRecords.Parameters.Fill(SelectionDetails);

TabDoc.Output(RecordsDetailsArea,DetailsSelection.Level()); End Cycle;

/L)CONSTRUCTOR_OUTPUT_FORM Ավարտ ընթացակարգ

Հաշվետվության ձևը պարունակում է վերահսկման տարր TabularDocumentField«TabDoc» անունով, որը լրացվում է դիզայների կողմից ստեղծված դասավորության հիման վրա տվյալներով:

Ընթացակարգի սկզբում մենք ստանում ենք հաշվետվության դասավորությունը, որից այնուհետև դրանում առկա տարածքները ստանում ենք համապատասխան փոփոխականների մեջ.

HeaderArea = Layout.GetArea ("Header"); Տարածք Նկուղ =

Layout.GetArea («Նկուղ»); TableHeaderArea =

Layout.GetArea ("TableHeader"); TableFooterArea =

Layout.GetArea ("TableFooter"");DetailRecordsArea =

Layout.GetArea («Մանրամասներ»);

Այնուհետև մենք մաքրում ենք աղյուսակի փաստաթուղթը և ցուցադրում այն ​​տարածքները, որոնք չեն պարունակում հարցման արդյունքից ստացված տվյալներ.

TabDoc.Clear(); TabDoc.Output (AreaHeader);

TabDoc.Output (TableHeadArea); TabDoc.StartAutoGroupingRows();

Վերջին տողում դիզայները ավելացրել է տողերի ավտոմատ խմբավորման սկիզբը։ Այս օրինակում մենք չունենք տողեր, որոնք պետք է խմբավորվեն, բայց լռելյայնորեն դիզայները միշտ առաջարկում է տողերը խմբավորել աղյուսակային փաստաթղթում: Այս զանգը չի ազդի զեկույցի թողարկման արագության վրա, ուստի մենք անփոփոխ կթողնենք կոնստրուկտորի տեքստը:

Դրանից հետո մենք հարցման արդյունքից ստանում ենք ընտրություն, որը մենք անցնում ենք մի օղակով.

Շրջանակի յուրաքանչյուր կրկնությունում մենք լրացնում ենք նախկինում ձեռք բերված դասավորության տարածքի պարամետրերը հաջորդ հարցման արդյունքի նմուշի գրառումից ստացված արժեքներով և ցուցադրում այս տարածքը աղյուսակի փաստաթղթում:

Ընթացակարգի վերջում մենք ցուցադրում ենք դասավորության վերջնական տարածքները աղյուսակային փաստաթղթում.

TabDoc.FinishAutoGroupingRows();

TabDoc.Output (TableFooterArea);

TabDoc.Output (AreaFooter);

Այժմ եկեք գործարկենք 1C:Enterprise-ը վրիպազերծման ռեժիմում և նայենք մեր զեկույցի արդյունքին.

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

«Ծառայությունների վարկանիշ» զեկույցը կպարունակի տեղեկատվություն այն մասին, թե որ ծառայություններն են բերել Master of All Trades ՍՊԸ-ին ամենամեծ շահույթը նշված ժամանակահատվածում: Օգտագործելով «Ծառայությունների վարկանիշը» զեկույցը որպես օրինակ՝ մենք կպատկերացնենք, թե ինչպես ընտրել տվյալներ որոշակի ժամանակահատվածում, ինչպես սահմանել հարցման պարամետրերը և ինչպես օգտագործել մի քանի աղյուսակների տվյալները հարցման մեջ և ներառել բոլոր տվյալները աղբյուրներից մեկից: հարցման արդյունքը.

Եկեք ստեղծենք նոր կոնֆիգուրացիայի օբյեկտ «Ծառայությունների վարկանիշ» հաշվետվություն: Եկեք գնանք «Layouts» ներդիր և զանգահարենք ելքային ձևի կոնստրուկտորը:

Ընտրենք «Nomenclature» գրացուցակի օբյեկտ (տեղեկատու) աղյուսակը և «Sales.Turnover» կուտակային ռեգիստրի վիրտուալ աղյուսակը: Հարցման մեջ անունների անորոշությունը վերացնելու համար «Nomenclature» աղյուսակը վերանվանում ենք «SprNomenclature» (համատեքստի մենյուի աջ սեղմումով):

Այնուհետև տեղադրեք կուրսորը «SalesTurnover» աղյուսակի վրա և կանչեք երկխոսություն՝ վիրտուալ աղյուսակի պարամետրերը մուտքագրելու համար.

Բացեք երկխոսությունը վիրտուալ աղյուսակի պարամետրերը մուտքագրելու համար

Եկեք նշենք, որ ժամանակաշրջանի սկիզբը և ավարտը կփոխանցվեն համապատասխան պարամետրերով «Սկիզբը» և «Ավարտի ամսաթիվը» («&» նշանը անունից առաջ ցույց է տալիս, որ սա հարցման պարամետր է).

Այնուհետև աղյուսակներից ընտրեք «SprNomenclature.Link» և «SalesTurnover.RevenueTurnover» դաշտերը.

SprNomenclature.Presentation

SalesTurnoverRevenueTurnover

Եկեք գնանք «Հղումներ» ներդիրը և տեսնենք, որ դիզայներն արդեն կապ է ստեղծել ընտրված երկու աղյուսակների միջև. «Անվանակատուրա» ռեգիստրի փոփոխության արժեքը պետք է հավասար լինի «Անվանակարգ» գրացուցակի տարրի հղումին:

Մեզ մնում է միայն վերականգնել գրանցման աղյուսակի «Բոլորը» դրոշը և տեղադրել այն գրացուցակի աղյուսակի համար:

Մենք կընտրենք բոլոր տարրերը «Nomenclature» գրացուցակից

Գրացուցակի աղյուսակում «Բոլորը» դրոշը դնելը կնշանակի, որ բոլոր տարրերը կընտրվեն գրացուցակից, և այդ տարրերին կհատկացվի ռեգիստրից եկամտի շրջանառության արժեքը: Այսպիսով, հարցման արդյունքում ներկա կլինեն բոլոր ծառայությունները, իսկ որոշների համար նշվելու է եկամուտների շրջանառությունը։ Այն ծառայությունների համար, որոնք չեն մատուցվել ընտրված ժամանակահատվածում, ոչինչ չի նշվի։

Եկեք գնանք «Պայմաններ» ներդիր և սահմանենք «Անոմենկլատուրա» գրացուցակից տարրեր ընտրելու պայմանները: Ընտրության պայմանները սահմանելիս մենք կրկին կօգտագործենք հարցման պարամետրերը: Առաջին պայմանը պետք է լինի, որ ընտրված տարրը խումբ չէ (դա անելու համար անցեք «Պատվիրված պայման» ռեժիմին):

Երկրորդ պայմանը պետք է լինի, որ ընտրված ապրանքը ծառայություն է (սա «Պարզ պայման» է).

Հետագայում, նախքան հարցումը կատարելը, մենք համապատասխան թվային արժեքը կփոխանցենք «Տիպ անվանացանկի» պարամետրին:

Եկեք գնանք «Ասոցիացիաներ/Փոխանուններ» ներդիր և նշենք, որ գրացուցակի տարրի տեսքը կունենա «Ծառայություն» կեղծանունը, իսկ գրանցման դաշտը կունենա «Եկամուտ» կեղծանունը.

Եկեք գնանք «Պատվեր» ներդիր և նշենք, որ հարցման արդյունքը պետք է տեսակավորվի «Եկամուտ» դաշտի արժեքի նվազման կարգով։

«Ընդամենը» ներդիրում մենք որոշում ենք, որ մենք պետք է ցուցադրենք ընդհանուր գումարները, և դրանք պետք է լինեն «Եկամուտ» դաշտի արժեքների գումարը.

«Զեկույց» ներդիրում ջնջեք «Օգտագործել զեկույցի ստեղծող» դրոշը:

Այժմ եկեք գնանք «Ելքի ձև» ներդիրին: Եկեք նշենք, որ «Ավարտի ամսաթիվ» և «Սկիզբի ամսաթիվ» պարամետրերը կխմբագրվեն «Ամսաթիվ» տեսակի մուտքագրման դաշտերում: «Տիպ անվանացանկի» պարամետրի համար, ընդհակառակը, մենք կհեռացնենք խմբագրման դրոշը հետևյալ ձևով.

Սեղմեք «OK»: Պլատֆորմը կստեղծի դասավորության և հաշվետվության ձև: Բացեք ձևի մոդուլը և դրա մեջ գտեք «Ծառայությունների վարկանիշ» ընթացակարգը:

Այս ընթացակարգում, այն մասում, որտեղ սահմանվում են հարցման պարամետրերը, մենք կորոշենք «Անոմենկլատուրայի տեսակ» պարամետրի արժեքը (ուղղումները ընդգծված են թավերով).

| ՁԱԽ ՄԻԱՑՈՒՄ Գրանցման կուտակում.Վաճառք, շրջանառություն (&Սկիզբի ամսաթիվ,

| &սպառման ժամկետը,)

| ԻՆՉՊԵՍ ՎԱՃԱՌԵԼ շրջանառությունը

|ՊԱՏՎԵՐԸ ԸՍՏ | Եկամուտ ՆՎԱԾ

|ԱՐԴՅՈՒՆՔՆԵՐԻ ԳՈՒՄԱՐԸ (Եկամուտը) ԸՍՏ | ԸՆԴՀԱՆՈՒՐ ԵՆ»;

RequestSetParameterC«Անվանագրության տեսակը»,

Փոխանցումներ.Անոմենկլատուրայի տեսակները.Ծառայություն);

Query.SetParameter ("StartDate",StartDate); Request.SetParameterC"EndDate", EndDate);

Այժմ եկեք նայենք կոնստրուկտորի կողմից ստեղծված հարցման տեքստին.

| SprNomenclature.Representation AS ներկայացուցչություն,

|SalesTurnover.RevenueTurnover AS Revenue

| Directory.Nomenclature AS RefNomenclature

ՁԱԽ ՄԻԱՑՈՒՄ RegisterAccumulations.Sales.Turnover(&StartDate,

| ԻՆՉՊԵՍ ՎԱՃԱՌԵԼ շրջանառությունը

| Software SalesTurnover.Nomenclature = SprNomenclature.Link

| (RefNomenclature.ThisGroup = False) ԵՎ

| SprNomenclature.Type of Nomenclature = &Type of Nomenclature

|ՊԱՏՎԵՐԸ ԸՆԴ

| Եկամուտ ՆՎԱԾ

|ԱՐԴՅՈՒՆՔՆԵՐԻ ԳՈՒՄԱՐԸ (Եկամուտը) ԸՍՏ

Նախ, ինչպես միշտ, գալիս է հարցման նկարագրության մասը և այն պարունակում է մեզ համար նոր կոնստրուկցիաներ:

Հարցման աղբյուրները նկարագրելիս (IZ հիմնաբառից հետո) օգտագործվել է մի քանի հարցումների աղբյուրներ սահմանելու հնարավորությունը.

| Directory.Nomenclature AS RefNomenclature

|&Ավարտի ամսաթիվը,)

| ԻՆՉՊԵՍ ՎԱՃԱՌԵԼ շրջանառությունը

| Software SalesTurnover.Nomenclature = SprNomenclature.Link

Այս դեպքում գրառումները ընտրվում են երկու աղբյուրներից՝ «SprNomenklatura» և «SalesTurnover»՝ առանցքային նախադասությամբ. ՁԱԽ ՄԻԱՑՈՒՄ... ԿՈՂՄԻՑնկարագրում է այս երկու աղբյուրների գրառումները համակցելու եղանակը:

ՁԱԽ ՄԻԱՑՈՒՄնշանակում է, որ հարցման արդյունքը պետք է ներառի երկու աղբյուրների գրառումների համակցություններ, որոնք համապատասխանում են BY բանալի բառից հետո նշված պայմանին: Բացի այդ, հարցման արդյունքը պետք է ներառի նաև առաջինի գրառումները (նշված է բառի ձախ կողմում միացություն)աղբյուր, որի համար պայմանին համապատասխանող գրառումներ չեն գտնվել երկրորդ աղբյուրից:

Առաջին աղբյուրի նկարագրության և կապի պայմանի մեջ մեզ համար նորություն չկա, բայց երկրորդ աղբյուրը նկարագրելիս մենք օգտագործում ենք հարցման վիրտուալ աղյուսակի պարամետրերը սահմանելու հնարավորությունը.

| RegisterAccumulations.Sales.Turnover(&StartDate, &EndDate,)

Առաջին պարամետրը գումարների հաշվարկման ժամանակաշրջանի սկիզբն է, երկրորդը ժամանակաշրջանի ավարտն է: Արդյունքում աղբյուրի աղյուսակը կպարունակի միայն փոխանցված ժամանակահատվածում հաշվարկված շրջանառությունը։ Այստեղ դուք միշտ պետք է հիշեք, որ եթե մենք փոխանցենք ամսաթիվը որպես այս պարամետրեր (և մեր դեպքում դա այդպես կլինի), ապա ամսաթիվը պարունակում է նաև երկրորդի ճշգրիտ ժամանակը:

Եթե ​​նախապես հայտնի է, որ օգտատիրոջը չեն հետաքրքրի հաշվետվության արդյունքները վայրկյանների ճշգրտությամբ նշված ժամանակահատվածներում, ապա պետք է հաշվի առնել հետևյալ հատկանիշը. լռելյայն ամսաթվի ժամը սահմանվել է 00: :00:00. Հետևաբար, եթե հատուկ միջոցներ չձեռնարկեք, կստացվի, որ երբ օգտատերը սահմանում է հաշվետու ժամանակաշրջանը 01/03/2004-ից մինչև 31/03/2004, ռեգիստրի գումարները կհաշվարկվեն 03/01/ օրվա սկզբից: 2004 00:00:00 մինչև օրվա սկիզբ 03/31/2004 00:00:00: Այսպիսով, 31-րդ օրվա տվյալները, բացի օրվա սկզբից, չեն ներառվի հաշվարկի մեջ, ինչը մեծապես կզարմացնի օգտատիրոջը։

Այս իրավիճակը վերացնելու համար պետք է երկու բան անել.

Նախ, հաշվետվության ձևում սահմանափակեք օգտվողի հնարավորությունը՝ մուտքագրելու մեկնարկի ամսաթիվը և ավարտի ամսաթիվը՝ համապատասխան մուտքագրման դաշտերի համար ամսաթիվը սահմանելով որպես «Ամսաթիվ».

Եկեք որոշենք ամսաթվի կազմը...

Երկրորդ, պարամետրեր փոխանցելիս օգտագործեք ներկառուցված գործառույթը Օրվա վերջ ().Դա անելու համար վերադարձեք հաշվետվության ձևի մոդուլ և կատարեք անհրաժեշտ փոփոխությունները (հավելումները ընդգծված են թավերով).

ProcedureFormActionsRatingServicesGenerate(Button) //((CONSTRUCTOR_WEEKEND_FORM_PROCEDURE_CALL(RatingServices) //Այս հատվածը կառուցվել է կոնստրուկտորի կողմից: // Կոնստրուկտորը նորից օգտագործելիս // ձեռքով կատարված փոփոխությունները կկորչեն!!!

TabDoc = FormElements.TableField;

//)) CONSTRUCTOR_OUTPUT_FORM_CALL_PROCEDURE

Ընկ. netProcedures

Շարունակենք դիտարկել հարցման տեքստը: Որպես հարցման նկարագրության մաս, կա ևս մեկ շինարարություն, որը մեզ համար նոր է. սկզբնաղբյուր աղյուսակներից տվյալների ընտրության պայմանների սահմանում.

| SprNomenclature.Representation AS ներկայացուցչություն,

| SalesTurnover.RevenueTurnover AS Revenue

| Directory.Nomenclature AS RefNomenclature

| ՁԱԽ ՄԻԱՑՈՒՄ RegisterAccumulations.Sales.Turnover(&StartDate,

| &սպառման ժամկետը,

| ԻՆՉՊԵՍ ՎԱՃԱՌԵԼ շրջանառությունը

| Software SalesTurnover.Nomenclature = SprNomenclature.Ssshka

| SprNomenclature.ThisGroup = False AND

| SprNomenclature.Type of Nomenclature = &Type of Nomenclature

Ընտրության պայմանին միշտ նախորդում է բանալի բառ ՈՐՏԵՂ.Դրանից հետո նկարագրվում է ինքնին վիճակը: Խնդրում ենք նկատի ունենալ, որ սկզբնաղբյուրների աղյուսակների այն դաշտերը, որոնց վրա կիրառվում է պայմանը, կարող են չընդգրկվել ընտրության ցանկում (ինչպես մեր դեպքում): Բացի այդ, մեր պայմանը օգտագործում է «Տիպ անվանացանկի» հարցման պարամետրը:

ԱՐԴՅՈՒՆՔՆԵՐԻ ԳՈՒՄԱՐԸ (Եկամուտ) PO

Այն միշտ սկսվում է բանալի բառով ԱՐԴՅՈՒՆՔՆԵՐ,որին հաջորդում է նկարագրությունը, թե ինչ գումարներ կլինեն հարցման արդյունքում: Խոսքից անմիջապես հետո ԱՐԴՅՈՒՆՔՆԵՐնկարագրում է ագրեգատ գործառույթները, որոնք պետք է հաշվարկվեն արդյունքներում: Մեր դեպքում կհաշվարկվի «Եկամուտ» դաշտի գումարը: Դրան հաջորդում է PO բանալի բառը, որից հետո նկարագրվում են այն խմբավորումները, որոնցում պետք է հաշվարկվեն հանրագումարները: Մեր դեպքում դրանք բացակայում են և օգտագործվում է միայն հիմնաբառը ՀԱՏՈՒԿ ԵՆ,ինչը ցույց է տալիս, որ ընդհանուր գումարները հաշվարկվելու են ամբողջ աղյուսակի համար որպես ամբողջություն:

Այժմ, երբ մենք ավարտեցինք հարցման տեքստին ծանոթանալը, եկեք գործարկենք 1C:Enterprise-ը վրիպազերծման ռեժիմում և տեսնենք, թե ինչպես է աշխատում մեր զեկույցը:

Հաշվետու ժամանակահատվածը սահմանենք 01.03.2004թ.-ից 30.04.2004թ. Արդյունքը կունենա հետևյալ տեսքը.

Այժմ եկեք փոխենք ավարտի ամսաթիվը 03/31/2004 և համոզվենք, որ մարտի 31-ի տվյալները ներառված են հաշվետվության մեջ.