एक्सेस अधिकार 1s 8.3 की प्रतिलिपि बनाना। अतिरिक्त उपयोगकर्ता अधिकार स्थापित करना. प्रोग्रामेटिक एक्सेस अधिकारों की जाँच

💖क्या आपको यह पसंद है?लिंक को अपने दोस्तों के साथ साझा करें

एक्सेस को प्रोग्राम में कई स्थानों पर कॉन्फ़िगर किया जा सकता है, लेकिन इसे उपयोगकर्ता प्रोफ़ाइल के लिए करने की अनुशंसा की जाती है। हम प्रशासक प्रोफ़ाइल पर जाते हैं और हम क्या देखते हैं?

सेटिंग मानों का संपादन निषिद्ध है. यह बिल्कुल सामान्य है और आपको उन्हें किसी अन्य स्थान पर स्थापित करने का प्रयास नहीं करना चाहिए। सिस्टम सिर्फ सोचता है यदि उपयोगकर्ता की भूमिकाओं में से एक है - "पूर्ण अधिकार", तो उसे हर चीज़ की अनुमति है,अतिरिक्त अधिकारों की सेटिंग की परवाह किए बिना.इसलिए इन्हें स्थापित करने का कोई मतलब नहीं है. अन्य प्रोफ़ाइलों के लिए, अतिरिक्त अधिकार ठीक हैं।

लेकिन अतिरिक्त अधिकार न केवल किसी प्रोफ़ाइल के लिए, बल्कि किसी समूह और किसी विशिष्ट उपयोगकर्ता के लिए भी कॉन्फ़िगर किए जा सकते हैं।

यदि उपयोगकर्ता और उसकी प्रोफ़ाइल के लिए अतिरिक्त अधिकारों के मान मेल नहीं खाते हैं तो सिस्टम कैसे व्यवहार करेगा? ऐसा लग सकता है कि इस मामले में सिस्टम को उपयोगकर्ता द्वारा निर्धारित सही मूल्य का अधिक सटीक उपयोग करना चाहिए। लेकिन यह सच नहीं है! प्रोफ़ाइल अधिकारों की प्राथमिकता उपयोगकर्ता समूह और उपयोगकर्ता की तुलना में अधिक है।प्रोफ़ाइल के मान को सही से पढ़ने के बाद, प्रोग्राम यह भी नहीं देखेगा कि समूह के लिए वहां क्या सेट किया गया है, यही कारण है कि प्रोफ़ाइल में इसे कॉन्फ़िगर करना आवश्यक है।

तो फिर, किसी समूह और उपयोगकर्ता के अधिकारों को भरना क्यों संभव है यदि उनका वैसे भी उपयोग नहीं किया जाता है? और यदि उपयोगकर्ता को प्रोफ़ाइल नहीं दी गई है तो उनका उपयोग किया जाएगा। इस मामले में सिस्टम कौन से अधिकार लेगा? आइए विन्यासकर्ता में देखें:

समारोह ReadValueUserRight(दायाँ, डिफ़ॉल्ट वैल्यू, उपयोगकर्ता) वापसीमूल्य= नई सारणी; अनुरोध = नया अनुरोध; Request.SetParameter('उपयोगकर्ता', उपयोगकर्ता); अनुरोध.सेट पैरामीटर( "प्रयोगकर्ता के अधिकार", कानून); अनुरोध.पाठ= "विभिन्न अनुमतियों का चयन करें | रजिस्टरवैल्यूराइटवैल्यू|से | सूचना रजिस्टर। अतिरिक्त उपयोगकर्ता अधिकारों के मूल्य रजिस्टर के रूप में अधिकारों के मूल्य|कहां | रजिस्टरवैल्यूराइट.राइट = &यूजरराइट | और RegisterValueRight.UserB| (चुनना | उपयोगकर्ता समूह.लिंक एएस लिंक| से | निर्देशिका.उपयोगकर्तासमूह.उपयोगकर्तासमूह उपयोगकर्तासमूह के रूप में| कहाँ | उपयोगकर्तासमूह.उपयोगकर्ता = &उपयोगकर्ता | | सब कुछ मिलाओ| | चुनना | मान(निर्देशिका.उपयोगकर्ता समूह.सभी उपयोगकर्ता) | | सब कुछ मिलाओ| | चुनना | &उपयोगकर्ता)"; नमूना = अनुरोध. दौड़ना()। चुनना(); यदि नमूना. मात्रा() = 0 फिर वापसीमूल्य। जोड़ें(डिफ़ॉल्टवैल्यू); अन्यथा अलविदा चयन. अगला() लूप वापसीमूल्य। जोड़ें(चयन.मूल्य); अंतचक्र; अगर अंत; वापसी रिटर्नवैल्यू; अंतकार्य

फ़ंक्शन उपयोगकर्ता, उपयोगकर्ता के समूह और सभी उपयोगकर्ता समूह के लिए निर्दिष्ट अधिकार मानों की एक श्रृंखला लौटाता है।

फ़ंक्शन RightIsUser(दायाँ, डिफ़ॉल्ट मान) ArrayRightValues ​​​​= GetUserRightValue(दाएं, डिफ़ॉल्ट वैल्यू); रिटर्न ArrayValuesPermissions.Find(True)<>अपरिभाषित;अंतकार्य

"सभी उपयोगकर्ता" समूह के बारे में मत भूलिए। इसमें सिस्टम के सभी उपयोगकर्ता शामिल हैं, लेकिन शायद ही कोई यह देखता है कि इसे क्या अधिकार सौंपे गए हैं। यदि हम चाहते हैं कि यह सभी उपयोगकर्ताओं पर लागू हो तो इस समूह के लिए एक मान निर्धारित करना भी गलत होगा। मैं दोहराता हूं, प्रोफ़ाइल की प्राथमिकता उच्च है; इसमें आपको अतिरिक्त अधिकार संपादित करने चाहिए।

यह भी जोड़ने योग्य है कि सिस्टम इस रजिस्टर को हर बार नहीं पढ़ता है, बल्कि पहली बार पढ़ने के बाद डेटा को कैश में रखता है और बाद में इससे डेटा लेता है। इसलिए, उपयोगकर्ता के लिए निर्धारित मान केवल अगले सत्र में प्रभावी होगा।

तो, आइए संक्षेप में बताएं:

यदि उपयोगकर्ता के पास "पूर्ण अधिकार" भूमिका है, तो उसे अतिरिक्त अधिकारों के मान निर्धारित करने की आवश्यकता नहीं है; उसे पहले से ही सब कुछ की अनुमति है। यदि उपयोगकर्ता को एक प्रोफ़ाइल दी जाती है, तो संबंधित प्रोफ़ाइल का मान लिया जाता है। यदि प्रोफ़ाइल निर्दिष्ट नहीं है, तो सिस्टम समूह, उपयोगकर्ता और "सभी उपयोगकर्ता" समूह के लिए मान पढ़ता है, और सिद्धांत के अनुसार एक का चयन करता है: यदि इसे एक स्थान पर अनुमति दी जाती है, तो इसे अनुमति दी जाती है सभी।


1C प्रोग्राम में काम करने से विभिन्न उपयोगकर्ताओं को दस्तावेज़ों और डेटाबेस निर्देशिकाओं तक कार्यात्मक पहुंच प्रदान करने की अनुमति मिलती है। उदाहरण के लिए:

  • यदि उपयोगकर्ता एक एकाउंटेंट के रूप में काम करता है, तो 1C में उसे उचित भूमिका सौंपी जाती है, जो उसे व्यावसायिक गतिविधियों पर दस्तावेज़ों और निर्देशिकाओं को जोड़ने, बदलने, हटाने की अनुमति देता है।
  • यदि कोई 1C उपयोगकर्ता केवल रिपोर्ट के साथ काम करता है और डेटाबेस डेटा देखता है, तो प्रबंधक का कहना है, तो उसे डेटा पढ़ने का अधिकार दिया जाता है।
  • एक उपयोगकर्ता जो 1C प्रोग्राम की सभी वस्तुओं के साथ काम कर सकता है - प्रशासक, के पास पूर्ण अधिकार हैं और उसे 1C में डेटाबेस के साथ काम करने के लिए असीमित पहुंच प्राप्त है।

पहुंच अधिकार केवल कॉन्फ़िगर किए जा सकते हैं प्रशासक- 1सी उपयोगकर्ता जिसे पूर्ण अधिकार सौंपे गए हैं।

1सी 8.3 अकाउंटिंग 3.0 में एक्सेस अधिकार सेट करना

1सी में: लेखांकन 8वां संस्करण। 3.0 कार्यक्रम के साथ काम करने के लिए 4 मुख्य प्रोफ़ाइल हैं:

  • प्रशासक;
  • मुनीम;
  • मुख्य लेखाकार;
  • अन्य कार्यक्रमों के साथ तुल्यकालन;
  • केवल पढ़ रहा हूँ.

1सी में अधिकार स्थापित करने के सिद्धांत को समझने के लिए, आइए विन्यासकर्ता की ओर मुड़ें। कॉन्फ़िगरेशन ऑब्जेक्ट का विश्लेषण करते समय हम एक विशेष शाखा देखेंगे भूमिकाएँ, जहां 1C डेवलपर्स द्वारा निर्दिष्ट डेटाबेस डेटा तक सभी संभावित पहुंच सूचीबद्ध हैं:

प्रत्येक भूमिका कॉन्फ़िगरेशन ऑब्जेक्ट के साथ काम करने के लिए क्षमताओं के एक सेट से मेल खाती है, ये हैं:

  • पढ़ना;
  • जोड़ना;
  • बाहर ले जाना;
  • रद्दीकरण;
  • संपादन;
  • मिटाना।

यदि आप किसी दी गई भूमिका को खोलते हैं, तो प्रत्येक ऑब्जेक्ट के लिए आप देख सकते हैं कि प्रत्येक कॉन्फ़िगरेशन ऑब्जेक्ट के साथ क्या किया जा सकता है:

यह जानना महत्वपूर्ण है कि 1C उपयोगकर्ता को डेवलपर्स द्वारा निर्दिष्ट सूची से भूमिकाओं का कोई भी सेट सौंपा जा सकता है। उसी समय, यदि किसी भूमिका में किसी वस्तु को बदलना असंभव है, लेकिन इस उपयोगकर्ता में जोड़ी गई किसी अन्य भूमिका में यह संभव है, तो परिणामी उपयोगकर्ता अधिकार "परिवर्तनीय" होंगे। भूमिकाएँ एक दूसरे की पूरक हैं। यह सुनिश्चित करने के लिए कि किसी ऑब्जेक्ट को उपयोगकर्ता द्वारा बदला नहीं जा सकता है, उसे सौंपी गई किसी भी भूमिका में "परिवर्तन" नहीं होना चाहिए।

1सी 8.3 लेखांकन में पहुंच अधिकार स्थापित करना

1C 8.3 में एक्सेस अधिकार सेट करना प्रशासन अनुभाग - उपयोगकर्ता और अधिकार सेटिंग्स में किया जाता है:

उपयोगकर्ता और अधिकार सेटिंग विंडो खुलती है:

आइए 1सी में पहुंच स्थापित करने की संभावनाओं पर विचार करें।

1सी 8.3 में नया उपयोगकर्ता कैसे बनाएं

डिफ़ॉल्ट रूप से, 1C प्रोग्राम सेट होता है प्रोग्राम में लॉगिन की अनुमति है, चयन सूची में दिखाएँऔर 1सी में सेट लॉगिन और पासवर्ड का उपयोग करके प्रोग्राम में लॉगिन करें। आप पासवर्ड स्वयं सेट कर सकते हैं, या आप इसे प्रोग्राम में सेट करने का सुझाव दे सकते हैं। एक नियम के रूप में, 1C प्रोग्राम द्वारा निर्दिष्ट पासवर्ड सत्यापन के अधिक गंभीर स्तर को पूरा करता है और सिस्टम को हैक करते समय ऐसे पासवर्ड का चयन करना अधिक कठिन होता है।

आपको पासवर्ड याद रखना होगा! यदि पासवर्ड खो जाता है, तो केवल प्रशासक ही इसे दोबारा रीसेट कर सकता है। यदि पासवर्ड खो गए हैं और आप डेटाबेस में प्रवेश नहीं कर सकते हैं, तो आपको डेटाबेस के प्रवेश द्वार को "हैक" करना होगा।

विशेषज्ञ इसके लिए HEX संपादक का उपयोग करते हैं और उपयोगकर्ताओं के साथ काम करने के लिए जिम्मेदार जानकारी को सही स्थानों पर बदलते हैं। यह संभव है, लेकिन उचित नहीं है.

1C 8.3 में मानक प्रोफाइल के आधार पर एक्सेस अधिकार कैसे सेट करें

प्रत्येक उपयोगकर्ता (प्रशासन - उपयोगकर्ता और अधिकार सेटिंग्स - उपयोगकर्ता) को कॉन्फ़िगरेशन में मौजूद प्रोफाइल की सूची से एक्सेस अधिकार दिए गए हैं। उदाहरण के लिए, एकाउंटेंट एस.बी. पेट्रोवा के लिए। अकाउंटेंट प्रोफाइल असाइन करें:

यहां हम पहले से ही 1C में काम कर रहे उपयोगकर्ता से सेटिंग्स को एक नए उपयोगकर्ता में स्थानांतरित कर सकते हैं: कार्यक्षमता सेटिंग्स, आंतरिक रिपोर्ट सेटिंग्स, आदि, ताकि समय बर्बाद न हो और सब कुछ मैन्युअल रूप से टाइप करें:

हम प्रशासक उपयोगकर्ता से नए उपयोगकर्ता अकाउंटेंट पेट्रोवा को स्थानांतरण के लिए सेटिंग्स को चिह्नित करते हैं:

व्यक्तिगत सेटिंग्स, मुद्रण सेटिंग्स और पसंदीदा स्थानांतरित करना:

बटन दबाएँ। सेटिंग चयन फ़ॉर्म में "कॉपी करें और बंद करें" चुनें। व्यवस्थापक उपयोगकर्ता से नए उपयोगकर्ता के लिए सभी सेटिंग्स स्थानांतरित कर दी गई हैं।

1C 8.3 में नई प्रोफ़ाइल जोड़ने के साथ एक्सेस अधिकार सेट करना

हम निर्देशिकाओं और दस्तावेज़ों तक सीमित पहुंच के साथ एक नई प्रोफ़ाइल बनाते हैं। समूह प्रोफ़ाइल तक पहुंचें - बनाएं:

1C सबसिस्टम के लिए एक नई प्रोफ़ाइल बनाना सुविधाजनक है। उदाहरण के लिए, अकाउंटेंट के अधिकारों के लिए हम निम्नलिखित कार्यक्षमता पर ध्यान दे सकते हैं:

  • लेखांकन में वेतन का प्रतिबिंब;
  • कर और योगदान पढ़ना;
  • कर्मचारियों के साथ आपसी समझौता;
  • वैयक्तिकृत लेखांकन;
  • पेरोल लेखांकन:

किताब के अनुसार केवल चयनित भूमिकाएँचयनित उपयोगकर्ता भूमिकाओं की एक सूची प्रदर्शित होती है। कार्मिक लेखांकन को एचआर प्रोफ़ाइल के लिए अलग से सेट किया जा सकता है।

1सी 8.3 में मौजूदा मानक प्रोफाइल तक अतिरिक्त पहुंच अधिकारों को कैसे कॉन्फ़िगर करें

आप चयनित प्रोफ़ाइल के साथ किसी विशिष्ट 1C उपयोगकर्ता में कार्यक्षमता जोड़ सकते हैं। उदाहरण के लिए, उपयोगकर्ता पेट्रोव के लिए, अकाउंटेंट प्रोफ़ाइल में, कमांड उपलब्ध नहीं है सभी कार्य, लेकिन हम इसे इस उपयोगकर्ता में जोड़ सकते हैं। प्रशासन - उपयोगकर्ता और अधिकार सेटिंग्स - समूह प्रोफ़ाइल तक पहुंच पर जाएं। किताब बनाएँ - सभी फ़ंक्शन मोड - अधिकार जोड़ें "सभी फ़ंक्शन" मोड:

हम अकाउंटेंट एस.बी. पेट्रोवा के लिए एक नई प्रोफ़ाइल जोड़ते हैं:

1सी 8.3 में व्यक्तिगत दस्तावेजों और निर्देशिकाओं तक अतिरिक्त पहुंच अधिकार स्थापित करना

यह सेटिंग आपको कॉन्फ़िगरेशन एक्सटेंशन के साथ काम करने की अनुमति देती है. मान लीजिए कि आपको 1C उपयोगकर्ता के लिए दस्तावेज़ों और संदर्भ पुस्तकों के एक मनमाने सेट तक पहुंच स्थापित करने की आवश्यकता है। इन दस्तावेज़ों और संदर्भ पुस्तकों का सेट भिन्न हो सकता है - 1C डेवलपर्स उपयुक्त भूमिकाओं के लिए सभी विकल्प प्रदान करने में सक्षम नहीं हैं जिनकी उपयोगकर्ताओं को व्यवहार में आवश्यकता हो सकती है। इसके अलावा, डेटा तक पहुंच के अनुरोध पूरी तरह से असाधारण हो सकते हैं।

1C 8.2 में, हमें कॉन्फ़िगरेशन से संपादन प्रतिबंध को हटाना पड़ा और रोल ऑब्जेक्ट्स में एक नई भूमिका जोड़नी पड़ी, आवश्यक निर्देशिकाओं और दस्तावेज़ों तक पहुंच प्रदान की गई, और तदनुसार, बाद के 1C अपडेट के साथ कठिनाइयाँ उत्पन्न हुईं। इस तरह के कॉन्फ़िगरेशन अब स्वचालित रूप से अपडेट नहीं किए जाते थे, इसलिए केवल 1C प्रोग्रामर वाले कर्मचारियों वाले संगठनों के उपयोगकर्ता ही इस तरह का आनंद उठा सकते थे।

1C 8.3 में, कॉन्फ़िगरेशन अनुप्रयोगों के साथ काम करने की एक नई क्षमता के उद्भव के कारण, हम मुख्य कॉन्फ़िगरेशन से संपादन प्रतिबंध को हटाए बिना और इसे पूरी तरह से मानक छोड़े बिना उपयोगकर्ता अधिकारों को सीमित करने के अपने कार्य को लागू कर सकते हैं। आइए अब देखें कि यह कैसे करें:

  1. संदर्भ के लिए उपयोगकर्ताओंआइए एक अतिरिक्त विशेषता "Access_Sale_Products" दर्ज करें, जो "हां" या "नहीं" मान लेगा।

प्रशासन - सामान्य सेटिंग्स - अतिरिक्त विवरण और जानकारी पर जाएँ। हम "मानों की सामान्य सूची के साथ विवरण और जानकारी" के साथ काम करने की क्षमता सक्षम करते हैं:

  1. हाइपरलिंक खोल रहा हूँ अतिरिक्त विवरण.

कॉन्फ़िगरेशन ऑब्जेक्ट की सूची के बाएँ कॉलम में हम पाते हैं उपयोगकर्ताओंऔर बटन पर क्लिक करें. जोड़ना. नीचे दिखाए अनुसार खुलने वाला फॉर्म भरें। नई विशेषता में दो मान होंगे: "हां" और "नहीं"। आइए मानों को "एक्सेस" समूह में संयोजित करें। मुख्य टैब भरें:

मान टैब भरें:

  1. आइए अब अपने उपयोगकर्ताओं के लिए यह जानकारी भरें।

"पेत्रोव के अकाउंटेंट" - नहीं:

"प्रशासक" - हाँ:

1C 8.3 डेटाबेस में सभी आवश्यक क्रियाएं पूरी हो चुकी हैं, अब हम इसके साथ काम करेंगे कॉन्फ़िगरेशन एक्सटेंशन.

  1. हम डेटाबेस विन्यासकर्ता दर्ज करते हैं: कॉन्फ़िगरेशन - कॉन्फ़िगरेशन एक्सटेंशन:

हम पुस्तक के अनुसार एक नया कॉन्फ़िगरेशन एक्सटेंशन जोड़ते हैं। +:

हम डिफ़ॉल्ट एक्सटेंशन डेटा से सहमत हैं या अपना खुद का सेट करते हैं:

पुस्तक का उपयोग करके एक्सटेंशन कॉन्फ़िगरेशन खोलें। :

अब हम काम के लिए आवश्यक डेटा को मुख्य कॉन्फ़िगरेशन से स्थानांतरित करेंगे। निर्मित कॉन्फ़िगरेशन एक्सटेंशन "एक्सटेंशन 1" अभी भी खाली है:

मुख्य कॉन्फ़िगरेशन में, हम दस्तावेज़ों में पाते हैं - दस्तावेज़ वस्तुओं और सेवाओं की बिक्री, और उस फॉर्म को स्थानांतरित करें जिसके साथ हम काम करेंगे। उदाहरण के लिए, आइए फॉर्म के नाम पर क्लिक करके और उस पर राइट-क्लिक करके कॉन्फ़िगरेशन एक्सटेंशन में "ProductsDocumentForm" जोड़ें। चूहों। ड्रॉप-डाउन मेनू से, "एक्सटेंशन में जोड़ें" कमांड चुनें:

कॉन्फ़िगरेशन एक्सटेंशन में फॉर्म खोलें और इवेंट प्रोसेसिंग बनाएं रिकॉर्डिंग से पहले. इवेंट हैंडलर बनाते समय, 1C 8.3 प्रोग्राम आपसे यह बताने के लिए कहेगा कि प्रोग्राम कोड कहाँ बनाना है। चुनें: क्लाइंट पर बनाएं और संदर्भ के बिना सर्वर पर एक प्रक्रिया बनाएं:

जब कोई ईवेंट बनाया जाता है, तो हम "BeforeRecord" ईवेंट के खाली सेल में 1C 8.3 प्रोग्राम द्वारा निर्दिष्ट ईवेंट प्रोसेसिंग प्रक्रिया देखेंगे: "Ext1_BeforeRecord":

प्रपत्र मॉड्यूल पर जाएँ और निम्नलिखित प्रोग्राम कोड डालें:

हम परिवर्तनों को अद्यतन करते हैं और किए गए परिवर्तनों की जांच करने के लिए डेटाबेस को उपयोगकर्ता मोड में चलाते हैं। उपयोगकर्ता अकाउंटेंट पेट्रोवा के रूप में लॉग इन करें और दस्तावेज़ को वस्तुओं और सेवाओं की बिक्री संपादित करें, बटन पर क्लिक करें। लिखो:

व्यवस्थापक के लिए, दस्तावेज़ को संपादित करना कोई समस्या नहीं होगी।

दिए गए प्रोग्राम कोड को किसी भी दस्तावेज़ और संदर्भ पुस्तक के लिए 1C 8.3 कॉन्फ़िगरेशन एक्सटेंशन में रखा जा सकता है, और यह आपको मानक कॉन्फ़िगरेशन को बदलने की अनुमति नहीं देगा, लेकिन साथ ही विभिन्न उपयोगकर्ताओं के लिए डेटाबेस ऑब्जेक्ट तक पहुंच की समस्या को हल करेगा।

1C 8.3 ZUP में अन्य उपयोगकर्ताओं के लिए अलग-अलग सेटिंग्स के साथ रिपोर्ट संस्करण तक पहुंच कैसे प्रदान करें, हमारा वीडियो देखें:

नमस्कार प्रिय ब्लॉग पाठकों। गहन रिपोर्टिंग और इस बारे में बड़ी संख्या में आने वाले प्रश्नों के कारण मुझे अगले लेख में थोड़ा विलंब करना पड़ा। वैसे, आप अपने प्रश्न चैट में पूछ सकते हैं या सीधे मुझे ईमेल द्वारा संदेश भेज सकते हैं। लेकिन पर्याप्त विज्ञापन) आज हम उन नए उपयोगी और दिलचस्प अवसरों के बारे में बात करेंगे जो यह हमें देता है नया प्लेटफॉर्म 1सी एंटरप्राइज 8.3और इसके आधार पर निर्मित विन्यास: वेतन और मानव संसाधन प्रबंधन 3.0और एंटरप्राइज अकाउंटिंग 3.0.

लेख के बारे में बात की जाएगी उपयोगकर्ता पहुंच को स्वयं कैसे कॉन्फ़िगर करेंकेवल उन दस्तावेज़ों, निर्देशिकाओं और रिपोर्टों तक जिनकी उसे काम के लिए आवश्यकता है और बाकी तक पहुंच सीमित करें। इससे हमें मदद मिलेगी कमांड इंटरफ़ेसलचीली सेटिंग्स के साथ, जो 1C प्रोग्राम संस्करण 3.0 में दिखाई दिया। सुविधाओं पर चर्चा करें पहुंच अधिकारों का विभेदनहम प्रोग्राम ऑब्जेक्ट के लिए 1C ZUP 3.0 कॉन्फ़िगरेशन का उपयोग करेंगे, लेकिन 1C एंटरप्राइज़ अकाउंटिंग 3.0 सॉफ़्टवेयर उत्पाद के लिए उसी तंत्र का सफलतापूर्वक उपयोग किया जा सकता है। दरअसल, मैंने इस मुद्दे का अध्ययन तब किया जब मैंने बुख 3.0 में उपयोगकर्ताओं को स्थापित करने में सहायता की।

1C संस्करण 3.0 के सामान्य उपयोगकर्ता मोड में उपयोगकर्ता कैसे बनाएं




मैं तुरंत ध्यान देना चाहूंगा कि हमें प्रोग्राम के संचालन के सामान्य उपयोगकर्ता मोड और कॉन्फ़िगरेशन मोड दोनों के साथ काम करना होगा। इसमें कुछ भी डरावना या जटिल नहीं है, आपको प्रोग्राम करने की आवश्यकता नहीं है) मैं तुरंत यह भी नोट करूंगा कि इस आलेख में स्क्रीनशॉट कुछ नए से प्रस्तुत किए जाएंगे जो हाल ही में कार्यक्रमों में दिखाई दिए हैं टैक्सी इंटरफ़ेस का 1C संस्करण 3.0. इस पर स्विच करने के लिए, बस सेवा मेनू खोलें और वहां पैरामीटर सेटिंग्स ढूंढें। सेटिंग्स विंडो में, "उपस्थिति" स्विच समूह में, "टैक्सी" इंटरफ़ेस का चयन करें और प्रोग्राम को पुनरारंभ करें। हालाँकि, जो लोग सामान्य इंटरफ़ेस में रहने में सहज हैं, उनके लिए सभी दस्तावेज़, संदर्भ पुस्तकें और सेटिंग्स जिनकी मैं लेख में चर्चा करूँगा, इन इंटरफ़ेस में समान हैं।

आइए ऐसी स्थिति देखें जहां आपके पास अभी तक आवश्यक उपयोगकर्ता नहीं है। आपको सामान्य उपयोगकर्ता मोड में एक उपयोगकर्ता बनाना होगा. मुख्य मेनू के "प्रशासन" अनुभाग पर जाएं और वहां हमें "उपयोगकर्ता और अधिकार सेटिंग्स" आइटम मिलेगा।

यदि आवश्यक हो, तो आप तुरंत पासवर्ड सेट कर सकते हैं।

अब, इस नए उपयोगकर्ता के लिए पहुँच अधिकारों के संबंध में। इन्हें इंस्टॉल करने की कोई जरूरत नहीं है. आप एक्सेस अधिकार सेटिंग्स तक सीधे उस फॉर्म से पहुंच सकते हैं जिसमें उपयोगकर्ता कॉन्फ़िगर किया गया है। बस पृष्ठ के शीर्ष पर "एक्सेस राइट्स" लिंक पर क्लिक करें। इसलिए, यह आवश्यक है कि एक्सेस अधिकारों में (और टैब पर "पहुंच समूह", और बुकमार्क पर "अनुमत क्रियाएं (भूमिकाएं)") सब कुछ खाली था. हम अधिकारों को उपयोगकर्ता मोड में नहीं, बल्कि 1सी विन्यासकर्ता में थोड़ी देर बाद कॉन्फ़िगर करेंगे।

लेकिन इस संबंध में एक महत्वपूर्ण विशेषता है. यह आवश्यक है कि डेटाबेस में कम से कम एक उपयोगकर्ता हो जिसके पास प्रशासनिक अधिकार हों। मेरा उपयोगकर्ता प्रशासक है. वह एक्सेस ग्रुप का सदस्य है "प्रशासक"और उसकी भूमिकाएँ हैं "कार्यकारी प्रबंधक"और "पूर्ण अधिकार।"

अब हमें कॉन्फिगरेटर मोड पर जाना चाहिए और वहां कॉन्फ़िगरेशन जारी रखना चाहिए। ऐसा करने के लिए, 1C प्रारंभ करते समय, वांछित डेटाबेस का चयन करें और "विन्यासकर्ता" बटन पर क्लिक करें। बस नए उपयोगकर्ता के रूप में लॉग इन न करें। उसके पास अभी तक कोई अधिकार नहीं है, और काम करना असंभव होगा। आपको पूर्ण अधिकारों के साथ एक उपयोगकर्ता के रूप में लॉग इन करना होगा, मेरे मामले में यह "प्रशासक" है।


कॉन्फिगरेटर विंडो खोलने के बाद, आइए सुनिश्चित करें कि हमारे द्वारा बनाया गया नया उपयोगकर्ता भी यहां प्रदर्शित हो। विन्यासकर्ता में उपयोगकर्ताओं की सूची मुख्य मेनू अनुभाग "प्रशासन" -> "उपयोगकर्ता" में संग्रहीत की जाती है।

कृपया ध्यान दें कि उपयोगकर्ता के पास प्रश्न चिह्न है। इसका मतलब यह है कि इसके लिए कोई भूमिका परिभाषित नहीं है, यानी। दूसरे शब्दों में, कोई पहुंच अधिकार निर्दिष्ट नहीं हैं। "भूमिकाएँ" एक कॉन्फ़िगरेशन ऑब्जेक्ट है। प्रत्येक भूमिका दस्तावेजों, निर्देशिकाओं और रिपोर्टों का एक सेट स्थापित करती है, जिस तक इस भूमिका वाले उपयोगकर्ता की पहुंच होती है। यदि हम उपयोगकर्ता को खोलते हैं और "अन्य" टैब पर जाते हैं तो हम सभी उपलब्ध भूमिकाएँ देख सकते हैं।

मैं आपको याद दिला दूं कि हमें दस्तावेजों, संदर्भ पुस्तकों और रिपोर्टों के यादृच्छिक सेट तक एक कर्मचारी की पहुंच को कॉन्फ़िगर करने की आवश्यकता है। साथ ही, मैंने यह भी नहीं बताया कि हम किस सेट के बारे में बात कर रहे हैं, यह उतना महत्वपूर्ण नहीं है। लेकिन महत्वपूर्ण बात यह है कि ऐसे मामलों के लिए कॉन्फ़िगरेशन में कोई उपयुक्त भूमिका नहीं है और न ही हो सकती है। 1C डेवलपर्स व्यवहार में आने वाली वस्तुओं तक पहुंच को प्रतिबंधित करने के लिए सभी संभावित विकल्प प्रदान करने में सक्षम नहीं हैं। और अंतिम उपयोगकर्ता के अनुरोध बहुत असाधारण हो सकते हैं।

1सी में मानक कॉन्फ़िगरेशन के लिए संपादन मोड

सेमिनार "1C ZUP 3.1 के लिए लाइफहैक्स"
1C ZUP 3.1 में अकाउंटिंग के लिए 15 लाइफ हैक्स का विश्लेषण:

1C ZUP 3.1 में पेरोल गणना की जाँच के लिए चेकलिस्ट
वीडियो - लेखांकन की मासिक स्व-जाँच:

1C ZUP 3.1 में पेरोल गणना
शुरुआती लोगों के लिए चरण-दर-चरण निर्देश:

जैसा कि आप शायद पहले ही समझ चुके हैं, मैं इस तथ्य की ओर ले जा रहा हूं कि हमें ऐसा करना होगा अपनी खुद की भूमिका बनाएं. ऐसे में एक अहम बात पर चर्चा होनी चाहिए. नई भूमिका बनाने का अर्थ है मानक कॉन्फ़िगरेशन में परिवर्तन करना। उन लोगों के लिए जिनका कॉन्फ़िगरेशन पहले ही अंतिम रूप दिया जा चुका है और मानक नहीं है, कुछ भी नहीं बदलेगा। आरंभ करने के लिए, मैं आपको बताऊंगा कि यह कैसे निर्धारित किया जाए कि कॉन्फ़िगरेशन मानक है या नहीं।

सबसे पहले, आपको कॉन्फ़िगरेशन खोलना होगा. ऐसा करने के लिए, मुख्य मेनू के "कॉन्फ़िगरेशन" अनुभाग में क्लिक करें "कॉन्फ़िगरेशन खोलें". इसके बाद, कॉन्फ़िगरेशनकर्ता के बाईं ओर सभी सूचना आधार वस्तुओं की ट्री संरचना वाली एक विंडो दिखाई देगी। दूसरे, मुख्य मेनू के "कॉन्फ़िगरेशन" अनुभाग में, "समर्थन" -> "समर्थन सेटिंग्स" पर जाएं। इसी नाम की एक विंडो खुलेगी. यदि विंडो स्क्रीनशॉट में जैसी दिखती है, तो आपका कॉन्फ़िगरेशन मानक है। इससे मेरा तात्पर्य शिलालेख की उपस्थिति से है "कॉन्फ़िगरेशन का समर्थन किया जा रहा है"और एक बटन की उपस्थिति.

इसलिए, यदि आपके पास एक मानक कॉन्फ़िगरेशन है, तो हमें इसे बदलने की क्षमता सक्षम करनी होगी, अन्यथा हम एक नई भूमिका नहीं बना पाएंगे। अलग से, मैं यह नोट करना चाहूंगा कि अद्यतन करने के दृष्टिकोण से कोई विशेष कठिनाइयां नहीं होंगी, क्योंकि हम एक नई भूमिका बनाएंगे और मौजूदा को नहीं बदलेंगे, इसलिए सभी मानक कॉन्फ़िगरेशन ऑब्जेक्ट मानक बने रहेंगे। कॉन्फ़िगरेशन को संपादित करने की क्षमता को सक्षम करने के लिए, आपको विंडो में जाना होगा "समर्थन सेटअप"बटन दबाएँ "संपादन क्षमता सक्षम करें".

शायद भविष्य के प्रकाशनों में मैं इस तरह के अपडेट के बारे में अधिक विस्तार से लिखूंगा। तो, इस विंडो में हमें "हाँ" का उत्तर देना होगा।

इसके बाद, "समर्थन नियम सेटिंग्स" विंडो खुलेगी, जहां आपको "समर्थन बनाए रखते हुए आपूर्तिकर्ता ऑब्जेक्ट संपादित किया जाता है" रेडियो बटन का चयन करना होगा। हमारे कार्य के लिए यह काफी पर्याप्त होगा. बस ध्यान रखें कि "ओके" पर क्लिक करने के बाद आपको आगे बढ़ने से पहले थोड़ा इंतजार करना होगा।

इसके बाद, कॉन्फ़िगरेशन ऑब्जेक्ट के ट्री में ताले गायब हो जाने चाहिए (याद रखें, जब हमने कॉन्फ़िगरेशन खोला था, तो यह कॉन्फ़िगरेशनकर्ता के बाईं ओर खुला था), और संदेश "समर्थन सेटिंग्स" दिखाई देगा "परिवर्तन की संभावना के साथ कॉन्फ़िगरेशन को बनाए रखा जा रहा है।"

1C कॉन्फिगरेटर में एक नई भूमिका कैसे बनाएं

सेमिनार "1C ZUP 3.1 के लिए लाइफहैक्स"
1C ZUP 3.1 में अकाउंटिंग के लिए 15 लाइफ हैक्स का विश्लेषण:

1C ZUP 3.1 में पेरोल गणना की जाँच के लिए चेकलिस्ट
वीडियो - लेखांकन की मासिक स्व-जाँच:

1C ZUP 3.1 में पेरोल गणना
शुरुआती लोगों के लिए चरण-दर-चरण निर्देश:

अब हम एक नई भूमिका बनाना शुरू कर सकते हैं। मैं एक बार फिर समझाता हूं कि "भूमिका" क्या है - यह अधिकारों का एक सेट है जो निर्देशिकाओं, दस्तावेज़ों और अन्य कॉन्फ़िगरेशन ऑब्जेक्ट को देखने या संपादित करने की क्षमता निर्धारित करता है। देखें और संपादित करें सबसे अधिक समझने योग्य अनुमति विकल्प हैं, लेकिन कई अन्य भी हैं। इसे स्पष्ट करने के लिए, आइए ऑब्जेक्ट ट्री में "पूर्ण अधिकार" भूमिका का चयन करें (सामान्य -> ​​भूमिकाएँ -> पूर्ण अधिकार)। सेटिंग्स विंडो खुल जाएगी. इस विंडो में, सभी प्रोग्राम ऑब्जेक्ट (निर्देशिका, दस्तावेज़, रिपोर्ट इत्यादि) बाईं ओर सूचीबद्ध हैं, और दाईं ओर वे अधिकार हैं जो प्रत्येक ऑब्जेक्ट के लिए इस भूमिका में परिभाषित हैं। इसे आप स्क्रीनशॉट में देख सकते हैं.

अब मैं आपको समस्या की याद दिला दूं। हमें यह सुनिश्चित करने की आवश्यकता है कि उपयोगकर्ता केवल सीमित दस्तावेजों, रिपोर्टों और संदर्भ पुस्तकों के साथ ही काम कर सके। सबसे स्पष्ट विकल्प एक नई भूमिका बनाना और केवल आवश्यक वस्तुओं तक पहुंच को परिभाषित करना है। हालाँकि, कॉन्फ़िगरेशन में बड़ी संख्या में सभी प्रकार की सेवा ऑब्जेक्ट शामिल हैं, जैसे स्थिरांक, सामान्य रूप, सामान्य मॉड्यूल, विभिन्न उद्देश्यों के लिए रजिस्टर, और सामान्य उपयोगकर्ता संचालन के लिए इन सामान्य ऑब्जेक्ट तक पहुंच होना आवश्यक है। उनमें से बहुत सारे हैं और किसी वस्तु को चूकना बहुत आसान है। इसलिए, मैं थोड़ा अलग दृष्टिकोण प्रस्तावित करूंगा।

आइए डिफ़ॉल्ट पूर्ण अधिकार भूमिका की प्रतिलिपि बनाकर एक नई भूमिका बनाएं। आइए इस नई भूमिका को "Role_Frolov" कहें। भूमिका का नाम संपादित करने के लिए, आपको गुणों पर जाना होगा और रिक्त स्थान के बिना एक नया नाम निर्दिष्ट करना होगा।

आइए अब उपयोगकर्ता "फ्रोलोवा" के लिए यह भूमिका निर्धारित करें। इससे पहले, हमें सूचना आधार को सहेजने की आवश्यकता है ताकि नई बनाई गई भूमिका उपलब्ध उपयोगकर्ता भूमिकाओं की सूची में दिखाई दे। F7 कुंजी दबाएँ या टूलबार में संबंधित बटन पर क्लिक करें। इसके बाद हम अपने यूजर के लिए यह भूमिका निर्धारित कर सकते हैं। उपयोगकर्ताओं की सूची (प्रशासन -> उपयोगकर्ता) पर जाएं और "अन्य" टैब पर, "फ्रोलोव भूमिका" भूमिका के बगल में स्थित बॉक्स को चेक करें। ओके पर क्लिक करें"।

अभी के लिए, यह भूमिका पूरी तरह से मूल ("पूर्ण अधिकार") के समान है। हम इसे ऐसे ही छोड़ देंगे. अलविदा। और हम दस्तावेज़ों और संदर्भ पुस्तकों तक पहुंच स्थापित करेंगे, 1C प्रोग्राम कमांड इंटरफ़ेस की लचीली कॉन्फ़िगरेशन क्षमताओं का उपयोग करना.

1C में कमांड इंटरफ़ेस तत्वों को कैसे कॉन्फ़िगर करें

अब हमें सामान्य उपयोगकर्ता मोड पर लौटना होगा, यानी। जैसा कि 1C में सामान्य कार्य के दौरान होता है। हमें अपने नए उपयोगकर्ता - फ्रोलोव एस.एम. के तहत लॉन्च करने की आवश्यकता है। यह विन्यासकर्ता से किया जा सकता है. हालाँकि, आपको पहले सेटिंग सेट करनी होगी ताकि जब आप कॉन्फिगरेटर से एंटरप्राइज शुरू करें, तो आपको उपयोगकर्ता द्वारा संकेत दिया जाए कि इसे किसके तहत लॉन्च किया जाना चाहिए। ऐसा करने के लिए, मुख्य मेनू में, "टूल्स" -> "विकल्प" चुनें और "उपयोगकर्ता" अनुभाग में "लॉन्च 1सी:एंटरप्राइज़" टैब पर, "नाम" स्विच सेट करें, ओके पर क्लिक करें और हम उपयोगकर्ता को लॉन्च कर सकते हैं सीधे विन्यासकर्ता से मोड। ऐसा करने के लिए, मुख्य मेनू "सेवा" -> "1C:एंटरप्राइज़" से कमांड का उपयोग करें। और यह न भूलें कि हमें उपयोगकर्ता फ्रोलोव का चयन करना होगा।

जब प्रोग्राम उपयोगकर्ता फ्रोलोव के तहत शुरू होता है, तो सभी ऑब्जेक्ट उसके लिए उपलब्ध होंगे, क्योंकि उसकी भूमिका पूर्ण अधिकारों की प्रतिलिपि बनाकर बनाई गई थी, और हमने कुछ भी नहीं बदला। आइए मान लें कि इस उपयोगकर्ता को केवल कार्मिक रिकॉर्ड की क्षमताओं को बनाए रखने की आवश्यकता है, लेकिन सब कुछ नहीं, बल्कि केवल प्रवेश, स्थानांतरण और बर्खास्तगी। सबसे पहले, आपको सभी अनावश्यक अनुभागों को हटाना होगा और केवल एक - "कार्मिक" छोड़ना होगा।

ऐसा करने के लिए, सेवा मेनू देखें -> पर जाएं अनुभाग पैनल की स्थापना. खुलने वाली विंडो में, सभी अनावश्यक अनुभागों को दाएं कॉलम से बाईं ओर ले जाएं।

अब ध्यान दें कि हमारे पास केवल 2 अनुभाग होंगे "मुख्य" और "कार्मिक"। हम "मुख्य चीज़" को नहीं हटा सकते, इसलिए इस अनुभाग में केवल आवश्यक लिंक ही छोड़ना आवश्यक है। ऐसा करने के लिए, इस अनुभाग पर जाएँ और ऊपरी दाएँ कोने में क्लिक करें "नेविगेशन सेटिंग्स". यह विंडो उसी के समान है जिसमें हमने अनावश्यक अनुभाग हटा दिए थे, और इसमें संचालन का समान सिद्धांत है। दाहिने कॉलम में हम केवल आवश्यक दस्तावेज़ और संदर्भ पुस्तकें छोड़ते हैं।

और परिणामस्वरूप, "मुख्य" अनुभाग में हमारे पास कार्मिक अधिकारी के लिए आवश्यक दस्तावेजों, रिपोर्टों और संदर्भ पुस्तकों का केवल सेट होगा।

जहां तक ​​"कार्मिक" अनुभाग का सवाल है, इसे इसके मूल रूप में छोड़ा जा सकता है या अधिक सूक्ष्मता से कॉन्फ़िगर किया जा सकता है, उदाहरण के लिए, कार्मिक अधिकारी को बीमार छुट्टी, छुट्टियों और मातृत्व अवकाश से निपटना नहीं पड़ता है। इसी तरह इन दस्तावेज़ों को नेविगेशन पैनल से हटाया जा सकता है. मैं इस पर विस्तार से ध्यान नहीं दूंगा, क्योंकि यह पहले से ही विशिष्ट कार्य पर निर्भर करता है।

मैं केवल एक और तत्व बताऊंगा जिसे उपयोगकर्ता को उसके लिए बंद डेटा तक पहुंचने से रोकने के लिए भी कॉन्फ़िगर करने की आवश्यकता है। यह तत्व है "होम पेज"या जो कुछ भी वे इसे कहते हैं "डेस्कटॉप". जब आप उपयोगकर्ता मोड प्रारंभ करते हैं तो यह स्वचालित रूप से खुल जाता है। होम पेज सेट करने के लिए, सर्विस मेनू खोलें व्यू -> होम पेज सेट करें। एक विंडो खुलेगी जिसमें आप उपलब्ध प्रपत्रों की सूची से बाएँ और दाएँ कॉलम की संरचना को कॉन्फ़िगर कर सकते हैं। उपलब्ध प्रपत्रों का विकल्प इतना बड़ा नहीं है। इसलिए, उदाहरण के लिए, हमारी स्थिति के लिए, जहां एक कर्मचारी कर्मियों में लगा हुआ है, हमें उसे "वेतन गणना: फॉर्म" जैसे फॉर्म तक पहुंच नहीं देनी चाहिए। लेकिन मैंने सभी फॉर्मों को पूरी तरह से हटाने का फैसला किया, ताकि उपयोगकर्ता को एक बार फिर से लुभाना न पड़े। आरंभ पृष्ठ रिक्त होगा.

1सी विन्यासकर्ता में उपयोगकर्ता भूमिका का अंतिम सेटअप

तो, आइए मान लें कि हमने कमांड इंटरफ़ेस की क्षमताओं का उपयोग करके, अपने कार्मिक अधिकारी के लिए सभी आवश्यक दस्तावेज़ों और संदर्भ पुस्तकों तक पहुंच कॉन्फ़िगर की है। अब मुख्य प्रश्न यह है कि इसे कैसे बनाया जाए ताकि उपयोगकर्ता स्वयं इंटरफ़ेस सेटिंग्स न खोल सके और स्वयं को निषिद्ध दस्तावेज़ों तक पहुंच न दे सके। ऐसा करने के लिए, कॉन्फ़िगरेशनकर्ता पर वापस लौटें और कॉन्फ़िगरेशन ऑब्जेक्ट ट्री में सामान्य -> ​​भूमिकाएँ -> फ्रोलोव_रोल चुनें। आइए इस भूमिका को खोलें. अब खुलने वाली विंडो में, कर्सर को शिलालेख "वेतन और कार्मिक प्रबंधन" पर रखें, और "अधिकार" कॉलम में हम सेटिंग की तलाश करते हैं "उपयोगकर्ता डेटा सहेजा जा रहा है". इस सेटिंग के आगे वाले बॉक्स को अनचेक करें. इसका मतलब यह है कि उपयोगकर्ता स्वयं अनुभाग पैनल, नेविगेशन बार और डेस्कटॉप की सामग्री को अनुकूलित करने में सक्षम नहीं होगा, और इसलिए कमांड इंटरफ़ेस से निषिद्ध अनुभागों तक पहुंच नहीं होगी।

इसे सत्यापित करने के लिए, आप उपयोगकर्ता फ्रोलोव के अंतर्गत डेटाबेस पर जा सकते हैं और अनुभागों या नेविगेशन के लिए सेटिंग्स खोलने का प्रयास कर सकते हैं। हालाँकि, आपको सेवा मेनू में "देखें" आइटम नहीं मिलेगा। यह अनुपलब्ध हो गया क्योंकि हमने उपयोगकर्ता भूमिका फ्रोलोव से "उपयोगकर्ता डेटा सहेजें" का अधिकार हटा दिया।

इस प्रकार, हमने उपयोगकर्ता की वस्तुओं की दृश्यता को केवल उन निर्देशिकाओं, दस्तावेज़ों और रिपोर्टों तक सीमित कर दिया है जिनकी उसे वास्तव में काम के लिए आवश्यकता है। उसी समय, कॉन्फ़िगरेशन मोड में, इस कर्मचारी के अधिकारों में केवल एक चेकबॉक्स संपादित किया गया था।

हालाँकि, यह सब नहीं है. हमने निषिद्ध वस्तुओं तक स्पष्ट पहुंच सीमित कर दी है। हालाँकि, उपयोगकर्ता के पास पहुँच योग्य दस्तावेज़ से अवांछित निर्देशिका या दस्तावेज़ समाप्त हो सकता है। तो हमारे कार्मिक अधिकारी फ्रोलोव "हायरिंग" दस्तावेज़ से "संगठन" निर्देशिका खोल सकते हैं और गलती से या जानबूझकर वहां कुछ डेटा बदल सकते हैं। ऐसी ही स्थिति को घटित होने से रोकने के लिए, आपको उपयोगकर्ता के लिए उपलब्ध दस्तावेज़ों और संदर्भ पुस्तकों से जुड़ी सभी वस्तुओं की समीक्षा और विश्लेषण करना चाहिए। और फिर विन्यासकर्ता में, हमारे उपयोगकर्ता की भूमिका खोलें और संपादन या अवांछित वस्तुओं को देखने पर भी रोक लगाएं। हाथ में लिए गए कार्य के आधार पर, विशिष्ट विकल्प चुनना आप पर निर्भर है।

बस इतना ही! हमने एक जटिल समस्या को बहुत जटिल तरीके से हल नहीं किया। जिसने भी अंत तक पढ़ा है, वह सही मायने में खुद पर गर्व कर सकता है) अगर मुझसे कुछ छूट गया है और आपकी कोई टिप्पणी है, तो मुझे लेख की टिप्पणियों में इसे देखकर खुशी होगी।

नई दिलचस्प सामग्रियाँ जल्द ही दिखाई देंगी।

नए प्रकाशनों के बारे में सबसे पहले जानने के लिए, मेरे ब्लॉग अपडेट की सदस्यता लें:

पहुँच अधिकार प्रणालीआपको उपयोगकर्ता की स्थिति या गतिविधियों के प्रकार के अनुरूप अधिकारों के सेट का वर्णन करने की अनुमति देता है। अधिकारों की संरचना एक विशिष्ट अनुप्रयोग समाधान द्वारा निर्धारित की जाती है।

इसके अलावा, डेटाबेस में संग्रहीत वस्तुओं (निर्देशिका, दस्तावेज़, रजिस्टर, आदि) के लिए अलग-अलग फ़ील्ड और रिकॉर्ड तक पहुंच अधिकारों को परिभाषित किया जा सकता है। उदाहरण के लिए, एक उपयोगकर्ता कुछ प्रतिपक्षकारों के दस्तावेज़ों (चालान, चालान, आदि) के साथ काम कर सकता है और अन्य प्रतिपक्षकारों के समान दस्तावेज़ों तक उसकी पहुंच नहीं हो सकती है।

भूमिकाएँ

एप्लिकेशन समाधानों में पहुंच अधिकारों के प्रतिबंध को लागू करने के लिए, विशेष कॉन्फ़िगरेशन ऑब्जेक्ट - भूमिकाएं - का इरादा है। .

इंटरैक्टिव और मौलिक अधिकार

1C:एंटरप्राइज़ सिस्टम द्वारा समर्थित सभी अधिकारों को दो बड़े समूहों में विभाजित किया जा सकता है: बुनियादी और इंटरैक्टिव। बुनियादी अधिकार सिस्टम डेटा तत्वों या संपूर्ण सिस्टम पर किए गए कार्यों का वर्णन करते हैं, और हमेशा जांच की जाती है, भले ही डेटा तक कैसे पहुंचा जाए। इंटरएक्टिव अधिकार उन क्रियाओं का वर्णन करते हैं जिन्हें उपयोगकर्ता द्वारा इंटरैक्टिव तरीके से किया जा सकता है। तदनुसार, उन्हें केवल मानक तरीकों का उपयोग करके इंटरैक्टिव संचालन करते समय जांचा जाता है, और क्लाइंट-सर्वर संस्करण में, सभी अधिकारों की जांच (इंटरैक्टिव को छोड़कर) सर्वर पर की जाती है।

मौलिक और संवादात्मक अधिकार आपस में जुड़े हुए हैं। उदाहरण के लिए, डिलीट नामक एक मूल अधिकार है, जिसमें दो संबद्ध इंटरैक्टिव अधिकार हैं: इंटरएक्टिव डिलीट और इंटरएक्टिव डिलीट मार्क्ड। यदि किसी उपयोगकर्ता को हटाने से प्रतिबंधित किया गया है, तो उसके लिए सभी इंटरैक्टिव "डिलीशन" भी निषिद्ध होंगे। उसी समय, यदि उपयोगकर्ता को चिह्नित वस्तुओं को इंटरएक्टिव रूप से हटाने की अनुमति है, तो इसका मतलब है कि उसे हटाने की भी अनुमति है।

इसके अलावा, मौलिक अधिकार एक-दूसरे पर निर्भर हो सकते हैं। परिणामस्वरूप, रिश्तों की काफी जटिल श्रृंखलाएँ बनती हैं जिन्हें सिस्टम द्वारा स्वचालित रूप से ट्रैक किया जाता है: जैसे ही कोई डेवलपर किसी अधिकार के लिए अनुमति हटा देता है, सिस्टम स्वयं उन सभी अधिकारों के लिए अनुमतियाँ हटा देता है जो इस अधिकार पर निर्भर करते हैं। और इसके विपरीत, जब कोई डेवलपर कोई अधिकार निर्धारित करता है, तो सिस्टम स्वयं उन सभी अधिकारों को स्थापित करता है जिन पर यह अधिकार निर्भर करता है।

उदाहरण के लिए, उपयोगकर्ता को अधिकार प्राप्त करने के लिए चिह्नित का इंटरैक्टिव निष्कासन, उसके पास इंटरैक्टिव अधिकार होने चाहिए संपादन. बदले में, इस अधिकार के लिए एक इंटरैक्टिव अधिकार की आवश्यकता होती है देखना:

सही चिह्नित का इंटरैक्टिव निष्कासन निष्कासन. इंटरैक्टिव कानून संपादनमौलिक अधिकार की आवश्यकता है परिवर्तन. इंटरैक्टिव कानून देखनामौलिक अधिकार की आवश्यकता है पढ़ना.

इसके अलावा, बुनियादी अधिकार परिवर्तनऔर निष्कासनमौलिक अधिकार की आवश्यकता है पढ़ना।

रिकॉर्ड और फ़ील्ड स्तर पर डेटा तक पहुंच को प्रतिबंधित करना

डेटाबेस में संग्रहीत वस्तुओं (निर्देशिका, दस्तावेज़, आदि) पर होने वाली क्रियाओं के बीच, डेटाबेस में संग्रहीत जानकारी को पढ़ने या बदलने के लिए जिम्मेदार क्रियाएँ होती हैं। इन कार्रवाइयों में शामिल हैं:

  • पढ़ना - डेटाबेस तालिका से रिकॉर्ड या उनके टुकड़े प्राप्त करना;
  • जोड़ना - मौजूदा रिकॉर्ड्स को बदले बिना नए रिकॉर्ड जोड़ना;
  • परिवर्तन - मौजूदा रिकॉर्ड बदलना;
  • विलोपन - शेष अभिलेखों में परिवर्तन किए बिना कुछ अभिलेखों को हटाना।

इन कार्रवाइयों के लिए, भूमिकाएँ स्थापित करने की प्रक्रिया के दौरान, डेटा पर अतिरिक्त शर्तें निर्धारित की जा सकती हैं (डेटा तक पहुंच को प्रतिबंधित करना)। इस मामले में, अनुरोधित कार्रवाई डेटाबेस में संग्रहीत किसी विशिष्ट ऑब्जेक्ट पर तभी की जा सकती है जब उस ऑब्जेक्ट के डेटा के लिए डेटा एक्सेस प्रतिबंध सत्य हो। ऐसी ही स्थितियाँ उन डेटाबेस तालिकाओं के लिए निर्धारित की जा सकती हैं जिनमें ऑब्जेक्ट प्रकृति (रजिस्टर) नहीं है।

ऑब्जेक्ट तालिकाओं और सूचना रजिस्टरों के लिए, अलग-अलग तालिका फ़ील्ड के लिए अलग-अलग प्रतिबंध निर्धारित किए जा सकते हैं, जो आपको न केवल डेटाबेस रिकॉर्ड के स्तर पर, बल्कि इसके व्यक्तिगत फ़ील्ड के स्तर पर भी प्रतिबंधों को परिभाषित करने की अनुमति देता है:

डेटा एक्सेस प्रतिबंध उस भाषा में वर्णित एक शर्त है जो क्वेरी भाषा का सबसेट है। यह शर्त प्रत्येक डेटाबेस तालिका रिकॉर्ड पर लागू होती है जिस पर ऑपरेशन किया जाता है। यदि स्थिति सत्य पर मूल्यांकन करती है, तो ऑपरेशन निष्पादित किया जाता है, और यदि नहीं, तो यह निष्पादित नहीं किया जाता है। प्रीप्रोसेसर निर्देशों (#IF) का उपयोग करके पहुंच प्रतिबंध की स्थिति को परिष्कृत किया जा सकता है<условие>, #THEN.. आदि), जो इसे और अधिक प्रभावी बना देगा। सूचियाँ देखते और रिपोर्ट तैयार करते समय, यह सुनिश्चित करना संभव है कि केवल वही डेटा प्रदर्शित किया जाए जिसे उपयोगकर्ता को एक्सेस करने की अनुमति है।

संचय, लेखांकन और गणना रजिस्टरों के लिए, शर्तें आपको माप मूल्यों (बैलेंस शीट माप द्वारा लेखांकन रजिस्टरों के लिए) तक पहुंच को प्रतिबंधित करने की अनुमति देती हैं, और ऑब्जेक्ट डेटा और सूचना रजिस्टरों के लिए, शर्तें आपको किसी भी फ़ील्ड द्वारा डेटा तक पहुंच को प्रतिबंधित करने की अनुमति देती हैं।

प्रतिबंध शर्तों को मैन्युअल रूप से दर्ज किया जा सकता है या डेटा एक्सेस बाधा डिज़ाइनर का उपयोग करके बनाया जा सकता है।

सत्र विकल्प

सत्र पैरामीटर एप्लिकेशन समाधान ऑब्जेक्ट हैं जिनका उपयोग वर्तमान सत्र के लिए डेटा एक्सेस को प्रतिबंधित करने के लिए किया जाता है (लेकिन इसका उपयोग अन्य उद्देश्यों के लिए भी किया जा सकता है)। उनके मान किसी दिए गए 1C:एंटरप्राइज़ सत्र के दौरान सहेजे जाते हैं। सत्र पैरामीटर का उपयोग करने से आप रिकॉर्ड और फ़ील्ड स्तर पर पहुंच को प्रतिबंधित करते हुए डेटा एक्सेस समय को कम कर सकते हैं। .

अधिकारों की जाँच किए बिना सर्वर पर निष्पादन

विशेषाधिकार प्राप्त मॉड्यूल

विशेषाधिकार प्राप्त मॉड्यूल असाइन करना संभव है। ऐसे ऑपरेशन जो डेटा का उपयोग करते हैं जिसके लिए वर्तमान उपयोगकर्ता के पास अधिकार नहीं हैं, उन्हें ऐसे मॉड्यूल में स्थानांतरित किया जा सकता है।

उदाहरण के लिए, किसी उपयोगकर्ता को ऐसे अधिकार दिए जा सकते हैं जो उन्हें एक नया दस्तावेज़ बनाने की अनुमति देते हैं। हालाँकि, उपयोगकर्ता को उस रजिस्टर का कोई अधिकार नहीं दिया जाता है जिसमें यह दस्तावेज़ पोस्टिंग के दौरान हलचल पैदा करता है। ऐसी स्थिति में, किसी दस्तावेज़ को पोस्ट करने की प्रक्रिया को एक विशेषाधिकार प्राप्त मॉड्यूल में ले जाया जा सकता है, जिसे अधिकारों की जांच किए बिना सर्वर पर निष्पादित किया जाता है। परिणामस्वरूप, भले ही संबंधित रजिस्टर उपयोगकर्ता के लिए उपलब्ध नहीं है, फिर भी उपयोगकर्ता अपने द्वारा बनाए गए दस्तावेज़ पोस्ट करने में सक्षम होगा।

विशेषाधिकार प्राप्त कोड निष्पादन मोड

विशेषाधिकार प्राप्त कोड निष्पादन मोड, विशेषाधिकार प्राप्त मॉड्यूल के कोड निष्पादन मोड के समान, अंतर्निहित भाषा का उपयोग करके चालू/बंद किया जा सकता है। इस प्रयोजन के लिए, वैश्विक संदर्भ में एक प्रक्रिया प्रदान की गई है सेटप्रिविलेज्डमोड(), और फ़ंक्शन भी प्रिविलेज्डमोड(), जो आपको यह निर्धारित करने की अनुमति देता है कि विशेषाधिकार प्राप्त मोड सक्षम है या नहीं।

विशेषाधिकार प्राप्त मोड का उपयोग करने से, सबसे पहले, काम में तेजी आती है, क्योंकि डेटा तक पहुंच पर प्रतिबंध नहीं लगाया जाएगा, और दूसरी बात, यह आपको उन उपयोगकर्ताओं की ओर से डेटा के साथ संचालन करने की अनुमति देता है जिनके लिए यह डेटा उपलब्ध नहीं है।

विशेषाधिकार प्राप्त मोड की अनुशंसा तब की जाती है जब आपको तार्किक रूप से अनुमतियों की जाँच को अक्षम करने की आवश्यकता होती है, या जब आप चीजों को गति देने के लिए अनुमतियों की जाँच को अक्षम कर सकते हैं। जब किसी निश्चित उपयोगकर्ता की ओर से डेटा के साथ काम करना इस उपयोगकर्ता के लिए स्थापित एक्सेस अधिकारों का उल्लंघन नहीं करता है तो विशेषाधिकार प्राप्त मोड का उपयोग करना स्वीकार्य है।

1C में एक्सेस अधिकारों की एक अंतर्निहित प्रणाली है (इस प्रणाली को 1C भूमिकाएँ कहा जाता है)। यह प्रणाली स्थिर है - जैसे व्यवस्थापक ने 1C अधिकार सौंपे हैं, वैसे ही यह होगा।

इसके अतिरिक्त, एक डायनेमिक एक्सेस राइट्स सिस्टम (जिसे आरएलएस 1सी कहा जाता है) है। इसमें, 1C अधिकारों की गणना गतिशील रूप से की जाती है जब उपयोगकर्ता निर्दिष्ट मापदंडों के आधार पर काम कर रहा होता है।

विभिन्न कार्यक्रमों में सबसे आम सुरक्षा सेटिंग्स में से एक उपयोगकर्ता समूहों के लिए पढ़ने/लिखने की अनुमतियों का एक सेट है और फिर किसी उपयोगकर्ता को समूहों में शामिल करना या बाहर करना है। उदाहरण के लिए, Windows AD (एक्टिव डायरेक्ट्री) में एक समान प्रणाली का उपयोग किया जाता है।

1सी में ऐसी सुरक्षा प्रणाली को 1सी रोल्स कहा जाता है। 1C भूमिकाएँ सामान्य/भूमिका शाखा में कॉन्फ़िगरेशन में स्थित होती हैं। 1सी भूमिकाएँ उन समूहों के रूप में कार्य करती हैं जिनके लिए 1सी अधिकार सौंपे गए हैं। फिर उपयोगकर्ता को इस समूह में शामिल या बाहर कर दिया जाता है।

1सी भूमिका के नाम पर डबल-क्लिक करने से 1सी भूमिका के लिए अधिकार संपादक खुल जाएगा। बाईं ओर 1C ऑब्जेक्ट की एक सूची है। किसी एक का चयन करें और एक्सेस अधिकारों के विकल्प दाईं ओर प्रदर्शित होंगे (कम से कम: पढ़ें, जोड़ें, बदलें, हटाएं)।

शीर्ष शाखा (वर्तमान कॉन्फ़िगरेशन का नाम) के लिए, 1सी प्रशासनिक अधिकार और विभिन्न विकल्पों को लॉन्च करने की पहुंच स्थापित की गई है।

सभी 1C अधिकारों को दो समूहों में विभाजित किया गया है - एक "सरल" अधिकार और "इंटरैक्टिव" के अतिरिक्त समान अधिकार। इसका मतलब क्या है?

जब कोई उपयोगकर्ता एक फॉर्म खोलता है (उदाहरण के लिए, प्रसंस्करण) और उस पर एक बटन दबाता है, तो अंतर्निहित 1C भाषा में प्रोग्राम कुछ क्रियाएं करता है, उदाहरण के लिए, दस्तावेजों को हटाना। "बस" 1C अधिकार इन कार्यों (प्रोग्रामेटिक रूप से निष्पादित) की अनुमति देने के लिए जिम्मेदार हैं।

जब कोई उपयोगकर्ता कोई जर्नल खोलता है और स्वतंत्र रूप से कीबोर्ड का उपयोग करके कुछ करना शुरू करता है (उदाहरण के लिए, नए दस्तावेज़ दर्ज करना), तो ये "इंटरैक्टिव" 1C अधिकार हैं।

एक उपयोगकर्ता के पास कई भूमिकाओं तक पहुंच हो सकती है, ऐसी स्थिति में अनुमतियाँ संचयी होती हैं।

भूमिकाओं - 1C ऑब्जेक्ट का उपयोग करके एक्सेस अधिकार सेट करने की संभावनाओं का विवरण। यानी, आप या तो निर्देशिका तक पहुंच सक्षम कर सकते हैं या इसे अक्षम कर सकते हैं। आप इसे थोड़ा भी चालू नहीं कर सकते.

इस प्रयोजन के लिए, 1C भूमिका प्रणाली का एक विस्तार है जिसे 1C RLS कहा जाता है। यह एक गतिशील एक्सेस अधिकार प्रणाली है जो आपको एक्सेस को आंशिक रूप से प्रतिबंधित करने की अनुमति देती है। उदाहरण के लिए, उपयोगकर्ता केवल एक निश्चित गोदाम और संगठन के दस्तावेज़ देखता है और बाकी नहीं देखता है।

सावधानी से! भ्रमित करने वाली आरएलएस 1सी योजना का उपयोग करते समय, जब विभिन्न उपयोगकर्ता अलग-अलग उपयोगकर्ताओं से उत्पन्न एक ही रिपोर्ट का मिलान करने का प्रयास करते हैं तो उनके मन में प्रश्न हो सकते हैं।

आप एक निश्चित निर्देशिका (जैसे, संगठन) और एक निश्चित अधिकार (जैसे, पढ़ना) लेते हैं। आप 1सी भूमिका के लिए पढ़ने की अनुमति देते हैं। डेटा एक्सेस प्रतिबंध पैनल में, आप क्वेरी टेक्स्ट सेट करते हैं, जो सेटिंग्स के आधार पर TRUE या FALSE लौटाता है। सेटिंग्स आमतौर पर एक सूचना रजिस्टर में संग्रहीत की जाती हैं (उदाहरण के लिए, कॉन्फ़िगरेशन जानकारी रजिस्टर लेखांकन और उपयोगकर्ता पहुंच अधिकार सेटिंग्स)।

यह क्वेरी प्रत्येक निर्देशिका प्रविष्टि के लिए गतिशील रूप से निष्पादित की जाती है (पढ़ने को लागू करने का प्रयास करते समय)। इस प्रकार, उन रिकॉर्ड्स के लिए जिनके लिए सुरक्षा क्वेरी TRUE लौटाती है, उपयोगकर्ता इसे देखेगा, लेकिन बाकी को नहीं।
1सी अधिकार जो आरएलएस 1सी प्रतिबंधों के अधीन हैं, उन्हें ग्रे रंग में हाइलाइट किया गया है।

समान RLS 1C सेटिंग्स की प्रतिलिपि टेम्प्लेट का उपयोग करके की जाती है। आप एक टेम्पलेट बनाते हैं, उसे नाम देते हैं (उदाहरण के लिए) MyTemplate, और उसमें सुरक्षा अनुरोध निर्दिष्ट करते हैं। इसके बाद, 1सी एक्सेस अधिकार सेटिंग्स में, टेम्पलेट का नाम इस प्रकार निर्दिष्ट करें: "#MyTemplate"।

जब कोई उपयोगकर्ता 1C एंटरप्राइज़ मोड में काम कर रहा होता है, तो RLS 1C चलाते समय, उसे एक त्रुटि संदेश "अपर्याप्त अधिकार" प्राप्त हो सकता है (उदाहरण के लिए, Xxxx निर्देशिका को पढ़ने के लिए)।

इसका मतलब है कि आरएलएस 1सी ने कई रिकॉर्ड्स को पढ़ने से रोक दिया है।

ऐसे संदेश को प्रदर्शित होने से रोकने के लिए अनुरोध के पाठ में अंतर्निहित 1C भाषा में ALLOWED () शब्द का उपयोग करना आवश्यक है।

उदाहरण के लिए:



मित्रों को बताओ