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

Funktsional variantni oling. Funktsional variantlar. Ishlash printsipi va foydalanish misoli. 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 uchun zarur emas. Har kim ham modulga muhtoj emasligi sababli, u bilan bog'liq barcha elementlarni/maydonlarni ko'rsatish har doim ham zarur emas.

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

Hujjatlar ko'rinishidagi maydonlarni yashirish kerak bo'lsa yaxshi bo'ladi, lekin bizda foydalanuvchi bilan o'zaro aloqa qilish mumkin bo'lgan ro'yxatga olish shakllari ham bo'lishi mumkin. Universal displeyni boshqarish funktsiyasini yozish juda qiyin va qo'shimcha vaqt talab qiladi, bu hech qachon etarli emas.

Funktsional variantlar ushbu va foydalanuvchi interfeysidagi interfeys elementlarini/mavjud ob'ektlar tarkibini ko'rsatish bilan bog'liq ko'plab boshqa qiyinchiliklarni hal qilish uchun mo'ljallangan. Ushbu eslatmada men funktsional variantlarning asosiy maqsadini qo'llash misollarini ko'rib chiqmayman, lekin ulardan nostandart tarzda foydalanishga e'tibor qarataman. Bu ko'plab ilg'or ishlab chiquvchilarga tanish bo'lishi mumkin, ammo men bu usulga tasodifan keldim. Aniqrog'i, u JavaScript-da dasturlash amaliyotidan ilhomlangan.

1-holati: boshqa ob'ektlar ustidan o'rash sifatida funktsional variant

Funktsional variantlarning birinchi nostandart xususiyati o'rashlarni yaratish qobiliyatidir. Keling, eng oddiy misol - konstantalarni ko'rib chiqaylik. Masalan, siz juda ko'p foydalanuvchi rollari bo'lgan konfiguratsiyaga yangi doimiy qo'shasiz. Foydalanuvchilar doimiy qiymatga kirishlari uchun tegishli rollarga o'qish huquqlarini 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.

Funktsiya opsiyasi bu muammoni yanada oqlangan tarzda hal qilishi mumkin. G'oya shunday: doimiyni yarating (masalan, ). Biz unga huquq bermaymiz. Xuddi shu nomdagi funktsional variantni yarating va uni xususiyatda ko'rsating "Saqlash" doimiyni bildiradi "Ma'lumotlarni tejash imkoniyati". Biz bayroqni ham o'rnatdik "Olinganidan keyin imtiyozli davolanish".

Hammasi shunday, endi kodning istalgan joyida siz doimiyga murojaat qilishingiz kerak bo'lgan joyda biz shunday yozamiz:

Imtiyozli rejimga opsiyani o'rnatganimiz uchun biz doimiy uchun qo'shimcha huquqlarni belgilashimiz shart emas. Albatta, bu texnikani barcha mumkin bo'lgan va aql bovar qilmaydigan vaziyatlarda qo'llashning hojati yo'q. Yodingizda bo'lsin, huquqlarni to'g'ri taqsimlash xotirjamlikning kalitidir. Hiyla-nayrangdan faqat zarur hollarda foydalaning.

Ish № 2. Abstraktsiyaning qo'shimcha darajasi

Men bu usulni to'g'riroq nima deb atashni bilmayman, lekin mening fikrimcha, bu xuddi shunday. Keling, oldingi misolni ko'rib chiqaylik. 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 katalogdan foydalanishga o'tmoqchi edik. Bunday muammoni hal qilishning odatiy stsenariysi (agar biz faqat doimiydan foydalansak) doimiyga kirishni aniqlash uchun global qidiruv vositasini ishga tushirish bo'ladi. Sizga shuni eslatib o'tamanki, agar biz funktsional variantni o'rash sifatida ishlatmasak, unda doimiyga quyidagicha munosabatda bo'lishimiz kerak:

Constants.Ability to SaveData.Get();

Biz barcha qo'ng'iroqlarni topamiz va ularni yangi saqlash ob'ektiga yo'l bilan almashtiramiz. Qabul qiling, 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 erda ko'rsating "Katalog" yoki "Ma'lumotlar reestri". Global qidiruvga ega o'yinlar talab qilinmaydi. Funktsional parametr orqali doimiy qiymatga kirish uchun kod bir xil bo'lib qoladi:

GetFunctionalOption ("Ma'lumotlarni tejash qobiliyati");

Funktsional variantlar "Umumiy" guruhida joylashgan metadata ob'ektidir:

Funktsional variantlar funksional variantlar mexanizmining bir qismi boʻlib, konfiguratsiyaning oʻzini oʻzgartirmasdan, foydalanuvchi ehtiyojlariga qarab, ilova yechimidagi baʼzi funksiyalarni yoqish yoki oʻchirish imkonini beradi.
Misol uchun, har bir tashkilot ombor hisobini ishlata olmaydi. Agar ombor hisobi ishlatilmasa, ombor maydonini barcha hujjatlar, ma'lumotnomalar va registrlardan olib tashlash mantiqan to'g'ri keladi - o'sha paytda bizning yordamimizga funktsional imkoniyatlar keladi.

Keling, bir misolni ko'rib chiqaylik:

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

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

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

Natijada bizda:

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

Savolingiz bormi yoki maslahatchi yordamiga muhtojmisiz?

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

Endi funksional variantlar parametrlaridan foydalanish misolini ko'rib chiqamiz.
Keling, yangi funktsional variantni qo'shamiz " Valyuta hisobi"
Saqlash: Katalog.Tashkilot.Tafsilotlar.Valyuta hisobi


Hujjatning tarkibiga "Mavzu narxlarini belgilash" - "Valyuta" ma'lumotlarini qo'shamiz.


"When CreatedOnServer" va "OrganizationWhenChanged" protseduralarida hujjat ko'rinishida
Keling, quyidagi kodni qo'shamiz:

Biz konfiguratsiyani yangilaymiz va uni ishga tushiramiz.
Biz ikkita tashkilot yaratamiz va ulardan biri uchun "Valyuta hisobi" katagiga belgi qo'yamiz.

Natijada nimaga erishamiz? Funktsional opsiyaning parametrlaridan foydalanish natijasida biz "Elementlar narxlarini belgilash" hujjatidagi "Valyuta" maydonining parametrik boshqaruvini oldik. Bular. "Alfa" tashkiloti uchun "Valyuta" maydoni ko'rsatiladi va "Beta" tashkilot uchun "Valyuta" maydoni ko'rsatilmaydi.
Keling, bunga ishonch hosil qilaylik. Hujjatni oching va "Tashkilot" maydonini o'zgartirishga harakat qiling
Tashkilot = "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. Yemoq kirish uchun mas'ul faqat bitta shaxs foydalanuvchi har qanday funksiya yoki ma'lumotlarga. Ushbu ob'ekt deyiladi "Kirish huquqi". U shunday bo'ladi yagona muayyan ish rejimiga, katalogga, tafsilotlarga kirish uchun mas'ul element....

Kirish huquqlari turlarining soni platforma tomonidan oldindan belgilanadi. Umuman olganda, platforma kirish huquqlarining ikkita asosiy guruhiga ega. 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 katalog darajasida o'rnatilishi mumkin. Hisob ma'lumotlari darajasida kirishni ham cheklashingiz mumkin. Ammo bu holda huquqlar turlarining faqat bir qismi mavjud (kataloglar uchun bular Ko'rish va Tahrirlash huquqlari).

Barcha kirish huquqlari o'zaro bog'liq va bir-biriga bog'liqdir. Yuqori va quyi darajadagi huquqlar mavjud. Agar foydalanuvchi yuqori darajadagi amalni bajarish huquqiga ega bo'lmasa, siz quyi darajadagi huquqni bera olmaysiz.

Keling, ko'rib chiqaylik katalogga kirish huquqi. Ushbu diagramma shuni ko'rsatadiki, aksariyat huquqlar umumiyroq huquqlarga aniqlik kiritadi. 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 mavjud bo'lmasa, 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 "Tahrirlash" huquqlariga ega bo'lsangiz berilishi mumkin. Lekin siz "Ko'rish" ni "O'zgartirish"siz yoki "Ko'rish"siz "O'zgartirish" ni berishingiz mumkin.

Kirish huquqi - kirishning minimal birligi. Barcha kirishni boshqarish foydalanuvchiga kerakli huquqlar to'plamini berishdan iborat. Qolgan ob'ektlar (rollar, kirish guruhlari) oddiygina qo'shimcha ulanishlar bo'lib, ular guruhlash va kirish huquqlarini yanada qulayroq berish uchun xizmat qiladi.

2. Rollar - kirish huquqini berish mexanizmi

Keling, bu qanday aniq amalga oshirilganini ko'rib chiqaylik foydalanuvchiga kirish huquqini berish. 1C platformasida kirish huquqlarini berish qulayligi uchun maxsus "Roli" mexanizmi. Bu axborot 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 mas'ul bo'lgan huquqlar to'plamini kontakt ma'lumotlari bilan birlashtirish mantiqan to'g'ri keladi. Ko'pchilik oddiy tarzda foydalanuvchiga rolni belgilash konfiguratorda axborot xavfsizligi foydalanuvchi kartasini ochish va foydalanuvchiga kerak bo'lgan rollar yonidagi katakchalarni belgilash. Bu universal usul bo'lib, u har qanday konfiguratsiyada ishlaydi. Biroq, konfiguratsiyalarning murakkabligi va rollar sonining ko'payishi bilan u ancha mehnat talab qiladigan bo'ldi. 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 birlashtirishga imkon beradi va endi tayinlanmaydi alohida rollar, va bir nechta rollar to'plamini o'z ichiga olgan profillar.

Ko'pgina odatiy konfiguratsiyalarda ishlatiladigan foydalanuvchilarga kirish huquqlarini belgilash sxemasini ko'rib chiqaylik. 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. Keyin 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 bu tizim huquqlarni berish ikkita standart quyi tizimlar ishtirokida amalga oshiriladi. "Kirishni boshqarish" quyi tizimi konfiguratsiyada oldindan belgilangan rollar bilan kirish guruhlari ulanishini sozlash uchun ishlatiladi. "Foydalanuvchilar" quyi tizimi axborot xavfsizligi foydalanuvchilari va konfiguratsiyaga kirish guruhlari o'rtasidagi ulanishlarni sozlash uchun ishlatiladi.

3. Rollarning kesishishi uchun qoida sifatida "Ruxsat mantiqi".

1C da kirishni boshqarishning umumiy mantig'i ekanligini tushunish muhimdir ruxsat mantiqi. Umuman olganda, 1C platformasida kirishni rad etish mexanizmlari mavjud emas. Faqat mexanizmlar mavjud ruxsat berish. Odatiy bo'lib, barcha ma'lumotlarga kirish taqiqlanadi va kirishni o'rnatish har bir foydalanuvchiga kerakli huquqlarni berishdan iborat. Bu shuni anglatadiki, agar biron bir rol foydalanuvchiga "Tovarlarni sotish" hujjatlarini ko'rish huquqini beradi 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 bera olmaysiz, lekin RLS yordamida biz ruxsat beradigan ma'lumotlarni filtrlashingiz mumkin. Ammo agar kirish allaqachon berilgan bo'lsa, u boshqa rollar tomonidan qaytarib olinmaydi.

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 alohida operatsiyani bajarish vaqtida foydalanuvchiga 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, platforma hatto vaqtinchalik foydalanuvchi huquqlarini qisqartirish imkoniyatiga ega emas.

4. Bilvosita kirishni boshqarish.

To'g'ridan-to'g'ri kirishni nazorat qilish uchun mo'ljallanmagan bo'lsa-da, unga bilvosita ta'sir ko'rsatadigan 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 yanada murakkab konfiguratsiya funksiyasi natijasida paydo bo'ldi. Funktsional variantlar mo'ljallangan interfeysdan yashirish uchun ushbu kompaniya yoki ushbu foydalanuvchi tomonidan foydalanilmaydigan funksiya. Mexanizm faqat ma'lumotlarni ko'rsatishga ta'sir qiladi. Buyruqlar interfeysdan yo'qoladi va funktsional parametrlar tomonidan o'chirilgan tafsilotlar shakllarda yashiringan. Qayerda foydalanuvchi hali ham 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. Ma'lumotnomalar, hujjatlar, ma'lumotnomalar uchun. Kirish huquqlari ob'ektlarga kirishga ta'sir qiladi, funktsional variantlar interfeysdagi ob'ektlarni ko'rsatishga ta'sir qiladi. Ko'pincha vazifa foydalanuvchiga katalog yoki hujjat ma'lumotlariga kirishga ruxsat berishdan kelib chiqadi. Lekin barcha ma'lumotlarga emas, balki faqat bir qismiga. Masalan, faqat bitta tashkilot uchun amalga oshirish hujjatlariga kirishga ruxsat bering.

Ushbu ruxsatni sozlash 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 jadval ustunlariga (tafsilotlarga) kirishni ta'minlasa, u holda RLS foydalanuvchiga ishlashga ruxsat berilgan maxsus jadval qatorlarini (yozuvlarini) aniqlaydi. Bu foydalanuvchi uchun mavjud bo'lgan ma'lumotlarni aniqlash imkonini beradi.

Ushbu mexanizmni tahlil qilayotganda, buni doimo yodda tutishingiz 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 maxsus "Rol" - "Kirish huquqi" ulanishiga ta'sir qiladi. Va boshqa rollar tomonidan berilgan kirish huquqlariga ta'sir qilmaydi. Misol uchun, agar bitta rol faqat Tashkilot1 uchun hujjatlarga kirishga ruxsat bersa va boshqa rol Ombor1 uchun hujjatlarga kirishga ruxsat bersa, u holda foydalanuvchi oxir-oqibat Tashkilot1 YOKI Ombor1ni ko'rsatadigan barcha hujjatlarga kirish huquqiga ega bo'ladi. Shuning uchun, agar foydalanuvchiga bir nechta rollar berilsa, u holda Har bir rolda RLS dan foydalanadigan filtr o'rnatilishi kerak ikkala maydon uchun (tashkilot va ombor bo'yicha). Standart echimlarda bu muammo odatda barcha mumkin bo'lgan RLS filtrlari ro'yxatga olingan bitta rolni yaratish orqali hal qilinadi. Keyinchalik bu rol ushbu kataloglar bilan ishlaydigan barcha foydalanuvchilarga tayinlanadi. Shuningdek, foydalanuvchi cheklangan hujjatlarga kirish huquqini o'z ichiga olgan boshqa rollarga ega emasligi ham nazorat qilinadi.

Shuni ham ta'kidlash kerakki, RLS filtrlari ma'lumotlarga kirishning barcha mumkin bo'lgan turlariga qo'llanilishi mumkin emas, faqat yuqori darajadagi kirish turlari. Masalan, kataloglar uchun mavjud bo'lgan o'n olti turdagi kirishdan RLS filtrlari faqat to'rtta asosiyga qo'llanilishi mumkin: o'qish, o'zgartirish, qo'shish va o'chirish. Bu shuni anglatadiki, biz, masalan, foydalanuvchiga bir vaqtning o'zida har qanday hujjatlar bilan dasturiy ravishda ishlash qobiliyati uchun filtrsiz "Tahrirlash" huquqini va interaktiv ish uchun tashkilot tomonidan RLS filtri bilan "Tahrirlash" huquqini bera olmaymiz. Agar foydalanuvchiga hujjatlarni RLS filtri bilan tahrirlashi kerak bo'lsa, bizdan "Tahrirlash" yoki "O'qish" ning yuqori darajasida umumiy filtr o'rnatishimiz talab qilinadi.

Mexanizmlarning umumiy murakkabligini hisobga olgan holda, odatdagi 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 "Kirish huquqlari". 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'lumotlarni ajratish. Ushbu mexanizm birida ishlash uchun mo'ljallangan jismoniy asos umumiy konfiguratsiyaga ega bo'lgan bir nechta mustaqil ma'lumotlar bazalari ma'lumotlari va umumiy ma'lumotnomalar. Ba'zi juda cheklangan hollarda, bu mexanizm kirishni boshqarish deb hisoblanishi mumkin. Yoqilganda, har bir foydalanuvchi faqat mustaqil ma'lumotlar bazalaridan birida ishlashi mumkin, lekin umumiy ma'lumotlardan foydalanishi mumkin.

Ba'zi bir umumiy ma'noda, ushbu mexanizmni ma'lumotlar filtri va RLSni amalga oshirishning alohida holati deb hisoblash mumkin. RLS dan farqli o'laroq, ajratish ancha qattiq mexanizmdir. Va bu qat'iylik tufayli ishlab chiquvchilar RLSning o'ziga xos sekinlashuvisiz bunday filtrlashni amalga oshirish uchun qo'shimcha indekslardan foydalanishning texnik qobiliyatiga ega.

Aslida RLS faqat qo'shimcha tanlovlardir, har bir ma'lumotlar bazasi so'roviga avtomatik ravishda qo'shiladi. Ma'lumotlarni ajratish - ajratuvchi qo'shish barcha bo'lingan jadvallar va ularning indekslari, shu jumladan klasterlangan. Ma'lumotlar ajratuvchi bo'yicha guruhlangan, ya'ni. disk bo'ylab jismonan 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, aniq ma'lumotlarning jismoniy qayta taqsimlanishi tufayli, ajratuvchi qiymatlarga asoslangan filtrga ega bo'lmagan to'liq foydalanuvchi sifatida ishlaganda, barcha so'rovlar juda va juda sekin bajariladi. Ajratuvchi qiymatsiz indekslardan to'liq foydalanish mumkin emas, shuning uchun diskdan jismoniy o'qiladigan va har bir so'rov bilan qayta ishlangan ma'lumotlar miqdori mumkin kattalik buyurtmalari bilan oshirish. 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 dastur kodi. Ular har qanday platforma 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 ma'lumotlarni tanlashda o'z hisobotlarida 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, dastur kodi ma'lumotlarni o'zgartirishdan himoya qilishni kafolatlashi mumkin qo'shish orqali 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 maxsus cheklovlar qo'shadi va barcha ma'lumotnomalar 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. Agar siz foydalanuvchi tomonidan ishlatiladigan konfiguratsiya funktsiyalari ro'yxatini juda qattiq cheklamasangiz va foydalanuvchiga ruxsat berilgan har bir mexanizmga (shakl, ishlov berish, hisobot, so'rov) alohida filtr qo'shmasangiz.

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, katalog atributi yoki axborot registrlari resursi.
2. Konfiguratsiyaga funktsional variantni qo'shing va unda avval yaratilgan saqlash joyini belgilang.
3. Funktsional variantning xususiyatlarida uning tarkibini ko'rsating, 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)- rol tomonidan ruxsat etilgan huquqlar uchun 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. Sozlangan filtr axborot xavfsizligi bo'yicha har bir so'rovga qo'shiladi.
2. RLS filtriga to'g'ri kelmaydigan ma'lumotlarni hech qanday usul bilan olish mumkin emas: u shakllarda yoki hisobotlarda ko'rsatilmaydi; hech qanday so'rovlar bo'yicha tanlanmaydi.

Ma'lumotlarni ajratish- bitta jismoniy ma'lumotlar bazasida bir nechta mustaqillarni saqlash

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

2. Ikki seans parametrini qo'shing: foydalanish belgisi va joriy ma'lumot almashish qiymati uchun.

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

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

  • Ajratuvchi qiymatini saqlaydigan "Separator" maydoni qo'shiladi.
  • Jadvallardagi barcha indekslar qayta tiklanadi. Ajratuvchi maydon birinchi maydon sifatida qo'shiladi.

2. Ajratishni yoqishdan keyin.

  • Axborot xavfsizligi bo'yicha mutlaqo barcha so'rovlarga ajratuvchi qiymatiga asoslangan filtr qo'shiladi.
  • Har qanday ma'lumotlarni yozib olishda ajratuvchi qiymati avtomatik ravishda seans parametri qiymatiga muvofiq to'ldiriladi.
Dastur kodi- har qanday qo'shimcha nuqta cheklovlari
1. Overlay kodini qo'shing zarur cheklovlar konfiguratsiyaga.

1. Aytganini aniq bajaradi.

Eslatma: kod umuman konfiguratsiyaga ta'sir qilmaydi, lekin faqat harakat belgilangan muayyan 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 - uni rollarga to'g'ri taqsimlash. Mavjud ma'lumotlarni filtrlashning eng ishonchli usuli RLS dan foydalanishdir. Aynan shu vazifa uchun mexanizm ishlab chiqilgan. Nuqta cheklovlari kod yordamida amalga oshirish uchun eng osondir. Funktsional variantlar va ma'lumotlarni ajratish kirishni cheklash uchun mo'ljallanmagan juda o'ziga xos mexanizmlardir. Garchi ba'zi hollarda ular buning uchun ishlatilishi mumkin.

Funktsional variantlar Va Funktsional variant 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 funksionallik.

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

Nima uchun funksionallikni o'chirib qo'yishingiz kerak bo'lishi mumkin?

1C da 267 ta video darslarni bepul oling:

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

Funktsional variantlar nimani nazorat qiladi?

Avvalo, funksional variantlardan foydalanish interfeysda eng qulay tarzda aks ettirilgan: forma tafsilotlari, buyruq shakllari, umumiy interfeys - bularning barchasini funktsional variantlar bilan bog'lash mumkin. Funktsional variantlarning qiymatiga qarab, asosida tuzilgan hisobotda ma'lumotlarning ko'rinishini cheklashingiz mumkin.

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

Funktsional variantlar mexanizmi ikkita metadata ob'ektini o'z ichiga oladi:

  1. Funktsional variant;
  2. Funktsional variantlar parametrlari.

Batafsil ma'lumot

Funktsional variant ilova interfeysi tarkibiga bevosita ta'sir ko'rsatishi mumkin bo'lgan metama'lumotlar ob'ektini ifodalaydi (agar funktsional parametr o'z qiymatini mantiqiy atributda saqlasa). Ushbu turdagi ob'ektlardan foydalanib, mavjud bo'lmagan funksiyalar bilan bog'liq elementlarni yashirishingiz mumkin. Masalan, Valyuta hisobi opsiyasi Valyutalarni, Valyuta maydonini va Valyuta summasi ustunini hisobotlardan yashirishi mumkin.

Funktsional parametr qiymatining manbai Storage xususiyati sifatida tanlangan metadata ob'ektidir, masalan, u bo'lishi mumkin.

Funktsional variantning qiymati katalog atributi yoki resursida saqlangan bo'lsa, variant qiymatini qanday tanlashni aniq ko'rsatuvchi qo'shimcha ma'lumot talab qilinadi. Shu maqsadda alohida metadata ob'ekti taqdim etiladi - Funktsional parametrlar parametrlari.

Aytishimiz mumkinki, funktsional variantlarning parametrlari funktsional variantlarning qiymat fazosining 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.

[qulash]

Funktsional variantlar ta'sir qilishi mumkin:

  1. foydalanuvchi interfeysiga:
    • global;
    • tafsilotlar (shu jumladan forma tafsilotlari ustunlari kabi Qadriyatlar jadvali yoki ValueTree);
    • shakl buyruqlari;
  2. ma'lumotlar tarkibi tizimi yordamida 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'lumotlar bazasining fayl versiyasi bilan ishlayotgan bo'lsa, u holda funktsional variantni o'zgartirish faqat veb-serverni qayta ishga tushirgandan so'ng foydalanuvchi interfeysining o'zgarishiga olib keladi (mijoz ilovasini qayta ishga tushirish foydalanuvchi interfeysini o'zgartirmaydi).

Funktsional variantlarning xususiyatlari 1C

  • Saqlash - bu Boolean tipidagi ob'ektni tanlash kerak bo'lgan maydon. Odatda konstantalar ishlatiladi.
  • qabul qilishda - bayroq imtiyozli rejimda funktsional variantning qiymatini olish qobiliyati uchun javobgardir.
  • Kompozitsiya - funktsional parametr yoqilganda/o'chirilganda ko'rinishi yoqiladigan/o'chiriladigan ob'ektlar va ob'ekt tafsilotlari ro'yxati (boshqariladigan shakl yordamida boshqariladi).

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

1C Funktsional opsiyalaridan foydalanish xususiyatlari:

  1. Funktsional variantlar har qanday turdagi qiymatlarga ega bo'lishi mumkin (albatta mantiqiy emas).
  2. Funktsiya opsiyasidan foydalanish uchun yangi konstantani qo'shganda, uni tegishli quyi tizimga qo'shishni va unga ruxsatlarni belgilashni unutmang.
  3. Funktsional variantlar bilan ishlash o'rnatilgan tilda mavjud, buning yordamida ishlab chiquvchi funktsional variantlarning qiymatlari uchun o'z algoritmlarini yaratishi mumkin.
  4. Funktsional parametr o'chirilgan bo'lsa, buyruq interfeysi buyrug'i buyruq interfeysidan chiqarib tashlanadi:
    • buyruq parametri bo'lgan atribut;
    • buyruq parametr turi (agar buyruq parametr 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: barcha jadvallar va maydonlar funktsional variantlarning holatidan qat'i nazar, 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 parametrlarga ega bo'lmagan funktsional variantlar tahlil qilinadi.
  2. Boshqariladigan shakl turining asosiy atributlari Dinamik ro'yxat funktsional parametr dinamik ro'yxatning asosiy jadvali sifatida ko'rsatilgan konfiguratsiya ob'ektini o'chirib qo'ysa, o'chiriladi. Faqat parametrlarga ega bo'lmagan funktsional variantlar tahlil qilinadi.
  3. Agar ushbu turni tashkil etuvchi konfiguratsiya ob'ekti funktsional parametr bilan o'chirilgan bo'lsa, mos yozuvlar turining forma atributi o'chiriladi. Agar funktsional parametrlar barcha tarkibiy turlarni o'chirib qo'ysa, kompozit turdagi shakl atributi o'chiriladi.
  4. Shakllar jadvali funktsional parametr tomonidan o'chirilgan shakl atributlari ma'lumotlarini ko'rsatsa, o'chiriladi.
  5. Turni tanlash dialog oynasida turlar mavjud emas (masalan, murakkab 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 parametrlar parametrlarining qiymatlari faqat shaklning ma'lum bir namunasi uchun o'rnatiladi.

Funktsional variantlar parametrini yaratish

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

[qulash]

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

Funktsional variantlar parametrlari xususiyatlari:

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

DIQQAT! Bir nechta funksiya parametrlari parametrlarida bir xil metadata obyektidan foydalana olmaysiz.

Sizni ham qiziqtirishi mumkin:

Sovcombankning Halva to'lov kartasi haqida
(2 baho, o'rtacha: 5 dan 5,00) Sovcombankning ko'plab mijozlari qanday qilib...
Sberbankda ipotekani qayta moliyalash
Xush kelibsiz! Bugun biz yangilangan va yangilangan qayta moliyalash dasturi haqida gaplashamiz...
Karta oluvchi.  Ekvayring bank nima?  Protsessing markazining vazifalari
Biz allaqachon bunday banklar o'rtasidagi farq haqida "Tranzaksiya..." maqolasida bir oz gaplashdik.
Ruxsat etilgan spredga ega Forex brokerlari Spread so'zi nimani anglatadi?
Ko'pchilik bu tarqalish neftning past sifatli analogi ekanligiga ishonishadi, ammo ular...
Svyaz-Bankga xush kelibsiz!
Rossiya Sberbanki barcha mijozlariga maxfiy xizmatdan foydalanishni taklif etadi...