التفاصيل الأساسية للنموذج. تفاصيل النموذج المُدار (1Cv8) 1c ما هي تفاصيل النموذج

14.12.2023

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

السؤال 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 من ملء الحقول في النموذج.

تفاصيل 1C هي حقول الدليل والمستندات التي يتم عرضها في النموذج ليقوم المستخدم بتعبئتها.

دعونا نلقي نظرة فاحصة على موضوع التفاصيل في 1C.

ما هي تفاصيل 1C

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

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

انظر كيف تبدو نفس تفاصيل 1C في نموذج دليل 1C.

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

انقر بزر الماوس الأيمن على أي سمة 1C وانقر فوق خصائص. سيتم فتح قائمة بخصائص السمة المحددة في النافذة الموجودة على اليمين.

الخصائص الرئيسية لتفاصيل 1C:

تفاصيل معيار 1C

كما لاحظت، يوجد في نموذج الدليل تفاصيل 1C غير مدرجة في أداة التهيئة: المجموعة، الاسم، BIC.

يحتوي نموذج قائمة الدليل أيضًا على تفاصيل 1C غير الموجودة في القائمة: علامة الحذف.

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

يمكن الاطلاع على تفاصيل معيار 1C على النحو التالي:

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

تفاصيل 1C العامة

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

خصائص سمات 1C العامة:

  • الاستخدام التلقائي - يضيف تفاصيل 1C العامة إلى كافة الأدلة والمستندات مرة واحدة
  • التكوين - يسمح لك بإضافة تفاصيل 1C العامة فقط إلى الدلائل والمستندات الضرورية (ثم يتم تعيين الاستخدام التلقائي على عدم الاستخدام).

كيفية إضافة تفاصيل 1C

انقر بزر الماوس الأيمن على فرع تفاصيل 1C للدليل المطلوب وحدد إضافة.

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

دعونا نضيف سمة 1C أخرى بنفس الطريقة، فقط سنختار النوع المنطقي ونطلق عليه "Works on Weekends".

كيفية عرض التفاصيل في نموذج 1C (عميل سميك 1C)

لنقم بتوسيع فرع النماذج في نفس الدليل. لفتح النموذج، حدد نموذج العنصر وانقر عليه نقرًا مزدوجًا بالماوس.

اسحب حافة الشكل بالماوس وقم بتمديدها (اختياري).

في لوحة التكوين، انقر فوق الزر "وضع البيانات". يمكنك أيضًا استخدام قائمة وضع النموذج/البيانات.

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

كيفية عرض التفاصيل في نموذج 1C (العميل الرقيق 1C)

لنقم بتوسيع فرع النماذج في نفس الدليل. حدد شكل العنصر وانقر عليه نقرًا مزدوجًا بالماوس.

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

الآن فقط اسحب السمة المطلوبة من النافذة اليمنى إلى النافذة اليسرى وستظهر في النموذج.

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

في العميل الكثيف، يحتوي النموذج على تفاصيله الخاصة. وهي موجودة في علامة التبويب "التفاصيل".

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

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

التفاصيل الدورية 1C

في الإصدار 1C 7.7 كانت هناك تفاصيل دورية. ومعناها هو أن معنى الدعائم يختلف باختلاف التواريخ. على سبيل المثال، القيمة في 1 سبتمبر هي واحدة، وفي 1 أكتوبر هي قيمة أخرى. نفس الدعائم.

في 1C 8 لا توجد تفاصيل دورية. ويتم تنفيذ ذلك على النحو التالي:

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

//////////////////////////////////////////////////////////////////////////////// // <(c) Автор="يعد خيار النص مثالاً لتصميم قالب لإدراج بنية بسرعة في وحدة نموذج جديدة."/> // <Описание> // // "التاريخ ="

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

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

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

جنبا إلى جنب مع هذا، قد تكون هناك نماذج عامة لا تنتمي إلى كائنات تكوين محددة - النماذج العامة.

النماذج الأساسية

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

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

والوثيقة استلام البضائع والخدماتسيكون تكوين النماذج الرئيسية مختلفًا:

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

النماذج التي تم إنشاؤها تلقائيًا

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

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

ربط النموذج بالبيانات

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

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

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

هيكل النموذج

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

يتم وصف الجزء المعروض من النموذج (المرئي للمستخدم) على أنه شجرة تحتوي على عناصر النموذج.

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

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

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

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

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

تم إدراج كائنات 1C الرئيسية أدناه والتي يتم استخدامها عند العمل مع النماذج المُدارة. يتم تقديم أمثلة مختصرة للتعليمات البرمجية توضح الاستخدام التقليدي لهذه الكائنات عند كتابة تكوينات 1C.

هذا النموذج

تستخدم في وحدة النموذج، في الإجراءات&على العميل و&على الخادم.

يسمح لك بالوصول إلى كل من عناصر النموذج والتفاصيل.

يتم الوصول إلى عنصر النموذج من خلال كائنالعناصر وتبدو هكذا:

ThisForm.Elements.VersionNumber.Header = "v."+ProgramVersion;

يتم الوصول إلى السمات الموجودة في النموذج على النحو التالي:

ThisForm.Advertisement Text="مرحبا أيها الرفاق!";

تبسيط الوصول إلى عناصر النموذج والتفاصيل

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

// عنصر النموذج

Elements.VersionNumber.Title = "v."+ProgramVersion;

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

نص الإعلان = "مرحبا أيها الرفاق!";

مميزات الحصول على تفاصيل النموذج (مهم!)

إذا كانت سمة النموذج تحتوي على نوع بسيط -السلسلة، الرقم، التاريخ ... ثم يمكنك الحصول على (تعيين) قيمة السمة ببساطة بالاسم:

Text=ProductName; // اسم المنتج هو سمة النموذج

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

للحصول على قيمة سمة من النوع "المعقد"، تحتاج إلى استخدام الوظيفةقيمة سمات النموذج ():

CurrentTable=FormAttributesValue("SelectedConstructionObjects");

لتعيين قيمة السمة "المعقدة"، يمكنك استخدام الوظيفةسمات فاليوإنفورم(<Значение>, <ИмяРеквизита>) ، كلا المعلمتين مطلوبتان.

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

هدف

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

أو تدوين أكثر اكتمالا:

هذا الكائن

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

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

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