Hisobotlardagi tanlovlar. Sozlamalar bog'lovchi nuances. Ckd 1s 8 ckd foydalanuvchi sozlamalari bo'yicha hisobotlar uchun sozlamalar va parametrlar

O'ylaymanki, ACS nima ekanligini, sozlamalarni bog'lovchi va umuman, ACS bilan ishlashga mo'ljallangan barcha ob'ektlar to'plamini aytib berishning hojati yo'q. Kodning hiyla-nayrang harakatlaridan tashqari, foydalanishning asosiy yo'nalishlari dinamik ro'yxatlar va hisobotlar bo'lib, ikkala holatda ham juda muhim funksiyalar parda ortida qolmoqda. Biz ko'pincha xatti-harakatlarning mantiqiyligi va jarayonning barcha ishtirokchilarining munosabatlari haqida o'ylamaymiz, chunki biz odatda juda oddiy muammolarni hal qilamiz yoki platformaning standart parametrlariga ishonamiz. Ammo sukunat bo'lgan joyda ichki mantiq ham mavjud, masalan, kerakli samaraga erishish uchun ba'zida qiyin va tushunarsiz bo'lgan mevalarni engib o'tish uchun bir xil "yomon" 1C., Va shu bilan birga faqat asboblardan to'g'ri foydalanish kifoya.

Qiziquvchilar 1-4 qismlarini o'tkazib yuborishlari va to'g'ridan-to'g'ri misollarga o'tishlari mumkin.

Hisobotlarda qo'llanilishi holati bo'yicha ACS tanlovi haqida bir oz batafsilroq to'xtalishga harakat qilaman. O'ylaymanki, dinamik ro'yxatdagi xatti-harakatlar, bir nechta ogohlantirishlar bilan o'xshash bo'ladi. Shunday qilib, ma'ruzalardagi tanlovlar, biroz nazariya va keyin aniq misollar.

QK 8.3.6 va undan yuqori, ITS bo'limlari (10.3.7.5-band va boshqalar), "1C-Enterprise 8 tizimida malaka oshirish" kitobi (Qozon, 2012, ikkinchi jild). E. Xrustalevaning kitobida ushbu mavzu bo'yicha hech qanday tushunarli narsa topilmadi.

1-qism

Ma'lumki, sozlamalar bog'lovchisida "Sozlamalar", "Ruxsat etilgan sozlamalar" (keyingi o'rinlarda "FN" deb nomlanadi) va "Foydalanuvchi sozlamalari" (keyingi o'rinlarda "PN" deb nomlanadi) to'plamlari mavjud. Hisobotda bir nechta variant bo'lishi mumkin, variant, N, PN va FN o'rtasidagi bog'lanishlar juda o'ziga xosdir. Bundan tashqari, mavjud sozlamalarning manbai va uning "nasli" haqida unutmaylik, bu odatda sxemaning o'zi bo'lib, u ham o'zining standart sozlamalariga ega.

* Sozlamalar - Konfigurator rejimida yaratilgan va hisobotni tahrirlash rejimida o'zgartirilgan sozlamalar;

* User Settings - foydalanuvchi 1C: Enterprise rejimida faqat interfeysda o'zgartiradigan sozlamalar;

* FixedSettings - o'rnatilgan tildan o'rnatiladigan sozlamalar, shu jumladan. to'g'ridan-to'g'ri tizim tomonidan o'rnatiladi. Ushbu xususiyat uning parametrlari ("Tanlash" tuzilishi) yordamida shaklga uzatiladigan tanlov qiymatlarini o'z ichiga oladi.

Sozlamalar va FN tuzilishga o'xshash va hisobot mavjud bo'lgan har qanday vaqtda tarkibni o'zgartirish uchun mavjud bo'lgan "Ma'lumotlar tarkibini tanlash" turidagi "Tanlash" to'plamiga ega. Shu bilan birga, Sozlamalar variantni tahrirlash orqali interfeysni o'zgartirish uchun mavjud va FN umuman mavjud emas. PN, o'z navbatida, "chalkashlik" bo'lib, bu erda "Tanlash" ning o'zi ham, "Ma'lumotlar tarkibini tanlash elementi" turidagi alohida ob'ektlar (uyali ob'ekt deb ataladi) teng elementlar bo'lishi mumkin. Tegishli usullar mavjudligiga qaramay, PN elementlari to'plamining tarkibini dasturiy ravishda o'zgartirish mumkin emas, agar u hisobotning o'zi PN bo'lsa va dizayner tomonidan "noldan" qilinmasa - 1C "foydalanuvchi sozlamalari to'plami uning tarkibini o'zgartira olmaydi, chunki u tartib sozlamalari bilan bog'liq. ma'lumotlar. " ITS-da: "Ichki til yordamida yozish uchun mulk mavjud emas.", Ammo keyinroq ko'rib turganimizdek, siz PN-ga ta'sir qilishingiz mumkin. Ob'ektlarning "bo'tqasi" ichki aloqalarga ega - u hisobotni tuzishda va tarkibini o'zgartirganda sharoitlarning muvofiqligi tekshiriladi. ITS-da biz quyidagilarni o'qiymiz: "O'zlari odatiy ravishda belgilanadigan elementlar qo'shilmaydi. Masalan, maxsus filtrda odatiy deb belgilangan filtr elementi bo'lmaydi. Maxsus narsalarni o'z ichiga olgan narsalar qo'shilmaydi. Masalan, guruhda odatiy sifatida belgilangan narsalar bo'lsa, shartli guruh qo'shilmaydi. Ichki elementlar uchun DisplayMode xususiyati tahlil qilinmaydi. Ular asosiy elementlar bilan birga qo'shiladi yoki qo'shilmaydi. " Shunday qilib, ob'ektlarning "katta yoshi" parda orqasida harakat qiladi. Bunday holda siz interfeys variant va uning ST uchun qarama-qarshi tanlovlarni ko'rsatishga imkon berganida, shuningdek, ST ichida effekt olishingiz mumkin.

Bu "katta" variant kabi ko'rinadi. Ammo "Qo'shimcha" / "Variantni o'zgartirish" tugmachasini bosish va ochilgan shakldagi o'zgarishlarni tasdiqlash shaklning voqea ishlovchilarini chaqiradi. , tanlov "Sozlamalar ..." dan chaqirilgan formadagi "Umumiy" panelida paydo bo'lganda va hisobot formasida paydo bo'ladi, ammo "Tanlash" yorlig'ida ko'rsatilmaydi; bundan tashqari, u darhol hisobotning asosiy shaklida ham, "Sozlamalar ..." formasida ham paydo bo'ladi (agar "Agar foydalanuvchi sozlamalariga qo'shish" bayrog'i bo'lsa), yoki na u erda, na u erda. Lekin har qanday holatda ham u "Sozlamalar ..." shaklidagi "Tanlash" yorlig'ida YO'Q. "Sozlamalar ..." shaklidagi "Asosiy" yorlig'i va asosiy hisobot shakli o'rtasidagi farq "Tartibga solish rejimi" maydoni bilan belgilanadi (normal - faqat "Sozlamalar" da, tezkor - shuningdek, hisobot formasining o'zida), lekin men buni hamma biladi deb o'ylayman. Aytgancha, "Tanlash" va "Tez" qiymatlari hech qanday tarzda sinxronlashtirilmaydi va bir-biriga zid bo'lishi mumkin, ammo "Tez" hisobot shaklida va sozlash shaklida qat'iy sinxronlashtiriladi. Shunday qilib, variantni tahrirlashda uning o'zi o'zgaradi (lekin uning identifikatori va ismi o'zgarmaydi), ammo PN o'zgartirilmagan bo'lib qoladi (ya'ni biz ular haqida gapiradigan bo'lsak ham, ya'ni PNga u yoki bu elementni qo'shish bayrog'i haqida). ).

"Variantni tanlang ..." tugmachasini bosish va ochilgan shakldagi o'zgarishlarni tasdiqlash quyidagi voqealarni chaqiradi:

OnLoadingOptionOnServer

Xususiy SettingsOnServer-ni yangilashda

Bunday holda, na variant, na PN hech qanday tarzda o'zgarmaydi. Bu erda, agar ulangan bo'lsa, variant va sozlamalar umuman to'g'ridan-to'g'ri bog'liq emasligi aniq.

"Sozlamalar ..." tugmachasini bosish va ochilgan shakldagi o'zgarishlarni tasdiqlash faqat hodisani keltirib chiqaradi Xususiy SettingsOnServer-ni yangilashda (bu holda PN o'zgaradi, lekin vakolatxonalar va kalit (agar ular bo'lmasa) olinmaydi; agar PN ob'ektining "Tanlash" elementlari uchun "Tez" yoqilgan bo'lsa, unda "Tanlash" ga qo'shimcha ravishda uning elementlari maydon sifatida ko'rinadi, bu . ichki elementlarga o'xshash tarzda ishlaydi. Ushbu sozlamalar yopilganda saqlanadi va keyingi safar formani kiritganingizda tiklanadi, u tegmaydi yoki parametrni o'zgartirmaydi.

Sozlamalar shaklidagi "Qo'shimcha" / "Standart sozlamalarni o'rnatish" tugmachasini bosish (shuningdek, tahrirlash parametridagi "Standart sozlamalar" bandi) faqat voqeani qo'zg'atadi Xususiy SettingsOnServer-ni yangilashda... Bunday holda, parametr o'zgartiriladi, lekin PN o'zgaradi. Agar parametr bundan oldin o'zgartirilgan bo'lsa, u o'zgartirilgan bo'lib qoladi (na o'zgartirish bayrog'i qayta tiklanadi, na haqiqiy sozlamalar tiklanadi).

Variantni tahrirlash shaklidagi struktura daraxtidagi "Maxsus sozlamalar elementlari xususiyatlari" tugmachasini bosish bilan "Tanlash" ob'ekti qo'shiladi va u bo'sh bo'lib chiqadi va mavjud variantni tanlash bilan va mavjud ichki tanlov elementlari bilan hech qanday sinxronizatsiya qilmaydi.

Shuning uchun tavsiya: agar siz "Configurator" rejimida ba'zi tanlovlarni o'rnatishingiz kerak bo'lsa, kod bilan aralashmaslik va ular variantda bo'lmasligi uchun, lekin ular hisobot interfeysida bo'lishi kerak bo'lsa - siz parametrlarning tanlov elementlarini emas, balki ularning xususiyatlarini o'zgartirib, manipulyatsiya qilishingiz kerak. , "Element Properties ..." va "Custom Settings" tugmalari.

Sozlamalarda paydo bo'lgan narsani PN-ga qo'shish uchun kod yoki interfeysdagi harakatlar talab qilinadi, ammo Sozlamalarni o'chirish va tozalash PN-ga darhol va hech qanday yangilanishlarsiz ta'sir qiladi, masalan:

Report.SettingsComposer.Settings.Selection.Elements.Clear ();

Hisobot shaklini yopishdan oldin tizim faqat variantga o'zgartirishlar kiritilganligini so'raydi. Agar PN-ga o'zgartirishlar kiritilgan bo'lsa, ular avtomatik ravishda hech qanday savollarsiz saqlanadi va shuningdek, hisobot bilan ishlashning keyingi sessiyasida avtomatik ravishda murojaat qilishga harakat qiladi.

Izohlar:

Bir qator xatolar bilan, bu sozlamalarni qo'llash, avval muammo haqida xabar ko'rsatiladi, so'ngra bog'lanish hali ham sodir bo'ladi, voqea chaqiriladi va hisobot tuzish. Shu bilan birga, agar mavjud bo'lsa, FN hali ham e'tiborga olinmaydi va faqat Sozlamalar rol o'ynaydi.

"Variantni o'zgartirish" formasiga tanlovni qo'shganda, u darhol "PN-ga qo'shish" bayrog'i o'rnatilgan holda amalga oshiriladi, lekin takror aytaman, ichki til nuqtai nazaridan PN o'zgarishsiz qoladi.

Variantning o'zgarishi va PN o'zgaruvchanligining o'rnatilishi to'g'ridan-to'g'ri bog'liq emas, ular o'zgarishlarning ikki xil yo'nalishi.

PN-da, boshqa narsalar qatori, "Qo'shimcha sozlamalar" mavjud. Ular nima bilan va qaysi daqiqada to'ldirilganligini biron bir tarzda tushunishga muvaffaq bo'lmadim. Hisobotda odatdagidek "tanlovda va shartli dizaynda belgilangan" sozlamalar mavjud bo'lsa-da (qo'shma korxonaga muvofiq), qo'shimcha holatlar barcha holatlarda bo'sh bo'lib chiqdi. ITS-da bu haqda hech narsa yo'q.

Qo'shma korxonadagi bayonotga qaramay, PN-lar xml formatida mukammal seriyalashtirilgan.

Agar tanlovning ikkala mustaqil elementi va tanlovning o'zi foydalanishga kiritilgan bo'lsa, u holda hisobot to'g'ri yig'ilgan, ammo namoyish etilgach, u yakuniy maketda belgilangan tanlov to'g'risidagi ma'lumotlarni takrorlaydi.

Hisobot variantini tahrirlash uchun standart shakl juda ko'p qiziqarli narsalarni o'z ichiga oladi, ammo u hech qaerda FN va PN bilan ishlamaydi va asosiy sozlamalar bilan u o'qish uchun ko'proq ishlaydi (faqat tanlov, tartib, shartli dizaynni tozalaydi).

2-qism

Ularni yig'ish orqali munosabat va FN bilan ishlash deyarli har doim joizdir, ammo "uchinchi daraja" ning mohiyati o'zgarib borishini unutmaslik kerak. Birinchi daraja har doim ACS-ning standart sozlamalarini o'z ichiga oladi, ular mavjud sozlamalar manbasida ham aniq ko'rinadi; ikkinchi darajada - ishlatilgan parametr sozlamalari. Ammo bu erda mantiq sizga asosiy ko'rsatmalarni "yo'q qilishga" yoki ularga e'tibor bermaslikka imkon beradi. Ammo PN bilan ishlash endi erkinliklarni ta'minlamaydi va nozik manipulyatsiyalar maxsus usullar yordamida, ba'zan esa vaqtinchalik yordamchi vositachilik ob'ektlari yordamida amalga oshirilishi kerak, masalan:

Comp \u003d Yangi DataCompositionSettingsComposer; // siz ham boshlashingiz mumkin // comp.Initialize (SomeComposerSettings.GetSourceAvailableSettings ()); comp.LoadSettings (SomeComposerSettings.Settings); MuayyanComposerSettings.DownloadUserSettings (comp.UserSettings);

Sozlamalar bog'lovchi usulga ega (), bu usul parametri sifatida berilgan maxsus imtiyoz qiymatlarini yuklaydi. Usul Sozlamalarni oling() joriy sozlamalarning nusxasini olishga imkon beradi (foydalanuvchi sozlamalarini hisobga olgan holda). Usul Yuklab olish sozlamalari() o'tkazilgan sozlamalarni sozlamalar bog'lovchisiga yuklaydi (foydalanuvchi sozlamalari, shuningdek, kalitlarning mavjudligini hisobga olgan holda uzatilgan ma'lumotlar asosida qayta yuklanadi, quyida keltirilgan misolga qarang).

Asosiy sozlamalarga maxsus sozlamalarni qo'llash usulda amalga oshiriladi Sozlamalarni oling() bog'lovchi sozlamalari. Bunday holda, quyidagi harakatlar amalga oshiriladi:

* DataCompositionPelement turlari uchun elementlarning tarkibi moslashtirilgan sozlamalar elementlariga ko'chiriladi.

* DataCompositionFeed turlari uchun asosiy sozlamalardagi va mavjud emas deb belgilangan elementlar o'zgarishsiz qoladi. PN dan elementlar asosiylariga o'tkaziladi. Ular Tanlov to'plamining oxiriga qo'shiladi.

* DataCompositionElementGroup turlari uchun Use xususiyati asosiy sozlamalarning tegishli elementida o'rnatiladi (PN elementidan foydalanish belgisi asosida).

3-qism

Yakuniy sozlamani shakllantirishda ITS-ni taklif qilish uchun har xil sozlamalar parametrlari quyidagicha birlashtiriladi:

* Agar biron bir turdagi sozlash odatdagidek to'liq belgilansa, natijada olingan sozlamalar PN-ni o'z ichiga oladi. Bunday holda, agar biron bir sozlama elementi mavjud emas deb belgilansa, u holda ushbu sozlamalar SettingsComposer.Properties xususiyatidan olingan sozlamalarga joylashtiriladi.

* Agar biron bir sozlama to'liq emas, balki element bo'yicha element sifatida belgilansa, u holda odatiy sifatida belgilangan elementlar Properties Composer.Custom Settings-ning natijalari sozlamalariga kiritiladi va mavjud emas deb belgilangan elementlar Properties Composer-dan olingan natijalarga o'rnatiladi. ...

* Ruxsat etilgan sozlamalar olingan natijalarga "boricha" qo'shiladi. Bunday holda, FN va PN-da bir xil nomdagi sozlamalar mavjud bo'lganda, masalan, vaziyatda bir xil chap qiymatga ega bo'lgan tanlov mavjud bo'lganda, vaziyat qabul qilinishi mumkin emas. E'tibor bering, ushbu shartlarning barcha xususiyatlariga to'liq mos kelish taqiqlanadi. Rostini aytsam, biroz mantiqsiz.

Shuni esda tutingki, agar sozlamalarning biron bir qismi funktsional parametr doirasiga kirsa va uni cheklash kerak bo'lsa, tizim "jimgina" ishlaydi - bu qismni hamma joydan olib tashlaydi, hech narsa haqida xabar bermaydi va bunday qismga tegishli dastur manipulyatsiyasi "ishlamay" ishlaydi - xatolar ishlab chiqarmaydi, lekin koddan hech qanday ta'sir ko'rsatmaydi. Biroq, turli xil nashrlar boshqacha yo'l tutishi mumkin.

4-qism.

Hisobot shaklining kengayishi bizni "FN" va "PN" parametrlari bilan ta'minlaydi, ammo hech bir joyda ularni to'g'ridan-to'g'ri shaklga o'tkazish orqali to'ldirish tavsiya etilmaydi. Tajribalar ko'rsatganidek, daf bilan qo'shimcha raqslarsiz, ushbu parametrlarni to'ldirishga e'tibor berilmaydi - ochilish jarayonida bog'lovchi ishga tushirilganda va oldindan saqlangan PN qabul qilinganda uning ustiga yoziladi. PN tugmachalari bilan ishlash tavsiya etiladi, unga ko'ra ularni sozlamalarni saqlash joyidan olish, so'ngra ochish va ishlatish mumkin, va bu avtomatik ravishda hisobot formasi tomonidan emas, balki qo'ng'iroq shakli bilan amalga oshiriladi.

"SourceAvailableSettings" parametri serverda shakl yaratilganda va uni bekor qilib bo'lmaganda avtomatik ravishda bog'lovchi ma'lumotlarga aylanadi. Aksincha, mumkin, ammo bu faqat tegishli ob'ektlarning butun zanjiri to'liq qayta aniqlangandan so'ng o'z samarasini beradi. Qayerda GetSourceAvailableSettings() barcha ochilish hodisalarini qayta ishlash tugaguniga qadar Undefined-ga qaytadi.

Shuni esda tutingki, aslida kalit bo'lmagan shakl parametrlari o'z ta'sirini bir nechta hodisalar bo'yicha "cho'zadi", agar ochilish joyida bayroq o'rnatilgan bo'lsa. Shunday qilib, tadbirda ProcessingCheckFillingsOnServer, ochish va shakllantirishga chaqirilgan "Tanlash" parametri mavjud bo'ladi, ammo u bilan birga, lekin foydalanuvchini "Yaratish" tugmachasini bosib shunchaki chaqiriladi, endi u bo'lmaydi. Buning sababi shundaki, ushbu voqealarning barchasi serverga bitta "tashrif buyurish" jarayonida qayta ishlanadi, agar ochilish vaqtida shakllanish yoqilgan bo'lsa va faqatgina ularning oxirida boshqaruv mijozga o'tkazilsa va chaqirilsa Ochilish... Bunday holda, kalit bo'lmagan parametrlar tabiiy ravishda yo'qoladi.

Shaklni ochishda hisobot yaratish bayrog'i bilan shaklni ochishda voqealarni bajarishning umumiy tartibi ("Kasbiy rivojlanish" da ko'rsatilganidan bir oz ko'proq):

OnCreateAtServer

BeforeLoadingOptionOnServer

OnLoadingOptionOnServer

Serverda maxsus sozlamalarni yuklab olishdan oldin

Serverda maxsus sozlamalarni yuklashda

Xususiy SettingsOnServer-ni yangilashda

ProcessingCheckFillingsOnServer

Ochilish

Bunday holatda, na maxsus harakatlar amalga oshirilmasa, na variant, na PN o'zgartirilmaydi.

5-qism.

Endi uning tuzilishi va oldindan belgilangan tanlovi bilan hisobot shaklini ochish vazifasi haqida batafsil to'xtalamiz. Bu haqda qisqacha ma'lumot ITS-da va uslubiy tavsiyalarda mavjud, ammo u erda faqat printsipning o'zi yoritilgan va nozikliklari oshkor qilinmaydi. Shunday qilib, hisobotning kontekstli chaqiruvi uchun uning shakliga True ga teng bo'lgan "GenerateOnOpening" parametrini o'tkazish kerak; va strukturani o'z ichiga olgan "Tanlash" parametri. Tuzilish tugmachalari ACS maydonlarining nomlari yoki ACS parametrlari, qiymatlari esa ularning qiymatlari. SP-ni keltirib, agar struktura kaliti nomiga mos keladigan ACS parametri bo'lsa, unda qiymat unga o'rnatiladi. Agar parametr bo'lmasa, lekin maydon mavjud bo'lsa, unda ushbu maydonga tanlov qo'shiladi. Shu bilan birga, agar parametr va shu nomdagi maydon mavjud bo'lsa, unda tizim shunchaki jimgina uni e'tiborsiz qoldiradi va hech narsa o'rnatmaydi.

"Kasbiy rivojlanish" da voqea sodir bo'lgan taqdirda PN-ni "tezda" o'zgartirish (masalan, ushlab turish va qayta sozlash) misoli keltirilgan. Serverda maxsus sozlamalarni yuklab olishdan oldin, bu erda joriy PNni o'z ichiga olgan argument uzatiladi. Aslida, bu har doim ham shunday emas - masalan, oldingi sessiyada PN-ni saqlashda xato yoki Sozlamalar, FN va PN o'rtasidagi ziddiyatlar "Sozlamalar" argumentining bo'sh bo'lishiga olib keladigan holatlar bo'lishi mumkin. Va eng qizig'i, ushbu tadbirda uni to'liq qayta tuzish mumkin bo'lmaydi, bu faqat voqealar ketma-ketligining "oxirida", ya'ni tadbirda amalga oshirilishi mumkin ProcessingCheckFillingsOnServer.

PN-ni serverga yuklashdan oldin nima borligini ko'rib chiqamiz.

Oddiy holat uchun, ACS-da hech narsa oldindan belgilanmagan va PN-ga hech qanday element kiritilmagan bo'lsa, vaziyat quyidagicha: Sozlamalar - bo'sh; FN - to'g'ri tanlovni o'z ichiga oladi; PN-da bo'sh Tanlov mavjud. Shakllash to'g'ri ishlaydi, lekin foydalanuvchi nuqtai nazaridan interfeys jasoratga zid keladi va tushkunlikka soladi - tanlov ishlaydi, ammo ko'rinmaydi. Xuddi shunday, agar siz variantni tuzilish sozlamalarida PN-da faollashtirsangiz, hisobot tanlovni hisobga olgan holda tuziladi, ammo foydalanuvchi ham tanlovlarni ko'rmaydi.

Konfiguratorda ACS sozlamalarida (bo'sh qiymatlarga teng) oldindan tanlovni o'rnatamiz va ularni PN-da faollashtiramiz. Nazariy jihatdan, FN Sozlamalarni to'ldirishi kerak, va ular - PN, lekin aslida bizda: Sozlamalar - Kerakli element bilan tanlov, lekin bo'sh o'ng qiymati, FN - to'g'ri tanlovni o'z ichiga oladi va PN - hali ham hech narsani o'z ichiga olmaydi. Bundan tashqari, bu holda, hisobot tuzilmaydi, chunki tanlov parametrida berilgan qiymatga qaramay, to'g'ri tanlov qiymati bo'sh.

PN elementlari bilan ishlashga urinish ham natija bermaydi. PN elementi uchun siz "Foydalanish" bayrog'ini va "Tez" da ishtirok etishni o'zgartirishingiz mumkin. Interfeysdagi tanlov qiymati bo'sh bo'ladi, tizim xatolarga yo'l qo'ymaydi. Xuddi shunday, PN Selection bilan ishlashga urinish ham ishlaydi, tuzatuvchida to'g'ri qiymat to'g'ri to'ldirilgan bo'lib ko'rinadi, ammo siz interfeysda hech narsa ko'rmaysiz. Eslatib o'taman, PN tarkibini o'zgartirish mumkin emas. Shunday qilib, qo'shimcha sozlash kerak. Masalan:

& OnServer protsedurasi SetPresetSections (UserSettings) Agar yo'q bo'lsa Parameters.Property ("Selection") then Return EndIf; Agar Parameters.Selection.Number () \u003d 0 bo'lsa Return EndIf; rTypeEO \u003d Type ("DataCompositionSelectionElement"); Parametrlardan har bir tugma uchun.Select цикл rField \u003d Yangi DataComposition Field (key.Key); // Agar (TypeZnch (kiz.Value) \u003d Type ("Array") yoki TypeZnch (kiz.Value) \u003d Type ("Qiymatlar ro'yxati"))) va kiz.Value.Quantity ()\u003e 1 Keyin rComparisonType \u003d ComparisonTypeDataCompositionInList Aks holda pComparisonType \u003d DataCompositionComparisonType.Equal; EndIf; // pHnecessaryChoice \u003d Aniqlanmagan; // maxsus sozlamalarda Tanlov mavjudligini tekshiring rn zarur EO \u003d Undefined; // maxsus sozlamalarda alohida DataCompositionFeed elementi mavjudligini tekshiring Har bir elnastr uchun CustomSettings.Elements Cycle IfTypeZnch (elnastr) \u003d Type ("DataCompositionSelection") va pHrequiredSelection \u003d Undefined Keyin // u faqat bitta pHselection \u003d elnastr bo'lishi mumkin; // bu tsikldan tashqarida ham bo'lishi mumkin edi, lekin elementlar uchun maxsus sozlamalarni takrorlash kerak ... Aks holda, agar TypeZnch (elnastr) \u003d rTypeEO Keyin // bu tanlov elementi bo'lsa, ularning ko'pi bo'lishi mumkin, lekin biz boshlanmagan yoki maydon Agar elnastr.LevoeValue \u003d pField yoki elnastr.LevoeValue \u003d Aniqlanmagan va pHuzhnyEO \u003d Aniqlanmagan Keyin pHuzhnyEO \u003d elnastr; EndIf; EndIf; Tsikl tugashi; // Agar pH mos bo'lsa<>Undefined then // u ustuvor yo'nalishda bo'ladi pHnewEOfromSelection \u003d Undefined; Har bir elotb uchun pHuzhnyOtbor.Elements Cycle dan bo'lsa elotb.LevoeValue \u003d pField Keyin pHuzhnyEOisObra \u003d elotb; Abort EndIf; Tsikl tugashi; Agar pHRequiredEOfromOffice \u003d Aniqlanmagan bo'lsa pHRequiredEOfromOffice \u003d pHRequiredSelection.Elements.Add (rTypeEO); pHRealEOfromSelection.LeftValue \u003d pField; EndIf; pHRealEOfromSelection.Comparison Type \u003d pComparison Type; pHRealEOfromSelection.RightValue \u003d kiz.Value; pHRequiredEOisObtaining.Usage \u003d To'g'ri; // pHAlrightEO.Usage \u003d Noto'g'ri; Else Agar pH zarur bo'lsa Selection \u003d Undefined va pH kerakli EO<>Undefined Keyin // pHazhnyEO.LeftValue \u003d pField elementiga qo'ying; pHRealEO.Taqqoslash turi \u003d pTaqqoslash turi; pHazhniyEO.RightValue \u003d kiz.Value; pHazyEO.Usage \u003d To'g'ri; EndIf; pHnecary \u003d aniqlanmagan; Report.SettingsComposer.Settings.Selection.Elements Loop // dan har bir elotb uchun do'stona tarzda, rekursiv qidiruv bo'lishi kerak! Agar TypeZnch (elotb) \u003d pTypeEO va elotb.LevoValue \u003d pField Keyin pHnecessary \u003d elotb; Abort EndIf; Tsikl tugashi; Agar pHRequired \u003d Aniqlanmagan bo'lsa pHRequired \u003d Report.Settings Composer.Settings.Selection.Elements.Add (rTypeEO); pHLeftValue \u003d pField; EndIf; pHOfComparison turi \u003d pComparison turi; pHazhny.RightValue \u003d kiz.Value; pHazy.Usage \u003d To'g'ri; // Loopning oxiri; Report.SettingsComposer.FixedSettings.Selection.Elements.Clear (); // aks holda, elementlar EndProcedure-ni kesib o'tishi / ularga zid bo'lishini aytadi

Qo'ng'iroq qilishning eng to'g'ri usuli:

& AtServer ProcessingFillCheckOnServer protsedurasi (Rad etish, tekshirilgan atributlar) SetPresetSections (Report.SettingsComposer.UserSettings); Jarayonning tugashi

Keyin, masalan, katalog shaklidagi kontekstli qo'ng'iroq quyidagicha bo'ladi:

& OnClient protsedurasi OpenReport (Command) If ValueFilled (Object.Link) then out \u003d New Structure ("ReferenceOnDirectory", Object.Link); // bu hisobotning ACS-dagi maydon nomi Parameters \u003d New Struct ("Select, Generate on Open", Ot, True); OpenForm ("Report.Report1.Form.ReportForm", Shakl parametrlari, EtaForm); EndIf; Jarayonning tugashi

6-qism.

Agar kerak bo'lsa, u bilan ishlash paytida hisobot parametrlarini o'zgartiring, shu jumladan. ishga tushirishda ham, ochilgandan keyin ham eng to'g'ri yo'l "boshidan" o'zgartirish, ya'ni. ACS sozlamalaridan. ACS sxemasini o'zgartirish ariza ma'lumotlari bilan emas, balki faqat Report ob'ekti (yoki ExternalReport) bilan amalga oshiriladi va o'z-o'zidan hech narsani o'zgartirmaydi - Sozlamalar va PN-da xuddi shunday bo'lib qoladi va FN odatda bo'sh bo'lib qolishi mumkin. Shuning uchun, bizning vazifalarimizga qarab:

Amalga oshirilgandan so'ng

Report.Settings Composer.LoadSettings (ACS.Default)

faqat variant o'zgaradi va boshqa hech narsa yo'q;

2-bandda keltirilgan texnikani bajargandan so'ng ("vositachi" va usuldan foydalangan holda) Maxsus sozlamalarni yuklab oling()

faqat joriy PN-lar interfeys yordamida qayta tiklangan taqdirdagina ishlaydi. O'z-o'zidan, variant o'zgartirilganda ular o'zgarmaydi. Bu tanlovni o'zgartiradi, ammo yangi tanlov elementini qo'shmaydi.

Amalga oshirilgandan so'ng

ThisForm.CreateFormElementsCustomSettings (, DataCompositionSettings DisplayMode.All)

platforma shunchaki jimgina tushadi. Bir nechta turli xil versiyalarda sinovdan o'tgan. Sozlamalarni faqat tezkorlar uchun ko'rsatish rejimidagi qo'ng'iroq mantiqiy emas - biz ularning tarkibiga ta'sir qilmadik, shuning uchun hech narsa o'zgarmaydi.

Va biz hali ham nafaqat ichki tanlovlarni, balki hisobot shaklidagi va tegishli shakllardagi displeyni ham to'liq o'zgartirishimiz kerak, shuning uchun faqat Tanlovni o'zgartirishimiz kerak yoki quyidagicha harakat qilishimiz kerak:

& AtServer protsedurasi ChangeSKD () rObject \u003d FormInValue ("Hisobot"); off \u003d pObject.DataCompositionSchema.SettingsOptions.Get (0) .Settings.Feed; eo \u003d otb.Elementy.Add (Type ("DataCompositionOptionElement")); eo.LeftValue \u003d NewDataCompositionField ("ReferenceRef.Field1"); eo.ComparisonType \u003d DataCompositionComparisonType.Equal; eo.RightValue \u003d To'g'ri; eo.Use \u003d Haqiqat; ValueVRequisitForm (rObject, "Report"); Report.SettingsComposer.LoadSettings (rObject.DataCompositionSchema.Default Settings); Report.ConfigurationComposer.Restore (); // kerakli, garchi bu hali ham FNga ta'sir qilmasa. // aslida PN tarkibidagi o'zgarish deb atash mumkin bo'lgan narsa har bir elektron pochta uchun Report.ComposerSettings.Notroyki.Obor.Elements Cycle e.Display Mode \u003d Display ModeDataCompositionSettingsSettingElement.BastyAccess Agar EmptyString mavjud bo'lsa (UserSettings elektron pochta identifikatori) Keyin // siz PN elementi uchun EL usulidan foydalanishingiz mumkin, qo'shma korxonada uning yordamini ko'ring, hammasi tushunarli. UserSettings ID \u003d "ID123"; // muhim - identifikator UUID yoki GUID emas, balki har qanday bo'lishi mumkin! emailPresentationUserSettings \u003d "Sinov"; EndIf; Tsikl tugashi; comp \u003d Yangi DataCompositionSettingsComposer; Comp.LoadSettings (rObject.DataComposition Scheme.Default Settings); Report.Settings Composer.DownloadUserSettings (comp.UserSettings); Report.Settings Composer.UserSettings.Elements Cycle-dan har bir elektron pochta uchun e.Display Mode \u003d Display ModeDataCompositionDataCompositionSettings.QuickAccess; // EndCycle-ni hisobot formasiga torting; // va endi u ta'sir qiladi: ThisForm.CreateUserSettingsFormElements (, DataCompositionSettingsDisplayMode.QuickAccess); Jarayonning tugashi

Aslida siz ushbu mexanikani uzoq vaqt o'rganishingiz mumkin. Ushbu nashr ma'lum bir muammoni hal qilish yo'llarini o'rganishdan o'sdi va shuning uchun juda bir tomonlama; Lekin, odatda, Kristalevnikidan ko'ra nozikroq, sozlamalarning ichki mantiqi haqida alohida kitob yozish mumkin deb o'ylayman. Afsuski, buning uchun vaqtim va kuchim yo'q. Muayyan ishlanmalarga muhtoj bo'lgan har kim yaxshi.

Biror narsa eksperimental tarzda aniqlandi va shuning uchun bahsli. Ko'proq biladiganlarni tanqid qilish va sharhlashga taklif qilinadi.

Biz ACS asosida amalga oshirilgan hisobotlar sozlamalarini batafsil ko'rib chiqdik. Endi hisobot variantlarining yanada nozik va batafsil sozlamalarini ko'rib chiqamiz. Hisobot variantining "rivojlangan" sozlamalari oynasi "Qo'shimcha" - "Boshqa" - "Hisobotning variantini o'zgartirish" buyrug'i bilan chaqiriladi.

Hisobot variantini o'zgartirish oynasi ikki qismga bo'linadi:

1. Hisobotning tuzilishi.

2. Hisobot sozlamalari.


Hisobot variantining tuzilish qismi standart hisobot parametrlarining "Tuzilma" yorlig'iga o'xshaydi. Guruhlarning maqsadi va konfiguratsiyasi maqolaning 1-qismida batafsil ko'rib chiqilgan.

Hisobot variantining tuzilishi jadvali, guruhlarga ega ustundan tashqari, bir nechta qo'shimcha ustunlarni o'z ichiga oladi:

Hisobot opsiyasining sozlamalar bo'limi foydalanuvchiga hisobotni uning ehtiyojlariga mos ravishda sozlash uchun keng imkoniyat beradi. Bu deyarli 1-qismda muhokama qilingan standart hisobot parametrlariga to'g'ri keladi. Keling, bo'limdagi barcha yorliqlarni ko'rib chiqamiz va farqlarga e'tibor beramiz.

Sozlamalar bo'limi quyidagi yorliqlardan iborat:

1. Parametrlar. Foydalanuvchi uchun mavjud bo'lgan ACS parametrlarini o'z ichiga oladi.

ACS parametri hisobot ma'lumotlarini olish uchun ishlatiladigan ba'zi bir qiymatdir. Bu ma'lumotni tanlash yoki tasdiqlash uchun shartli qiymat yoki yordamchi qiymat bo'lishi mumkin.


Parametrlar jadvali "Parametr" - "Qiymat" formatida taqdim etilgan. Agar kerak bo'lsa, parametr qiymatlarini o'zgartirish mumkin. Custom Settings Item Properties tugmachasini bosish element uchun maxsus sozlamalarni ochadi.


Ushbu oynada element foydalanuvchi sozlamalariga kiritilishini (ya'ni hisobotni o'rnatishda foydalanuvchiga ko'rinadigan) tanlashingiz, element taqdimotini va tahrirlash rejimini o'rnatishingiz mumkin (hisobot sarlavhasida tezkor kirish, hisobot sozlamalarida normal va mavjud emas).

Maxsus sozlamalar elementi xususiyatlari guruhlangan maydonlarga, maydonlarga, filtrlarga va shartli elementlarga ega.

2. Maxsus maydonlar. Hisobot tomonidan tanlangan ma'lumotlar asosida foydalanuvchining o'zi shakllantiradigan maydonlarni o'z ichiga oladi.


Foydalanuvchi ikki turdagi maydonlarni qo'shishi mumkin:

  • Yangi tanlov maydoni ...
  • Yangi ifoda maydoni ...

Belgilangan maydonlar berilgan shart asosida qiymatni hisoblashga imkon beradi. Tanlash maydonini tahrirlash oynasida maydon nomi va maydonning tanlovi, qiymati va taqdimoti o'rnatilgan jadval mavjud. Tanlash shart bo'lib, unga qarab kerakli qiymat o'rnini bosadi.


Masalan, sotuvlar sonini hisoblab chiqamiz. Agar mahsulot 10 donadan kam bo'lsa, ular biroz, agar 10 donadan ko'p bo'lsa, juda ko'p sotilgan deb taxmin qilamiz. Buning uchun biz hisoblangan maydonning 2 qiymatini o'rnatamiz: birinchisi "Tovarlar soni" 10 "dan kam yoki unga teng" tanlovi bilan, ikkinchisi "Tovarlar soni" 10 "dan katta" tanlovi bilan.

Ifoda maydonlari o'zboshimchalik bilan algoritmlar yordamida qiymatni hisoblashga imkon beradi. Ular so'rovlar tili va o'rnatilgan dasturlash tili 1C funktsiyalaridan foydalanishlari mumkin. Ifodalar maydonini tahrirlash oynasida tafsilotlar va xulosalar uchun ikkita maydon mavjud. Jami yozuvlar - bu "Hisobot tuzilmasi" maydonida tuzilgan guruhlashlar bo'lib, unda siz jamlangan funktsiyalardan foydalanishingiz kerak ("Sum", "Minimum", "Maksimum", "Quantity").

Masalan, o'rtacha chegirma foizini hisoblab chiqamiz. O'rtacha chegirma foizi quyidagi formula bo'yicha hisoblanadi: [Chegirmalarsiz sotuvlar miqdori] - [Chegirmalarsiz sotishlar miqdori] / [Chegirmalarsiz sotishlar miqdori]. Shuni esda tutish kerakki, chegirmasiz sotuvlar miqdori nolga teng bo'lishi mumkin, shuning uchun biz tekshirish uchun SELECT operatoridan foydalanamiz. Biz quyidagi iboralarni olamiz:

· Batafsil eslatmalar uchun:

Tanlash

Qachon [chegirmasiz sotish miqdori] \u003d 0

Keyin 0

Aks holda [Chegirmalarsiz sotuvlar miqdori] - [Chegirmalarsiz sotuvlar miqdori] / [Chegirmalarsiz sotuvlar miqdori]

tamom

· Jami yozuvlar uchun:

Tanlash

Qachon Miqdor ([Chegirmalarsiz sotish hajmi]) \u003d 0

Keyin 0

Aks holda Miqdor ([Chegirmalarsiz sotuvlar miqdori)) - Miqdorlar ([Chegirmalarsiz sotuvlar miqdori]) / Miqdorlar ([Chegirmalarsiz sotuvlar miqdori])

tamom

Yuqorida aytib o'tganimizdek, jami ifodalashda biz "Sum" yig'ish funktsiyasidan foydalanamiz.

3. Guruhlanadigan maydonlar. Hisobot varianti natijalari guruhlanadigan maydonlarni o'z ichiga oladi. Guruhlash maydonlari guruhlarning har biri uchun alohida tuzilgan, ammo agar siz struktura daraxtidan "Hisobot" ildizini tanlasangiz, hisobot varianti uchun umumiy guruhlash maydonlarini belgilashingiz mumkin. Hisobot natijasidan maydonni, maxsus maydonni qo'shishingiz yoki avtomatik maydonni tanlashingiz mumkin, keyin tizim avtomatik ravishda maydonlarni tanlaydi. Shuningdek, ushbu yorliq guruhlangan maydonlarning tartibini o'zgartirishga imkon beradi.


4. Maydonlar. Hisobot varianti natijasida chiqariladigan maydonlarni o'z ichiga oladi. Maydonlar guruhlarning har biri uchun alohida tuzilgan, ammo agar siz struktura daraxtidan "Hisobot" ildizini tanlasangiz, hisobot varianti uchun umumiy maydonlarni o'rnatishingiz mumkin. Hisobot natijasidan maydonni, maxsus maydonni qo'shishingiz yoki avtomatik maydonni tanlashingiz mumkin, keyin tizim avtomatik ravishda maydonlarni tanlaydi. Shuningdek, ushbu yorliq maydonlarning tartibini o'zgartirishga imkon beradi.

Maydonlarni hisobotning istalgan qismini mantiqiy ajratib ko'rsatish yoki ustunlarning maxsus tartibini aniqlash uchun guruhlash mumkin. Guruhni qo'shganda "Joylashuv" ustuni faollashadi va joylashuv parametrlaridan birini tanlashga imkon beradi:

  • Avtomatik - tizim maydonlarni avtomatik ravishda joylashtiradi;
  • Landshaft - maydonlar gorizontal joylashtirilgan;
  • Vertikal - maydonlar vertikal ravishda joylashtirilgan;
  • Alohida ustunda - maydonlar turli ustunlarda joylashgan;
  • Birgalikda - maydonlar bitta ustunda joylashgan.


5. Tanlash. Hisobot variantida ishlatiladigan tanlovlarni o'z ichiga oladi. Tanlovni sozlash ushbu maqolaning 1-qismida batafsil muhokama qilindi. Filtrlar guruhlarning har biri uchun alohida tuzilgan, ammo agar siz struktura daraxtidan "Hisobot" ildizini tanlasangiz, hisobot varianti uchun umumiy filtrlarni o'rnatishingiz mumkin.


6. Saralash. Hisobot variantida ishlatiladigan saralash maydonlarini o'z ichiga oladi. Saralash maydonlarini sozlash ushbu maqolaning 1-qismida batafsil yoritilgan. Tartiblash guruhlarning har biri uchun alohida tuzilgan, ammo agar struktura daraxtidan "Hisobot" ildizini tanlasangiz, hisobot varianti uchun umumiy saralash maydonlarini o'rnatishingiz mumkin.


7. Shartli dizayn. Hisobot variantida ishlatiladigan shartli uslublar elementlarini o'z ichiga oladi. Shartli ko'rinishni o'rnatish ushbu maqolaning 1-qismida batafsil muhokama qilingan. Shartli ko'rinish har bir guruh uchun alohida tuzilgan, ammo agar siz struktura daraxtidan "Hisobot" ildizini tanlasangiz, hisobot varianti uchun umumiy shartli ko'rinish elementlarini o'rnatishingiz mumkin.


8. Qo'shimcha sozlamalar. Hisobot dizayni uchun qo'shimcha sozlamalarni o'z ichiga oladi. Ular sizga hisobotning umumiy ko'rinishini, maydonlarning joylashishini, guruhlanishlarini, tafsilotlarini, manbalarini, jami ko'rsatkichlarini tanlash, diagramma sozlamalarini o'rnatish, sarlavha, parametrlar va tanlovni namoyish qilishni boshqarish, manbalarning pozitsiyasini aniqlash va hisobot variantining sarlavhasi va guruhlash ustunlarini aniqlashga imkon beradi.


Xulosa qilib shuni ta'kidlashni istardimki, hisobot sozlamalari nafaqat hisobotning bir varianti sifatida saqlanishi, balki faylga yuklab olinishi ham mumkin (menyu "Qo'shimcha" - "Sozlamalarni saqlash"). Yuklash uchun "Yuklab olish sozlamalari" ni tanlab, saqlangan faylni tanlashingiz kerak. Shunday qilib, biz hisobot variantining parametrlarini bir xil konfiguratsiyaga ega bo'lgan turli xil ma'lumotlar bazalari o'rtasida o'tkaza olamiz.


Shunga asoslanib shuni xulosa qilishimiz mumkinki, foydalanuvchi hisobotni nafaqat o'z ehtiyojlariga mos ravishda sozlashi, balki sozlamalarini saqlab qo'yishi va agar kerak bo'lsa, undan keyin foydalanishi mumkin.

Diqqat! Bu darsning kirish versiyasi, uning materiallari to'liq bo'lmasligi mumkin.

Talaba sifatida kiring

Maktab materiallariga kirish uchun talaba sifatida kiring

Yangi boshlanuvchilar uchun 1C 8.3 ma'lumotlar tarkibi tizimi: biz ma'lumotlar to'plamining ulanishini qilamiz

  • Mijozlar va ularning sevimli mahsulotlari namoyish etiladigan hisobot yozing. Har bir mijozning sevimli rangi bor, va har bir mahsulot o'z rangiga ega - bu ranglar asosida mahsulotning "sevimli" ni aniqlash kerak. Masalan, agar Andreyning eng yaxshi ko'rgan rangi qizil bo'lsa, unda uning eng sevimli ovqatlaridan biri pomidor bo'ladi (ular qizil).
  • Hisobotda ikkita ma'lumotlar to'plamini qo'llang. Birinchi to'plam "Mijozlar" qidiruv jadvalidagi ma'lumotlar. Ikkinchisi - "Oziq-ovqat" ma'lumot jadvalidagi ma'lumotlar.
  • Amalga oshirish uchun ushbu ikkita to'plamning aloqasihisobotda har bir mijoz uchun faqat sevimli mahsulotlar qolishi uchun.

Yangi hisobot yarating

Konstruktorda Gastronom ma'lumotlar bazasini oching va asosiy menyu orqali yangi hisobot yarating:

Hujjat turi - "Tashqi hisobot":

Yangi hisobot shaklida "Dars6" nomini ko'rsating va "Ochiq ma'lumotlar tarkibi sxemasi" tugmasini bosing:

Standart sxema nomini qoldiramiz:

Birinchi ma'lumotlar to'plamini qo'shish

Ochilgan diagrammada "Ma'lumotlar to'plamlari" yorlig'iga o'ting va yashil plyus belgisi orqali "Ma'lumotlar to'plamini qo'shish - so'rov" ni tanlang:

So'rov konstruktoriga qo'ng'iroq qiling:

Biz "Mijozlar" jadvalini va so'rovdan olishni istagan maydonlarni ko'rsatamiz:

Ikkinchi ma'lumotlar to'plamini qo'shish

Ikkinchi ma'lumotlar to'plamini qo'shing:

Uni tanlang (DataSet2) va so'rov konstruktorini qayta chaqiring:

Biz "Oziq-ovqat" ma'lumotnomasining jadvalini va so'rovdan olinishi kerak bo'lgan maydonlarni ko'rsatamiz:

Biz quyidagi so'rov matnini oldik:

Iltimos, biz hozirda hisobotda ikkita ma'lumotlar to'plamiga egamiz: Dataset1 va Dataset2. Ularning har biri o'z so'rovlari bo'yicha matn va ma'lumotlarga ega.

Ismlarni yanada tavsiflovchi qilish

Aniqlik uchun Dataset1-ni Clients-ga, Dataset2-ni Food-ga o'zgartiring.

Har bir to'plamni ikki marta bosish orqali buni bajaring:

Hisobotimizdagi har bir to'plam ma'lumotlaridan foydalanishimiz mumkin. Ushbu ma'lumotlarga dalalar orqali murojaat qilamiz.

Ayni paytda "Mijozlar" to'plamida quyidagi maydonlar mavjud: "Ism" va "FavoriteColor", va "Oziq-ovqat" to'plami: "Ism" va "Rang".

Ismlar bir-biriga to'g'ri kelishini ko'ramiz va biz osongina chalkashib ketamiz. Shunday qilib, maydon nomlarini yanada tavsiflovchi qilib o'zgartiraylik.

"Mijozlar" to'plamini tanlang va maydon nomlarini quyidagicha o'zgartiring:

Keyin "Oziq-ovqat" to'plamini tanlang va maydon nomlarini quyidagicha o'zgartiring:

Sozlamalar konstruktoriga qo'ng'iroq qilish

Nihoyat, Sozlamalar yorlig'iga o'ting va sozlamalar konstruktorini chaqirish uchun sehrli tayoqchani bosing:

Hisobot turi - "Ro'yxat ...":

Ikkala to'plamdan ham hisobot uchun maydonlarni tanlang:

Nima uchun maydon nomlarini o'zgartirish juda muhim bo'lganini ko'ring? Ma'lumotlar tarkibini sozlash bosqichida ushbu maydonlar qaysi to'plamlardan ekanligini ko'rmayapmiz. Biz faqat ularning ismlarini ko'ramiz.

Hisobotni tekshirish

Biz hisobotni saqlaymiz va foydalanuvchi rejimida yaratamiz:

Ha. Yaxshi, lekin aslida emas. Ikkala to'plamning o'zaro bog'lanishi deb nomlangan narsa paydo bo'ldi (siz avvalgi modullarda o'rgangan so'rovlarimizdagi qo'shilishlar bilan tanishishingiz kerak). Mijozlar jadvalidagi har bir yozuv Oziq-ovqat jadvalidagi yozuv bilan bog'liq.

Ammo biz ushbu barcha yozuvlardan faqat "FavoriteClientColor" maydoni "FoodColor" maydoniga teng bo'lganlarni qoldirishimiz kerak:

Biz ikkita ma'lumotlar to'plamini bog'laymiz

Buning uchun biz FavoriteClientColor va FoodColor maydonlarida ikkita ma'lumotlar to'plamini (Clients and Food) bog'laymiz.

"Ma'lumotlar to'plami havolalari" yorlig'iga o'ting va yangi havolani qo'shish uchun ortiqcha tugmasini bosing:

Parametrlarni quyidagi rasmdagi kabi sozlang:

Tushuntirishga ijozat bering.

Aloqa manbai va boradigan joy. Xo'sh, hamma narsa aniq. Biz birinchi to'plamni (Mijozlar) va ikkinchi to'plamni (Oziq-ovqat) ko'rsatamiz. Men sizning e'tiboringizni aloqa printsip asosida amalga oshirilishiga qaratmoqchiman tashqi chap ulanish (biz avvalgi modullarda so'rovlar mavzusida u orqali o'tdik). Shunga asoslanib siz qaysi to'plam manba, qaysi qabul qiluvchi bo'lishini tanlashingiz kerak.

Manba ifodasi. Biz bu erda iborani yoki faqat ma'lumotlar bazasidan maydonni ko'rsatamiz (bu erda biz mijozlar to'plamidan mijozning FavoriteColor maydonini ko'rsatdik).

Ifoda qabul qiluvchisi. Biz bu erda qabul qiluvchining ma'lumotlar to'plamidan biron bir ifodani yoki faqat maydonni ko'rsatamiz (bu erda biz Oziq-ovqat to'plamidan "Food Color" maydonini ko'rsatdik).

Shunday qilib, ushbu havola avvalgi ro'yxatdan faqat FavoriteClientColor maydoni FoodColor maydoniga teng bo'lgan satrlarni qoldiradi.

Hisobotni saqlaymiz va foydalanuvchi rejimida ishga tushiramiz:

Yaxshi!

Men maydon haqida tushuntirish beraman " Aloqa holati", qaysi Ajam dasturchilar tez-tez nayzalarini urishadi.

Bog'lanish sharti yordamchi maydon. Siz u erda iboralar yozishingiz mumkin faqat bog'lanish manbasida ko'rsatilgan ma'lumotlar to'plamidan maydonlarni o'z ichiga olgan.

Bunday holda, havola manbasidan olingan barcha satrlar uchun ushbu ibora (havola holati) ulanishdan oldin tekshiriladi. Va agar bu ifoda HAQI bo'lsa, u holda aloqa qabul qiluvchisidan qatorlar bilan ushbu qatorning havolalarini o'rnatishga harakat qilinadi. Agar ifoda FALSE bo'lsa, unda bunday urinishlar qilinmaydi.

Bitta ma'ruza uchun uning vizual taqdimotining bir nechta variantlari o'rnatilishi mumkin - ya'ni bir xil ma'lumotni turli xil usullar bilan kengaytirish, guruhlash va h.k. Oldindan belgilangan variantlar Sozlamalar yorlig'idagi ACS konstruktorida o'rnatiladi (rasm); variantni Enterprise rejimida ham yaratish mumkin.

Yuqori darajadagi variant standart parametr sifatida qabul qilinadi.

Konfiguratsiya qilinadigan oldindan aniqlangan variantlar uchun ularning qaysi parametrlari foydalanuvchi uchun mavjud bo'lishini belgilashingiz mumkin. Masalan, element uchun tanlov yoki guruhlashni taqiqlashingiz mumkin. Bu foydalanuvchi parametrlari xususiyatlarida ko'rsatilgan:

Sozlamaga foydalanuvchi kirish imkoniyatini ko'rsatamiz:

Bu foydalanuvchi Korxonada hisobotni o'rnatishda nimani ko'rishini aniqlaydi:

1C imtihoniga oid 11.32-savol: Professional platforma. Ma'lumotlar tarkibi sxemasidagi hisobotning qaysi versiyasi standart hisoblanadi?
  1. Variantlar ro'yxatida birinchi bo'lib paydo bo'lgan
  2. Odatiy parametr xususiyati o'rnatilgan
  3. Variantlarni yaratish jarayonida birinchi bo'lib aniqlangan
To'g'ri javob birinchi, tavsif matnda.
1C imtihonining 11.35-savoli: Professional platforma. Maxsus sozlamalar ro'yxatiga sozlamani qanday qo'shish mumkin?
  1. maxsus elementni sozlash shaklida siz elementga mos keladigan bayroqni belgilashingiz mumkin
  2. maxsus elementni sozlash shaklida tahrirlash rejimida tezkor kirishni yoqish
  3. qo'shish "Foydalanish" xususiyatidagi katakchani belgilash orqali amalga oshiriladi
To'g'ri javob birinchi.
1C imtihonining 11.40-savoli: Professional platforma. Ma'lumotlar tarkibi tizimining sozlamalarida ko'rsatilishi kerak
  1. Sozlamalar tuzilishi
  2. Tanlovlar
  3. Tanlangan maydonlar
  4. Guruhlanadigan maydonlar
  5. Tartiblash
  6. Yuqoridagilarning barchasi
To'g'ri javob birinchi. Tuzilishi talab qilinadi, qolgan barcha ACS avtomatik ravishda qo'shilishi mumkin yoki bu printsipial ravishda ixtiyoriydir.
1C imtihonining 11.41-savoli: Professional platforma. Quyidagi sozlamalarni qo'llaganingizdan so'ng hisobot shakli qanday ko'rinishga ega bo'ladi?
  1. To'rt ustunli jadval shaklida: "Mahsulot", "Ombor", "Qolgan miqdor", "Qolgan miqdor"
  2. Uchta ustunli jadval shaklida: "Mahsulot", "Ombor", "Qolgan miqdor"
  3. Ustunlar soni nolga teng bo'lmagan qoldiqlar mavjud bo'lgan omborlar soniga bog'liq bo'lgan jadval shaklida
  4. Hisobot tuzilmaydi
To'rtinchi to'g'ri javob shundaki, sozlamalar tuzilishining asosiy elementida tasdiq belgisi yo'q, shuning uchun chiqish uchun ma'lumotlar aniqlanmagan.
1C imtihon uchun 11.42-savol: Professional platforma. Agar foydalanuvchi rejimida ma'lumotlar tizimining sozlamalari bo'lmasa, hisobot tuzilganda nima bo'ladi?
  1. Ma'lumotlar tarkibi sxemasida ishlab chiquvchi tomonidan ko'rsatilgan "Standart sozlamalar" ishlatiladi
  2. Sozlash parametrlari ro'yxatidan, amaldagi variantdan so'ng foydalaniladi.
  3. Maxsus sozlamalar ishlatiladi
  4. Hisobot tuzilmaydi
To'rtinchi to'g'ri javob, foydalanuvchi ko'rsatgan narsalarga ustuvor ahamiyat berishidir. Foydalanuvchi sozlamalari bo'sh, shuning uchun hisobot tuzilmaydi.
1C imtihonining 11.43-savoli: Professional platforma.
  1. "Davr" parametrida ko'rsatilgan sananing birinchi soniyasining chap chegarasiga
  2. Virtual jadvalning "Davr" parametri uchun so'rov matnida ko'rsatilgan tashqi parametr nomi asosida yaratilgan ma'lumotlar tarkibi tizimi parametrida boshqa qiymat ko'rsatilmagan bo'lsa, haqiqiy qoldiqlar olinadi.
To'g'ri javob to'rtinchisi. "Davr" katakchasi belgilanmagan, ya'ni foydalanuvchi tanlovi o'rnatilmagan. Umuman olganda, bu haqiqiy balanslarni anglatadi, ammo davr parametri boshqa ACS sharoitida aniqlangan bo'lishi mumkin.
1C imtihonining 11.44-savoli: Professional platforma. Hisobotni tuzishda vaqt o'qining qaysi nuqtasida qoldiqlar olinadi?
  1. "Davr" parametrida ko'rsatilgan sananing birinchi soniyasining chap chegarasiga
  2. "Davr" parametrida ko'rsatilgan sananing oxirgi soniyasining o'ng chegarasiga
  3. Haqiqiy qoldiqlar olinadi
  4. Virtual jadvalning "Davr" parametri uchun so'rovlar matnida ko'rsatilgan tashqi parametr nomi asosida yaratilgan ma'lumotlar tarkibi tizimi parametrida boshqa qiymat ko'rsatilmagan bo'lsa, haqiqiy qoldiqlar olinadi.
To'g'ri javob birinchi bo'lib - tanlov bu erda aniq ko'rsatilgan.

1C imtihonining 11.45-savoli: Professional platforma. Rasmda tizim tomonidan yaratilgan standart hisobot shakli ko'rsatilgan. Qanday sozlamalar elementi ramkalangan?

  1. Maxsus sozlamalar
  2. Ruxsat etilgan sozlamalar
  3. Variant sozlamalari
  4. Element "Ma'lumotlar yo'li" xususiyati qiymatiga qarab har qanday sozlamalarga murojaat qilishi mumkin
To'g'ri javob birinchi.
1C imtihonining 11.46-savoli: Professional platforma. Hisobotda "Ombor" maydoni bo'yicha tanlov barcha turdagi sozlashlarda bir vaqtning o'zida belgilanadi. Hisobot yaratishga harakat qilsangiz nima bo'ladi?
  1. Hisobot tuzilmaydi
  2. Hisobot foydalanuvchi sozlamalari tanlovi yordamida tuziladi
  3. Hisobot sobit sozlamalardan tanlov yordamida tuziladi
  4. Hisobot joriy sozlamalar parametridan tanlov yordamida tuziladi
Qanday "har xil sozlamalar" aniq emas, lekin javoblarga ko'ra, to'g'ri variant birinchi.
1C imtihonining 11.47-savoli: Professional platforma. Hisobotda "Ombor" maydoni bo'yicha tanlov foydalanuvchi sozlamalarida ham, joriy sozlamada ham ko'rsatilgan. Hisobot yaratishga harakat qilsangiz nima bo'ladi?
  1. Hisobot "Foydalanish" bayrog'i tanlangan bo'lsa, foydalanuvchi sozlamalaridan tanlov yordamida tuziladi. Agar "Foydalanish" bayrog'i o'rnatilmagan bo'lsa, unda tanlov bo'lmaydi
  2. Hisobot "Foydalanish" bayrog'i tanlangan bo'lsa, foydalanuvchi sozlamalaridan tanlov yordamida tuziladi. Agar "Foydalanish" bayrog'i o'rnatilmagan bo'lsa, u holda sozlamalar parametridan tanlov sozlamalari ishlatiladi
  3. Hisobot "Foydalanish" bayrog'i tanlangan bo'lsa, sozlamalar parametridan tanlov yordamida tuziladi. Agar "Foydalanish" bayrog'i o'rnatilmagan bo'lsa, unda tanlov bo'lmaydi
  4. Hisobot "Foydalanish" bayrog'i tanlangan bo'lsa, sozlamalar parametridan tanlov yordamida tuziladi. Agar "Foydalanish" bayrog'i o'rnatilmagan bo'lsa, foydalanuvchi parametrlaridan filtr sozlamalari ishlatiladi
To'g'ri variant birinchi.
1C imtihonining 11.49-savoli: Professional platforma. Sozlamalar bilan ishlashda foydalanuvchi guruhlash maydonini o'rnatishi mumkin
  1. "Guruhlash" alohida oynasida
  2. "Guruhlash maydonlarini tahrirlash" alohida oynasida
  3. "Guruhlangan maydonlar" yorlig'ida
  4. "Guruhlash" alohida oynasida va "Guruhlangan maydonlar" yorlig'ida
  5. Alohida oynada "Guruhlash", alohida oynada "Guruhlash maydonlarini tahrirlash va" Guruhlangan maydonlar "yorlig'ida
To'g'ri javob beshinchi. Guruhlash oynasi:

Variantlar guruhlash maydonlarini va guruhlash maydonlarini tahrirlash:

1C imtihonining 11.50-savoli: Professional platforma. Foydalanuvchi konfiguratsiya variantini noldan yaratdi. U qanday sozlamalarni tahrirlashi kerak edi? Eng to'liq va to'g'ri javobni tanlang
  1. Tanlangan hisobot maydonlari, hisobotni tanlash, ombor bo'yicha tanlash, qo'shimcha jadval sozlamalari, elementlarni saralash, parametrlar, buyumlarning shartli dizayni
  2. Tanlangan hisobot maydonlari, hisobotni tanlash, qo'shimcha jadval sozlamalari, nomenklatura shartli dizayni, tanlangan ombor maydonlari, parametrlar, hisobotlarni saralash
  3. Tanlangan hisobot maydonlari, hisobotni tanlash, ombor bo'yicha tanlash, qo'shimcha jadval sozlamalari, nomenklaturaning shartli dizayni, parametrlari, hisobot tuzilishi
  4. Tanlangan hisobot maydonlari, hisobotni tanlash, ombor bo'yicha tanlash, qo'shimcha hisobot parametrlari, parametrlar, buyumning shartli dizayni, hisobot tuzilishi
To'g'ri javob uchinchisi, siz skrinshotni diqqat bilan ko'rib chiqishingiz kerak.
Maqola sizga yoqdimi? Do'stlar bilan bo'lishish uchun: