إضافة وتغيير عناصر النماذج المُدارة برمجياً. تفاصيل النموذج الأساسية 1C 8.3 تضيف تفاصيل النموذج برمجيًا

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

قد تكون هناك حاجة إلى تعديل برمجي للنموذج في عدة حالات:

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

في النموذج المُدار، يمكنك إضافة وتغيير وحذف ما يلي برمجيًا:

  • المتطلبات؛
  • الفرق المحلية؛
  • عناصر.

كل هذه العمليات ممكنة فقط على الخادم.

إعادة التشكيل البرمجي لها قيود:

  • يمكنك فقط حذف التفاصيل/الأوامر/العناصر المضافة برمجيًا. لا يمكنك حذف الكائنات التي تم إنشاؤها في المكوّن برمجياً.
  • لا يمكنك تعيين سمة باعتبارها السمة الرئيسية.

تغيير أوامر النموذج

لإدارة تكوين الأوامر لكائن ما ManagedFormهناك مجموعة فرق

    يضيف (< ИмяКоманды >)

    كمية ()

    يجد (< ИмяКоманды >)

    يمسح (< Команда >)

تتوفر مجموعة Teams على كل من العميل والخادم. يمكنك تغيير المجموعة (أساليب Add() وDelete()) على الخادم فقط. يمكنك البحث عن عدد العناصر والحصول عليها (طريقتا Find () وCount ()) على كل من العميل والخادم.

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

&على الخادم
إجراء WhenCreatingOnServer (الفشل، المعالجة القياسية)
فريق = الفرق. يضيف( ""تاريخ التغيرات"");
فريق . العمل = ;
فريق . العنوان = ""تاريخ التغيرات..."";
نهاية الإجراء
&OnClient
إجراء Connectable_DisplayHistory(Command)
// إجراءات الأمر
نهاية الإجراء

يجب أن يكون معالج الأوامر موجودًا في النموذج وأن يكون له توجيه التحويل البرمجي &OnClient.

تغيير تفاصيل النموذج

تتم قراءة تكوين تفاصيل النموذج بواسطة الوظيفة احصل على التفاصيل(< Путь >) إرجاع مصفوفة من النوع FormAttributes. تحدد معلمة الوظيفة المسار إلى السمة الأصلية (كسلسلة). إذا تم حذف المعلمة أو تم تحديد سلسلة فارغة، فسيتم إرجاع تفاصيل المستوى الأعلى.

يتم تغيير التفاصيل باستخدام الطريقة تغيير التفاصيل(<التفاصيل المضافة>, <تفاصيل قابلة للإزالة>) هدف ManagedForm. إلى المعلمات التفاصيل المضافةو تفاصيل قابلة للإزالةيتم إرسال المصفوفات التي تحتوي على عناصر من نوع سمات النموذج.

انتباه!

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

لنقم بإنشاء سمة نموذج جديدة بالاسم Buyer:


AddedDetails = مصفوفة جديدة؛
التفاصيل المضافة. إضافة (سمات النموذج الجديد("المشتري"، وصف النوع الجديد ("رابط الدليل. الأطراف المقابلة")، "العميل"))؛

// التغييرات في تكوين التفاصيل
);

تغيير عناصر النموذج

للتحكم في تكوين عناصر الكائن ManagedFormهناك مجموعة عناصر. الجمع له عدة طرق:

    إدراج (< Имя>, < ТипЭлемента>, < Родитель>, < Элемент >)

    يضيف (< Имя>, < ТипЭлемента>, < Родитель >)

    كمية ()

    يجد (< Имя >)

    يتحرك(< Элемент>, < Родитель>, < МестоРасположения >)

    يمسح (< Элемент >)

مجموعة العناصر متاحة على كل من العميل والخادم. تعديل مجموعة (إدراج الأساليب () وAdd () وMove () وDelete () ) متاحة فقط على الخادم. يمكنك البحث عن عدد العناصر والحصول عليها (طريقتا Find () وCount ()) على كل من العميل والخادم. عناصر المجموعة يمكن أن تكون:

  • يشكل مجموعه؛
  • this.FormTable;
  • حقل النموذج؛
  • زر النموذج.

يمكنك تعيين معالجات الأحداث برمجيًا لعناصر النموذج. الطريقة مخصصة لهذه الأغراض سيتاكشن(< ИмяСобытия>, < Действие >) .

دعونا نلقي نظرة على بعض الأمثلة الأكثر شيوعًا في الممارسة العملية للعمل مع الأوامر والتفاصيل وعناصر النموذج.

إضافة أمر والزر المرتبط به:

// إنشاء أمر
فريق = الفرق. يضيف( ""تاريخ التغيرات"");
فريق . العمل = "المكون الإضافي_عرض_التاريخ"; // يجب أن يحتوي النموذج على إجراء بالاسم المحدد
فريق . عنوان = ""تاريخ التغيرات..."";
// قم بإنشاء زر وربطه بأمر
عنصر = العناصر. يضيف( ""تاريخ التغيرات""، النوع("FormButton" ));
اسم العنصر = ""تاريخ التغيرات"";

إضافة سمة وحقل الإدخال المرتبط بها:

// وصف التفاصيل المضافة
AddedDetails = مصفوفة جديدة؛
التفاصيل المضافة. يضيف(دعائم النموذج الجديد ("المشتري"، وصف النوع الجديد ( "DirectoryLink.Counterparties")، "عميل" ))؛
// تغيير تكوين التفاصيل
تغيير التفاصيل (التفاصيل المضافة);
// إنشاء حقل إدخال والاتصال بالسمة
عنصر = العناصر. Add("Buyer" , Type("FormField" ));
عنصر . عرض = FormFieldView. حقل الإدخال؛
عنصر . PathToData= "المشتري" ;

تعيين معالج حدث لعنصر النموذج:

ItemCustomer. SetAction("عندما يتغير" , "Connected_BuyerOnChange");

&OnClient
إجراء Connected_BuyerOnChange(عنصر)
// إجراءات الحدث
نهاية الإجراء

انتباه!

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

انتباه!

يمكنك تنزيل المعالجة باستخدام أمثلة للبحث البرمجي وتغيير التفاصيل والأوامر وعناصر النموذج المُدار.

وكائن نقل البيانات إلى هيكلة التعليمات البرمجية، يتم التحكم فيه في بيئة 1C 8.2.

مقدمة

لنبدأ بوصف موجز لمفهوم "النموذج المُدار" والمفاهيم ذات الصلة بمنصة 1C. قد يرغب خبراء النظام الأساسي في تخطي هذا القسم.

في عام 2008، أصبح الإصدار الجديد من منصة 1C متاحًا: Enterprise 8.2 (المشار إليه فيما يلي باسم التطبيق المُدار)، والذي يغير طبقة العمل بالكامل مع الواجهة بالكامل. يتضمن ذلك واجهة الأوامر والنماذج ونظام النوافذ. في الوقت نفسه، لا يتغير نموذج تطوير واجهة المستخدم في التكوين فحسب، بل يُقترح أيضًا بنية جديدة لفصل الوظائف بين تطبيق العميل والخادم.
يدعم التطبيق المُدار الأنواع التالية من العملاء:

  • عميل سميك (وضع التشغيل العادي والمُدار)
  • عميل رقيق
  • العميل على شبكة الإنترنت
يستخدم التطبيق المُدار نماذج مبنية على تقنية جديدة. انهم يسمى النماذج المدارة. لتسهيل عملية الانتقال، يتم أيضًا دعم النماذج السابقة (ما يسمى بالنماذج العادية)، ولكن لم يتم تطوير وظائفها وهي متاحة فقط في وضع تشغيل العميل الكثيف.
الاختلافات الرئيسية بين النماذج المُدارة للمطور:
  • وصف تعريفي، وليس "بكسلًا ببكسل" للهيكل. يتم تنفيذ الموضع المحدد للعناصر تلقائيًا بواسطة النظام عند عرض النموذج.
  • يتم وصف جميع وظائف النموذج على أنها تفاصيلو فرق. التفاصيل هي البيانات التي يعمل النموذج معها، والأوامر هي الإجراءات التي سيتم تنفيذها.
  • يعمل النموذج على كل من الخادم والعميل.
  • في سياق العميل، لا تتوفر جميع أنواع التطبيقات تقريبًا، وبالتالي من المستحيل تغيير البيانات في قاعدة المعلومات.
  • يجب تحديد كل أسلوب أو متغير نموذج التوجيه التجميعيوتحديد موقع التنفيذ (العميل أو الخادم) والوصول إلى سياق النموذج.
دعونا ندرج التوجيهات لتجميع أساليب النموذج:
  • &OnClient
  • &على الخادم
  • &OnServerبدون سياق
  • &OnClientOnServerبدون سياق
دعونا نوضح ما سبق. تعرض لقطة الشاشة مثالاً لنموذج مُدار والوحدة النمطية الخاصة به في وضع التطوير. ابحث عن الوصف التعريفي والدعائم وتوجيهات التجميع وما إلى ذلك.

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

دعونا نحدد المشكلة

لقد مرت عدة سنوات منذ الاستخدام النشط للإصدار الجديد من منصة 1C وتم إصدار العديد من الحلول (التكوينات) بواسطة كل من 1C والعديد من شركائها.
خلال هذا الوقت، هل طور المطورون فهمًا مشتركًا لمبادئ التفاعل بين العميل والخادم عند إنشاء النماذج، وهل تغير نهج تنفيذ وحدات البرامج في الواقع المعماري الجديد؟

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

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

أنماط التصميم أو حكمة الأجيال

تم استخدام التفاعل بين العميل والخادم في تقنيات البرامج المختلفة لعقود من الزمن. إن الإجابة على الأسئلة الموضحة في القسم السابق معروفة منذ زمن طويل وتتلخص في مبدأين أساسيين.
  • الواجهة البعيدة(يشار إليها فيما بعد بواجهة الوصول عن بعد)
  • كائن نقل البيانات(يشار إليه فيما بعد بكائن نقل البيانات)
كلمة من مارتن فاولر وصفه لهذه المبادئ:
  • يجب أن يكون لكل كائن مخصص للوصول عن بعد واجهة ذات تفاصيل منخفضة، مما سيؤدي إلى تقليل عدد المكالمات المطلوبة لتنفيذ إجراء معين. ... بدلاً من طلب الفاتورة وجميع بنودها بشكل منفصل، عليك قراءة وتحديث كافة بنود الفاتورة في طلب واحد. يؤثر هذا على بنية الكائن بالكامل...تذكر: واجهة الوصول عن بعد لا يحتوي على منطق المجال.
  • ...لو كنت أمًا حانية، فسأقول لطفلي بالتأكيد: "لا تكتب أبدًا كائنات نقل البيانات!" في معظم الحالات، كائنات نقل البيانات ليست أكثر من مجموعة الحقول المتضخمة... قيمة هذا الوحش المثير للاشمئزاز تكمن فقط في الاحتمال إرسال أجزاء متعددة من المعلومات عبر الشبكة في مكالمة واحدة- تقنية ذات أهمية كبيرة للأنظمة الموزعة.
أمثلة على القوالب في منصة 1C
تحتوي واجهة برمجة التطبيقات المتوفرة للمطور عند تطوير نموذج مُدار على العديد من الأمثلة على هذه المبادئ.
على سبيل المثال، طريقة OpenForm()، وهي واجهة "تقريبية" نموذجية.
OpeningParameters = New Structure("Parameter1, Parameter2, Parameter3", Value1, Value2, Value3); Form = OpenForm(FormName, OpeningParameters);
قارن مع النمط المعتمد في الإصدار 8.1.
Form = GetForm(FormName); Form.Parameter1 = Value1; Form.Parameter2 = Value2; Form.Open();

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

  • بنية نماذج البيانات
  • DataFormsCollection
  • DataFormStructureWithCollection
  • شجرة أشكال البيانات
يتم تحويل كائنات نقل بيانات النظام إلى أنواع التطبيقات والعكس باستخدام الطرق التالية:
  • فاليوإنفورمداتا ()
  • قيمة بيانات النموذج ()
  • كوبيفورمداتا ()
  • فاليو إنفورماتريبتس ()
  • قيمة سمات النموذج ()
غالبًا ما يتم استخدام التحويل الصريح عند تكييف حل موجود. قد تتوقع الأساليب معلمات إدخال (استخدام الميزات)، مثل ValueTable بدلاً من FormDataCollection، أو تم تعريف الطريقة في سياق كائن التطبيق وأصبحت غير متوفرة للاتصال المباشر من النموذج.
مثال 1C v8.1:
// على العميل في سياق النموذج fillUserCache(DepartmentLink)
مثال 1C v8.2:
// على الخادم في سياق النموذج ProcessingObject = Form AttributesValue("Object"); ProcessingObject.FillUserCache(DepartmentRef); ValueВFormAttributes(ProcessingObject, "Object");

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

  • الأنواع البدائية (سلسلة، رقم، منطقية)
  • بناء
  • مراسلة
  • مجموعة مصفوفة
  • روابط لكائنات التطبيق (المعرف الفريد وتمثيل النص)
مثال: تقبل الطريقة قائمة أوامر تغيير الحالة وتعيد وصفًا للأخطاء إلى العميل.
&OnServerWithoutContext الدالة ServerChangeOrderStatus(Orders, NewStatus) Errors = New Match(); // [الطلب] [وصف الخطأ] لكل دورة من الطلبات StartTransaction(); جرب DocOb = Order.GetObject(); …. إجراءات أخرى، ممكنة ليس فقط مع الأمر... استثناء CancelTransaction(); Errors.Insert(Order, ErrorDescription()); this.EndAttempt; EndCycle; خطأ في العودة؛ EndFunction // ServerChangeOrderStatus()

هيكلة الكود

الأهداف الرئيسية التي يجب أن تعكسها وحدة النموذج المُدار وأساليب الحل.
  • فصل واضح بين رمز العميل والخادم.دعونا لا ننسى أنه في وقت التنفيذ، تكون هاتان العمليتان متفاعلتين، ولكل منهما وظائف متاحة مختلفة بشكل كبير.
  • تحديد واضح لواجهة الوصول عن بعد، ما هي طرق الخادم التي يمكن استدعاؤها من العميل وأيها لا يمكن استدعاؤها؟ تبدأ أسماء طرق الواجهة البعيدة بالبادئة "الخادم". يسمح لك هذا برؤية نقل التحكم إلى الخادم على الفور أثناء قراءة التعليمات البرمجية، ويبسط استخدام المساعدة السياقية. لاحظ أن التوصية الرسمية (ITS) تقترح تسمية الأساليب ذات الإصلاحات اللاحقة، على سبيل المثال، ChangeOrderStatusOnServer(). ومع ذلك، دعونا نكرر، لا يمكن استدعاء جميع أساليب الخادم من العميل، وبالتالي فإن إمكانية الوصول المنطقي أكثر أهمية من موقع التجميع. لذلك، باستخدام البادئة "Server"، نحدد فقط الطرق المتاحة للعميل؛ لنستدعي طريقة المثال ServerChangeOrderStatus().
  • مقروئية.مسألة ذوق، نحن نقبل الطلب عندما تبدأ الوحدة بإجراءات إنشاء نموذج على الخادم وطرق الوصول عن بعد.
  • قابلية الصيانة.يجب أن يكون هناك موقع واضح لإضافة الكود الجديد. النقطة المهمة هي أن قوالب الطريقة التي تم إنشاؤها تلقائيًا بواسطة المكوّن تتم إضافتها إلى نهاية الوحدة. نظرًا لأن معالجات الأحداث لعناصر النموذج يتم إنشاؤها تلقائيًا في أغلب الأحيان، يتم وضع الكتلة المقابلة في الأخير، حتى لا يتم سحب كل معالج إلى مكان آخر في الوحدة.
يوجد أدناه الهيكل الأساسي للوحدة التي تنفذ الأهداف المذكورة.
  • خيار رسومي – يُظهر بوضوح التدفق الرئيسي للتنفيذ.
  • يعد خيار النص مثالاً لتصميم قالب لإدراج بنية بسرعة في وحدة نموذج جديدة.

//////////////////////////////////////////////////////////////////////////////// // <(c) Автор=""التاريخ =""/> // <Описание> // // ////////////////////////////////////////////////////////////////////// ////////////////////////// // متغيرات الوحدة //////////////// // ///////////////////////////////////////////// ////////// // على الخادم //******* الأحداث على الخادم ******* &في إجراء الخادم عند الإنشاء على الخادم (الفشل، المعالجة القياسية) / / أدخل محتويات المعالج نهاية الإجراء //******* واجهة الوصول عن بعد ******* //******* منطق الأعمال على الخادم ******* ///////// ////////////////////////////////////////// /////// /////////////////// // الطرق الشائعة للعميل والخادم /////////////// /////// /////////////////////////////////////////////////// ///// //////// // على العميل //******* منطق العمل على العميل ******* //******* الفريق * ***** //********* أحداث العميل ******* ////////////////////////// ///// ///////////////////////////////////////////////////// // // مشغلو البرنامج الرئيسيون

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

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

السؤال 10.05 من الامتحان 1C: محترف المنصة. ما هي سمة النموذج الرئيسية المستخدمة؟

  1. يحدد مصدر البيانات للنموذج ككل
  2. يحدد الإمكانات القياسية للنظام الأساسي للعمل مع النموذج مع بيانات من النوع المحدد في السمة الرئيسية
  3. لتوفير القدرة على الوصول إلى تفاصيل الكائن برمجياً من سياق النموذج المحلي
  4. يوفر تصورًا لتفاصيل الكائن في مربع حوار النموذج
  5. 2 و 3 صحيحان
  6. 1 و 2 صحيحان

الإجابة الصحيحة هي رقم ستة، انظر أعلاه.


السؤال 10.06 من الامتحان 1C: المنصة الاحترافية. ما هي تفاصيل النموذج المطلوبة؟
  1. لوصف محتوى البيانات التي يتم عرضها أو تحريرها أو تخزينها في نموذج
  2. لعرض وتحرير البيانات في النموذج
  3. 1 و 2 صحيحان

الجواب الصحيح هو الثالث - كلاهما.

السؤال 10.07 من الامتحان 1C: المنصة الاحترافية. لتعيين السمات الرئيسية لنموذج تحكم تعسفي ...

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

الجواب الصحيح هو الثاني:

السؤال 10.08 من الامتحان 1C: المنصة الاحترافية. لتعيين التفاصيل الرئيسية لنموذج منتظم تعسفي ...
  1. يجب أن يكون النموذج هو النموذج الرئيسي، ويتم تحديد التفاصيل الرئيسية تلقائيًا
  2. تحتاج إلى تحديد مربع الاختيار "التفاصيل الأساسية" في خصائص سمات النموذج
  3. تحتاج إلى الذهاب إلى قائمة "تحرير"، وتحديد "التفاصيل الأساسية" وتحديد القيمة المطلوبة
  4. تحتاج إلى ملء خاصية "البيانات" للنموذج عن طريق تحديد سمة النموذج المطلوبة

الجواب الصحيح هو الرابع:

يتم تسليط الضوء على التفاصيل الرئيسية بالخط العريض:

السؤال 10.09 من الامتحان 1C: المنصة الاحترافية. إذا كانت هناك سمة رئيسية واحدة للنموذج، فهل من الممكن إضافة سمة رئيسية أخرى؟
  1. هذا مستحيل
  2. يكون هذا ممكنًا عن طريق تعيين القيمة المناسبة لخاصية سمة النموذج
  3. يكون ذلك ممكنًا برمجيًا فقط، عند الوصول إلى كائن "النموذج".
  4. وهذا ممكن عن طريق إضافة قيمة أخرى إلى خاصية النموذج المقابلة

الإجابة الصحيحة هي الأولى، هناك شرط رئيسي واحد بدقة، لأنه يجب أن يكون الاتصال بالكائن واضحًا.

السؤال 10.113 من الامتحان 1C: منصة المهنية. أي من تفاصيل النموذج الموضح في الشكل هي التفاصيل الرئيسية؟

  1. قائمة أسعار العملات
  2. كائن الدليل
  3. لا تحتوي نماذج الدليل على تفاصيل أساسية
  4. تحتوي نماذج الدليل على كافة التفاصيل الأساسية
الإجابة الصحيحة الثانية هي التي بالخط العريض.

محرر النماذجيستخدم لإنشاء وتحرير نماذج كائنات حلول التطبيق. يستخدم النظام أشكال الكائنات لعرض البيانات بشكل مرئي أثناء عمل المستخدم.

يمثل أي شكل مزيجًا من عدة مكونات:

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

يحتوي محرر النماذج على عدة علامات تبويب تسمح بتحرير جميع مكونات النموذج.

في نافذة منفصلة، ​​أسفل المحرر، يتم عرض مظهر النموذج في وضع 1C:Enterprise.

تحرير العناصر

يسمح محرر النماذج للمطور باستخدام مجموعة واسعة من الخيارات لتغيير مظهر النموذج - المظهر الذي سيكون عليه النموذج في وضع 1C:Enterprise. دعونا ندرج أهمها:

الصفحات والإشارات المرجعية

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

يتيح لك المحرر إضافة عناصر متعددة إلى النموذج المجموعة - الصفحات، يمكن أن يحتوي كل منها على عدة عناصر المجموعة - الصفحة.

على سبيل المثال، قد يحتوي نموذج المستند على عنصر واحد المجموعة - الصفحات، والتي تخضع لها عدة عناصر المجموعة - الصفحةمع العناوين صورة, صفاتو وصف:

ثم في وضع 1C:Enterprise سيبدو كما يلي:

يتم عرض عنوان كل صفحة مجموعة في علامة تبويب منفصلة. لدى المطور الفرصة لضبط وضع عرض الإشارات المرجعية: السفلي أو العلوي:

على سبيل المثال، يمكن وضع الإشارات المرجعية في الأسفل:

عناصر

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

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

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

فواصل

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

عندما تقوم بنقل فاصل، سيتم تغيير حجم جميع العناصر المرتبطة بالفاصل أو نقلها:

وحدة النموذج

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

تفاصيل النموذج

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

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

واجهة أوامر النموذج

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

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

أوامر النموذج

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

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

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

خيارات النموذج

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