آلية مشاركة البيانات 1S. استخدام آلية مشاركة البيانات بدلاً من RLS. الذبابة الموعودة في الدهن ولو أربعة

18.08.2023

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

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

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

الفاصل 8.2، 8.3 (النماذج المُدارة)

فاصل في في شكل يمكن التحكم فيهلا يمكن إضافة 1c، تتم إضافته تلقائيًا بواسطة البرنامج قبل/بعد حقل الجدول

بمجرد أن ناقشنا آليات تقييد وصول المستخدم في 1C وعلى وجه الخصوص.

فهو يسمح للمستخدم بالعمل ليس مع جميع المستندات، ولكن فقط مع تلك التي تشير إلى مؤسسة أو مستودع معين. يتم إجراء التحديدات ديناميكيًا، وبالتالي تفرض حملًا معينًا على تشغيل قاعدة البيانات.

تتيح لك خاصية السمة الفاصلة العامة – فصل المستخدم 1C – ضبط مدى توفر قائمة المستخدمين اعتمادًا على استخدام الفواصل.

إذا تم تمكين الفاصل لمستخدم ما، فسيكون مرئيًا في قائمة المستخدمين في وضع 1C Enterprise - وإلا فلن يكون مرئيًا.

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

خاصية السمة الفاصلة العامة - فصل المصادقة 1C - تسمح لك بإنشاء مستخدمين نفس الأسماءالمستخدم لأجزاء مختلفة من قاعدة البيانات.

القسمة الشرطية 1C

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

لتمكين القسمة الشرطية 1C - تحتاج إلى تحديد خاصية الفاصل العام - القسمة الشرطية 1C - والتي ستكون مسؤولة عن تحديد حقيقة تمكين القسمة 1C.

من الممكن استخدام ثابت بنوع منطقي أو سمة دليل بنوع منطقي.

هام - تحتاج إلى تعطيل استخدام هذا الثابت/هذا الكتاب المرجعي (حدد عدم الاستخدام) كجزء من المحددات، وعندها فقط يمكن تحديده.

ميزة وظيفية جديدة نسبيًا لـ 1C، مصنفة على أنها تقنية سحابية. بعد ظهور الوظيفة، قامت شركة 1C بتعديل BSP. تم تضمين نفس التحسينات في التكوينات القياسية المستندة إلى BSP، على سبيل المثال، UNF وUT11.

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

مرفق بالمقالة معالجة تعرض الوظيفة المخفية للعمليات مع مناطق البيانات في نموذج منفصل.

يوفر BSP فاصلين محاسبيين: البيانات الرئيسية لمنطقة البيانات والبيانات المساعدة لمنطقة البيانات. يبقى لغزا لماذا تشير هذه المحددات إلى نفس معلمات الجلسة: DataAreaValue، DataAreaUse.

تشغيل الآلية

إذا كان التكوين الذي كتبته بنفسك يعتمد على BSP، فمن المرجح أنك تحتاج إلى تنفيذ المكتبة الغامضة "1C: Service Technology Library" قبل تشغيلها. من الغريب أنه حتى Google لا تعرف شيئًا عن منتج 1C هذا. وفي التكوينات النموذجية، لا يوجد إجراء التحقق من إمكانية استخدام التكوين في نموذج الخدمة في وحدة نموذج العمل في الخدمة. على الأرجح، يمكنك العثور على الأجزاء المفقودة من هذه المكتبة في التكوينات القياسية التي تم إجراؤها على أساس BSP. على وجه الخصوص، يُسمى أحد الأنظمة الفرعية StandardSubsystems > WorkInServiceModel > UploadLoadData.

يتم تمكين آلية فصل البيانات عن طريق تعيين ثابت استخدام الفصل حسب مناطق البيانات. يمكن ضبطها عبر عنصر قائمة جميع الوظائف.

إنشاء مستخدمي منطقة البيانات

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

إطلاق 1C باستخدام معلمة سطر الأوامر

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

يمكن إطلاق 1C على الفور في وضع فصل البيانات. يتم توفير خيار سطر الأوامر /Z. على سبيل المثال، تشير المعلمة "/Z-,+1" إلى أنه تم تشغيل 1C بقيمة البيانات الرئيسية لمنطقة البيانات تساوي 1، ولم يتم تعيين البيانات المساعدة لمنطقة البيانات الفاصلة.

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

ثم، عند بدء التشغيل، تحدث عدة أخطاء، بما في ذلك: "لا يمكن تعيين دور مسؤول النظام للمستخدمين المنفصلين"، "لا يمكن تعيين دور للمستخدمين المنفصلين لتشغيل عميل كثيف".

لم يتم العثور على المستخدم في دليل المستخدمين - تعذر حل المشكلة. في السيناريو التقليدي، يقوم المستخدم بالتسجيل عند تسجيل الدخول لأول مرة. أظن أنه عند مشاركة البيانات، يتم إنشاء المستخدمين من خلال تطبيق 1C Fresh آخر.

املأ مناطق بيانات سجل المعلومات

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

دخول منطقة البيانات

الإدارة - الخدمة - تسجيل الدخول إلى منطقة البيانات ( GeneralForm.LoginDataArea )

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

تحميل البيانات من المنطقة

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

يتم تسلسل البيانات من خلال التكوين إلى تنسيق XML ومعبأة في ملف ZIP. وهذا يعني أن الأرشفة لا تتم باستخدام مكون 1C، مثل التحميل التقليدي.

تحميل البيانات في المنطقة

GeneralCommand.LoadDataArea

للظهور في خدمة الإدارة، يتعين عليك تعيين الرؤية من خلال Configurator كجزء من النظام الفرعي للإعدادات والإدارة.

يتم تحميل البيانات في المنطقة المحددة. قبل ذلك، يجب تنزيلها بتنسيق XML.

الاستنتاجات

تعذر بدء تشغيل النظام عن طريق تحديد المحددات في سطر الأوامر. رفض النظام العمل بسبب وجود مستخدم غير مسجل في دليل المستخدمين. لم يكن من الممكن الوصول إلى الدليل لأن النظام لا يسمح للمستخدمين ذوي الحقوق الإدارية. أعتقد أن هذا السيناريو يتطلب اتصالاً إلزاميًا ببرنامج 1CFresh.

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

المشكلة التي لا تزال غير واضحة هي كيفية تفريغ البيانات من قاعدة بيانات بدون محددات إلى منطقة بيانات محددة في قاعدة بيانات أخرى.

سيكون من المثير للاهتمام معرفة الفكرة الماكرة لمؤلفي BSP فيما يتعلق المعلمات العامةجلسات لفاصلين، إذا كان الاستدعاء باستخدام المعلمات: "/Z-,+1"، "/Z+1,+1" و"/Z+1,-".

في نظام 1C:Enterprise من الممكن الحفاظ عليه في نظام واحد قاعدة المعلوماتالمحاسبة لعدة مؤسسات. ويستخدم فاصل المحاسبة لهذا الغرض.

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

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

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

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

خانة الاختيار "للجميع"يتيح لك ضبط الوضع لعرض الإجماليات لجميع قيم الفاصل المحاسبي بشكل إجمالي.

لتعيين القيم المحددة، انقر فوق الزر "نعم". لرفض تعيين القيم، استخدم الزر "يلغي".

بعد ضبط القيم المحددة، ستعرض لوحة الحساب الإجماليات لقيمة فاصلة محاسبية محددة أو لقيمة فارغة أو لجميع القيم في الإجمالي، وذلك حسب الخيار المحدد في مربع الحوار.

ماذا ستتعلم من هذه المقالة؟

  • تتناول المقالة الغرض من وضع فصل الإجماليات
  • يتم تحليل سلوك نظام 1C:Enterprise 8 أثناء التشغيل المتوازي كمية كبيرةالمستخدمين
  • يوضح عيوب وضع الإجماليات المقسمة
  • يتم تقديم التوصيات حول الاستخدام الصحيح لتقسيم مجاميع السجل

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

آلية تقسيم المجاميع تؤدي أهمية كبيرة و وظيفة مفيدة: استعماله يجعل من الممكن إجراء إدخالات متوازية في السجلات المحاسبية وسجلات التراكم.

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

قبل تمكين وضع الإجماليات المقسمة

لدينا وثيقتان متطابقتان برقم 001 و002:

تنتقل كلا الوثيقتين عبر سجل التراكم. ليس هناك سيطرة على المخلفات. هيكل سجل التراكم:

يبدأ مستخدمان يعملان في مستنديهما في إجراء عمل متزامن. ينشأ موقف تحاول فيه وثيقتان من نفس النوع إجراء حركات في نفس الوقت.

في هذه الحالة، تظهر الصورة التالية على مستوى نظام إدارة قواعد البيانات (DBMS):

إليك ما يحدث في النظام:

  1. تحاول المستندات إجراء إدخال في سجل التراكم
  2. على مستوى نظام إدارة قواعد البيانات (DBMS)، يتم تمثيل سجل التراكم بجدولين: جدول الحركات وجدول الأرصدة (جدول الإجماليات).
  3. في جدول الحركة، يمكن للمستندات تسجيل بياناتها بالتوازي. يتم ضمان ذلك من خلال قيم مختلفة لحقل "المسجل"، وبالتالي يتم العمل مع صفوف مختلفة من الجدول.
  4. لكن في جدول الأرصدة لا يوجد حقل "المسجل"، حيث يتم تخزين البيانات الموجودة في هذا الجدول في سياق أبعاد السجل نفسه.
  5. نلاحظ هنا موقفًا يحتاج فيه مستندان إلى تغيير سجل واحد، ولكن لا يمكن تغيير سجل واحد في نفس الوقت.
  6. وحتى لا تفقد البيانات المسجلة، يجب أن تنتظر إحدى المستندات دورها في التسجيل حتى تسجل الوثيقة الأخرى تحركاتها. وبعد أن يقوم المستند الأول بحركاته، سيكون الثاني قادرًا على القيام بحركاته الخاصة.

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

ولحل المشكلة التي نشأت تم إنشاء آلية لتقسيم النتائج.

استخدامه مخصص فقط لسجلات التراكم والسجلات المحاسبية.

تمكين وضع الإجماليات المقسمة

تمكين هذا الوضع بسيط للغاية:

لاحظ أنه يتم تمكين وضع فصل الإجماليات بشكل افتراضي لجميع سجلات التراكم والمحاسبة التي تم إنشاؤها. بالإضافة إلى المكوِّن في وضع المستخدم، يمكننا معرفة السجلات التي تم تمكين الوضع فيها:

ماذا يحدث بعد تشغيل وضع الإجماليات المقسمة؟

يظهر عمود جديد "فاصل" في جدول إجماليات سجل التراكم/المحاسبة. في نظام إدارة قواعد البيانات (DBMS) نفسه يطلق عليه "الفاصل".

في هذه الحالة، يبقى جدول الحركات دون تغيير؛ والفاصل فيه هو "المسجل". نرى التغيير في جدول الملخص.

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

إن تطبيق وضع فصل الإجماليات يجعل من الممكن إجراء تسجيل متوازي لجميع المعاملات.

في مثالنا الخاص بالمستندين، عند تشغيل الوضع، يتم ملاحظة ما يلي:

سجلت كلتا الوثيقتين بياناتهما بالتوازي بفضل حقل المحدد الجديد. ونتيجة لذلك، لا توجد فترات انتظار للتأمين وزيادة في تكرار المستخدم.

عيوب وضع المجاميع المقسمة

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

عند استلام أرصدة السجل، تكون هناك حاجة إلى تجميع البيانات، مما يؤدي إلى إضاعة الوقت، وإن كان غير مهم.

في حالتنا، مع وجود وثيقتين للحصول على رصيد المنتج "الجدول" للمستودع "الرئيسي"، يصبح من الضروري إضافة سطرين للحصول على القيمة النهائية "7". عند إيقاف تشغيل الفاصل، لا يلزم تجميع الصفوف (الإضافة).

متى يجب عليك استخدام الوضع الإجمالي المقسم؟

للقيام بذلك، يجب عليك استيفاء الشروط التالية:

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

عند العمل بشكل تسلسلي مع سجل أو العمل مع عدد صغير من المستخدمين، ليس هناك فائدة من تمكين وضع الإجماليات المقسمة: غياب المعاملات المتنافسة لا يؤدي إلى الانتظار على الأقفال، وبالتالي، ليس هناك أي تأثير من استخدام وضع الإجماليات المقسمة.

بورميستروف أندريه