مسح تخزين إعدادات المستخدم. تخزين الإعدادات حيث يتم تخزين إعدادات تقرير المستخدم 1s 8.3

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

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

أولاً، دعونا نلقي نظرة على مخازن الإعدادات القياسية الموجودة في أي تكوين 1C بدءًا من الإصدار 8.2.

مخازن الإعدادات القياسية

لذا، بشكل افتراضي، يحتوي التكوين على مخازن الإعدادات التالية:

  • تخزين خيارات التقرير - للوصول إلى إعدادات خيارات التقرير.
  • تخزين إعدادات التقارير المخصصة - للوصول إلى إعدادات التقارير المخصصة.
  • تخزين إعدادات بيانات النموذج - للوصول إلى إعدادات المستخدم لبيانات النموذج.
  • تخزين الإعدادات العامة - للوصول إلى الإعدادات العامة.
  • تخزين إعدادات النظام - للوصول إلى إعدادات النظام.
  • تخزين إعدادات المستخدم للقوائم الديناميكية - للوصول إلى إعدادات المستخدم للقوائم الديناميكية.

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

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

للعمل مع مستودعات الإعدادات (سواء القياسية أو تلك التي أضافها المبرمج)، يتم استخدام الطرق التالية.

إعدادات التسجيل والاستقبال:

GeneralSettings Storage.Save(ObjectName,SettingsName,SettingsValue,SettingsDescription,UserName); SettingsValue = GeneralSettings Storage.Load(ObjectName,SettingsName,SettingsDescription,UserName);

إزالة الإعدادات الزائدة/غير الضرورية:

GeneralSettings Storage.Delete(ObjectName,SettingsName,UserName);

الحصول على قائمة الإعدادات:

SettingsValueList = GeneralSettings Storage.GetList(ObjectName, UserName);

يجب أن تكون المعلمات "ObjectName" و"SettingsName" و"UserName" من نوع السلسلة.

في قاعدة البيانات، يتم تخزين جميع الإعدادات في جدول منفصل.

مستودعات الإعدادات التي أنشأها المبرمج

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

  • من الضروري نقل الإعدادات بين قواعد البيانات؛
  • التحكم المرجعي مطلوب عند تخزين الإعدادات؛
  • مطلوب بنية خاصة لإعدادات 1C.

تتم إضافة مخازن الإعدادات في قسم التكوين المقابل.

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

خلاف ذلك، فإن مبادئ العمل مع المستودع الذي تم إنشاؤه لا تختلف عمليا عن العمل مع مستودعات الإعدادات القياسية.

يمكن الوصول إلى المستودع الذي تم إنشاؤه بهذه الطريقة:

إعدادات Storage.StorageName.Load();

بالإضافة إلى ذلك، يمكن أن تحل المخازن التي تم إنشاؤها محل المخازن القياسية في كائنات التكوين المختلفة وفي التكوين نفسه.

تحتوي النماذج المُدارة على خاصيتين:

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

هذا كل شيء، وآمل أن يكون هذا المقال قد ساعدك.

ليس سراً أنك تحتاج بشكل دوري في 1C إلى تنظيف إعدادات المستخدم!

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

يتم أيضًا تخزين إعدادات نماذج طباعة المستندات هنا؛ إذا لم تتم طباعة المستند من 1C أو تمت طباعته بشكل ملتوي، إذن تحتاج إلى مسح إعدادات 1C.

تعمل معالجة مسح إعدادات المستخدم في وضعين:

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

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

عادة ما يتم تقسيم إعدادات المستخدم في 1C إلى ثلاثة أجزاء.

أولاً، تسمح منصة 1C لكل مستخدم بإجراء إعدادات 1C الخاصة به من أجل الراحة. على سبيل المثال، إعدادات تقارير 1C SKD.

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

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

حيث لتخزين كل هذه الإعدادات في 1C؟

كيف تم حفظ إعدادات 1C من قبل

في العميل السميك 1C، قدمت المنصة الخيار القياسي التالي:

عندما يكون من الضروري تذكر إعداد 1C، ​​يستخدم المبرمج الوظيفة

Value = RestoreValue("SettingName"، Value);

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

كقيمة، لا يمكنك استخدام رقم أو سلسلة فحسب، بل يمكنك أيضًا، على سبيل المثال، استخدام البنية - وهو النوع الذي يسمح لك بتخزين العديد من القيم بأسمائها، على سبيل المثال:

الإعدادات = بنية جديدة ()؛ الإعدادات. إدراج ("اسم الإعدادات"، القيمة)؛ القيمة = إعدادات.SettingsName؛

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

كما كان للمبرمج الحرية في تطوير أساليبه التعسفية لتخزين إعدادات 1C باستخدام الطرق التقليدية - على سبيل المثال، من خلال العمل مع النصوص وملفات XML - وحفظ إعدادات 1C بطريقة تعسفية في ملف.

في التكوينات النموذجية، تم حفظ إعدادات تقرير 1C في سجل المعلومات. ويمكن حفظ إعدادات تقارير 1C SKD في ملف XML.

التخزين القياسي لإعدادات 1C

تظل كل هذه الميزات في النظام الأساسي الجديد 8.2، ولكن أخيرًا ظهرت "طريقة قياسية" معينة لحفظ الإعدادات - تخزين إعدادات 1C.

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

يتم استخدام وحدة تخزين إعدادات 1C القياسية بواسطة النظام الأساسي بشكل افتراضي في العميل الرقيق لحفظ إعدادات 1C الخاصة بالمستخدم في آليات النظام الأساسي التالية:

واجهة الأوامر المدارة
نماذج
إعدادات وخيارات التقرير.

يمكن للمبرمج استخدام تخزين إعدادات 1C القياسية من كود البرنامج بلغة 1C بطريقة مشابهة لما تم فعله من قبل:

عندما تحتاج إلى تذكر الإعداد

Value = GeneralSettings Storage.Load("ObjectName"، "SettingsName"، Value)؛

للحصول على قائمة الإعدادات

List = GeneralSettings Storage.GetList("ObjectName");

يتم حفظ إعدادات 1C مباشرة في قاعدة البيانات، في جداول خاصة.

كما ترون، مقارنة بالآلية القديمة، تمت إضافة قسم إضافي - اسم الكائن. النظام الأساسي، عند الحفظ التلقائي، يتم استخدام اسم كائن 1C في البيانات الوصفية مع الإشارة إلى النوع، على سبيل المثال:
تقرير.المبيعات

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

توجد مخازن إعدادات 1C القياسية التالية:

  • تخزين إعدادات النظام
  • تخزين الإعدادات العامة
  • تخزين FormsDataSettings
  • تخزين تقارير UserSettings
  • ومستودع خيارات التقرير.

تخزين إعدادات 1C.

يمكن للمبرمج إنشاء مخزن الإعدادات الخاص به في أداة التهيئة.

ومن المفترض أن يتم ذلك في الحالات التالية:

التحكم المرجعي عند تخزين إعدادات 1C
ترحيل إعدادات 1C عند استخدام URBD
هيكل خاص لإعدادات 1C (للامتثال التلقائي)
تجاوز المخازن القياسية.

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

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

إذا كان هناك سطر فارغ في الخصائص، فسيتم استخدام مخزن إعدادات 1C القياسي، وإلا فسيتم استخدام السطر المحدد، ولا يتم استخدام السطر القياسي.

في عميل 1C الرفيع المُدار، يمكن استخدام التخزين تلقائيًا:

هناك معلمتان في نموذج مُدار
o الحفظ التلقائي للبيانات - سيتم تنفيذه تلقائيًا في التخزين القياسي لإعدادات النموذج
o حفظ البيانات في إعدادات 1C - استخدم القائمة - سيظهر عمود الحفظ في قائمة تفاصيل النموذج، حيث يمكنك تحديد المربعات التي سيتم حفظها، ويمكنك أيضًا تحديد تخزين الإعدادات التي تم إنشاؤها

ظهرت المعلمات في التقرير (بما في ذلك الخارجية) - تخزين الخيارات (التقارير) وتخزين إعدادات 1C - تحتاج فيها إلى تحديد تخزين 1C الذي تم إنشاؤه.

لاستخدامه في عميل سميك، تحتاج إلى كتابة مكالمة مباشرة لحفظ إعدادات 1C في رمز لغة 1C:
إعدادات التخزين.StorageName.Save();

عند إضافة مساحة تخزين إعدادات 1C الخاصة بك إلى التكوين، تحتاج إلى كتابة معالجات لتحميل القيم وحفظها بلغة 1C، وإلا فلن يعمل التخزين.

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

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

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

ظهرت هذه الوظيفة مع إصدار النظام الأساسي 1C 8.2. يسمح لك بحفظ أي بيانات إعدادات في سياق كائن يحدده المستخدم.

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

احصل على 267 درس فيديو على 1C مجانًا:

يتم تخزين الإعدادات المحفوظة في جدول ملخص قاعدة بيانات منفصل.

تخزين الإعدادات التي تم إنشاؤها في المكوّن

يمكن إنشاء مستودع الإعدادات بواسطة المطور نفسه في مكون 1C:

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

قد يكون إنشاء الإعدادات الخاصة بك ضروريًا إذا:

  • من الضروري ترحيل الإعدادات بين قواعد البيانات؛
  • مطلوب التحكم المرجعي لهذه الإعدادات.

استخدام مخازن الإعدادات في تقارير 1C ومعالجتها

آلية إعدادات المستخدم

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

هناك نوعان من مخازن الإعدادات:

  1. التخزين القياسي هو التخزين الذي يستخدمه النظام افتراضيًا ويخزن البيانات في جداول النظام بقاعدة المعلومات.
  2. مخازن الإعدادات هي كائنات بيانات تعريف خاصة تصف تخزين البيانات في كائن قاعدة معلومات معين.

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

تستخدم المنصة خمس مخازن:

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

2. تخزين الإعدادات العامة - هذا التخزين مخصص لتخزين إعدادات حلول التطبيقات المختلفة. النظام الأساسي نفسه لا يكتب أي إعدادات على وحدة التخزين هذه. يجب أن يستخدم المطور وحدة التخزين هذه من اللغة المضمنة لحفظ/استعادة إعدادات تطبيق المستخدم.

3. تخزين إعدادات التقارير المخصصة – يتم وضع إعدادات التقارير المخصصة في وحدة التخزين هذه.

4. تخزين متغير التقرير - يتم وضع متغيرات التقرير في هذا التخزين.

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

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

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

تخزين إعدادات كائن بيانات التعريف

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

يمكن للتكوين تحديد عدد عشوائي من مخازن الإعدادات.

الأساليب والمعالجات

يحتوي كائنSettingsStorageManager على عدد من الأساليب التي ترفع الأحداث المقابلة. وبالتالي، فإن تعريف معالجات الأحداث يصف منطق حفظ/تحميل الإعدادات.

تستخدم طرق التخزين والمعالجات المعلمات التالية:

  • ObjectKey – قيمة من أي نوع يتم استخدامها في المتجر كمعرف لكائن التكوين. على سبيل المثال، يستخدم النظام الأساسي اسم التقرير الكامل لتحديد التقرير.
  • مفتاح الإعدادات هو قيمة من أي نوع يتم استخدامه في المستودع كمعرف لكائن المستودع الذي يخزن الإعداد. يتم استخدام هذا المفتاح في الحالات التي يتم فيها تخزين العديد من الإعدادات التي يمكن للمستخدم الاختيار منها.

أثناء تطوير المستودع، يحدد المطور بشكل مستقل كيفية تحديد كائن المستودع، وبالتالي تحديد نوع المعلمة.

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

  • الإعداد – كائن يحتوي على الإعدادات. قيمة من أي نوع يجب حفظها كإعداد. على سبيل المثال، عند حفظ إعدادات التقرير، سيتم استخدام كائن UserDataCompositionSettings، وعند حفظ بيانات النموذج، سيتم استخدام كائن التوافق.
  • إعدادات الوصف - قيمة النوع إعدادات الوصف. كائن خاص يحتوي على معلومات التكوين. يحتوي على مفتاح الكائن ومفتاح الإعداد وعرض الإعداد.
  • المستخدم - اسم المستخدم. إذا كانت القيمة غير محددة، فيجب استخدام اسم المستخدم الحالي. وفي حالات أخرى، يحتوي على اسم المستخدم الذي تريد استرداد إعداداته أو حفظها. القيمة الافتراضية هي غير محددة.

يوفر كائن تخزين الإعدادات الطرق التالية:

  • حفظ () - يستخدم لحفظ الإعداد.

يرفع الحدث SaveProcessing. إذا لم يتم تنفيذ معالج الحدث أو كان فارغًا، فلن يتم تنفيذ الإجراء.

  • Load() - يُستخدم للحصول على الإعداد.

يرفع حدث معالجة التحميل. إذا لم يتم تنفيذ معالج الحدث أو كان فارغًا، فلن يتم تنفيذ الإجراء.

  • GetDescription() - يستخدم للحصول على وصف للإعداد.

يرفع الحدث ProcessingReceiptDescription. إذا لم يتم تنفيذ معالج الحدث أو كان فارغًا، فلن يتم تنفيذ الإجراء.

  • SetDescription () - يُستخدم لتعيين وصف الإعداد.

يرفع الحدث ProcessingSettingsDescription. إذا لم يتم تنفيذ معالج الحدث أو كان فارغًا، فلن يتم تنفيذ الإجراء.

يمكن العثور على مزيد من التفاصيل حول معلمات الطريقة في التعليمات المضمنة.

يجب أن تحتوي وحدة إدارة الكائنات على معالجات للأحداث التالية:

  • حفظ المعالجة – يحتوي على تنفيذ طريقة Save(). في هذا المعالج، من الضروري حفظ الإعدادات على بعض الكائنات. على سبيل المثال، في عنصر الدليل.
  • معالجة التحميل - يحتوي على تطبيق لطريقة التحميل (). في هذا المعالج، من الضروري الحصول على الإعدادات من بعض الكائنات. على سبيل المثال، من عنصر الدليل.
  • ProcessingGetDescription – يحتوي على تطبيق لطريقة GetDescription(). في هذا المعالج، تحتاج إلى ملء وصف الإعداد استنادًا إلى خصائص الإعداد المحفوظ. على سبيل المثال، من عنصر الدليل.
  • ProcessingSetDescription – يحتوي على تطبيق لأسلوب SetDescription(). في هذا المعالج، يجب عليك ملء وصف الإعداد المحفوظ من كائن SettingsDescription الذي تم تمريره. على سبيل المثال، في عنصر الدليل.

يمكن العثور على مزيد من التفاصيل حول معلمات المعالج في التعليمات المضمنة.

نماذج

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

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

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

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

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

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

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

Close(NewSettingsSelection(StoredSettingsKey));

تخزين الإعدادات القياسية

يتم تمثيل تخزين الإعدادات القياسية باللغة المضمنة بواسطة كائن StandardSettingsStorageManager. ينفذ هذا الكائن نفس مجموعة الأساليب التي يستخدمها كائن إعدادات StorageManager، بالإضافة إلى ذلك ينفذ الطرق التالية:

  • GetList() – طريقة الحصول على قائمة الإعدادات لكائن الإعدادات المحدد،
  • حذف () - يحذف إعدادًا محددًا لكائن الإعداد المحدد.

يحفظ التخزين القياسي الإعدادات في جداول النظام الخاصة بقاعدة المعلومات.

يقبل مخزن إعدادات النظام سلسلة كمفتاح كائن الإعداد ومفتاح الإعداد.

كإعدادات، يقبل مخزن النظام أي قيمة يمكن وضعها في مخزن القيم.

حفظ إعدادات النموذج

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

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

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

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

لمزيد من المعالجة للحفظ والتحميل، يحتوي النموذج على المعالجات التالية:

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

حفظ إعدادات التقرير

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

يوفر نموذج التقرير أوامر لحفظ خيارات وإعدادات التقرير وتحميلها.

لمزيد من المعالجة لحفظ وتحميل إعدادات وخيارات التقرير، يحتوي ملحق نموذج التقرير على المعالجات التالية:

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

إذا كنت بحاجة إلى حفظ بعض المعلومات الإضافية في إعدادات تكوين البيانات أو إعدادات تكوين البيانات المخصصة، فيمكنك استخدام خصائص الخصائص الإضافية لكائنات DataCompositionSettings وCustomDataCompositionSettings. الخاصية ExtraProperties هي كائن من النوع Structure.

إجراءات تطوير مستودع الإعدادات

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

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

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

4. يتم إنشاء كائن من نوع تخزين الإعدادات وتنفيذ نماذج الحفظ والتحميل له. وبالتالي، فإننا نوفر التفاعل عند حفظ الإعدادات واستعادتها.

5. بالنسبة لكائن تخزين الإعدادات الذي تم إنشاؤه، يتم تنفيذ معالجات الأحداث المتعلقة بحفظ الإعدادات واستعادتها. إذا لم تقم بإجراء هذه العملية، فلن تتم عمليات القراءة/الكتابة للإعدادات الفعلية. لحل هذه المشكلة، تحتاج إلى تنفيذ معالجات الأحداث SaveProcessing وLoadProcessing في وحدة الكائن الذي تم إنشاؤه من نوع SettingsStorage.

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

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

الملحق ب. الإعدادات المحفوظة بواسطة النظام الأساسي في مخازن الإعدادات

يصف التطبيق الإعدادات التي يتم حفظها تلقائيًا بواسطة النظام الأساسي في وحدة تخزين النظام.

التخزين: خيارات التقرير

  • الإعداد: خيارات التقرير.
    • مفتاح الكائن هو الاسم الكامل للتقرير. على سبيل المثال: تقرير.المبيعات.
    • مفتاح الإعداد هو معرف النص للمتغير. على سبيل المثال: المبيعات حسب المنطقة.
    • نوع القيمة المخزنة هو DataCompositionSettings.

التخزين: إعدادات التقرير

  • الإعدادات: إعدادات التقرير.
    • مفتاح الكائن عبارة عن سلسلة نصية تتكون من اسم التقرير الكامل والحرف "/" والمفتاح المتغير. على سبيل المثال: Report.Sales/SalesByRegions.
    • مفتاح الإعداد - معرف النص للإعداد. على سبيل المثال: MyClients.
    • نوع القيمة المخزنة هو UserSettingsLayoutData.

تخزين بيانات النموذج

  • الإعداد: قيم حقل النموذج.
    • مفتاح الكائن هو الاسم الكامل للنموذج. على سبيل المثال: معالجة.تحميل البيانات.Form.MainForm.
    • مفتاح الإعداد - معرف النص للقيم المحفوظة. مثال: التحميل إلى VSberbank.

تخزين النظام

  • الإعداد: مفتاح إصدار التقرير الحالي.
    • مفتاح الكائن عبارة عن سلسلة نصية تتكون من الاسم الكامل للتقرير والسلسلة "/CurrentVariantKey".
      • على سبيل المثال: Report.Sales/CurrentVariantKey.
  • الإعداد: مفتاح إعداد التقرير الحالي.
    • مفتاح الكائن - عبارة عن قيمة سلسلة تتكون من اسم التقرير الكامل، ومفتاح متغير التقرير (كسلسلة) والنص "CurrentUserSettingsKey"، مفصولة بأحرف "/".
      • على سبيل المثال: Report.Sales/SalesByRegion/KeyCurrentUserSettings.
    • مفتاح الإعداد عبارة عن سلسلة فارغة.
    • نوع القيمة المخزنة هو قيمة عشوائية تحتوي على مفتاح المتغير الحالي.
  • الإعداد: إعدادات متغير التقرير عند إغلاق التقرير أو تغيير المتغير.
    • مفتاح الكائن عبارة عن قيمة سلسلة تتكون من اسم التقرير الكامل، ومفتاح متغير التقرير (كسلسلة)، والنص "CurrentUserSettings"، مفصولاً بأحرف "/".
      • على سبيل المثال: Report.Sales/SalesByRegion/CurrentUserSettings.
    • مفتاح الإعداد عبارة عن سلسلة فارغة.
    • نوع القيمة المخزنة – UserDataCompositionSettings
  • الإعداد: مفتاح إعدادات حقل النموذج الحالي.
    • مفتاح الكائن عبارة عن قيمة سلسلة تتكون من الاسم الكامل للنموذج والنص "CurrentDataSettingsKey"، مفصولاً بالحرف "/".
      • على سبيل المثال: Processing.Data Upload.Form.MainForm/Key of CurrentDataSettings
    • مفتاح الإعداد عبارة عن سلسلة فارغة.
    • نوع القيمة المخزنة هو قيمة عشوائية تحتوي على مفتاح الإعداد الحالي.
  • الإعداد: قيم حقل النموذج عند الإغلاق.
    • مفتاح الكائن عبارة عن قيمة سلسلة تتكون من الاسم الكامل للنموذج والنص "CurrentData"، مفصولاً بحرف "/".
      • على سبيل المثال: Processing.Data Upload.Forms.MainForm/CurrentData.
    • مفتاح الإعداد عبارة عن سلسلة فارغة.
    • نوع القيمة المخزنة هو مطابقة. المفتاح المطابق هو مسار النص إلى سمة البيانات المخزنة، والقيمة هي قيمة السمة.
  • الإعدادات: قم بإعداد عرض النموذج.
    • مفتاح الكائن عبارة عن قيمة سلسلة تتكون من الاسم الكامل للنموذج والنص "FormSettings"، مفصولاً بحرف "/".
      • على سبيل المثال: Processing.Data Upload.Form.MainForm/FormSettings.
    • مفتاح الإعداد عبارة عن سلسلة فارغة.
    • نوع القيمة المحفوظة هو FormSettings. كائن بدون خصائص وأساليب.
  • التخصيص: أبعاد النموذج وعناصر التحكم.
    • مفتاح الكائن عبارة عن قيمة سلسلة تتكون من الاسم الكامل للنموذج والنص "WindowSettings"، مفصولاً بحرف "/".
      • على سبيل المثال: معالجة.تحميل البيانات.Form.MainForm/إعدادات النافذة.
    • مفتاح الإعداد عبارة عن سلسلة فارغة.
    • نوع القيمة المحفوظة هو إعدادات النافذة. كائن بدون خصائص وأساليب.
  • الإعداد: المفضلة.
    • مفتاح الكائن هو "Common/UserWorkFavorites".
    • مفتاح الإعداد عبارة عن سلسلة فارغة.
    • نوع القيمة المخزنة هو مفضلات عمل المستخدم. لمزيد من التفاصيل، راجع قسم "ارتباطات المستخدم المفضلة" في فصل "خدمات التنقل".
  • الإعداد: إعدادات واجهة الأوامر العامة.
    • مفتاح الكائن هو قيمة سلسلة، أحد الخيارات:
      • الاسم الكامل لجزء واجهة الأوامر و"/ActionsPanel" ("/ActionsPanel")؛
      • الاسم الكامل لجزء واجهة الأوامر و"/NavigationPanel/CommandInterfaceSettings" ("/NavigationPanel/CommandInterfaceSettings")؛
      • "Command/PartitionPanel/CommandInterfaceSettings".
      • على سبيل المثال: Subsystem.Sales/Navigation Panel/Us-thre من واجهة الأوامر.
    • مفتاح الإعداد عبارة عن سلسلة فارغة.
    • نوع القيمة التي يتم حفظها هو إعدادات واجهة الأوامر. كائن بدون خصائص وأساليب.
  • الإعدادات: إعدادات سطح المكتب.
    • مفتاح الكائن هو "Common/DesktopSettings".
    • مفتاح الإعداد عبارة عن سلسلة فارغة.
    • نوع القيمة المحفوظة هو إعدادات سطح المكتب. كائن بدون خصائص وأساليب.
  • الإعدادات: إعدادات طباعة مستند جدول البيانات.
    • مفتاح الكائن عبارة عن قيمة سلسلة تتكون من "Common/SpreadsheetDocumentPrintSettings/" واسم معلمات الطباعة. على سبيل المثال:
      • إعدادات طباعة المستندات العامة/الجدولية/الفاتورة.
    • مفتاح الإعداد عبارة عن سلسلة فارغة.
    • نوع القيمة التي يتم حفظها هو إعدادات طباعة المستندات الجدولية. كائن بدون خصائص وأساليب.

كائنات المكوّن للعمل مع الإعدادات

القائمة تعليمات/محتويات المساعدة/1C Enterprise/اللغة المدمجة/السياق العام/الخصائص/تخزين الإعدادات

القائمة تعليمات / محتويات المساعدة / 1C Enterprise / اللغة المدمجة / كائنات التطبيق / مستودعات الإعدادات

السياق العالمي

يحتوي السياق العام على عدد من الخصائص (الكائنات العامة) المستخدمة للعمل مع الإعدادات.

الاستخدام: للقراءة فقط.

النوع: StandardSettingsStorageManager; إعدادات مدير التخزين.

خصائص السياق العالمي:

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

مستودعات الإعدادات

يصف هذا القسم كائنات التطبيق المستخدمة للعمل مع مستودع الإعدادات.

StandardSettingsStorageManager

  • حمولة
  • GetList
  • يحفظ
  • يمسح

الوصف: مخزن إعدادات يقوم بتخزين الإعدادات في جداول النظام.

التوفر: العميل، الخادم، الاتصال الخارجي.

راجع أيضًا: السياق العام، خاصية تخزين إعدادات النظام

إعداداتStoragesManager

عناصر المجموعة: إعدادات StorageManager

بالنسبة للكائن، من الممكن اجتياز المجموعة باستخدام عامل التشغيل لكل... من... حلقة. عند الزحف، يتم تحديد مخازن الإعدادات.

من الممكن الوصول إلى مخزن الإعدادات باستخدام عامل التشغيل [...]. يتم تمرير اسم التخزين كما هو محدد في التكوين كوسيطة.

ملكيات:

  • <Имя хранилища> (<Имя хранилища>)

الوصف: مجموعة من مخازن الإعدادات المحددة في التكوين.

التوفر: العميل، الخادم، الاتصال الخارجي.

راجع أيضًا: السياق العام، خاصية تخزين الإعدادات

إعدادات مدير التخزين.<Имя хранилища>(إعداداتStorageManager.<Имя хранилища>)

  • حمولة
  • GetTemplate
  • احصل على الوصف
  • GetForm
  • GetLoadForm (GetLoadForm)
  • GetSaveForm
  • يحفظ
  • SetDescription
  • معالجة التحميل
  • معالجة الوصف
  • معالجة الحفظ
  • معالجة_إعدادات_الوصف (SetDescriptionProcessing)

الوصف: كائن يوفر الوصول إلى مخزن إعدادات من نوع معين.

التوفر: العميل، الخادم، الاتصال الخارجي.

انظر أيضًا: إعدادات StorageManager، الخاصية<Имя хранилища>

خيار الإعدادات

ملكيات:

  • مفتاح الإعدادات

المصممين:

  • على أساس المفتاح

الوصف: يحتوي على معلومات حول الإعداد الذي حدده المستخدم.

التوفر: العميل، الخادم، الاتصال الخارجي، العميل الرقيق، عميل الويب.

وصف الإعدادات (SettingsDescription)

ملكيات:

  • خصائص إضافية
  • مفتاح الإعدادات
  • مفتاح الكائن
  • مستخدم
  • عرض تقديمي

الوصف: يحتوي على معلومات حول وصف الإعداد.

التوفر: العميل، الخادم، الاتصال الخارجي.

أنظر أيضا:

  • إعدادات StorageManager، طريقة GetDescription
  • إعدادات StorageManager، طريقة SetDescription
  • إعدادات StorageManager، الحدث ProcessingReceiptDescriptions
  • إعدادات مدير التخزين، معالجة الأحداث، إعدادات الوصف
  • StandardSettingsStorageManager، طريقة GetDescription
  • StandardSettingsStorageManager، طريقة الحفظ
  • StandardSettingsStorageManager، طريقة SetDescription
  • إعدادات مدير التخزين، طريقة الحفظ
  • مدير تخزين الإعدادات، حدث معالجة الحفظ

استخدام نماذج الحفظ والتحميل

يصف هذا القسم آليات استخدام نماذج الحفظ والتحميل.

حفظ النموذج

معلمات النموذج:

  • مفتاح الكائن

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

التوفر: العميل.

تحميل النموذج

معلمات النموذج:

  • مفتاح الكائن
  • مفتاح الإعدادات الحالية
  • الإعدادات القياسية

وصف:

النموذج المستخدم لتحميل الإعدادات.

يجب أن تكون نتيجة النموذج (القيمة التي تم تمريرها إلى أسلوب Close()) قيمة من نوع SelectSettings أو قيمة غير محددة إذا رفض المستخدم تحميل الإعداد.

التوفر: العميل.

ميزات استخدام آلية الإعدادات

وبقدر ما يمكن فهمه من الوصف، يمكن التمييز بين جزأين من الآلية:

  • استخدام كائنات تطبيق تخزين التخصيص لحفظ/استعادة الإعدادات
  • استبدال الكائنات المضمنة بتلك المحددة في التكوين (النمط الإضافي)

ليس من الواضح تمامًا سبب الحاجة إلى آلية لتجاوز التخزين القياسي، ولكن ربما يمكننا التوصل إلى شيء ما... مثل حساسية الإعدادات للسياق.

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

  • تخزين خيارات التقرير
  • تخزين FormsDataSettings
  • تخزين الإعدادات العامة
  • تخزين تقارير UserSettings
  • تخزين إعدادات النظام

حفظ/استعادة إعدادات المستخدم

بدلاً من SaveValue: SystemSettings Storage.Save("WorkCompany", SessionParameters.WorkCompany);بدلاً من قيمة الاستعادة: WorkCompany = تخزين إعدادات النظام.Load("WorkCompany");