بيت / كيس الكلى / أين يتم تخزين إعدادات 1s؟ تخزين الإعدادات

أين يتم تخزين إعدادات 1s؟ تخزين الإعدادات

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

بالنسبة للعديد من الأشخاص، ستكون وظيفتان كافيتين: SaveValue(<Имя>, <Значение>) وزوجها RestoreValue (<Имя>) . ولكن هذا فقط للعميل السمين. إذا قرأت المساعدة، يمكنك أن ترى أنه تم حفظ الإعداد لزوج المستخدم الأساسي. يجب ألا ننسى أنه لا يمكنك حفظ أنواع البيانات البسيطة فحسب، بل أيضًا الأنواع المعقدة، على سبيل المثال، بنية أو حتى جدول قيم.

استخدم المبرمجون أيضًا الوظائف ValueVFile(<ИмяФайла>, <Значение>) و ValueFromFile (<ИмяФайла>).

بدءًا من الإصدار 8.2، لن أخبرك بالإصدار الدقيق؛ فقد ظهر فرع "تخزين الإعدادات" في شجرة البيانات التعريفية، والذي يجب وصفه بمزيد من التفصيل.

يمكن تقسيم الآلية إلى قسمين: الآلية القياسية والآلية المخصصة.

في العميل الرقيق، يتم تنشيط آلية حفظ الإعدادات بشكل افتراضي ويمكن الوصول إليها من خلال زر "جميع الإجراءات".

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

لا يزال الوصول إلى الإعدادات برمجيًا أمرًا سهلاً، وقد تغير بناء الجملة قليلاً.

واستعادة وفقا لذلك

الإعدادات العامة للتخزين.التحميل(<КлючОбъекта>, <КлючНастроек>, <ОписаниеНастроек>, <ИмяПользователя>)

يتم وصف جميع المعلمات بالتفصيل في المساعدة.

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

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

يُنصح أيضًا بتحديد المربع لاستعادة القيم عند الفتح.

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

الآليات بسيطة ولكنها فعالة، وسيكون المستخدم ممتنًا لك.

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

وصف

علاج "تخزين إعدادات النظام"هو حل مستقل تمامًا، من وجهة نظر التضمين في أي تكوين، سواء في النماذج العادية أو المُدارة! وإصدار المنصة الذي يبدأ من 8.2 لا يهم! لا يستخدم الرمز مكالمات متزامنة أو مشروطة!

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

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

StandardSettingsStorageManager
طُرق:
يختار
حمولة
احصل على الوصف
GetList
يحفظ
يمسح
SetDescription
وصف:
تم تصميم الكائنات من هذا النوع للوصول إلى الإعدادات المخزنة في وحدة التخزين القياسية.
للوصول إلى إعدادات خيارات التقرير، يجب الحصول على كائن من هذا النوع من خاصية السياق العامة ReportOptionsStorage.
للوصول إلى إعدادات التقرير المخصصة، يجب الحصول على كائن من هذا النوع من خاصية السياق العامة CustomReportSettingsStorage.
للوصول إلى إعدادات المستخدم لبيانات النموذج، يجب الحصول على كائن من هذا النوع من خاصية السياق العامة FormDataSettingsStorage.
للوصول إلى الإعدادات العامة، يجب الحصول على كائن من هذا النوع من خاصية السياق العام GeneralSettings Storage.
للوصول إلى إعدادات النظام، يجب الحصول على كائن من هذا النوع من خاصية السياق العام SystemSettings Storage.
للوصول إلى إعدادات المستخدم للقوائم الديناميكية، يجب الحصول على كائن من هذا النوع من خاصية السياق العامة DynamicListsUserSettings Storage.
التوفر:
الخادم، العميل الكثيف، الاتصال الخارجي.
أنظر أيضا:
السياق العام، خاصية تخزين إعدادات النظام

يتم توضيح جميع الوظائف في لقطات الشاشة.

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

ملاحظة. إذا ساعدتك المادة، أشكر المؤلف بإعطائها نجمة!

أرسل هذا المقال إلى بريدي الإلكتروني

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

من أجل حفظ إعدادات التقرير في 1C في النماذج العاديةعلى سبيل المثال، 1c trade 8 الإصدار 10.3 أو 1c Accounting 8 الإصدار 2.0، تحتاج إلى فتح التقرير نفسه، ثم تكوين مؤشراته وأعمدته وفرزه بما يناسبك. قم بإنشاء التقرير وتأكد من أنه يعرض بالطريقة التي تريدها.

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

في نفس النافذة يمكنك حذف الإعدادات غير الضرورية.

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

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

اقرأ حول كيفية حفظ إعدادات التقرير واستعادتها في نماذج 1c المُدارة في المقالات التالية.

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

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

أولاً، دعونا نلقي نظرة على مخازن الإعدادات القياسية الموجودة في أي تكوين 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.

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

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

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

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

إعدادات التخزين.StorageName.Load();

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

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

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

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

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

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

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

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

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

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

قدمت المنصة الخيار القياسي التالي:

  • عندما يكون من الضروري تذكر إعداد 1C، ​​يستخدم المبرمج الوظيفة
    SaveValue("SettingsName"، Value);
  • لقراءة إعداد 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 بطريقة مشابهة لما تم فعله من قبل:

  • عندما تحتاج إلى تذكر الإعداد
    GeneralSettings Storage.Save("ObjectName"، "SettingsName"، Value)؛
  • لقراءة الإعداد
    Value = GeneralSettings Storage.Load("ObjectName"، "SettingsName"، Value)؛
  • للحصول على قائمة الإعدادات
    List = GeneralSettings Storage.GetList("ObjectName");

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

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

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

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

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

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

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

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

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

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

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

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

من الممكن استخدام وحدة التخزين تلقائيًا:


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

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

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