कार्यात्मक विकल्प. संचालन का सिद्धांत और उपयोग का उदाहरण

बच्चों के लिए ज्वरनाशक दवाएं बाल रोग विशेषज्ञ द्वारा निर्धारित की जाती हैं। लेकिन बुखार के लिए आपातकालीन स्थितियाँ होती हैं जब बच्चे को तुरंत दवा देने की आवश्यकता होती है। तब माता-पिता जिम्मेदारी लेते हैं और ज्वरनाशक दवाओं का उपयोग करते हैं। शिशुओं को क्या देने की अनुमति है? आप बड़े बच्चों में तापमान कैसे कम कर सकते हैं? कौन सी दवाएं सबसे सुरक्षित हैं?

उद्देश्य

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

सिस्टम स्वचालित रूप से की गई सेटिंग्स की स्थिति को ध्यान में रखने में सक्षम है - अक्षम सुविधाओं को छिपाने के लिए, एप्लिकेशन इंटरफ़ेस को उपयोगकर्ता के लिए अधिक स्पष्ट और समझने योग्य बनाता है।

विकास के दौरान, ऐसी स्थितियाँ उत्पन्न होती हैं जब एक कार्यात्मक विकल्प का मूल्य कुछ मापदंडों पर निर्भर होना चाहिए, उदाहरण के लिए, सभी संगठन मुद्रा लेखांकन बनाए नहीं रखते हैं। ऐसी निर्भरता को लागू करने के लिए, कार्यात्मक विकल्पों के पैरामीटर्स का उपयोग करें - एक ऑब्जेक्ट जो कार्यात्मक विकल्पों को पैरामीटराइज़ करता है। कार्यात्मक विकल्प क्या हैं?

कार्यात्मक विकल्प प्रभावित हो सकते हैं:

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

वैश्विक कमांड इंटरफ़ेस

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

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

रूप

प्रबंधित प्रपत्र में, कार्यात्मक विकल्प प्रपत्र विशेषताओं, आदेशों और (परिणामस्वरूप) उनके संबंधित प्रपत्र तत्वों को प्रभावित कर सकते हैं।

प्रपत्र विशेषताओं की दृश्यता प्रबंधित प्रपत्र फ़ील्ड और तालिकाओं की दृश्यता को प्रभावित करती है, और बटनों की दृश्यता आदेशों की दृश्यता पर निर्भर करती है।

डेटा संरचना प्रणाली

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

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

कार्य की सामान्य योजना

फ़ंक्शन विकल्प तंत्र में दो प्रकार के मेटाडेटा ऑब्जेक्ट शामिल हैं: फ़ंक्शन विकल्प और फ़ंक्शन विकल्प पैरामीटर।

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

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

हम कह सकते हैं कि कार्यात्मक विकल्पों के पैरामीटर कार्यात्मक विकल्पों के मूल्यों के स्थान के समन्वय अक्ष हैं। इसके अलावा, कार्यात्मक विकल्प का एक पैरामीटर कई कार्यात्मक विकल्पों के लिए एक साथ "इसके" समन्वय अक्ष का मूल्य निर्धारित कर सकता है।

एक उदाहरण पर विचार करें: मान लें कि मात्रात्मक लेखांकन उस इकाई पर निर्भर करता है जो संगठन का हिस्सा है। हमारे सूचना आधार में आप विभिन्न संगठनों की ओर से रिकॉर्ड रख सकते हैं।

कार्यात्मक विकल्पों के मूल्यों को संग्रहीत करने के लिए, हम जानकारी का एक रजिस्टर बनाएंगे, जहां आयाम (समन्वय अक्ष) होंगे:

  • संगठन (उचित प्रकार का);
  • विभाग (उचित प्रकार का)।

सूचना रजिस्टर का संसाधन मात्रात्मक लेखांकन कार्यात्मक विकल्प का मूल्य होगा।

फिर कॉन्फ़िगरेशन की सामान्य संरचना इस तरह दिखेगी:

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

परिणामस्वरूप, मात्रात्मक लेखांकन की आवश्यकता निर्धारित करने के लिए, हमें प्रत्येक विशिष्ट मामले में कार्यात्मक विकल्प (संगठन और विभाग) के मापदंडों के मूल्यों को निर्दिष्ट करने और कार्यात्मक विकल्प का मूल्य प्राप्त करने की आवश्यकता है।

अन्य वस्तुओं के साथ सहभागिता

कार्यात्मक विकल्प निम्नलिखित कॉन्फ़िगरेशन ऑब्जेक्ट को सौंपे जा सकते हैं:

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

साथ ही, कार्यात्मक विकल्प प्रपत्र तत्वों की दृश्यता को प्रभावित कर सकते हैं।

निर्माण

एक कार्यात्मक विकल्प बनाना

एक कार्यात्मक विकल्प बनाने के लिए, आपको एक कॉन्फ़िगरेशन ऑब्जेक्ट कार्यात्मक विकल्प बनाने की आवश्यकता है। यह कॉन्फिगरेटर मोड में सामान्य तरीके से किया जा सकता है, यानी कॉन्फ़िगरेशन विंडो में, सामान्य आइटम का चयन करें, फिर कार्यात्मक विकल्प और एक नया ऑब्जेक्ट जोड़ें।

यह एक कार्यात्मक विकल्प कॉन्फ़िगरेशन ऑब्जेक्ट बनाएगा जिसका उपयोग अन्य मेटाडेटा ऑब्जेक्ट्स को कार्यात्मक विकल्प निर्दिष्ट करने के लिए किया जा सकता है।

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

  • स्थिरांक,
  • निर्देशिका विवरण,
  • सूचना रजिस्टर संसाधन।

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

एक कार्यात्मक विकल्प पैरामीटर बनाना

एक कार्यात्मक विकल्प पैरामीटर बनाने के लिए, उसी नाम से एक कॉन्फ़िगरेशन ऑब्जेक्ट बनाएं। यह सामान्य शाखा, कार्यात्मक विकल्पों के आइटम पैरामीटर में किया जा सकता है।

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

प्रयोग

ऑब्जेक्ट को मेटाडेटा असाइन करना

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

प्रपत्र विवरण और आदेश निर्दिष्ट करना

प्रपत्र से संबंधित ऑब्जेक्ट (विशेषताएं और कमांड) का उपयोग कार्यात्मक विकल्प तंत्र में भी किया जा सकता है।

आप आवश्यक ऑब्जेक्ट के लिए कार्यात्मक विकल्प गुण सेट करके प्रपत्र संपादक में ऐसा कर सकते हैं।

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

यदि किसी फॉर्म विशेषता या कमांड को कोई कार्यात्मक विकल्प नहीं सौंपा गया है, तो फॉर्म विशेषता या कमांड को हमेशा दृश्यमान माना जाता है। अन्यथा, प्रपत्र विशेषता या कमांड को दृश्यमान माना जाता है यदि इसे सौंपे गए कार्यात्मक विकल्पों में से कम से कम एक सक्षम है।

डेटा एक्सेस प्रतिबंध तंत्र में उपयोग करें

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

फ़ंक्शन विकल्प मान का निर्धारण

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

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

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

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

फ़ंक्शन विकल्प पैरामीटर मान प्रबंधित करना

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

1सी:एंटरप्राइज़ भाषा में कार्यात्मक विकल्पों के साथ कार्य करना

कार्यात्मक विकल्पों के साथ काम करने के तरीकों को दो भागों में विभाजित किया जा सकता है:

  • किसी विकल्प का मूल्य प्राप्त करने की विधियाँ,
  • कार्यात्मक विकल्पों के मापदंडों के साथ काम करने के तरीके।

फ़ंक्शन विकल्प मानों के साथ कार्य करना

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

प्रबंधित फॉर्म की अपनी विधि होती है जो फॉर्म के भीतर निर्दिष्ट पैरामीटर के लिए विकल्प मान लौटाती है, GetFormFunctionOption()।

फ़ंक्शन विकल्प पैरामीटर्स के साथ कार्य करना

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

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

पैरामीटर मान प्राप्त करने के लिए, उपयुक्त फ़ंक्शन (GetInterfaceFunctionOptionParameters() या GetFormFunctionOptionParameterParameters()) को कॉल करें, जो सेट पैरामीटर को एक संरचना के रूप में लौटाएगा, जहां पैरामीटर नाम कुंजी होगा।

फ़ंक्शन विकल्प तंत्रविकास उपकरणों में से एक है। यह आपको कॉन्फ़िगरेशन में उस कार्यक्षमता को परिभाषित करने की अनुमति देता है जिसका उपयोग किसी विशेष संगठन की आवश्यकताओं के आधार पर कार्यान्वयन के दौरान किया जा सकता है या नहीं किया जा सकता है।

तंत्र का संचालन दो कॉन्फ़िगरेशन ऑब्जेक्ट पर आधारित है:

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

1. प्रवेश अधिकार.

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

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

सभी पहुंच अधिकार आपस में जुड़े हुए हैं और एक-दूसरे पर निर्भर हैं। ऊँचे और निचले स्तर हैं। यदि उपयोगकर्ता के पास उच्च स्तरीय कार्य करने का अधिकार नहीं है तो आप निम्न स्तर का अधिकार नहीं दे सकते।

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

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

2. भूमिकाएँ - पहुँच अधिकार प्रदान करने के लिए एक तंत्र

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

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

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

3. भूमिकाओं के प्रतिच्छेदन के नियम के रूप में "अनुमतियों का तर्क"।

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

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

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

4. अप्रत्यक्ष अभिगम नियंत्रण।

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

4.1. कार्यात्मक विकल्प.

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

आप ITS पर कार्यात्मक विकल्पों के साथ काम करने के बारे में अधिक पढ़ सकते हैं

4.2. आरएलएस (रिकॉर्ड स्तर सुरक्षा)

ऊपर सूचीबद्ध सभी तंत्र सामान्य रूप से वस्तुओं तक पहुंच के प्रावधान को प्रभावित करते हैं। निर्देशिकाओं, दस्तावेजों, निर्देशिकाओं के विवरण के लिए। एक्सेस अधिकार ऑब्जेक्ट तक पहुंच को प्रभावित करते हैं, कार्यात्मक विकल्प इंटरफ़ेस में ऑब्जेक्ट के प्रदर्शन को प्रभावित करते हैं। अक्सर उपयोगकर्ता को किसी निर्देशिका या दस्तावेज़ के डेटा तक पहुंचने की अनुमति देने का कार्य होता है। लेकिन सभी डेटा के लिए नहीं, बल्कि उनमें से केवल कुछ के लिए। उदाहरण के लिए, केवल एक संगठन के लिए कार्यान्वयन दस्तावेज़ों तक पहुंच की अनुमति दें।

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

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

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

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

4.3. डेटा पृथक्करण.

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

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

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

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

4.4. प्रोग्राम कोड.

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

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

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

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

4.5. विकल्पों की तुलना.

आइए अतिरिक्त डेटा प्रतिबंध के लिए विचार किए गए विकल्पों की संक्षेप में तुलना करने का प्रयास करें।

इसे कैसे चालू करें

क्या हो जाएगा

कार्यात्मक विकल्प- कार्यक्षमता को छिपाने के लिए इंटरफ़ेस तंत्र

1. एक कार्यात्मक विकल्प के लिए एक भंडारण स्थान जोड़ें: एक स्थिरांक, एक संदर्भ पुस्तक की एक विशेषता, या एक सूचना रजिस्टर संसाधन।
2. कॉन्फ़िगरेशन में एक कार्यात्मक विकल्प जोड़ें और उसमें पहले से बनाए गए संग्रहण स्थान को निर्दिष्ट करें।
3. कार्यात्मक विकल्प के गुणों में इसकी संरचना निर्दिष्ट करें, सभी कॉन्फ़िगरेशन ऑब्जेक्ट्स को चिह्नित करें जो इस पर निर्भर होंगे।
4. एंटरप्राइज़ मोड में कार्यात्मक विकल्प का उपयोग सक्षम करें।

1. कार्यात्मक विकल्प में शामिल सभी ऑब्जेक्ट अब कमांड इंटरफ़ेस में प्रदर्शित नहीं होंगे।
2. विकल्प द्वारा छिपाए गए सभी फ़ील्ड फॉर्म और रिपोर्ट में गायब हो जाएंगे।

आरएलएस (रिकॉर्ड स्तर सुरक्षा)- अनुमत भूमिका अधिकारों पर अतिरिक्त फ़िल्टर

1. प्रत्येक उपयोगकर्ता भूमिका में उन प्रत्येक अधिकारों के लिए आरएलएस फ़िल्टर पंजीकृत करें जिन्हें प्रतिबंधित करने की आवश्यकता है।

नोट: एंटरप्राइज़ मोड में, किसी कार्रवाई की आवश्यकता नहीं है। फ़िल्टर स्वचालित रूप से लागू हो जाएंगे.

1. आईबी के प्रत्येक अनुरोध में कॉन्फ़िगर किया गया फ़िल्टर जोड़ा जाएगा।
2. जो डेटा आरएलएस फ़िल्टर में फिट नहीं होता है उसे किसी भी माध्यम से प्राप्त नहीं किया जा सकता है: उन्हें फॉर्म, रिपोर्ट में प्रदर्शित नहीं किया जाएगा; किसी भी प्रश्न द्वारा चयन नहीं किया जाएगा.

डेटा पृथक्करण- कई स्वतंत्र के एक भौतिक डेटाबेस में रखरखाव

1. कॉन्फ़िगरेशन में एक सामान्य विशेषता जोड़ें जो साझा डेटा की संरचना निर्धारित करती है।

2. दो सत्र पैरामीटर जोड़ता है: उपयोग ध्वज और वर्तमान डेटा विभाजन मूल्य के लिए।

3. डेटा पृथक्करण सक्षम करने के लिए प्रोग्राम कोड जोड़ें और विभाजक का वर्तमान मान भरें।

1. कॉन्फ़िगरेशन में डेटा विभाजन क्षमता जोड़ने के तुरंत बाद, जिन तालिकाओं के लिए विभाजन क्षमता जोड़ी गई है उन्हें भौतिक रूप से फिर से बनाया जाएगा।

  • सीमांकक मान को संग्रहीत करने के लिए एक "सीमांकक" फ़ील्ड जोड़ा जाएगा।
  • तालिकाओं पर सभी अनुक्रमणिकाएँ फिर से बनाई जाएंगी। विभाजक फ़ील्ड को पहले फ़ील्ड के रूप में उनमें जोड़ा जाएगा।

2. पृथक्करण चालू करने के बाद.

  • आईएस के सभी अनुरोधों को विभाजक के मूल्य द्वारा फ़िल्टर किया जाएगा।
  • कोई भी डेटा लिखते समय सेपरेटर का मान सेशन पैरामीटर के मान के अनुसार स्वचालित रूप से भर जाएगा।
प्रोग्राम कोड- कोई अतिरिक्त बिंदु प्रतिबंध
1. कॉन्फ़िगरेशन में आवश्यक प्रतिबंध लागू करने के लिए कोड जोड़ें।

1. जो लिखा है वही करेंगे.

ध्यान दें: कोड संपूर्ण कॉन्फ़िगरेशन को प्रभावित नहीं करता है, बल्कि केवल उस विशिष्ट तंत्र को प्रभावित करता है जिसके लिए कार्रवाई लिखी गई है

5. परिणाम.

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

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

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

आइए एक नया स्थिरांक बनाएं और उसे कॉल करें लेखांकन वेतन, प्रकार - बूलियन. आइए सबसिस्टम में एक स्थिरांक शामिल करें प्रशासनऔर स्थिरांक रूप में ताकि हम इसे संपादित कर सकें। इसके अलावा, स्थिरांक के रूप में, हम निम्नलिखित फॉर्म का AfterWrite हैंडलर सेट करेंगे:

&क्लाइंट प्रक्रिया पर AfterWrite(WriteParameters) UpdateInterface(); अंतिम प्रक्रिया

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

आइए एक नया कार्यात्मक विकल्प बनाएं, इसे कॉल करें लेखांकन वेतन, टैब पर मुख्य, पैरामीटर में भंडारणहम नव निर्मित स्थिरांक को इंगित करते हैं, अंजीर। 7.23. सबसिस्टम में एक कार्यात्मक विकल्प शामिल करें प्रशासन.


चावल। 7.23.

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


चावल। 7.24.

सबसिस्टम चयन पेरोल तैयारीइस मामले में सबसिस्टम में शामिल सभी वस्तुओं का स्वचालित चयन नहीं होता है। चुनते समय, हमारा मतलब केवल कमांड इंटरफ़ेस अनुभाग को छिपाना या दिखाना है पेरोल तैयारी.

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

अधिक मुश्किल उदाहरणकार्यात्मक विकल्प उस स्थिति में व्यक्तिगत फॉर्म तत्वों की दृश्यता निर्धारित करना है जब कार्यात्मक विकल्प का मूल्य किसी ऑब्जेक्ट की विशेषता में संग्रहीत होता है।

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

प्रिंट करें (Ctrl+P)

1. कार्यात्मक विकल्पों का उद्देश्य

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

2. कौन से कार्यात्मक विकल्प प्रभावित करते हैं

2.1. सामान्य जानकारी

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

2.2. वैश्विक कमांड इंटरफ़ेस

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

2.3. रूप

एक फॉर्म में, कार्यात्मक विकल्प फॉर्म विशेषताओं और आदेशों को प्रभावित कर सकते हैं और (परिणामस्वरूप) संबंधित फॉर्म तत्वों (फॉर्म विशेषताओं के लिए फ़ील्ड और कॉलम, फॉर्म कमांड के लिए बटन) की दृश्यता को बदल सकते हैं। प्रपत्र विकसित करते समय, सिस्टम व्यवहार की निम्नलिखित विशेषताओं को ध्यान में रखा जाना चाहिए:
<Вид>एक वस्तु ( निर्देशिकावस्तु m, DocumentObject, आदि) अक्षम हो जाएगा यदि संबंधित कॉन्फ़िगरेशन ऑब्जेक्ट किसी कार्यात्मक विकल्प द्वारा अक्षम कर दिया गया है। केवल उन कार्यात्मक विकल्पों को पार्स किया जाता है जिनमें कोई पैरामीटर नहीं होता है।
● प्रकार प्रबंधित प्रपत्र की मुख्य विशेषता गतिशील सूचीयदि कार्यात्मक विकल्प डायनामिक सूची की मुख्य तालिका के रूप में निर्दिष्ट कॉन्फ़िगरेशन ऑब्जेक्ट को अक्षम कर देता है तो अक्षम कर दिया जाएगा। केवल उन कार्यात्मक विकल्पों को पार्स किया जाता है जिनमें कोई पैरामीटर नहीं होता है।
● यदि इस प्रकार को बनाने वाली कॉन्फ़िगरेशन ऑब्जेक्ट को किसी कार्यात्मक विकल्प द्वारा अक्षम कर दिया गया है, तो संदर्भ प्रकार की फॉर्म विशेषता अक्षम हो जाती है। यदि कार्यात्मक विकल्प सभी घटक प्रकारों को अक्षम कर देते हैं तो समग्र प्रकार की प्रपत्र विशेषता अक्षम हो जाती है।
● फॉर्म टाइप प्रॉप्स को अक्षम करता है<Вид>एक ऑब्जेक्ट (मुख्य प्रपत्र विशेषता सहित), यदि कॉन्फ़िगरेशन ऑब्जेक्ट जो इस प्रकार का गठन करता है, फ़ंक्शन विकल्प द्वारा अक्षम किया गया है। केवल उन कार्यात्मक विकल्पों को पार्स किया जाता है जिनमें कोई पैरामीटर नहीं होता है।
● यदि प्रपत्र तालिका किसी कार्यात्मक विकल्प द्वारा अक्षम प्रपत्र विशेषता का डेटा प्रदर्शित करती है तो उसे अक्षम कर दिया जाएगा।
● प्रकार चयन संवाद में कोई प्रकार नहीं हैं (उदाहरण के लिए, समग्र प्रकार की विशेषताओं से जुड़े इनपुट फ़ील्ड के लिए) यदि इन प्रकारों को बनाने वाली कॉन्फ़िगरेशन ऑब्जेक्ट एक कार्यात्मक विकल्प द्वारा अक्षम हैं। कार्यात्मक विकल्पों द्वारा अक्षम किए गए प्रकारों के बारे में जानकारी क्लाइंट साइड पर कैश की जाती है और 20 मिनट के बाद या मेथड कॉल के दौरान साफ़ कर दी जाती है अद्यतनइंटरफ़ेस().
ध्यान!कमांड इंटरफ़ेस के विपरीत, कार्यात्मक विकल्पों के पैरामीटर मान केवल फॉर्म के एक विशिष्ट उदाहरण के लिए सेट किए जाते हैं।

2.4. डेटा संरचना प्रणाली

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

2.5. विशेषताएँ

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

चावल। 1. प्रदर्शन पर कार्यात्मक विकल्पों का प्रभाव

कार्यात्मक विकल्प के निष्क्रिय होने की स्थिति में लेखांकनविशेषताएँप्रपत्रों में, विशेषताओं के मान प्रदर्शित करने वाले फ़ील्ड (कॉलम वैल्यू और फ़ील्ड वैल्यू) की दृश्यता बंद कर दी जाती है, जैसा कि चित्र 1 में दिखाया गया है।

3. कार्य की सामान्य योजना

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


चावल। 2. पैरामीटरयुक्त कार्यात्मक विकल्प

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

● संगठन (उपयुक्त प्रकार);
● गोदाम (उपयुक्त प्रकार)।

सूचना रजिस्टर का संसाधन कुल लेखांकन के कार्यात्मक विकल्प का मूल्य होगा।
फिर कॉन्फ़िगरेशन की सामान्य संरचना इस तरह दिखेगी:
● सूचना रजिस्टर सम लेखांकन:
● संगठन आयाम;
● आयाम गोदाम;
● बूलियन प्रकार का संसाधन कुल लेखांकन।
● कार्यात्मक विकल्प पैरामीटर संगठन . उपयोग संपत्ति सूचना रजिस्टर SumAccounting के आयाम संगठन को इंगित करती है।
● कार्यात्मक विकल्प पैरामीटर गोदाम . उपयोग संपत्ति सूचना रजिस्टर वेयरहाउस सम लेखांकन आयाम की ओर इशारा करती है।
● कार्यात्मक विकल्प कुल लेखांकन। स्टोरेज प्रॉपर्टी SumAccounting सूचना रजिस्टर संसाधन SumAccounting की ओर इंगित करती है।
परिणामस्वरूप, कुल लेखांकन की आवश्यकता निर्धारित करने के लिए, हमें प्रत्येक विशिष्ट मामले में कार्यात्मक विकल्प (संगठन और गोदाम) के मापदंडों के मूल्यों को निर्दिष्ट करने और कार्यात्मक विकल्प का मूल्य प्राप्त करने की आवश्यकता है।
इसलिए, चित्र 2 में दिखाए गए उदाहरण में, संगठन 1 और वेयरहाउस 1 के लिए, कुल लेखांकन की अनुमति है, और संगठन 2 और वेयरहाउस 1 के लिए, कुल लेखांकन निषिद्ध है।

4. अन्य वस्तुओं के साथ अंतःक्रिया

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

5. सृजन

5.1. एक कार्यात्मक विकल्प बनाना

एक कार्यात्मक विकल्प बनाने के लिए, आपको एक कॉन्फ़िगरेशन ऑब्जेक्ट कार्यात्मक विकल्प बनाने की आवश्यकता है। यह कॉन्फिगरेटर मोड में सामान्य तरीके से किया जा सकता है, यानी कॉन्फ़िगरेशन विंडो में, सामान्य आइटम का चयन करें, फिर कार्यात्मक विकल्प और एक नया ऑब्जेक्ट जोड़ें।

चावल। 3. एक कार्यात्मक विकल्प बनाना

यह एक कार्यात्मक विकल्प कॉन्फ़िगरेशन ऑब्जेक्ट बनाएगा जिसका उपयोग अन्य मेटाडेटा ऑब्जेक्ट्स को कार्यात्मक विकल्प निर्दिष्ट करने के लिए किया जा सकता है।


चावल। 4. कार्यात्मक विकल्प का मूल्य संग्रहीत करना

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


चावल। 5. कार्यात्मक विकल्प का मूल्य प्राप्त करते समय विशेषाधिकार प्राप्त मोड

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

5.2. एक कार्यात्मक विकल्प पैरामीटर बनाना

एक कार्यात्मक विकल्प पैरामीटर बनाने के लिए, आपको एक कॉन्फ़िगरेशन ऑब्जेक्ट बनाने की आवश्यकता है फ़ंक्शन विकल्प पैरामीटर. यह कॉन्फिगरेटर मोड में सामान्य तरीके से किया जा सकता है, यानी कॉन्फ़िगरेशन विंडो में, सामान्य का चयन करें, फिर फ़ंक्शन विकल्प पैरामीटरऔर एक नई वस्तु जोड़ें.

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

6. उपयोग

6.1 ऑब्जेक्ट को मेटाडेटा निर्दिष्ट करना

एक मेटाडेटा ऑब्जेक्ट (उदाहरण के लिए, एक निर्देशिका) को एक या अधिक कार्यात्मक विकल्पों के लिए जिम्मेदार ठहराया जा सकता है। ऐसा करने के लिए, कार्यात्मक विकल्प प्रॉपर्टी का उपयोग करें, जिसमें कॉन्फ़िगरेशन में बनाए गए कार्यात्मक विकल्पों के लिंक शामिल हैं।

चावल। 6. किसी वस्तु को कार्यात्मक विकल्प निर्दिष्ट करना

उपलब्ध विकल्पों की सूची केवल उन विकल्पों तक ही सीमित है जिनके लिए स्टोरेज प्रॉपर्टी में बूलियन के मान प्रकार वाला ऑब्जेक्ट असाइन किया गया है।
ध्यान!यदि किसी ऑब्जेक्ट को कोई कार्यात्मक विकल्प नहीं दिया गया है, तो उसे हमेशा दृश्यमान माना जाता है। अन्यथा, ऑब्जेक्ट को दृश्यमान माना जाता है यदि उसे सौंपे गए फ़ंक्शन विकल्पों में से कम से कम एक सक्षम है (यानी, फ़ंक्शन विकल्प एक साथ ORed हैं)।

6.2. प्रपत्र विवरण और आदेश निर्दिष्ट करना

प्रपत्र से संबंधित ऑब्जेक्ट (विशेषताएं और कमांड) का उपयोग कार्यात्मक विकल्प तंत्र में भी किया जा सकता है।


चावल। 7. एक कमांड को एक फ़ंक्शन विकल्प निर्दिष्ट करना

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

6.3. डेटा एक्सेस प्रतिबंध तंत्र में उपयोग करें

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

6.4. फ़ंक्शन विकल्प मान का निर्धारण

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

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

7. अंतर्निहित भाषा में कार्यात्मक विकल्पों के साथ कार्य करना

वैश्विक संदर्भ विधियाँ GetFunctionOption()और GetFunctionInterfaceOption() फ़ंक्शन का मान लौटाएं
विकल्प. उनके बीच अंतर यह है कि पहली विधि आपको कार्यात्मक विकल्प पैरामीटर का एक सेट निर्दिष्ट करने की अनुमति देती है, और दूसरी विधि कमांड इंटरफ़ेस के लिए निर्दिष्ट पैरामीटर के आधार पर कार्यात्मक विकल्प का मान लौटाती है। फॉर्म की अपनी विधि होती है जो फॉर्म के भीतर निर्दिष्ट मापदंडों के लिए विकल्प का मान लौटाती है - GetFunctionOptionForm().
वैश्विक कमांड इंटरफ़ेस को अद्यतन करने के लिए, विधि को स्पष्ट रूप से कॉल करें इंटरफ़ेसफ़ंक्शनऑप्शन पैरामीटर सेट करें().
कार्यात्मक विकल्पों की नई स्थिति को दर्शाने के लिए कमांड इंटरफ़ेस को अद्यतन किया जाएगा।
टिप्पणियाँएफ. यदि डेटाबेस में किसी कार्यात्मक विकल्प का मान बदलता है, तो वैश्विक कमांड इंटरफ़ेस और उस समय खुले हुए फॉर्म स्वचालित रूप से अपडेट नहीं होते हैं। ऐसा करने के लिए, विधि का उपयोग करें अपडेटइंटरफ़ेस() डेटाबेस में कार्यात्मक विकल्पों के मान लिखने के बाद।
यह याद रखना चाहिए कि कार्यात्मक विकल्पों के पैरामीटर सेट करना (और विधि निष्पादित करना)। अद्यतनइंटरफ़ेस()) निम्नलिखित परिणामों की ओर ले जाता है:
● प्रत्येक फॉर्म के लिए, सभी सहायक फॉर्म बंद कर दिए जाते हैं (संबंधित हैंडलर को बुलाए जाने के साथ);
● जो फॉर्म बंद करने से इनकार करते हैं उन्हें बंद नहीं किया जाता;
● मुख्य प्रपत्र तत्वों की सामग्री अद्यतन की गई है;
● यदि इंटरफ़ेस अद्यतन के समय मुख्य प्रपत्र सक्रिय प्रपत्र था, तो मुख्य प्रपत्र तत्वों के नए सेट के अनुसार प्रदर्शित होता है;
● यदि इंटरफ़ेस अद्यतन के समय कोई सहायक प्रपत्र सक्रिय प्रपत्र था, तो:
● यदि इंटरफ़ेस अपडेट करने के बाद यह उपलब्ध है तो सहायक फॉर्म खोलने का आदेश निष्पादित किया जाएगा;
● अन्यथा, मुख्य प्रपत्र तत्वों की संरचना अद्यतन की जाती है और उसका प्रदर्शन किया जाता है;
● यदि इंटरफ़ेस को अपडेट करने के समय, सक्रिय फॉर्म एक कमांड के साथ खोला गया एक सहायक फॉर्म था जो फॉर्म के नेविगेशन बार से संबंधित नहीं है, तो इस फॉर्म के बजाय, मुख्य फॉर्म तत्वों की सामग्री को अपडेट और प्रदर्शित किया जाएगा।
किसी विशेष फॉर्म को अपडेट करने के लिए, या तो इसे दोबारा खोलें या कॉल करें SetFormFunctionOptionsParameters(),
साथ ही, ऊपर वर्णित क्रियाओं का क्रम केवल उस फॉर्म के लिए काम करता है जिसके संदर्भ में फॉर्म के कार्यात्मक विकल्पों के मापदंडों की सेटिंग कहा जाता है।
सभी पैरामीटर्स को एक साथ निर्दिष्ट करने की आवश्यकता नहीं है, आप किसी विशेष पैरामीटर या पैरामीटर्स के सेट का मान चुनिंदा रूप से बदल सकते हैं। लेकिन यह एक कॉल के साथ मूल्यों की समूह सेटिंग है जो अधिक कुशल है।
पैरामीटर मान प्राप्त करने के लिए, आपको संबंधित फ़ंक्शन को कॉल करना होगा ( GetInterfaceFunctionOptionParameters() या
GetFormFunctionOptionsParameters()), जो सेट पैरामीटर को एक संरचना के रूप में लौटाएगा, जहां पैरामीटर नाम कुंजी होगा।
खोले जाने पर, प्रपत्र स्वचालित रूप से कमांड इंटरफ़ेस के लिए निर्धारित कार्यात्मक विकल्पों के मापदंडों का उपयोग करता है।



परियोजना का समर्थन करें - लिंक साझा करें, धन्यवाद!
ये भी पढ़ें
सिलीमारिन - सिलीमारिन के बारे में निर्देश, उपयोग, खुराक, मतभेद, समीक्षाएं सिलीमारिन व्यापार नाम सिलीमारिन - सिलीमारिन के बारे में निर्देश, उपयोग, खुराक, मतभेद, समीक्षाएं सिलीमारिन व्यापार नाम गर्भाशय और गर्भावस्था की सूजन गर्भावस्था के दौरान उपांगों की सूजन किसे हुई: समीक्षा गर्भाशय और गर्भावस्था की सूजन गर्भावस्था के दौरान उपांगों की सूजन किसे हुई: समीक्षा महिलाओं में चीज़ी डिस्चार्ज और खुजली क्या है, यह कहां से आई और इसका इलाज कैसे करें महिलाओं में चीज़ी डिस्चार्ज और खुजली क्या है, यह कहां से आई और इसका इलाज कैसे करें