1c 8 كتابة قواعد الرادار. معلومات المحاسبة. إعداد تقييد الوصول

نماذج أخرى 07.02.2022
نماذج أخرى

تسمح آلية RLS في 1C (قيود الوصول على مستوى السجل) للمطور بتعيين التحديدات والشروط الخاصة به مباشرة على جداول قاعدة البيانات. قد تنطبق هذه القيود على القراءة والإضافة والتعديل والحذف.

العيب الرئيسي لهذه الطريقة هو انخفاض كفاءة النظام ككل. النقطة المهمة هي إضافة عوامل تصفية إضافية إلى الاستعلامات الرئيسية التي تتلقى البيانات ديناميكيًا. في كل مرة يصل فيها المستخدم إلى بعض بيانات قاعدة المعلومات المقيدة ، سيتحقق البرنامج من خلال تنفيذ استعلام.

على الرغم من هذا العيب الكبير ، فإن آلية RLS مريحة ومرنة تمامًا. باستخدامه ، يمكنك تكوين النظام بحيث لا يرى أي مستخدم أي شيء "إضافي". يعد تقييد وصول موظفيك ، خاصة إذا كان هناك الكثير منهم ، مثمرًا للغاية. النقطة ليست في عدم الثقة بقدر كبير ، ولكن في الحماية من الأخطاء العشوائية والعامل البشري. كلما قلت البيانات المتاحة ، كان من الأسهل التعامل معها وعدم "الارتباك".

في إحدى مقالاتنا ، تطرقنا بالفعل جزئيًا إلى موضوع تقييد الوصول إلى مستوى التسجيل. في هذه الحالة ، سيتم النظر في المزيد من التخصيص المتعمق بواسطة المطور.

تكوين تقييد الوصول على مستوى السجل

تم تكوين الرادار وتطويره في مكون 1C. للقيام بذلك ، قم أولاً بإنشاء دور في فرع البيانات الوصفية.

في علامة التبويب قوالب التقييد ، يمكنك إنشاء واحد أو أكثر من هذه القوالب. ظاهريًا ، لا يختلفون عمليًا عن الطلبات المعتادة.

بعد ذلك ، انتقل إلى علامة التبويب "أذونات" للدور الذي تريد تعيين قيد له. لتسهيل الأمر ، يمكنك استخدام منشئ الاستعلام ، الذي يحتوي على علامتي تبويب فقط "الجداول والحقول" و "الشروط".

كما ترى في الصورة أدناه ، أضفنا قيدًا واحدًا فقط مع النص:

WHEREItemGroup = & ItemGroup

نتيجة لذلك ، عندما يصل المستخدم إلى الكتاب المرجعي "التسمية" ، سيضيف البرنامج سطرًا بهذا الشرط إلى جميع الاستعلامات.

تكوين الوصول على مستوى إدخالات الدليل.

تم تضمين هذا الإعداد في التكوين منذ وقت ليس ببعيد ، وأنا شخصياً أعتقد أن الإعداد مفيد للغاية.

هذا الإعداد ضروري لأولئك الذين يحتاجون إلى تقييد الوصول إلى الدليل في سياق عناصر هذا الدليل. على سبيل المثال ، يحتاج المدير إلى رؤية المشترين فقط ، بالإضافة إلى التقارير ومجلات المستندات ، فقط للأطراف المقابلة التي يُسمح له بالوصول إليها ، ويحتاج المحاسب إلى الوصول الكامل إلى جميع عناصر الدليل ، على سبيل المثال ، "الأطراف المقابلة" .

أقترح النظر في مثال على مثال تكوين SCP.

  1. في هذه المرحلة ، من الضروري تحديد مجموعة من مجموعات المستخدمين.

المسؤولون.

مديرين مبيعات؛

مديري المشتريات؛

  1. في المرحلة الثانية ، يتم تحديد مجموعات الوصول إلى الدليل.

المشترون

الموردين ؛

عادة ، تتم مناقشة قوائم المجموعات أعلاه مع الإدارة وبعد ذلك فقط يتم إدخالها في البرنامج.

من الضروري الآن وصف الإعدادات الفعلية التي يجب إجراؤها في 1C.

  1. قم بتمكين "الوصول المقيد على مستوى التسجيل". الخدمة - إدارة الوصول والمستخدم - خيارات الوصول على مستوى السجل. انظر الشكل. واحد.

سيتم فتح نموذج المعالجة "معلمات الوصول على مستوى السجل" ، انظر الشكل. 2.

في هذا النموذج ، يجب فعلاً تمكين التقييد ، حيث تكون العلامة "تقييد الوصول على مستوى السجل حسب أنواع الكائنات" مسؤولة عنها وتحديد تلك الأدلة التي سيتم تطبيق التقييد عليها. تتناول هذه المقالة فقط دليل "الأطراف المقابلة".

  1. علاوة على ذلك ، ستكون مجموعات المستخدمين والأطراف المقابلة التي تم تحديدها في بداية المقالة مفيدة لنا.

يتم إدخال مجموعات الأطراف المقابلة في الكتاب المرجعي "مجموعات المستخدمين" ، انظر الشكل. 3.

سيتم فتح نموذج العنصر المرجعي "مجموعات المستخدمين" ، انظر الشكل. أربعة.

في الجزء الأيسر من النافذة ، يُشار إلى كائن الوصول (لدينا "مقاولون") ، على اليمين ، يُشار إلى المستخدمين الذين هم جزء من المجموعة ، في هذا المثال ، هؤلاء هم "المسؤولون".

لكل مجموعة مستخدم تحددها أنت ، تحتاج إلى تنفيذ هذا الإعداد ، ويجب ألا يكون هناك مستخدم واحد غير مدرج في المجموعة.

  1. في الخطوة الثالثة ، تحتاج إلى إدخال "مجموعات الوصول للأطراف المقابلة" ، ويكون الدليل "مجموعات الوصول للأطراف المقابلة" مسؤولاً عن ذلك. انظر الشكل. 5.

على سبيل المثال لدينا ، هؤلاء هم: المشترون والموردون وآخرون. انظر الشكل. 6.

  1. في هذه المرحلة ، تحتاج إلى تعيين مجموعة وصول لكل عنصر من عناصر دليل "الأطراف المقابلة". انظر الشكل. 7.

يتم تعيين مجموعة الوصول للطرف المقابل في علامة التبويب "الآخر". عادةً ما أستخدم معالجة قياسية إضافية لتعيين بيانات المجموعة. "معالجة مجموعة من الدلائل والمستندات" ، فإنه يسمح لك لتعيين المجموعة المطلوبة على نطاق واسع لهذه السمة.

  1. هذه المرحلة هي مرحلة الذروة. في هذه المرحلة ، يتم تكوين وصول "مجموعات المستخدمين" إلى "مجموعات الوصول إلى الحساب" ؛ يتم تكوين هذا باستخدام معالجة "تعيين حقوق الوصول على مستوى السجل" ، انظر الشكل. ثمانية.

يتم تمييز نسبة مجموعات المستخدمين إلى مجموعات الوصول للأطراف المقابلة باللون الأحمر. بالنسبة لمجموعات "مديرو المشتريات" و "مديرو المبيعات" ، يتم تكوين العلاقات بنفس الطريقة ، حيث تتم الإشارة فقط إلى كائنات الوصول التي يجب أن يكون لهم حق الوصول إليها ، على سبيل المثال ، "الموردين" فقط أو "المشترين" فقط. العلامات ، على سبيل المثال "الرؤية في القائمة" هي حقوق "كائن الوصول". من الاسم ، أعتقد أن وظيفة هذه الحقوق واضحة أيضًا.

بعد عمليات التلاعب المذكورة أعلاه ، يجب أن يكون لديك وصول مختلف إلى دليل "الأطراف المقابلة".

عن طريق القياس ، يتم تكوين أدلة أخرى.

مهم:

لا ينطبق الوصول المحدود على دور "FullPermissions" ؛

يجب أن تحتوي مجموعة أدوار المستخدم على الدور "المستخدم" ؛

إذا كان لديك أدوار خاصة بك ، فأنت بحاجة إلى إدراج قوالب وقيود في دورك كما هو الحال في دور "المستخدم" فيما يتعلق بدليل "المقاولون" (انظر الكود في دور المستخدم بالنقر فوق دليل الأطراف المقابلة).

يحتوي برنامج 1C على نظام مدمج لحقوق الوصول ، والذي يقع في Configurator - General - Roles.

ما الذي يميز هذا النظام وما هو هدفه الرئيسي؟ يتيح لك وصف مجموعات الحقوق التي تتوافق مع مواقف المستخدمين أو أنشطتهم. إن نظام حقوق الوصول هذا ثابت بطبيعته ، مما يعني أنه عندما قام المسؤول بتعيين حقوق الوصول إلى 1C ، فهو كذلك. بالإضافة إلى النظام الثابت ، هناك نظام آخر لحقوق الوصول - ديناميكي (RLS). في هذا النظام ، يتم حساب حقوق الوصول بطريقة ديناميكية ، اعتمادًا على المعلمات المحددة ، في سياق العمل.

الأدوار في 1C

إعدادات الأمان الأكثر شيوعًا في البرامج المختلفة هي ما يسمى بمجموعة أذونات القراءة / الكتابة لمجموعات مستخدمين مختلفة وفي المستقبل: تضمين أو استبعاد مستخدم معين من المجموعات. مثل هذا النظام ، على سبيل المثال ، يستخدم في نظام التشغيل Windows AD (Active Directory). يسمى نظام الأمان المستخدم في برنامج 1C بالأدوار. ما هذا؟ الأدوار في 1C هي كائن موجود في التكوين في الفرع: عام - الأدوار. أدوار 1C هذه عبارة عن مجموعات يتم تعيين حقوق لها. في المستقبل ، يمكن تضمين كل مستخدم واستبعاده من هذه المجموعة.

بالنقر المزدوج على اسم الدور ، ستفتح محرر الحقوق للدور. يوجد على اليسار قائمة كائنات ، حدد أيًا منها وعلى اليمين سترى خيارات لحقوق الوصول الممكنة:

- القراءة: الحصول على السجلات أو أجزاءها الجزئية من جدول قاعدة البيانات ؛
- الإضافة: سجلات جديدة مع الاحتفاظ بالسجلات الموجودة ؛
- التغيير: إجراء تغييرات على السجلات الموجودة ؛
- الحذف: بعض السجلات مع الاحتفاظ بالباقي دون تغيير.

لاحظ أنه يمكن تقسيم جميع حقوق الوصول إلى مجموعتين رئيسيتين - هذا حق "بسيط" وهذا حق مع إضافة الخاصية "التفاعلية". ما هو المقصود هنا؟ والشيء هو التالي.

في حالة قيام المستخدم بفتح نموذج ما ، على سبيل المثال ، المعالجة ، وفي نفس الوقت ينقر عليه بالماوس ، يبدأ البرنامج في لغة 1C المدمجة في تنفيذ إجراءات محددة ، على سبيل المثال ، حذف المستندات. للحصول على إذن بمثل هذه الإجراءات التي يقوم بها البرنامج ، تكون حقوق 1C مسؤولة ، على التوالي ، "ببساطة".

في حالة قيام المستخدم بفتح المجلة وبدء إدخال شيء بمفرده من لوحة المفاتيح (المستندات الجديدة ، على سبيل المثال) ، فإن حقوق 1C "التفاعلية" هي المسؤولة عن السماح بمثل هذه الإجراءات. يمكن أن يكون لكل مستخدم عدة أدوار متاحة في وقت واحد ، ثم تتم إضافة الإذن.

RLS في 1C

يمكنك تمكين الوصول إلى الدليل (أو المستند) أو تعطيله. لا يمكنك تشغيله قليلاً. لهذا الغرض ، هناك امتداد معين لنظام الدور 1C ، والذي يسمى RLS. هذا هو نظام حقوق وصول ديناميكي يقدم قيود وصول جزئية. على سبيل المثال ، تصبح المستندات الخاصة بمنظمة ومستودع معين فقط متاحة لاهتمام المستخدم ، ولا يرى الباقي.

يجب أن يؤخذ في الاعتبار أنه يجب تطبيق نظام RLS بعناية شديدة ، نظرًا لأنه من الصعب فهم مخططه المعقد ، وقد يكون لدى المستخدمين المختلفين أسئلة عندما يقارنوا ، على سبيل المثال ، نفس التقرير ، الذي تم إنشاؤه من تحت مختلف المستخدمين. لنفكر في مثل هذا المثال. أنت تختار دليلًا محددًا (المؤسسات ، على سبيل المثال) وحقًا محددًا (القراءة ، على سبيل المثال) ، أي أنك تسمح بالقراءة لدور 1C. في الوقت نفسه ، تقوم بتعيين نص الطلب في اللوحة البعيدة لقيود الوصول إلى البيانات ، وفقًا لضبط False أو True ، وفقًا للإعدادات. عادة ، يتم تخزين الإعدادات في سجل معلومات خاص.

سيتم تنفيذ هذا الاستعلام ديناميكيًا (عند إجراء محاولة لتنظيم القراءة) ، لجميع إدخالات الدليل. إنه يعمل على النحو التالي: تلك السجلات التي عيّن لها طلب الأمان - صحيح ، سيرى المستخدم ، لكن الآخرين لن يفعلوا ذلك. يتم تمييز حقوق 1C ذات القيود الموضوعة باللون الرمادي.

يتم تنفيذ عملية نسخ إعدادات RLS المتطابقة باستخدام القوالب. بادئ ذي بدء ، تقوم بإنشاء قالب ، وتسميته ، على سبيل المثال ، MyTemplate ، حيث تعكس طلب الأمان. ثم ، في إعدادات حقوق الوصول ، حدد اسم هذا القالب بهذه الطريقة: "#MyTemplate".

عندما يعمل المستخدم في وضع 1C Enterprise ، عند الاتصال بـ RLS ، قد تظهر رسالة خطأ مثل: "حقوق غير كافية" (لقراءة الدليل XXX ، على سبيل المثال). يشير هذا إلى أن نظام RLS قد منع قراءة بعض السجلات. لمنع ظهور هذه الرسالة مرة أخرى ، يلزمك إدخال الكلمة "مسموح" في نص الطلب.

1C لديه نظام حقوق وصول مدمج (يسمى هذا النظام أدوار 1C). هذا النظام ثابت - حيث قام المسؤول بتعيين الحقوق على 1C ، فليكن.

بالإضافة إلى ذلك ، هناك نظام ديناميكي لحقوق الوصول (يسمى - RLS 1C). في ذلك ، يتم حساب حقوق 1C ديناميكيًا في وقت عمل المستخدم بناءً على المعلمات المحددة.

أحد أكثر إعدادات الأمان شيوعًا في البرامج المختلفة هو مجموعة أذونات القراءة / الكتابة لمجموعات المستخدمين ثم - تضمين أو استبعاد مستخدم من المجموعات. على سبيل المثال ، يتم استخدام نظام مشابه في Windows AD (Active Directory).

يسمى نظام الأمان هذا في 1C الأدوار 1C. تقع الأدوار 1C في التكوين في فرع عام / الأدوار. تعمل أدوار 1C كمجموعات يتم تعيين حقوق 1C لها. بعد ذلك ، يتم تضمين المستخدم أو استبعاده من هذه المجموعة.

بالنقر المزدوج على اسم الدور 1C ، ستفتح محرر الحقوق لدور 1C. على اليسار توجد قائمة من كائنات 1C. حدد أيًا وسيتم عرض خيارات حقوق الوصول على اليمين (كحد أدنى: قراءة ، إضافة ، تغيير ، حذف).

بالنسبة للفرع العلوي (اسم التكوين الحالي) ، يتم تعيين حقوق إدارية 1C والوصول لإطلاق خيارات متنوعة.

جميع حقوق 1C مقسمة إلى مجموعتين - حق "بسيط" ونفس الحق مع إضافة "تفاعلي". ماذا يعني ذلك؟

عندما يفتح المستخدم نموذجًا (على سبيل المثال ، معالجة) ويضغط على زر عليه ، يقوم البرنامج في لغة 1C المدمجة بتنفيذ إجراءات معينة ، على سبيل المثال ، حذف المستندات. للحصول على إذن بهذه الإجراءات (يتم تنفيذها برمجيًا) - "ببساطة" حقوق 1C هي المسؤولة.

عندما يفتح المستخدم دفتر يومية ويبدأ في عمل شيء ما من لوحة المفاتيح بمفرده (على سبيل المثال ، إدخال مستندات جديدة) ، فهذه حقوق 1C "تفاعلية".

يمكن أن يكون للمستخدم عدة أدوار متاحة ، وفي هذه الحالة تتم إضافة الأذونات معًا.

القسم الخاص بإمكانيات تعيين حقوق الوصول باستخدام الأدوار هو كائن 1C. بمعنى ، يمكنك إما تمكين الوصول إلى الدليل أو تعطيله. لا يمكن تشغيله قليلا.

لهذا ، هناك امتداد لنظام الدور 1C يسمى 1C RLS. هذا نظام ديناميكي لحقوق الوصول يسمح لك بتقييد الوصول جزئيًا. على سبيل المثال ، يرى المستخدم فقط المستندات الخاصة بمستودع ومنظمة معينة ولا يرى الباقي.

بحرص! عند استخدام مخطط RLS 1C المربك ، قد يكون لدى مستخدمين مختلفين أسئلة عندما يحاولون التحقق من نفس التقرير الذي تم إنشاؤه من مستخدمين مختلفين.

تأخذ دليلًا معينًا (مثل المنظمات) وحقًا معينًا (مثل القراءة). أنت تسمح بالقراءة لدور 1C. في لوحة تقييد الوصول إلى البيانات ، يمكنك تعيين نص الاستعلام ، الذي يُرجع TRUE أو FALSE بناءً على الإعدادات. عادةً ما يتم تخزين الإعدادات في سجل المعلومات (على سبيل المثال ، سجل معلومات التكوين Accounting UserAccessRightsSettingsUsers).

يتم تنفيذ هذا الطلب ديناميكيًا (عند محاولة تنفيذ القراءة) لكل إدخال دليل. وبالتالي ، بالنسبة لتلك السجلات التي أرجع استعلام الأمان لها القيمة TRUE ، سيشاهدها المستخدم ، ولكن لن يراها الباقي.
يتم تمييز حقوق 1C الخاضعة لقيود RLS 1C باللون الرمادي.

يتم نسخ نفس إعدادات RLS 1C باستخدام القوالب. تقوم بإنشاء قالب ، قم بتسميته (على سبيل المثال) MyTemplate ، حدد طلب أمان فيه. بعد ذلك ، في إعدادات حقوق الوصول 1C ، حدد اسم القالب مثل هذا: "#MyTemplate".

عندما يعمل المستخدم في وضع 1C Enterprise ، عند تشغيل RLS 1C ، قد يتلقى رسالة خطأ "حقوق غير كافية" (على سبيل المثال ، لقراءة دليل Xxx).

هذا يعني أن RLS 1C منع قراءة العديد من السجلات.

لمنع ظهور مثل هذه الرسالة ، من الضروري استخدام الكلمة ALLOWED () في نص الطلب بلغة 1C المدمجة.

فمثلا:

سيوافق كل مدير دون قيد أو شرط على أن كل موظف في المؤسسة يجب أن يكون له حق الوصول فقط إلى المعلومات التي تقع ضمن اختصاصه. على سبيل المثال ، لا يتعين على صاحب المتجر في المستودع أن ينظر إلى العمليات التي يقوم بها المدير المالي أو كبير المحاسبين. ومع ذلك ، غالبًا ما تنشأ مواقف دقيقة إلى حد ما ، على سبيل المثال ، عندما يتم استخدام برنامج 1C: Enterprise 8 ليس لمؤسسة واحدة ، ولكن للعديد من المؤسسات. كل منهم لديه موظفيه الخاصين ، الذين يجب أن يكون لديهم حق الوصول فقط إلى المعلومات المصرح بها المتعلقة بمؤسستهم.

في هذه الحالة ، فإن التكنولوجيا هي المساعد المثالي في ضمان حقوق الوصول الضرورية أمان مستوى السجل(RLS) الذي يسمح لك بتوفير الوصول إلى المعلومات على مستوى السجل.

ضع في اعتبارك مثالاً لموقف معين. تتكون شركتنا من منظمتين. الأول يتعامل مع بيع البرمجيات ، والثاني - التدريب على التعامل معها. لحساب هاتين المؤسستين ، نستخدم منتج البرنامج 1C: الأتمتة المتكاملة 8.

مهمتنا هي التفريق بين حقوق الوصول إلى المعلومات لموظفي مؤسستين بحيث يمكن للموظفين الذين يتمتعون بنفس الحقوق رؤية ما ينتمي إلى المنظمة التي يعملون فيها فقط.

أول ما يتبادر إلى الذهن عند تعيين هذه المهمة هو إعداد التحديدات للمؤسسات. ومع ذلك ، فإن هذا الحل له عيبان مهمان:

  • يجب تعديل الاختيارات في جميع أشكال البرنامج ؛
  • بالنسبة لمستخدم ذكي إلى حد ما ، فلن يكون من الصعب على الإطلاق إيقاف تشغيله.

أضمن طريقة هي تحديد وصول المستخدم على مستوى السجل. كيف يتم تنفيذه؟

أول شيء يجب فعله هو تمكين البرنامج من استخدام هذه الطريقة. لهذا تحتاج:

في حالتنا ، من الضروري إدخال قيود الوصول للمنظمات ، ولكن من الواضح أن البرنامج يوفر فرصًا أوسع بكثير. على سبيل المثال ، لتحديد الوصول إلى الدلائل والمستندات.

يتم تنفيذ آلية مماثلة في حلول تطبيقات 1C الأخرى:

  • (الإصدار 10.3)
  • و 1 ج: إدارة الرواتب والموظفين 8 (الإصدار 2.5).

في هذه البرامج ، يتم التفريق بين حقوق الوصول باستخدام الكتاب المرجعي "مجموعات المستخدمين" ، والمتوفر من قائمة "أدوات" ، قسم "إعدادات وصول المستخدم".

  • وبالتالي ، في هذه البرامج ، نحتاج إلى تقسيم جميع مستخدمينا الذين يعملون كجزء من الشركة إلى مجموعات وفقًا للمنظمات.
  • ثم انقر فوق الزر "الوصول إلى الإعدادات".
  • في النافذة التي تظهر ، انقر فوق الزر "إضافة" وأدخل كائن الوصول (في حالتنا ، هذه مؤسسة).
  • إذا احتجنا إلى السماح لموظفي المؤسسة بإدخال البيانات في قاعدة بيانات المعلومات ، فسنحتاج إلى تحديد المربع الموجود في عمود "السجل".

يجب إكمال هذه الخطوات لكل منظمة. بعد ذلك ، بعد دخول البرنامج ، سيرى كل موظف فقط تلك المستندات التي تم تحديدها من خلال حقوق الوصول الخاصة به حسب المنصب والمتعلقة بمنظمته.



نوصي بالقراءة

قمة