1c функционалдық опциялары қандай. Функционалды опциялар (1Cv82). Мәліметтерді құрастыру жүйесі

Функционалды опцияларЖәне Функционалдық опция параметрі- бұл 1С 8.3 (8.2) конфигурация объектілері, олар бірге функционалды опциялардың механизмін көрсетеді. Функционалдық опциялар механизмі - бұл пайдаланушыларға қажет функциялар жинағын анықтауға мүмкіндік беретін функционалдылық.

Қарапайым тілмен айтқанда, функционалдық опциялар механизмі конфигурациядағы әртүрлі функцияларға арналған қосу/өшіру қосқышы болып табылады.

Неліктен функционалдылықты өшіру қажет болуы мүмкін?

1С-те 267 бейне сабақты тегін алыңыз:

Көбінесе қосымша функционалдылық қызметкерлердің жұмысын қиындатады. 1С-де функционалдық опцияларды пайдаланудың тривиальды мысалы - деректер базасы бір ұйымның немесе қойманың жазбаларын жүргізеді, неге пайдаланушыны бұл деректерді барлық құжаттарда толтыруға міндеттейді?

Функционалдық опциялар нені басқарады?

Ең алдымен, функционалдық опцияларды пайдалану интерфейсте барынша ыңғайлы түрде көрінеді: пішін мәліметтері, командалық формалар, жалпы интерфейс - мұның барлығын функционалдық опциялармен байланыстыруға болады. Функционалдық опциялардың мәніне байланысты негізінде құрастырылған есепте деректерді көрсетуді шектей аласыз.

1. Қол жеткізу құқықтары.

Шын мәнінде, бәрі өте қарапайым. Әдепкі бойынша 1С рұқсат етілмегеннің барлығына тыйым салынады. Тамақ қол жеткізуге жауапты бір ғана нысанпайдаланушыға кез келген функцияға немесе деректерге. Бұл нысан деп аталады «Кіру құқығы». Ол болады жалғызбелгілі бір жұмыс режиміне, каталогқа, мәліметтерге... қол жеткізуге жауапты элемент.

Қол жеткізу құқығы түрлерінің саны платформамен алдын ала анықталады. Тұтастай алғанда, платформада қол жеткізу құқықтарының екі негізгі тобы бар. Бүкіл жүйеге ортақ платформа механизмдеріне қол жеткізу құқықтары, платформаның белгілі бір жұмыс режимдеріне қол жеткізуге жауапты (Әкімшілік, Эксклюзивті режим, Жұқа клиент, Сыртқы есептерді интерактивті ашу....). ЖӘНЕ нысан рұқсаттары, әртүрлі конфигурация нысандарымен жұмыс істеуге мүмкіндік береді. Олардың саны конфигурация нысанының түріне байланысты. Мысалы, каталогта қол жеткізудің 16 түрі бар (Оқу, Қосу, Өзгерту, Жою....). Ақпарат тізіліміне қол жеткізудің тек бес түрі бар. Барлық осы құқықтарды тұтастай каталог деңгейінде ғана орнатуға болады. Сондай-ақ тіркелгі деректері деңгейінде кіруді шектей аласыз. Бірақ бұл жағдайда құқық түрлерінің бір бөлігі ғана қолжетімді (каталогтар үшін бұл Көру және Өңдеу құқықтары).

Барлық қол жеткізу құқықтары өзара байланысты және бір-біріне тәуелді. Жоғары және төменгі деңгейдегі құқықтар бар. Пайдаланушының жоғары деңгейлі әрекетті орындауға құқығы болмаса, төменгі деңгейдегі құқықты бере алмайсыз.

қарастырайық каталогқа кіру құқықтары.Бұл диаграмма құқықтардың көпшілігі жалпы құқықтардың түсіндірмесі екенін көрсетеді. Егер Right1 басқа Оң жақтың2 тіктөртбұрышының ішіндегі диаграммада толығымен орналасқан болса, онда Right1-ді Right2-ні бермей шығаруға болмайды. Ең көп таралған құқық – «Оқу» құқығы. Оқу құқығы қол жетімді болмаса, барлық басқа құқықтар қолжетімді емес. «Қосу» құқығы қолжетімді болмаса, «Интерактивті қосу» құқығын орнату мүмкін емес. Дегенмен, құқықтар жүйесін толыққанды иерархия деп атауға болмайды.Мысалы, «Өңдеу» құқығы сізде «Көру» және «Өңдеу» құқықтары болған жағдайда ғана берілуі мүмкін. Бірақ сіз «Көруді» «Өзгертусіз» немесе «Көру» жоқ «Өзгертуді» бере аласыз.

Қол жеткізу құқығы – қол жеткізудің ең аз бірлігі. Барлық қол жеткізуді басқару пайдаланушыға қажетті құқықтар жинағын беруге байланысты.Қалған объектілер (рөлдер, қол жеткізу топтары) топтастыру және қол жеткізу құқықтарын неғұрлым ыңғайлы шығару үшін қызмет ететін жай ғана қосымша байлаулар болып табылады.

2. Рөлдер – қол жеткізу құқығын беру механизмі

Оның дәл қалай жасалғанын қарастырайық пайдаланушыға қол жеткізу құқығын беру. 1С платформасында қол жеткізу құқығын беру ыңғайлылығы үшін арнайы «Роли» механизмі. Бұл ақпараттық базаны пайдаланушылар мен қол жеткізу құқықтары арасындағы қабат. Әрбір рөл тағайындалуы бір уақытта ғана мағыналы болатын кіру құқықтарының жинағын біріктіреді. Мысалы, «Байланыс ақпаратын оқу» рөлінде қатысты каталогтарға жауапты құқықтар жиынын байланыс ақпаратымен біріктіру қисынды. Көпшілігі қарапайым түрдепайдаланушы рөлін орнату болып табылады конфигуратордағы ақпараттық қауіпсіздік пайдаланушы картасын ашу және пайдаланушыға қажет рөлдердің жанындағы ұяшықтарды белгілеу. Бұл әмбебап әдіс және ол кез келген конфигурацияда жұмыс істейді. Дегенмен, конфигурациялардың күрделенуімен және рөлдер санының өсуімен ол айтарлықтай еңбекті қажет етеді. Сондықтан қазіргі стандартты шешімдерде ақпараттық қауіпсіздікті пайдаланушы мен рөлдер арасында қосымша қабат бар. Бұл қабат пішінде жүзеге асырылады «Қатынастарды басқару» ішкі жүйесі. Ол рөлдерді үлкенірек нысандарға біріктіруге мүмкіндік береді - «Профильдер» және пайдаланушыға жеке рөлдерді емес, бірнеше рөлдер жиынын қамтитын профильдерді тағайындайды.

Көптеген типтік конфигурацияларда қолданылатын пайдаланушыларға кіру құқықтарын тағайындау схемасын қарастырайық. Жеңілдетілген түрде оны келесідей көрсетуге болады. Жаңа нысандар енгізілді «Профильге кіру»Және «Кіру тобы». Әрбір кіру профилі бірнеше рөлдерді қамтиды. Әр пайдаланушыға бір немесе бірнеше кіру топтары тағайындалады. Содан кейін әрбір кіру тобы кіру профилімен байланыстырылады. Нәтижесінде біз пайдаланушы үшін рөлдерді ғана емес, ол орындайтын функцияларға байланысты рөлдер жиынын көрсету мүмкіндігін аламыз.

Техникалық тұрғыдан алғанда, құқықтарды берудің бұл жүйесі екі стандартты ішкі жүйенің қатысуымен жүзеге асырылады. «Қатынастарды басқару» ішкі жүйесі конфигурацияда алдын ала анықталған рөлдермен қатынасу топтарының қосылымын конфигурациялау үшін пайдаланылады. «Пайдаланушылар» ішкі жүйесі ақпараттық қауіпсіздікті пайдаланушылар мен конфигурацияға қол жеткізу топтары арасындағы байланыстарды конфигурациялау үшін пайдаланылады.

3. «Рұқсат логикасы» рөлдердің қиылысу ережесі ретінде.

1С-де қол жеткізуді басқарудың жалпы логикасы екенін түсіну маңызды рұқсат логикасы. Жалпы 1С платформасында қол жеткізуден бас тарту механизмдері жоқ. Тек механизмдер бар рұқсат беру. Әдепкі бойынша, барлық деректерге кіруге тыйым салынады және рұқсатты орнату әрбір пайдаланушыға қажетті құқықтарды беруден тұрады. Бұл дегеніміз, егер қандай да бір рөл пайдаланушыға «Тауарларды сату» құжаттарды қарау құқығын берсе бұл құқықты қандай да бір жолмен алып тастауға болмайдыбасқа рөлдер немесе кез келген басқа платформа және конфигурация механизмдері. Бастапқыда каталогқа толық рұқсат бере алмайсыз, бірақ біз рұқсат беретін деректерді RLS арқылы сүзуге болады. Бірақ рұқсат әлдеқашан берілген болса, оны енді басқа рөлдер қайтара алмайды.

Сондықтан рөлдер бойынша каталогқа пайдаланушы қатынасын шектегенде, пайдаланушыға сол каталогқа басқа рөл тағайындалмағанын тексеру өте маңызды. Әйтпесе, бірінші рөл қажетті рұқсатты береді, екіншісі оны жоққа шығара алмайды.

Платформаның пайдаланушыға бөлек операцияны орындау кезінде қосымша құқықтар беру мүмкіндігі бар. Бұл мүмкіндік Артықшылықты режим деп аталады. Ол пайдаланушыға қол жетімді емес деректер бойынша әрекеттерді орындауға мүмкіндік береді. Дегенмен, платформаның пайдаланушы құқықтарын уақытша қысқарту мүмкіндігі де жоқ.

4. Жанама қол жеткізуді басқару.

Қол жеткізуді басқаруға тікелей арналмағанымен, оған жанама әсер ететін және қосымша шектеулер үшін пайдаланылуы мүмкін жеке механизмдер бар. Олардың негізгі ерекшеліктерін қарастырайық.

4.1. Функционалды опциялар.

Қол жеткізуді басқару жүйесін кейде механизм деп те атайды функционалдық опциялар. Бұл мүлдем дұрыс емес, өйткені функционалды опциялар деректерге қол жеткізуге ешқандай әсер етпейді. Бұл таза интерфейстік механизм,пайдаланушы үшін интерфейсті жеңілдету үшін жасалған. Ол 8.2 платформасында күрделі конфигурация функционалдығы нәтижесінде пайда болды. Функционалды опциялар қарастырылған интерфейстен жасыру үшіносы нақты компания немесе осы пайдаланушы пайдаланбаған функция. Механизм тек деректерді көрсетуге әсер етеді. Пәрмендер интерфейстен жоғалады және функционалдық опциялар арқылы өшірілген мәліметтер пішіндерде жасырылады. Бола тұра пайдаланушы әлі де барлық осы пәрмендер мен мәліметтерге қол жеткізе алады. Ол ешқандай проблемасыз өңдеуді қолдана отырып, жасырын деректермен бағдарламалы түрде жұмыс істей алады.

ITS жүйесінде функционалдық опциялармен жұмыс істеу туралы толығырақ оқуға болады

4.2. RLS (Record Level Security)

Жоғарыда аталған барлық механизмдер тұтастай алғанда объектілерге қол жеткізуді қамтамасыз етуге әсер етеді. Анықтамалық кітаптарға, құжаттарға, анықтамалық мәліметтерге. Қатынас құқығы объектілерге қол жеткізуге, функционалдық опциялар интерфейстегі объектілерді көрсетуге әсер етеді. Көбінесе тапсырма пайдаланушыға каталогқа немесе құжат деректеріне қол жеткізуге рұқсат беруден туындайды. Бірақ барлық деректерге емес, оның бір бөлігіне ғана. Мысалы, тек бір ұйым үшін іске асыру құжаттарына рұқсат беріңіз.

Бұл ажыратымдылықты конфигурациялаудың қосымша механизмі бар RLS (Record Level Security). Аты айтып тұрғандай, қол жеткізуді басқарудың бұл механизмі нақты кесте жазбаларының деңгейінде. Егер қол жеткізу құқығы кестелерге тұтастай (каталогтар) немесе кесте бағандарына (детальдар) қол жеткізуді қамтамасыз етсе, онда RLS пайдаланушыға жұмыс істеуге рұқсат етілген нақты кесте жолдарын (жазбаларын) анықтайды. Ол пайдаланушыға қолжетімді деректерді анықтауға мүмкіндік береді.

Бұл механизмді талдағанда, сіз әрқашан есте сақтауыңыз керек RLS қол жеткізуден бас тарту механизмі емес. Ол механизм рұқсат беруді сүзгілеу. Анау. RLS пайдаланушының құқықтарына әсер етпейді, бұл құқықтарды беруді шектейтін сүзгі. RLS ол тіркелген арнайы «Рөл» - «Қатынас құқығы» қосылымына ғана әсер етеді. Және басқа рөлдер берген қол жеткізу құқықтарына әсер етпейді. Мысалы, егер бір рөл тек Ұйым1 үшін құжаттарға қол жеткізуге рұқсат етсе, ал басқа рөл Қойма1 құжаттарына қатынасуға мүмкіндік берсе, пайдаланушы соңында Ұйым1 НЕМЕСЕ Қойма1 көрсететін барлық құжаттарға қол жеткізе алады. Сондықтан, егер пайдаланушыға бірнеше рөлдер берілсе, онда Әрбір рөлге RLS пайдаланатын сүзгі орнатылуы керекекі кен орны үшін де (ұйым және қойма бойынша). Стандартты шешімдерде бұл тапсырма әдетте барлық мүмкін RLS сүзгілері тіркелген бір рөлді жасау арқылы шешіледі. Содан кейін бұл рөл осы каталогтармен жұмыс істейтін барлық пайдаланушыларға тағайындалады. Сондай-ақ, пайдаланушыда шектеулі құжаттарға қол жеткізу құқығын қамтитын басқа рөлдердің болмауы да бақыланады.

Сондай-ақ, RLS сүзгілерін бәріне қолдануға болмайтынын атап өткен жөн. мүмкін түрлерідеректерге қол жеткізу, бірақ тек жоғарғы деңгейдегі қол жеткізу түрлері. Мысалы, каталогтар үшін қол жетімді он алты қолжетімді түрдің ішінен RLS сүзгілері тек төрт негізгіге ғана қолданылуы мүмкін: Оқу, өзгерту, қосу және жою. Бұл, мысалы, пайдаланушыға бір уақытта кез келген құжаттармен бағдарламалық жұмыс істеу мүмкіндігі үшін сүзгісіз «Өңдеу» құқығын және интерактивті жұмыс үшін ұйымның RLS сүзгісімен «Өңдеу» құқығын бере алмайтынымызды білдіреді. Егер пайдаланушыға құжаттарды RLS сүзгісі арқылы өңдей алуы қажет болса, бізден «Өңдеу» немесе «Оқу» жоғарғы деңгейінде жалпы сүзгіні енгізу қажет.

Механизмдердің жалпы күрделілігін ескере отырып, әдеттегі конфигурацияның нақты пайдаланушысы үшін нақты не бар екенін анықтау өте қиын. Типтік конфигурацияларда берілген құқықтарды тексеру үшін өте ыңғайлы есеп бар, ол шақырылады «Рұқсат құқығы». Ол пайдаланушыға берілген барлық құқықтарды талдайды және RLS сүзгілерін ескере отырып, барлық кіру топтары шығарған құқықтардың соңғы тізімін көрсетеді.

4.3. Деректерді бөлу.

Деректерге қол жеткізуге әсер ететін тағы бір механизм деректерді бөлу. Бұл механизм жалпы конфигурациясы мен жалпы каталогтары бар бір физикалық дерекқорда бірнеше тәуелсіз дерекқорларды ұстауға арналған. Кейбір өте шектеулі жағдайларда бұл механизм қол жеткізуді басқару деп санауға болады. Қосылған кезде әрбір пайдаланушы тек тәуелсіз дерекқорларының бірінде жұмыс істей алады, бірақ жалпы деректерді пайдалана алады.

Кейбір жалпы мағынада бұл механизмді деректер сүзгісі және RLS іске асырудың ерекше жағдайы деп санауға болады. RLS-тен айырмашылығы, бөлу әлдеқайда қатаң механизм. Және осы қатаңдықтың арқасында әзірлеушілер RLS-тің тән баяулауынсыз мұндай сүзуді орындау үшін қосымша индекстерді пайдаланудың техникалық мүмкіндігіне ие.

Шын мәнінде RLS тек қосымша таңдаулар болып табылады, әрбір дерекқор сұрауына автоматты түрде қосылады. Деректерді бөлу - бөлгішті қосубарлық бөлінген кестелерге және олардың индекстеріне, соның ішінде кластерленген кестеге. Деректер бөлгішке сәйкес топтастырылады, яғни. дискіге физикалық түрде қайта бөлінедіәрбір бөлгіш мәні үшін бөлек топтарға. Осының арқасында әрбір пайдаланушы тек өзінің деректерімен жұмыс істейді, ал сервер әрбір сұраныспен бүкіл кестені физикалық сканерлеуді қажет етпейді. Ағымдағы бөлімнің деректер аймағын ғана көру жеткілікті.

Дегенмен, дәл осы деректерді физикалық қайта бөлуге байланысты бөлгіш мәндеріне негізделген сүзгісі жоқ толық пайдаланушы ретінде іске қосылғанда, барлық сұраулар өте, өте баяу орындалады. Бөлгіш мәнінсіз индекстерді толық пайдалану мүмкін емес, сондықтан дискіден физикалық түрде оқылатын және әрбір сұраумен өңделетін деректер көлемі мүмкін шамасы ретімен ұлғаяды. Сәйкесінше, шын мәнінде, дерекқорда үнемі жұмыс істейтін барлық пайдаланушылар тек өз аймағында жұмыс істейтін болса ғана, бөлу мағынасы бар.

4.4. Бағдарлама коды.

Мүмкін, қосымша шектеулерді орнатудың ең әмбебап жолы бағдарлама коды. Олар кез келген платформа механизмдеріне әсер ете алады. Мысалы, құжаттарға қол жеткізуді шектеу үшін әзірлеуші ​​құжаттар тізімі пішініне, таңдау пішініне сүзгіні қоса алады және нақты құжат пішінін ашқан кезде құжат деректерін көру мүмкіндігін бағдарламалық түрде тексере алады. Әзірлеуші ​​деректерді таңдау кезінде есептерде сүзгіні қолдана алады.

Дегенмен, бағдарлама коды конфигурация бойынша тұтастай құқықтарды шектеуге ешқандай мүмкіндік жоқ. Әзірлеуші ​​ең көп жасай алатын нәрсе - нақты жеке деректерді іздеу механизмдеріне шектеулер салу. 1С деректермен жұмыс істеу үшін объектілік модельді қолдануына байланысты, бағдарлама коды деректерді өзгертуден қорғауға кепілдік бере алады, нысан модуліне қажетті тексерулерді қосу. Бірақ әзірлеуші ​​пайдаланушы басқа есептер немесе өңдеу арқылы басқа адамдардың іске асыру құжаттары туралы ақпаратты міндетті түрде ала алмайтынына толық кепілдік бере алмайды.

Бұл принцип, мысалы, қолданылады. Конфигурацияға қосылу арқылы кеңейтім реттелетін шектеулерді қосады және барлық анықтамалықтар мен құжаттарға тексереді. Ол тізімдердегі пайдаланушыларға көрсетілетін деректерді сүзеді, деректерді қарау немесе өзгерту кезінде қолжетімділікті тексереді. Тыйым салынған деректерді өзгертуге болмайтынын қамтамасыз етеді. Бірақ ол есептердегі немесе сұраулардағы деректерді сүзе алмайды.

Тыйым салынған деректерді сұрау, жеке өңдеу немесе есеп арқылы алудың әрқашан нұсқалары бар. Пайдаланушы пайдаланатын конфигурация мүмкіндіктерінің тізімін өте қатаң шектемесеңіз және пайдаланушыға рұқсат етілген әрбір механизмге (пішін, өңдеу, есеп, сұрау) бөлек сүзгіні қоспасаңыз.

4.5. Опцияларды салыстыру.

Қосымша деректерді шектеу үшін қарастырылған опцияларды қысқаша салыстыруға тырысайық.

Оны қалай қосуға болады

Не болады?

Функционалды опциялар- функционалдылықты жасыруға арналған интерфейс механизмі

1. Функционалдық опция үшін сақтау орнын қосыңыз: тұрақты, каталог атрибуты немесе ақпараттық тіркелім ресурсы.
2. Конфигурацияға функционалды опцияны қосыңыз және ондағы бұрын жасалған сақтау орнын көрсетіңіз.
3. Функционалдық опцияның қасиеттерінде оның құрамын көрсетіңіз, оған тәуелді болатын барлық конфигурация объектілерін белгілеңіз.
4. Кәсіпорын режимінде функционалды опцияны пайдалануды қосыңыз.

1. Функционалдық опцияға енгізілген барлық нысандар пәрмен интерфейсінде енді көрсетілмейді.
2. Опция арқылы жасырылған барлық өрістер пішіндер мен есептер жоғалады.

RLS (Record Level Security)- рөл рұқсат еткен құқықтар үшін қосымша сүзгілер

1. Шектеу керек құқықтардың әрқайсысы үшін әрбір пайдаланушы рөлінде RLS сүзгілерін тіркеңіз.

Ескертпе: Кәсіпорын режимінде ешқандай әрекет қажет емес. Сүзгілер автоматты түрде қолданылады.

1. Конфигурацияланған сүзгі ақпараттық қауіпсіздікке арналған әрбір сұрауға қосылады.
2. RLS сүзгісіне сәйкес келмейтін деректерді кез келген әдіспен алу мүмкін емес: ол пішіндерде немесе есептерде көрсетілмейді; ешбір сұрау бойынша таңдалмайды.

Деректерді бөлу- бір физикалық деректер базасында бірнеше тәуелсіздерді сақтау

1. Ортақ деректердің құрамын анықтайтын конфигурацияға жалпы төлсипатты қосыңыз.

2. Екі сеанс параметрін қосыңыз: пайдалану белгісі және ағымдағы деректерді ортақ пайдалану мәні үшін.

3. Деректерді бөлуді қосу және ағымдағы бөлгіш мәнін толтыру үшін бағдарлама кодын қосыңыз.

1. Конфигурацияға деректерді бөлу мүмкіндігін қосқаннан кейін бірден бөлу мүмкіндігі қосылған кестелер физикалық түрде қайта құрылады.

  • Бөлгіш мәнін сақтайтын «Бөлгіш» өрісі қосылады.
  • Кестелердегі барлық индекстер қайта құрылады. Бөлгіш өріс бірінші өріс ретінде қосылады.

2. Бөлуді қосқаннан кейін.

  • Бөлгіш мәніне негізделген сүзгі ақпарат қауіпсіздігіне қатысты барлық сұрауларға қосылады.
  • Кез келген деректерді жазу кезінде сеанс параметрінің мәніне сәйкес бөлгіш мәні автоматты түрде толтырылады.
Бағдарлама коды- кез келген қосымша нүктелік шектеулер
1. Конфигурацияда қажетті шектеулерді енгізу үшін кодты қосыңыз.

1. Айтқанын дәл орындайды.

Ескерту: код тұтастай конфигурацияға әсер етпейді, тек әрекет белгіленген нақты механизмге әсер етеді.

5. Нәтижелер.

Шектеулерді орнатудың әрбір әдісінің оң және теріс жақтары бар. Технология тұрғысынан оны рөлдерге дұрыс бөлу ең дұрыс жол. Қол жетімді деректерді сүзудің ең сенімді жолы - RLS пайдалану. Дәл осы тапсырма үшін механизм әзірленген. Нүктелік шектеулерді кодты пайдалану арқылы орындау оңай. Функционалды опциялар мен деректерді бөлу қол жеткізуді шектеуге арналмаған өте нақты механизмдер. Кейбір жағдайларда олар бұл үшін пайдаланылуы мүмкін.

Функционалды опцияларортақ конфигурация объектілері болып табылады. Олар функционалдық опциялар механизмінің бөлігі болып табылады және қолданба шешімінің өзін өзгертпестен іске асыру кезінде қосуға/өшіруге болатын қолданба шешіміндегі функционалдылықты таңдауға мүмкіндік береді.

Мысалы, нақты іске асыру шарттарына байланысты қоймалар бойынша тауарларды есепке алуды өшіру қажет. Осылайша, тауарларды қабылдау үшін құжаттарды дайындау кезінде өріс Қорқұжат нысанында көрсетілмеді.

Осы мақсат үшін конфигурацияда функционалды опцияны анықтауға болады Қойма есебі, тұрақты түрде сақталады Логикалық.

Әртүрлі конфигурация нысандарын немесе олардың мәліметтерін осы функционалды опциямен байланыстыруға болады. Мысалы, атрибутты осы функционалды опциямен байланыстыруға болады Қорқұжат Тауарларды қабылдау.

Содан кейін, іске асыру кезінде сіз 1С: Кәсіпорын режимінде белгілі бір ақпараттық базада осы функционалды опцияны қосуға немесе өшіруге болады.

Платформа барлық сәйкес интерфейс элементтерінің (өрістер, пәрмендер, тізім бағандары, есеп элементтері) дисплейін автоматты түрде қосады және өшіреді. Біздің жағдайда өріс жасырылады немесе көрсетіледі Қорбарлық құжат нысандарында Тауарларды қабылдау.

1С: Enterprise 8.2 платформасының шығарылуымен конфигурация ағашында жаңа нысан пайда болды - «Функционалды опциялар». Ол басқарылатын пішіндерге негізделген барлық стандартты конфигурацияларда белсенді қолданылады және интерфейсте жеке мәліметтер мен объектілерді көрсету процесін жеңілдету үшін қызмет етеді. Мысалы, сіздің конфигурацияңызда сыртқы веб-қызметтермен алмасу модулі бар. Бұл модуль құжаттардағы, регистрлердегі және ішкі жүйелердегі жеке құрамдас бөліктердегі бірқатар мәліметтерді пайдаланады. Модуль міндетті емес және әрбір компания үшін қажет емес. Модуль барлығына қажет емес болғандықтан, онымен байланысты барлық элементтерді/өрістерді көрсету әрдайым қажет емес екендігі қисынды.

Платформаның ескі нұсқаларында мұндай мәселелерді шешу барлық тәуелді бөлімдерде шақырылуы керек болатын қосымша код жазуды талап етті. Мысалы, белгілі бір пішін мәліметтерін жасыру қажет болса (параметр мәніне байланысты), онда пішінді ашқан кезде сәйкес кодты шақыру керек болды. Бұл өте ыңғайлы емес және көп жағдайда әзірлеушілер мұндай нәрселерден бас тартты.

Құжаттар түріндегі өрістерді жасыру қажет болса жақсы, бірақ бізде пайдаланушының өзара әрекеттесуі де мүмкін болатын тіркеу пішіндері болуы мүмкін. Әмбебап дисплейді басқару функциясын жазу өте қиын және қосымша уақытты қажет етеді, бұл ешқашан жеткіліксіз.

Функционалды опциялар осы және интерфейс элементтерін/пайдаланушы интерфейсіндегі қолжетімді нысандардың құрамын көрсетумен байланысты көптеген басқа қиындықтарды шешуге арналған. Бұл жазбада мен функционалдық опциялардың негізгі мақсатын пайдалану мысалдарын қарастырмаймын, бірақ олардың стандартты емес түрде қолданылуына назар аударамын. Бұл көптеген озық әзірлеушілерге таныс болуы мүмкін, бірақ мен бұл әдіске кездейсоқ келдім. Дәлірек айтқанда, JavaScript-те бағдарламалау тәжірибесі шабыттандырды.

№1 жағдай: басқа нысандардың үстінен орауыш ретінде функционалды опция

Функционалдық опциялардың бірінші стандартты емес ерекшелігі - қаптамаларды жасау мүмкіндігі. Ең көп қарастырайық ең қарапайым мысал– тұрақтылар. Мысалы, пайдаланушы рөлдерінің үлкен саны бар конфигурацияға жаңа тұрақтыны қосасыз. Пайдаланушылар тұрақты мәнге қол жеткізу үшін сәйкес рөлдерге оқу құқықтарын орнату керек. Құқықтар орнатылмаса, пайдаланушылар оның мәнін ала алмайды. Рөлдер көп болса және олар негізгі рөлден мұраға алынбаса, сәйкес ұяшықтарды тексеруге уақыт бөлуге тура келеді.

Функция опциясы бұл мәселені талғампазырақ шеше алады. Идея мынада: тұрақты мән жасау (мысалы, ). Біз оған құқық бермейміз. Бір аттас функционалды опцияны жасаңыз және оны сипатта көрсетіңіз «Сақтау»тұрақтыны көрсетіңіз «Деректерді үнемдеу мүмкіндігі». Біз де туды орнаттық «Алу кезіндегі жеңілдіктер».

Міне, қазір кодтың кез келген жерінде тұрақтыға сілтеме жасау керек болса, біз келесідей жазамыз:

Опцияны артықшылықты режимге қойғандықтан, тұрақты үшін ешқандай қосымша құқықтарды көрсетудің қажеті жоқ. Әрине, бұл әдісті барлық мүмкін болатын және мүмкін емес жағдайларда қолданудың қажеті жоқ. Есте сақта құзыретті ұйымдастыруқұқықтар – бейбітшіліктің кілті. Трикті шынымен қажет жағдайларда ғана қолданыңыз.

Іс № 2. Абстракцияның қосымша деңгейі

Мен бұл әдісті қалай дұрыс атайтынымды білмеймін, бірақ менің ойымша, бұл дәл солай естіледі. Алдыңғы мысалды қарастырайық. Бізде бұрынғыдай тұрақты «Деректерді сақтау мүмкіндігі» бар. Біз онымен қаптама сияқты аттас функционалды опцияны пайдалана отырып жұмыс істейміз.

Енді біз тұрақтыдан құтылып, каталогты пайдалануға ауысқымыз келді деп елестетіңіз. Мұндай мәселені шешудің типтік сценарийі (егер біз тек тұрақты мәнді қолданатын болсақ) тұрақтыға қол жеткізуді анықтау үшін ғаламдық іздеу құралын іске қосу болады. Естеріңізге сала кетейін, егер біз функционалды опцияны орауыш ретінде қолданбасақ, онда тұрақтыны келесідей өңдеу керек:

Constants.Ability toSaveData.Get();

Біз барлық қоңырауларды табамыз және оларды жаңа сақтау нысанына жолмен ауыстырамыз. Келісіңіз, бұл өте ыңғайсыз. Егер біз алдыңғы жағдайды қолдансақ (орам ретінде функционалды опцияны пайдалану), онда «жылжыту» үшін бізге тек функционалдық опцияның қасиеттеріне өтіп, сипатты өзгерту керек. «Сақтау». Мысалы, сол жерде көрсетіңіз «Анықтамалық»немесе «Ақпарат тізілімі». Ғаламдық іздеуі бар ойындар қажет емес. Функционалдық опция арқылы тұрақты мәнге қол жеткізу коды өзгеріссіз қалады:

GetFunctionalOption («Деректерді сақтау мүмкіндігі»);

1c нысаны «Функционалды опциялар» - қолданбалы шешімдегі функционалдылықты ерекшелеуге арналған, оны іске асыру кезінде өзін өзгертпей қосуға (өшіруге) болады (ішкі жүйелермен бірге олар 1С жұқа клиент интерфейсін құрайды). Олар функционалдық опциялар механизмінің бөлігі болып табылады.

Функционалдық опциялар механизмі екі метадеректер нысанын қамтиды:

  1. Функционалды опция;
  2. Функционалдық опциялардың параметрлері.

Толығырақ

Функционалды опцияқолданба интерфейсінің құрамына тікелей әсер ете алатын метадеректер нысанын көрсетеді (егер функционалды опция оның мәнін логикалық төлсипатта сақтаса). Осы түрдегі нысандарды пайдалану арқылы қолжетімсіз функционалдылыққа қатысты элементтерді жасыруға болады. Мысалы, Валюта есебі опциясы Валюталарды, Валюта өрісін және Валюта сомасы бағанын есептер жасыра алады.

Функционалдық опция мәнінің көзі - Сақтау сипаты ретінде таңдалған метадеректер нысаны, мысалы, ол болуы мүмкін.

Функционалдық опцияның мәні каталог атрибутында немесе ресурста сақталса, опция мәнін таңдау жолын нақты көрсететін қосымша ақпарат қажет. Осы мақсатта жеке метадеректер нысаны ұсынылады - Функционалдық опциялар Параметрлері.

Функционалдық опциялардың параметрлері функционалдық опциялардың мәндік кеңістігінің координаталық осьтері деп айта аламыз. Сонымен қатар, функционалдық опциялардың бір параметрі көптеген функционалды опциялар үшін бір уақытта «оның» координат осінің мәнін анықтай алады.

[тасалау]

Функционалдық опциялар әсер етуі мүмкін:

  1. пайдаланушы интерфейсіне:
    • жаһандық;
    • мәліметтер (соның ішінде пішін мәліметтерінің бағандары сияқты Мәндер кестесінемесе ValueTree);
    • пішін командалары;
  2. деректер құрамы жүйесін пайдалана отырып іске асырылатын есептер бойынша;
  3. кірістірілген тілде жазылған алгоритмдерге - кіріктірілген тілден функционалды опциялардың мәндерін алуға және оларды әртүрлі жағдайлар, мысалы, есептеулер көлемін азайту үшін (мысалы, қараңыз).

НАЗАР АУДАРЫҢЫЗ!Егер клиенттік қолданба веб-сервер арқылы ақпараттық базаның файлдық нұсқасымен жұмыс істесе, функционалдық опцияны өзгерту өзгереді. пайдаланушы интерфейсівеб-серверді қайта іске қосқаннан кейін ғана (клиенттік қолданбаны қайта іске қосу пайдаланушы интерфейсін өзгертпейді).

Функционалдық опциялардың қасиеттері 1С

  • Сақтау - логикалық түрдегі нысанды таңдау қажет өріс. Әдетте тұрақтылар қолданылады.
  • қабылдау кезінде - жалауша артықшылықты режимде функционалдық опцияның мәнін алу мүмкіндігіне жауап береді.
  • Композиция – функционалдық опция қосу/өшіру кезінде көрінуі қосылатын/өшірілетін (басқарылатын пішін арқылы басқарылатын) нысандар мен нысан мәліметтерінің тізімі.

Мысалы, нақты іске асыру шарттарына байланысты тауарларды қабылдау үшін құжаттарды тіркеу кезінде құжат нысанында Қойма өрісі көрсетілмейтіндей етіп қойма бойынша тауарларды есепке алуды өшіруге болады.

1С функционалдық опцияларын пайдалану ерекшеліктері:

  1. Функционалдық опциялардың кез келген түрдегі мәндері болуы мүмкін (міндетті түрде логикалық емес).
  2. Функция опциясын пайдалану үшін жаңа тұрақтыны қосқанда, оны тиісті ішкі жүйеге қосуды және оған рұқсаттарды тағайындауды ұмытпаңыз.
  3. Функционалдық опциялармен жұмыс істеу кіріктірілген тілде қол жетімді, соның арқасында әзірлеуші ​​​​функционалдық опциялардың мәндері үшін өз алгоритмдерін жасай алады.
  4. Функционалдық опция өшірілген болса, пәрмен интерфейсі пәрмені пәрмен интерфейсінен шығарылады:
    • пәрмен параметрі болып табылатын атрибут;
    • пәрмен параметрінің түрі (егер пәрмен параметрінің түрі құрама болса, барлық параметр түрлері өшірілгенде пәрмен қолжетімсіз болады).

НАЗАР АУДАРЫҢЫЗ!Функционалдық опциялар және олардың параметрлері деректер қорының құрамына әсер етпейді: барлық кестелер мен өрістер функционалдық опциялардың күйіне қарамастан дерекқорда болады.

Функционалдық опциялардың пішін мәліметтері мен командаларына әсері:

  1. басқарылатын пішін түрі<Вид>объект ( DirectoryObject, DocumentObject және т.б.) сәйкес нысан функционалдық опция арқылы өшірілген болса, өшіріледі. Параметрлері жоқ функционалды опциялар ғана талданады.
  2. Басқарылатын пішін түрінің негізгі атрибуттары Динамикалық тізімфункционалдық опция динамикалық тізімнің негізгі кестесі ретінде көрсетілген конфигурация нысанын өшірсе, өшіріледі. Параметрлері жоқ функционалды опциялар ғана талданады.
  3. Анықтама түрінің пішін төлсипаты, егер осы түрді қалыптастыратын конфигурация нысаны функционалды параметр арқылы ажыратылған болса, ажыратылады. Функционалдық опциялар барлық құраушы түрлерін ажыратса, құрама түрдің пішін төлсипаты өшіріледі.
  4. Пішін кестесі функционалды параметр арқылы өшірілген пішін төлсипаты деректерін көрсетсе, өшіріледі.
  5. Түрді таңдау диалогтық терезесінде (мысалы, күрделі түрдің атрибуттарымен байланысты енгізу өрістері үшін) түрлері жоқ, егер осы типтерді құрайтын конфигурация нысандары функционалды параметр арқылы ажыратылған болса. Функционалдық опциялар арқылы өшірілген түрлер туралы ақпарат клиент жағында кэштеледі және 20 минуттан кейін немесе әдісті шақыру кезінде тазаланады. Жаңарту интерфейсі().

НАЗАР АУДАРЫҢЫЗ!Пәрмен интерфейсінен айырмашылығы, функционалдық опциялар параметрлерінің мәндері пішіннің белгілі бір данасы үшін ғана орнатылады.

Функционалдық опциялар параметрін жасау

Функционалдық опция параметрі «Функционалдық опция параметрлері» 1С конфигурация объектісі арқылы жасалады.

[тасалау]

Мұны конфигурация терезесінде жаңа нысанды қосу арқылы жасауға болады.

Функционалдық опциялар параметрінің қасиеттері:

  • Қолдану - мәндері функционалды опцияның мәнін қалай таңдау керектігін анықтайтын объектілер жинағын орнатады. Қолжетімді нысандар тізімі каталогтарды және ақпарат тізілімінің өлшемдерін қамтиды. Осы тізімдегі әрбір функционалды опциялар параметрі үшін бір каталогты (каталогтардың бүкіл тізімінен) және әрбір ақпарат тізілімінің бір өлшемін таңдауға болады.

НАЗАР АУДАРЫҢЫЗ!Бір метадеректер нысанын бірнеше функционалды опция параметрлерінде пайдалана алмайсыз.