Avtomobil kreditlari. Aksiya. Pul. Ipoteka. Kreditlar. Million. Asoslar. Investitsiyalar

Funktsional variantni oling. funktsional variantlar. Ishlash printsipi va foydalanish namunasi. Funktsional variantlar parametrini yaratish

1C: Enterprise 8.2 platformasining chiqarilishi bilan konfiguratsiya daraxtida yangi ob'ekt paydo bo'ldi - "Funktsional variantlar". U boshqariladigan shakllarga asoslangan barcha tipik konfiguratsiyalarda faol foydalaniladi va ko'rsatish jarayonini soddalashtirishga xizmat qiladi. individual tafsilotlar, interfeysdagi ob'ektlar. Masalan, sizning konfiguratsiyangizda tashqi veb-xizmatlar bilan almashish uchun modul mavjud. Ushbu modul hujjatlarda, registrlarda va quyi tizimlardagi alohida komponentlarda bir qator tafsilotlardan foydalanadi. Modul ixtiyoriy va har bir kompaniya tomonidan talab qilinmaydi. Bu mantiqiy, chunki hamma ham modulga muhtoj emas, shuning uchun u bilan bog'liq barcha elementlarni / maydonlarni ko'rsatish har doim ham kerak emas.

Platformaning eski versiyalarida bunday muammolarni hal qilish uchun barcha qaram bo'limlarda chaqirilishi kerak bo'lgan qo'shimcha kod yozish kerak edi. Misol uchun, agar bizga ma'lum shakl ma'lumotlarini yashirish kerak bo'lsa (sozlama qiymatiga qarab), formani ochishda tegishli kodni chaqirishimiz kerak edi. Bu juda qulay emas edi va ko'p hollarda ishlab chiquvchilar bunday narsalardan voz kechishdi.

Xo'sh, agar siz faqat hujjatlar ko'rinishidagi maydonlarni yashirishni istasangiz, lekin bizda foydalanuvchilarning o'zaro aloqasi ham mumkin bo'lgan registrlar shakllari mavjud bo'lishi mumkin. Umumiy displeyni boshqarish funktsiyasini yozish juda qiyin va qo'shimcha vaqt talab qiladi, bu hech qachon etarli emas.

Funktsional variantlar foydalanuvchi interfeysida interfeys elementlari / mavjud ob'ektlar tarkibini ko'rsatish bilan bog'liq ushbu va boshqa ko'plab qiyinchiliklarni hal qilish uchun mo'ljallangan. Ushbu eslatmada men funktsional variantlarning asosiy maqsadini qo'llash misollarini ko'rib chiqmayman, lekin ulardan unchalik standart bo'lmagan tarzda foydalanishga e'tibor beraman. Ehtimol, bu ko'plab ilg'or ishlab chiquvchilarga tanish, lekin men bu usulga tasodifan kelganman. Aniqrog'i, u JavaScript-da dasturlash amaliyotidan ilhomlangan.

№1 holat: boshqa ob'ektlar ustidan o'rash sifatida funktsional variant

Funktsional variantlarning birinchi nostandart xususiyati o'rashlarni yaratish qobiliyatidir. Eng oddiy misolni ko'rib chiqing - doimiylar. Masalan, siz juda ko'p foydalanuvchi rollari bo'lgan konfiguratsiyaga yangi doimiy qo'shasiz. Foydalanuvchilar konstanta qiymatiga kirishlari uchun siz o'qish ruxsatnomalari uchun tegishli rollarni o'rnatishingiz kerak. Agar huquqlar o'rnatilmagan bo'lsa, foydalanuvchilar uning qiymatini ololmaydilar. Agar ko'plab rollar mavjud bo'lsa va ular asosiy roldan meros bo'lib o'tmagan bo'lsa, unda siz tegishli katakchalarni tekshirishga vaqt sarflashingiz kerak bo'ladi.

Funktsional variant bu muammoni yanada oqlangan tarzda hal qilishi mumkin. Fikr quyidagicha: biz doimiy (masalan, ) hosil qilamiz. Biz unga huquq bermaymiz. Biz bir xil nomdagi funktsional variantni yaratamiz va uni mulkda ko'rsatamiz "Saqlash" doimiyni belgilang "Ma'lumotlarni saqlash qobiliyati". Biz bayroqni ham o'rnatdik "Qabul qilishda imtiyozli rejim".

Hammasi shunday, endi kodning istalgan joyida siz doimiyga murojaat qilmoqchi bo'lsangiz, biz shunday yozamiz:

Imtiyozli rejimga parametrni o'rnatganimiz sababli, doimiy uchun qo'shimcha huquqlar ko'rsatilishi shart emas. Albatta, bu texnikani barcha mumkin bo'lgan va aqlga sig'maydigan vaziyatlarda qo'llash shart emas. Esda tutingki, huquqlarning to'g'ri tartibga solinishi xotirjamlikning kalitidir. Hiyla-nayrangni faqat juda zarur bo'lganda foydalaning.

Ish raqami 2. Abstraktsiyaning qo'shimcha darajasi

Men bu usulni qanday qilib to'g'ri chaqirishni bilmayman, lekin mening fikrimcha, bu xuddi shunday. Oldingi misolni ko'rib chiqing. Bizda hali ham bir xil doimiy "Ma'lumotlarni saqlash qobiliyati" mavjud. Biz u bilan o'rash bilan bir xil nomdagi funktsional variantdan foydalanib ishlaymiz.

Endi tasavvur qiling-a, biz doimiydan xalos bo'lishni va ma'lumotnomadan foydalanishga o'tishni xohladik. Bunday muammoni hal qilishning odatiy stsenariysi (agar biz faqat doimiydan foydalansak) doimiyga havolani topish uchun global qidiruv vositasini ishga tushirish bo'ladi. Sizga shuni eslatib o'tamanki, agar biz o'rash sifatida funktsional variantdan foydalanmasak, unda shunday doimiyga murojaat qilishimiz kerak:

Constants.DataSaveAbility.Get();

Biz barcha qo'ng'iroqlarni topamiz va uni yangi saqlash ob'ektiga yo'l bilan almashtiramiz. Qabul qilaman, bu juda noqulay. Agar biz oldingi holatni ishlatgan bo'lsak (funktsional variantni o'rash sifatida ishlatgan bo'lsak), unda "ko'chirish" uchun biz faqat funktsional variantning xususiyatlariga o'tishimiz va xususiyatni o'zgartirishimiz kerak. "Saqlash". Masalan, u erga qo'ying "Katalog" yoki "Axborot reestri". Global qidiruvga ega o'yinlar talab qilinmaydi. Funktsiya opsiyasi orqali doimiy qiymatga kirish uchun kod bir xil bo'lib qoladi:

GetFunctionOption("Ma'lumotlarni saqlash imkoniyati");

Funktsiya parametrlari "Umumiy" guruhida joylashgan metadata ob'ekti:

Funktsional variantlar - bu konfiguratsiyaning o'zini o'zgartirmasdan, foydalanuvchi ehtiyojlariga qarab dastur yechimidagi ba'zi funksiyalarni yoqish yoki o'chirish imkonini beruvchi funktsional variantlar mexanizmining bir qismi.
Masalan, har bir tashkilot inventar nazoratidan foydalana olmaydi. Agar ombor hisobi ishlatilmasa, barcha hujjatlar, ma'lumotnomalar va registrlarda ombor maydonini olib tashlash mantiqan to'g'ri keladi - keyin bizning yordamimizga funktsional variantlar keladi.

Keling, bir misolni ko'rib chiqaylik:

Keling, funktsional variantni yarataylik " Ombor hisobi".
Saqlash: qiymatni saqlaydigan maydon ko'rsatilgan.
Siz doimiyni, katalog atributini yoki axborot registrining resursini tanlashingiz mumkin.
Biz doimiydan foydalanamiz.

Keling, doimiyni yarataylik " Buxgalteriya hisobini omborlarda saqlang" va uni saqlash maydonida tanlang. Bu doimiy funktsional parametrni yoqish va o'chirish uchun javobgar bo'ladi. "Qabul qilishda imtiyozli rejim" katagiga belgi qo'ying. Bu belgi funktsional parametr qiymatlari imtiyozli rejimda qabul qilinishini bildiradi. :

Biz 1C Enterprise-ni yangilayapmiz, ishga tushirmoqdamiz. Konstanta qiymatini o'rnating = True:

Natijada, bizda:

Konstanta = False qiymatini o'rnatganda, biz quyidagilarni olamiz:

Savolingiz bormi, sizga maslahatchi yordami kerakmi?

Shunday qilib, biz DirectoryLink.Warehouse tipidagi maydonlarni boshqaradigan funktsional variantni yaratdik

Endi funksiya parametrlari parametrlaridan foydalanish misolini ko‘rib chiqamiz.
Keling, yangi funktsional variantni qo'shamiz " Valyuta hisobi"
Saqlash: Directory.Organization.Props.Valyuta hisobi


Tarkibga "Tovar narxlarini belgilash" - "Valyuta" hujjatining tafsilotlarini qo'shamiz.


"CreationAtServer" va "OrganizationOnChange" protseduralarida hujjat shaklida
Keling, quyidagi kodni qo'shamiz:

Konfiguratsiyani yangilang va uni ishga tushiring.
Biz ikkita tashkilot yaratamiz va ulardan biri uchun "Valyuta hisobi" katagiga belgi qo'yamiz.

Natijada nimaga erishamiz? Funktsional opsiyaning parametrlaridan foydalanish natijasida siz va men "Element narxlarini belgilash" hujjatidagi "Valyuta" maydonining parametrik nazoratini oldik. Bular. Alfa tashkiloti uchun Valyuta maydoni ko'rsatiladi va Beta tashkiloti uchun Valyuta maydoni ko'rsatilmaydi.
Keling, bunga ishonch hosil qilaylik. Hujjatni oching va "Tashkilot" maydonini o'zgartirishga harakat qiling
org="alfa" ni o'rnatishda valyuta ko'rsatiladi; "Beta" ga o'zgartirish - valyuta olib tashlanadi



1. Kirish huquqlari.

Aslida, hamma narsa juda oddiy. Odatiy bo'lib 1C da ruxsat etilmagan hamma narsa taqiqlanadi. U yerda kirish uchun mas'ul faqat bitta shaxs foydalanuvchi har qanday funksiya yoki ma'lumotlarga. Ushbu ob'ekt deyiladi "Kirish huquqi". U faqat muayyan ish rejimiga, katalogga, atributga... kirish uchun mas'ul element.

Kirish huquqlari turlarining soni platforma tomonidan oldindan belgilanadi. Butun platformada kirish huquqlarining ikkita asosiy guruhi mavjud. Butun tizim uchun umumiy platforma mexanizmlariga kirish huquqi, platformaning muayyan ish rejimlariga kirish uchun mas'ul (Ma'muriyat, Eksklyuziv rejim, Yupqa mijoz, Tashqi hisobotlarni interaktiv ochish....). Va ob'ekt ruxsatnomalari, turli xil konfiguratsiya ob'ektlari bilan ishlash imkonini beradi. Ularning soni konfiguratsiya ob'ektining turiga bog'liq. Masalan, katalogga kirishning 16 xil turi mavjud (O'qish, Qo'shish, O'zgartirish, O'chirish....). Axborot reestriga kirishning faqat besh turi mavjud. Bu huquqlarning barchasi faqat butun katalog darajasida o'rnatilishi mumkin. Bundan tashqari, atribut darajasida kirishni cheklashingiz mumkin. Ammo bu holda huquqlar turlarining faqat bir qismi mavjud (kataloglar uchun bular Ko'rish va Tahrirlash huquqlari).

Barcha kirish huquqlari bir-biriga bog'langan va bir-biriga bog'liq. Yuqori va pastki darajalar mavjud. Agar foydalanuvchi yuqori darajadagi harakatlarni amalga oshirish huquqiga ega bo'lmasa, siz quyi darajadagi huquqni bera olmaysiz.

O'ylab ko'ring katalogga kirish huquqi. Ushbu diagrammada siz ko'pgina huquqlar umumiy huquqlarning takomillashtirilganligini ko'rishingiz mumkin. Agar O'ng1 to'liq boshqa O'ng2 ning to'rtburchak ichidagi diagrammada joylashgan bo'lsa, O'ng1 ni O'ng2 ni bermasdan chiqarib bo'lmaydi. Eng keng tarqalgan huquq "O'qish" huquqidir. Agar "O'qish" huquqi yo'q bo'lsa, boshqa barcha huquqlar mavjud emas. Agar Qo'shish huquqi mavjud bo'lmasa, Interaktiv qo'shish huquqini o'rnatib bo'lmaydi. Biroq, huquqlar tizimini to'liq ierarxiya deb atash mumkin emas. Masalan, "Tahrirlash" huquqi faqat "Ko'rish" va "O'zgartirish" huquqlariga ega bo'lsangiz berilishi mumkin. Lekin "O'zgartirish"siz "Ko'rish" yoki "Ko'rish"siz "O'zgartirish" ni berish mumkin.

Kirish huquqi - kirishning eng kichik birligi. Barcha kirishni boshqarish foydalanuvchiga to'g'ri huquqlar to'plamini berishdan iborat. Qolgan ob'ektlar (rollar, kirish guruhlari) faqat guruhlash va kirish huquqlarini yanada qulayroq berish uchun xizmat qiluvchi qo'shimcha bog'lanishdir.

2. Rollar - kirish huquqini berish mexanizmi

Keling, u qanday ishlashini ko'rib chiqaylik foydalanuvchiga kirish huquqini berish. 1C platformasida kirish huquqlarini berish qulayligi uchun maxsus "Roly" mexanizmi. Bu ma'lumotlar bazasi foydalanuvchilari va kirish huquqlari o'rtasidagi qatlam. Har bir rol kirish huquqlari to'plamini birlashtiradi, ularning tayinlanishi faqat bir vaqtning o'zida mantiqiy bo'ladi. Masalan, "Kontakt ma'lumotlarini o'qish" rolida tegishli kataloglar uchun javobgar bo'lgan huquqlar to'plamini kontakt ma'lumotlari bilan birlashtirish mantiqan to'g'ri keladi. Ko'pchilik oddiy tarzda rolni foydalanuvchiga belgilash konfiguratorda IB foydalanuvchi kartasini ochish va foydalanuvchiga kerak bo'lgan rollar yonidagi katakchalarni belgilash. Bu universal usul va u har qanday konfiguratsiyada ishlaydi. Biroq, konfiguratsiyalarning murakkablashishi va rollar sonining ko'payishi bilan bu juda mashaqqatli bo'lib qoldi. Shu sababli, joriy standart echimlarda axborot xavfsizligi foydalanuvchisi va rollar o'rtasida qo'shimcha qatlam mavjud. Ushbu qatlam shaklda amalga oshiriladi "Kirishni boshqarish" quyi tizimi. Bu sizga rollarni kattaroq ob'ektlarga - "Profillar" ga birlashtirish va foydalanuvchini endi tayinlash imkonini beradi individual rollar, lekin bir nechta rollar to'plamini o'z ichiga olgan profillar.

Ko'pgina odatiy konfiguratsiyalarda ishlatiladigan foydalanuvchilarga kirish huquqlarini belgilash sxemasini ko'rib chiqing. Soddalashtirilgan shaklda uni quyidagicha ifodalash mumkin. Yangi ob'ektlar kiritiladi "Profilga kirish" va "Kirish guruhi". Har bir kirish profili bir nechta rollarni o'z ichiga oladi. Va har bir foydalanuvchiga bir yoki bir nechta kirish guruhlari tayinlanadi. Keyinchalik, har bir kirish guruhi kirish profili bilan bog'lanadi. Natijada, biz foydalanuvchi uchun nafaqat rollarni, balki u bajaradigan funktsiyalarga qarab rollar to'plamini belgilash imkoniyatiga ega bo'lamiz.

Texnik nuqtai nazardan, ushbu huquqlarni berish tizimi ikkita standart quyi tizimlar ishtirokida amalga oshiriladi. "Kirishni boshqarish" quyi tizimi konfiguratsiyada oldindan belgilangan rollar bilan kirish guruhlari assotsiatsiyasini sozlash uchun ishlatiladi. "Foydalanuvchilar" quyi tizimi IS foydalanuvchilari va konfiguratsiyaga kirish guruhlari o'rtasida aloqalarni o'rnatish uchun ishlatiladi.

3. "Ruxsatlar mantig'i" rollarning kesishish qoidasi sifatida.

1C da kirishni boshqarishning umumiy mantig'i ekanligini tushunish muhimdir ruxsat mantiqi. Umuman olganda, 1C platformasida kirish cheklovlari mavjud emas. Faqat mexanizmlar mavjud ruxsat berish. Odatiy bo'lib, barcha ma'lumotlarga kirish taqiqlanadi va kirish sozlamalari har bir foydalanuvchiga kerakli huquqlarni berishdir. Bu shuni anglatadiki, agar biron bir rol foydalanuvchiga "Tovarlarni sotish" hujjatlarini ko'rish huquqini beradigan bo'lsa, unda bu huquqni hech qanday tarzda olib qo'yish mumkin emas boshqa rollar yoki boshqa platforma va konfiguratsiya mexanizmlari. Siz dastlab katalogga to'liq kirish huquqini berishingiz mumkin emas, balki RLS-dan foydalanib biz ruxsat beradigan ma'lumotlarni filtrlashingiz mumkin. Ammo agar kirish allaqachon berilgan bo'lsa, uni boshqa rollar olib tashlab bo'lmaydi.

Shuning uchun, foydalanuvchining katalogga kirishini rollar bo'yicha cheklashda, foydalanuvchiga bir xil katalogga boshqa rol tayinlanmaganligini tekshirish juda muhimdir. Aks holda, birinchi rol zaruriy ruxsatni beradi, ikkinchisi buni rad eta olmaydi.

Platforma foydalanuvchiga ma'lum bir operatsiyani bajarish uchun qo'shimcha huquqlar berish imkoniyatiga ega. Bu xususiyat "Privileged Mode" deb ataladi. Bu foydalanuvchiga o'zi uchun mavjud bo'lmagan ma'lumotlar bo'yicha harakatlarni amalga oshirish imkonini beradi. Biroq, platformada hatto vaqtinchalik foydalanuvchi huquqlarini qisqartirish imkoniyati yo'q.

4. Bilvosita kirishni boshqarish.

To'g'ridan-to'g'ri kirishni boshqarish uchun mo'ljallanmagan bo'lsa-da, unga bilvosita ta'sir qiladigan va qo'shimcha cheklovlar uchun ishlatilishi mumkin bo'lgan alohida mexanizmlar mavjud. Keling, ularning asosiy xususiyatlarini ko'rib chiqaylik.

4.1. funktsional variantlar.

Kirishni boshqarish tizimi ba'zan mexanizm deb ataladi funktsional variantlar. Bu mutlaqo to'g'ri emas, chunki funktsional imkoniyatlar ma'lumotlarga kirishga hech qanday ta'sir qilmaydi. Bu faqat interfeys mexanizmi, foydalanuvchi uchun interfeysni soddalashtirish uchun mo'ljallangan. U 8.2 platformasida konfiguratsiya funksiyasining murakkablashishi natijasida paydo bo'ldi. Funktsional variantlar mo'ljallangan interfeysdan yashirish uchun ushbu kompaniyada yoki ushbu foydalanuvchida ishlatilmaydigan funksionallik. Mexanizm faqat ma'lumotlarni ko'rsatishga ta'sir qiladi. Buyruqlar interfeysdan yo'qoladi va funktsional variantlar tomonidan o'chirilgan tafsilotlar shakllarda yashiringan. Qayerda foydalanuvchi barcha ushbu buyruqlar va tafsilotlarga kirish huquqiga ega. U yashirin ma'lumotlar bilan hech qanday muammosiz ishlov berishdan foydalangan holda dasturiy ravishda ishlashi mumkin.

ITS da funktsional variantlar bilan ishlash haqida ko'proq o'qishingiz mumkin

4.2. RLS (Rekord darajadagi xavfsizlik)

Yuqorida sanab o'tilgan barcha mexanizmlar umuman ob'ektlarga kirishni ta'minlashga ta'sir qiladi. Kataloglarga, hujjatlarga, ma'lumotnomalar tafsilotlariga. Kirish huquqlari ob'ektlarga kirishga ta'sir qiladi, funktsional variantlar interfeysdagi ob'ektlarni ko'rsatishga ta'sir qiladi. Ko'pincha foydalanuvchiga katalog yoki hujjat ma'lumotlariga kirishga ruxsat berish vazifasi mavjud. Ammo barcha ma'lumotlarga emas, balki faqat ba'zilariga. Masalan, faqat bitta tashkilot uchun amalga oshirish hujjatlariga kirishga ruxsat bering.

Ushbu ruxsatni o'rnatish uchun qo'shimcha mexanizm mavjud. RLS (Rekord darajadagi xavfsizlik). Nomidan ko'rinib turibdiki, ushbu kirishni boshqarish mexanizmi maxsus jadval yozuvlari darajasida. Agar kirish huquqlari butun jadvallarga (kataloglarga) yoki jadvallar ustunlariga (tafsilotlarga) kirishni ta'minlasa, u holda RLS foydalanuvchiga ishlashga ruxsat berilgan jadvallarning (yozuvlarning) ma'lum qatorlarini belgilaydi. Bu foydalanuvchi uchun mavjud bo'lgan ma'lumotlarni aniqlash imkonini beradi.

Ushbu mexanizmni tahlil qilganda, har doim buni esga olish kerak RLS kirishni rad etish mexanizmi emas. U mexanizmdir ruxsat berishni filtrlash. Bular. RLS foydalanuvchi huquqlariga ta'sir qilmaydi, bu huquqlarni berishni cheklovchi filtrdir. RLS faqat ro'yxatdan o'tgan "Rol" - "Kirish huquqi" ulanishiga ta'sir qiladi. Va boshqa rollar tomonidan berilgan kirish huquqlariga ta'sir qilmaydi. Misol uchun, agar bitta rol faqat Tashkilot1 tomonidan hujjatlarga kirishga ruxsat bersa va boshqa rol Ombor1 tomonidan hujjatlarga kirishga ruxsat bersa, natijada foydalanuvchi Tashkilot1 YOKI Ombor1ni ko'rsatadigan barcha hujjatlarga kirish huquqiga ega bo'ladi. Shuning uchun, agar foydalanuvchiga bir nechta rollar tayinlangan bo'lsa, unda RLS yordamida filtr har bir rolda o'rnatilishi kerak ikkala maydon uchun (tashkilot va ombor bo'yicha). Odatdagi echimlarda bu vazifa odatda bitta rolni yaratish orqali hal qilinadi, unda barcha mumkin bo'lgan RLS filtrlari ro'yxatga olinadi. Keyinchalik bu rol ushbu kataloglar bilan ishlaydigan barcha foydalanuvchilarga tayinlanadi. Shuningdek, foydalanuvchi cheklangan hujjatlarga kirish huquqini o'z ichiga olgan boshqa rollarga kirish huquqiga ega emasligini ham nazorat qiladi.

Shuni ham ta'kidlash kerakki, RLS filtrlari ma'lumotlarga kirishning barcha mumkin bo'lgan turlariga emas, balki faqat ularga qo'llanilishi mumkin yuqori darajadagi kirish turlari. Masalan, mavjud bo'lgan o'n olti turdagi kirish kataloglari uchun RLS filtrlari faqat to'rtta asosiy filtrga qo'llanilishi mumkin: o'qish, o'zgartirish, qo'shish va o'chirish. Bu shuni anglatadiki, biz, masalan, foydalanuvchiga har qanday hujjatlar bilan dasturiy jihatdan ishlash qobiliyati uchun filtrsiz "O'zgartirish" huquqini va bir vaqtning o'zida interaktiv ishlarni tashkil qilish uchun RLS filtri bilan "Tahrirlash" huquqini bera olmaymiz. Agar foydalanuvchi hujjatlarni RLS filtri bilan tahrirlashini istasak, yuqori darajadagi "O'zgartirish" yoki "O'qish" da umumiy filtrni qo'llashimiz kerak.

Mexanizmlarning umumiy murakkabligini hisobga olgan holda, odatiy konfiguratsiyaning ma'lum bir foydalanuvchisi uchun aniq nima mavjudligini aniqlash juda qiyin. Oddiy konfiguratsiyalarda berilgan huquqlarni tekshirish uchun juda qulay hisobot mavjud bo'lib, u deyiladi "Ruxsatnomalar". U foydalanuvchiga berilgan barcha huquqlarni tahlil qiladi va RLS filtrlarini hisobga olgan holda barcha kirish guruhlari tomonidan berilgan huquqlarning yakuniy ro'yxatini ko'rsatadi.

4.3. Ma'lumotlarni ajratish.

Ma'lumotlarga kirishga ta'sir qiluvchi yana bir mexanizm ma'lumotlar almashish. Ushbu mexanizm birida foydalanish uchun mo'ljallangan jismoniy asos umumiy konfiguratsiyaga ega bo'lgan bir nechta mustaqil ma'lumotlar bazalarining ma'lumotlari va umumiy kataloglar. Ba'zi juda cheklangan hollarda, bu mexanizm kirishni boshqarish sifatida ko'rib chiqilishi mumkin. U yoqilganda, har bir foydalanuvchi faqat o'zining mustaqil ma'lumotlar bazalaridan birida ishlashi mumkin, lekin ayni paytda umumiy ma'lumotlardan foydalanishi mumkin.

Ba'zi bir umumiy ma'noda, bu mexanizm ma'lumotlar filtri va RLSni amalga oshirishning alohida holati sifatida ham ko'rib chiqilishi mumkin. RLS dan farqli o'laroq, ajratish ancha qattiq mexanizmdir. Va bu qat'iylik tufayli ishlab chiquvchilar RLS-ga xos bo'lgan sekinlashuvlarsiz bunday filtrlashni amalga oshirish uchun qo'shimcha indekslardan foydalanishning texnik qobiliyatiga ega.

Aslida RLS shunchaki qo'shimcha yordamdir, har bir ma'lumotlar bazasi so'roviga avtomatik ravishda qo'shiladi. Ma'lumotlarni bo'lish chegaralovchi qo'shishdir barcha bo'lingan jadvallar va ularning indekslari, shu jumladan klasterlangan. Ma'lumotlar ajratuvchi kontekstida guruhlangan, ya'ni. diskda jismoniy qayta taqsimlanadi har bir ajratuvchi qiymat uchun alohida guruhlarga bo'linadi. Buning yordamida har bir foydalanuvchi faqat o'z ma'lumotlari bilan ishlaydi va server har bir so'rov bilan butun jadvalni jismoniy skanerlashi shart emas. Faqat joriy bo'limning ma'lumotlar maydonini ko'rish kifoya.

Biroq, aynan ma'lumotlarning jismoniy qayta taqsimlanishi tufayli, chegaralovchi qiymatlar bo'yicha filtrga ega bo'lmagan to'liq foydalanuvchi ishlaganda, barcha so'rovlar juda va juda sekin ishlaydi. Ajratuvchi qiymatsiz indekslardan to'liq foydalanish mumkin emas, shuning uchun diskdan jismoniy o'qiladigan va har bir so'rov bo'yicha qayta ishlanadigan ma'lumotlar miqdori mumkin buyurtmalarning ko'payishi. Shunga ko'ra, haqiqatda, ma'lumotlar bazasida doimiy ishlaydigan barcha foydalanuvchilar faqat o'z hududida ishlasagina, ajratish mantiqiy bo'ladi.

4.4. Dastur kodi.

Ehtimol, qo'shimcha cheklovlarni o'rnatishning eng universal usuli dasturlash kodi. Ular platformaning har qanday mexanizmlariga ta'sir qilishi mumkin. Misol uchun, hujjatlarga kirishni cheklash uchun ishlab chiquvchi hujjatlar ro'yxati shakliga, tanlov shakliga filtr qo'shishi va ma'lum bir hujjat shaklini ochishda hujjat ma'lumotlarini ko'rish imkoniyatini dasturiy tekshirishi mumkin. Ishlab chiquvchi o'z hisobotlarida ma'lumotlarni tanlashda filtrni qo'llashi mumkin.

Biroq, dastur kodi konfiguratsiya bilan bir butun sifatida huquqlarni cheklashning hech qanday usuli yo'q. Ishlab chiquvchi qila oladigan eng ko'p narsa ma'lumotlarni olishning alohida mexanizmlariga cheklovlar yaratishdir. 1C ma'lumotlar bilan ishlash uchun ob'ekt modelidan foydalanganligi sababli, ma'lumotlarni o'zgartirishdan himoya qilish uchun dastur kodini kafolatlash mumkin, qo'shish zarur tekshiruvlar ob'ekt moduliga. Ammo ishlab chiquvchi foydalanuvchi boshqa hisobotlar yoki qayta ishlash orqali boshqa odamlarning amalga oshirish hujjatlari to'g'risida ma'lumot ololmasligiga to'liq kafolat bera olmaydi.

Bu tamoyil, masalan, ishlatiladi. Konfiguratsiyaga ulanish orqali kengaytma foydalanuvchi cheklovlarini qo'shadi va barcha katalog va hujjatlarni tekshiradi. U ro'yxatlarda foydalanuvchilarga ko'rsatiladigan ma'lumotlarni filtrlaydi, ma'lumotlarni ko'rish yoki o'zgartirish vaqtida kirishni tekshiradi. Taqiqlangan ma'lumotlarni o'zgartirib bo'lmasligini ta'minlaydi. Lekin u hisobotlar yoki so'rovlardagi ma'lumotlarni filtrlay olmaydi.

Taqiqlangan ma'lumotlarni so'rov, shaxsiy ishlov berish yoki hisobot orqali olish uchun har doim variantlar mavjud. Foydalanuvchi tomonidan ishlatiladigan konfiguratsiya funktsiyalari ro'yxatini juda qattiq cheklash va foydalanuvchiga ruxsat berilgan har bir mexanizmga (shakl, ishlov berish, hisobot, so'rov) alohida filtr qo'shish mumkinmi?

4.5. Variantlarni taqqoslash.

Keling, qo'shimcha ma'lumotlarni cheklash uchun ko'rib chiqilgan variantlarni qisqacha solishtirishga harakat qilaylik.

Uni qanday yoqish kerak

Nima bo'ladi

Funktsional variantlar- funksionallikni yashirish uchun interfeys mexanizmi

1. Funktsional variant uchun saqlash joyini qo'shing: doimiy, ma'lumotnomaning atributi yoki axborot registrlari resursi.
2. Konfiguratsiyaga funktsional variantni qo'shing va unda avval yaratilgan saqlash joyini belgilang.
3. Funktsional variantning xususiyatlarida uning tarkibini belgilang, unga bog'liq bo'lgan barcha konfiguratsiya ob'ektlarini belgilang.
4. Korporativ rejimda funktsional variantdan foydalanishni yoqing.

1. Funktsional variantga kiritilgan barcha ob'ektlar endi buyruq interfeysida ko'rsatilmaydi.
2. Variant bilan yashirilgan barcha maydonlar shakllar va hisobotlarda yo'qoladi.

RLS (Rekord darajadagi xavfsizlik)- ruxsat etilgan rol huquqlari bo'yicha qo'shimcha filtrlar

1. Cheklanishi kerak bo'lgan huquqlarning har biri uchun har bir foydalanuvchi rolida RLS filtrlarini ro'yxatdan o'tkazing.

Eslatma: Korxona rejimida hech qanday harakat talab etilmaydi. Filtrlar avtomatik ravishda qo'llaniladi.

1. Konfiguratsiya qilingan filtr IBga har bir so'rovga qo'shiladi.
2. RLS filtriga mos kelmaydigan ma'lumotlarni hech qanday vosita bilan olish mumkin emas: ular shakllarda, hisobotlarda ko'rsatilmaydi; hech qanday so'rovlar bo'yicha tanlanmaydi.

Ma'lumotlarni ajratish- bir nechta mustaqil ma'lumotlar bazasini saqlash

1. Umumiy ma'lumotlar tarkibini aniqlaydigan konfiguratsiyaga umumiy atribut qo'shing.

2. Ikki seans parametrini qo'shadi: foydalanish bayrog'i va joriy ma'lumotlarni ajratish qiymati uchun.

3. Ma'lumotlarni ajratishni yoqish uchun dastur kodini qo'shing va ajratgichning joriy qiymatini to'ldiring.

1. Konfiguratsiyaga ma'lumotlarni bo'lish qobiliyati qo'shilgandan so'ng, bo'lish qobiliyati qo'shilgan jadvallar jismoniy jihatdan qayta tiklanadi.

  • Ajratish qiymatini saqlash uchun "Ajratish" maydoni qo'shiladi.
  • Jadvallardagi barcha indekslar qayta tiklanadi. Ajratuvchi maydon ularga birinchi maydon sifatida qo'shiladi.

2. Ajratish yoqilgandan keyin.

  • Mutlaqo ISga bo'lgan barcha so'rovlar ajratuvchi qiymati bo'yicha filtrlanadi.
  • Har qanday ma'lumotni yozishda ajratuvchining qiymati seans parametrining qiymatiga muvofiq avtomatik ravishda to'ldiriladi.
Dastur kodi- har qanday qo'shimcha nuqta cheklovlari
1. Overlay kodini qo'shing zarur cheklovlar konfiguratsiyaga.

1. Yozilgan narsani aniq bajaradi.

Eslatma: kod umuman konfiguratsiyaga ta'sir qilmaydi, lekin faqat harakat yoziladigan o'ziga xos mexanizmga ta'sir qiladi

5. Natijalar.

Cheklovlarni o'rnatishning har bir usuli o'zining ijobiy va salbiy tomonlariga ega. Texnologiya nuqtai nazaridan, eng to'g'ri yo'l - bu rollarga malakali bo'linish. Mavjud ma'lumotlarni filtrlash uchun eng ishonchli usul RLS dan foydalanishdir. Aynan shu vazifa uchun mexanizm ishlab chiqilgan. Nuqta cheklovlari kod yordamida amalga oshirish uchun eng osondir. Funktsional variantlar va ma'lumotlarni almashish kirishni cheklash uchun mo'ljallanmagan o'ziga xos mexanizmlardir. Garchi ba'zi hollarda ular buning uchun ishlatilishi mumkin.

Funktsional variantlar va Funktsiya varianti parametri- bular 1C 8.3 (8.2) konfiguratsiya ob'ektlari bo'lib, ular birgalikda funktsional variantlar mexanizmini ifodalaydi. Funktsional variantlar mexanizmi - bu foydalanuvchilarga kerak bo'lgan funksiyalar to'plamini aniqlash imkonini beruvchi funksionaldir.

Oddiy qilib aytganda, funktsional variantlar mexanizmi konfiguratsiyadagi turli funktsiyalar uchun yoqish/o'chirish tugmasi.

Nima uchun funksionallikni o'chirib qo'yishingiz kerak?

267 1C video darslarini bepul oling:

Ko'pincha qo'shimcha funktsiyalar xodimlarning ishini murakkablashtirishi mumkin. 1C-da funktsional variantlardan foydalanishning oddiy misoli shundaki, ma'lumotlar bazasi bitta tashkilot yoki ombor uchun yozuvlarni saqlaydi, nega foydalanuvchi ushbu ma'lumotlarni barcha hujjatlarda to'ldirishga majbur qiladi?

Funktsional variantlar nimani nazorat qiladi?

Avvalo, funktsional variantlardan foydalanish interfeysda eng qulay tarzda aks ettirilgan: forma tafsilotlari, buyruq shakllari, umumiy interfeys - bularning barchasi funktsional variantlar bilan bog'lanishi mumkin. Funktsional variantlarning qiymatiga qarab, ga asoslangan hisobotdagi ma'lumotlarning chiqishini cheklashingiz mumkin.

Ob'ekt 1c "Funktsional variantlar" - dastur yechimida o'zini o'zgartirmasdan amalga oshirish jarayonida yoqish (o'chirish) mumkin bo'lgan funksionallikni ta'kidlash uchun mo'ljallangan (quyi tizimlar bilan birgalikda ular 1C nozik mijoz interfeysini tashkil qiladi). Ular funktsional variantlar mexanizmining bir qismidir.

Funktsiya variantlari mexanizmi ikkita metadata ob'ektini o'z ichiga oladi:

  1. Funktsional variant;
  2. Funktsional variantlar parametrlari.

Ko'proq

Funktsiya varianti ilova interfeysi tarkibiga bevosita ta'sir ko'rsatishi mumkin bo'lgan metadata ob'ektidir (agar funktsional parametr o'z qiymatini mantiqiy atributda saqlasa). Ushbu turdagi ob'ektlar yordamida siz erishib bo'lmaydigan funksionallikka tegishli elementlarni yashirishingiz mumkin. Masalan, Valyuta hisobi opsiyasi Valyutalarni, Valyutani maydonidan, Valyuta summasi ustunini hisobotlardan yashirishi mumkin.

Funktsional parametr qiymatining manbai xususiyat sifatida tanlangan metadata ob'ektidir Saqlash , masalan, bo'lishi mumkin.

Funktsional variantning qiymati katalog atributi yoki resursida saqlangan taqdirda, variant qiymatini qanday tanlash kerakligini ko'rsatadigan qo'shimcha ma'lumot talab qilinadi. Buning uchun alohida metadata ob'ekti taqdim etiladi - Funktsiya parametrlari parametrlari.

Aytishimiz mumkinki, funktsional variantlarning parametrlari funktsional variantlar qiymatlari maydonining koordinata o'qlari. Bundan tashqari, funktsional variantlarning bir parametri bir vaqtning o'zida ko'plab funktsional variantlar uchun "uning" koordinata o'qi qiymatini aniqlashi mumkin.

[yashirish]

Funktsional variantlar quyidagilarga ta'sir qilishi mumkin:

  1. foydalanuvchi interfeysiga:
    • global;
    • rekvizitlari (shu jumladan, shakl rekvizitlari ustunlari, masalan Qiymat jadvali yoki qiymat daraxti);
    • shakl buyruqlari;
  2. ma'lumotlar tarkibi tizimidan foydalangan holda amalga oshirilgan hisobotlar bo'yicha;
  3. o'rnatilgan tilda yozilgan algoritmlarga - o'rnatilgan tildan funktsional variantlarning qiymatlarini olish va ularni turli sharoitlarda ishlatish, masalan, hisob-kitoblar miqdorini kamaytirish mumkin (masalan, qarang. ).

DIQQAT! Agar mijoz ilovasi veb-server orqali ma'lumot bazasining fayl versiyasi bilan ishlayotgan bo'lsa, u holda funktsional variantni o'zgartirish faqat veb-serverni qayta ishga tushirgandan so'ng foydalanuvchi interfeysini o'zgartiradi (mijoz ilovasini qayta ishga tushirish foydalanuvchi interfeysini o'zgartirmaydi).

1C Funktsional opsiyalarining xususiyatlari

  • Saqlash - mantiqiy turdagi ob'ektni tanlashingiz kerak bo'lgan maydon. Qoida tariqasida, konstantalar ishlatiladi.
  • olishda - bayroq imtiyozli rejimda funktsional variantning qiymatini olish imkoniyati uchun javobgardir.
  • Tarkibi - funktsional parametr o'chirilgan / o'chirilganda ko'rinishi yoqilgan / o'chiriladigan ob'ektlar va ob'ektlarning atributlari ro'yxati (boshqariladigan shakl yordamida boshqariladi).

Masalan, ma'lum bir amalga oshirish shartlariga qarab, siz tovarlarni qabul qilish hujjatlarini ro'yxatdan o'tkazishda "Ombor" maydoni hujjat shaklida ko'rsatilmasligi uchun omborlar tomonidan tovarlarni hisobga olishni o'chirib qo'yishingiz mumkin.

1C Funktsional opsiyalaridan foydalanish xususiyatlari:

  1. Funktsiya variantlari ixtiyoriy turdagi qiymatlarga ega bo'lishi mumkin (shart bo'lmagan mantiqiy).
  2. Funktsional opsiyadan foydalanish uchun yangi konstantani qo'shganda, uni tegishli quyi tizimga qo'shishni va unga ruxsat berishni unutmang.
  3. Funktsional variantlar bilan ishlash o'rnatilgan tilda mavjud, buning yordamida ishlab chiquvchi funktsional variantlarning qiymatlari uchun o'z algoritmlarini yaratishi mumkin.
  4. Funktsiya opsiyasi o'chirilgan bo'lsa, buyruq interfeysi buyrug'i buyruq interfeysidan chiqarib tashlanadi:
    • buyruq parametri bo'lgan atribut;
    • buyruq parametrining turi (agar buyruq parametrining turi murakkab bo'lsa, barcha parametr turlari o'chirilganda buyruq mavjud bo'lmaydi).

DIQQAT! Funktsional variantlar va ularning parametrlari ma'lumotlar bazasi tarkibiga ta'sir qilmaydi: funktsional variantlarning holatidan qat'i nazar, barcha jadvallar va maydonlar ma'lumotlar bazasida mavjud.

Funktsional variantlarning forma tafsilotlari va buyruqlariga ta'siri:

  1. boshqariladigan shakl turi<Вид>Ob'ekt ( DirectoryObject, DocumentObject va boshqalar) mos keladigan ob'ekt funktsional parametr bilan o'chirilgan bo'lsa, o'chiriladi. Faqat parametrlari bo'lmagan funktsional variantlar tahlil qilinadi.
  2. Boshqariladigan shakl turining asosiy atributi Dinamik ro'yxat funktsional parametr dinamik ro'yxatning asosiy jadvali sifatida ko'rsatilgan konfiguratsiya ob'ektini o'chirib qo'ysa, o'chiriladi. Faqat parametrlari bo'lmagan funktsional variantlar tahlil qilinadi.
  3. Malumot turining forma atributi, agar ushbu turni shakllantiradigan konfiguratsiya ob'ekti funktsional parametr bilan o'chirilgan bo'lsa, o'chiriladi. Funktsional parametrlar barcha komponent turlarini o'chirib qo'ysa, kompozit turdagi forma atributi o'chiriladi.
  4. Shakllar jadvali, agar u funktsional parametr tomonidan o'chirilgan shakl atributining ma'lumotlarini ko'rsatsa, o'chiriladi.
  5. Turni tanlash dialog oynasida turlar mavjud emas (masalan, kompozit turdagi atributlar bilan bog'langan kiritish maydonlari uchun), agar ushbu turlarni tashkil etuvchi konfiguratsiya ob'ektlari funktsional parametr bilan o'chirilgan bo'lsa. Funktsional parametrlar tomonidan o'chirilgan turlar haqidagi ma'lumotlar mijoz tomonida keshlanadi va 20 daqiqadan so'ng yoki usul chaqiruvi paytida tozalanadi. Yangilash interfeysi().

DIQQAT! Buyruqlar interfeysidan farqli o'laroq, funktsional variantlarning parametr qiymatlari faqat shaklning ma'lum bir namunasi uchun o'rnatiladi.

Funktsional variantlar parametrini yaratish

Funktsional parametr parametri "Funktsional parametrlar parametrlari" 1C konfiguratsiya ob'ekti yordamida yaratiladi.

[yashirish]

Buni konfiguratsiya oynasida yangi ob'ekt qo'shish orqali amalga oshirish mumkin.

Funktsiya parametrlari Parametr xususiyatlari:

  • Foydalanish - qiymatlari funktsional parametrning qiymati qanday tanlanishi kerakligini aniqlaydigan ob'ektlar to'plamini o'rnatadi. Mavjud ob'ektlar ro'yxati lug'atlarni va axborot registrining o'lchamlarini o'z ichiga oladi. Ushbu ro'yxatdagi funktsional variantlarning har bir parametri uchun siz bitta katalogni (to'liq kataloglar ro'yxatidan) va har bir ma'lumot registrining bitta o'lchamini tanlashingiz mumkin.

DIQQAT! Siz bir xil metadata ob'ektini bir nechta funksiya parametrlarida ishlata olmaysiz.

Sizni ham qiziqtiradi:

Xizmat kvartirasi - o'zingizning uyingizmi yoki boshqa birovning yashash joyimi?
MOSKVA, 2 oktyabr - RIA Novosti, Marina Malkova. Ruslarning katta avlodi qanday qilib ... hali ham eslaydi.
Oyni yopish: xabarlar va misollar
Asosiy tamoyillar va hisoblarni yopish zarurati Izoh 1 oxirida ...
Bank kartangiz bloklangan
Bir kuni uning bank kartasi bloklanganligini va unga kirish imkoni yo'qligini kim bilishni xohlaydi ...
Kelajakdagi xarajatlar zaxiralari hisobi Debet 25 kredit 96
Buxgalteriya hisobining 96 hisobvarag'i passiv hisob bo'lib, kelajakdagi xarajatlar uchun zaxiralar bo'lib, ...
Ishlab chiqarish operatsiyalarini hisobga olish
Ishlab chiqarilgan mahsulot (xizmatlar yoki ishlarning) tannarxini aniqlashda ... muhim rol o'ynaydi.