آليات التكوين 1 ج. ملحقات التكوين

في محرر الوحدة، عند العمل بتكوين قابل للتوسيع، من الممكن إضافة طريقة معينة إلى الامتداد.
تم تنفيذ القدرة على الانتقال إلى طريقة قابلة للتوسيع من التعليق التوضيحي لطريقة الامتداد في محرر الوحدة النمطية (عند العمل مع الامتداد).
بالنسبة لأمر "إضافة إلى الامتداد"، تم تنفيذ اختصار لوحة المفاتيح Alt+Shift+F2. لم يعد اختصار لوحة المفاتيح Alt+F2 لهذا الأمر مستخدمًا.

في السابق، لم يكن هناك خيار مناسب لإضافة طريقة قابلة للتحرير إلى الامتداد.
في السابق، لم يكن من الممكن الانتقال إلى أسلوب قابل للتوسعة من التعليق التوضيحي لأسلوب الامتداد.
لإضافة طريقة إلى ملحق، يجب عليك وضع المؤشر على الطريقة المطلوبة (بما في ذلك السطر الذي يحتوي على اسم الطريقة) وتحديد أمر "إضافة إلى الملحق". إذا كان هناك امتداد واحد مفتوح في المكوّن عند تنفيذ هذا الأمر، فسيتم استخدام هذا الامتداد. وفي جميع الحالات الأخرى، سيُعرض عليك الاختيار من بين الملحقات التي تمت إضافتها لقاعدة المعلومات هذه.

عند تشغيل أمر Add to Extension، يحدث ما يلي:

· إذا كان الكائن الذي تمت إضافة الطريقة منه غير موجود في الامتداد المحدد، فسيتم إضافة هذا الكائن تلقائيًا إلى الامتداد.

· إذا تم تمديد الطريقة من وحدة نمطية أخرى غير وحدة النموذج:

● يُطلب من المطور تحديد تعليق توضيحي للطريقة (قبل، أو بعد، أو بدلاً من ذلك). في هذه الحالة، يتم تمييز امتدادات الطريقة الموجودة بالفعل في الامتداد بالخط العريض.

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

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

● التعليقات التوضيحية "قبل" و"بعد" غير متاحة للوظائف.

● غير متاح لهذا الإجراء:

● التعليقات التوضيحية بدلاً من ذلك، إذا كانت الأساليب التي تحتوي على التعليقات التوضيحية قبل أو بعد موجودة بالفعل؛

● قبل/بعد التعليق التوضيحي، إذا كانت الطريقة التي تحتوي على التعليق التوضيحي بدلاً من ذلك موجودة بالفعل.

· إذا تم توسيع الأسلوب من وحدة النموذج:

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

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

● بالنسبة للطريقة العادية التي ليست معالج حدث، سيتم توسيع الطريقة باستخدام التعليقات التوضيحية.

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

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

· عدد المعلمات وعلامة تمرير المعلمات "بالقيمة" (قيمة الكلمة).

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

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

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

لتوسيع التكوين، أصبح من الممكن الآن تحديد الغرض من ملحق التكوين: التصحيح والتكيف والإضافة.

يتم توصيل الملحقات بالترتيب التالي:

  • جميع الملحقات لغرض الإصلاح؛
  • جميع الملحقات بغرض التكيف؛
  • جميع الملحقات لغرض الإضافة.

ترتيب التحميل لامتدادات متعددة بنفس قيمة وجهة الامتداد غير محدد.

بالنسبة للامتدادات التي تم تحميلها مسبقًا في قاعدة المعلومات، يتم تعيين تعيين الامتداد تلقائيًا على التكيف.

تم تنفيذ الملكية ملحق التكوين.الغرض.

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

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

يجب أن يكون التكوين في وضع التوافق "لا تستخدم"،نفس الشيء بالنسبة للتمديد.

للقيام بذلك، سنقوم بإنشاء النظام الفرعي "محاسبة السيارات" في تكوين "التطبيق المُدار" بالكائنات التالية

الأدلة: ماركات السيارات، السيارات، الكراجات

المستندات: الوصول إلى المرآب، المغادرة من المرآب.

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

دعونا نضيف صورتنا إلى الامتداد الجديد، حيث سنقوم بتحميل رمز السيارة

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

لنقم بإنشاء أدلة: ماركات السيارات، والسيارات (ستكون هناك سمة علامة تجارية مع رابط النوع إلى دليل ماركات السيارات) والكراجات.

من السهل إنشاء دليل جديد في ملحق التكوين؛ ويتم كل شيء تمامًا كما هو الحال في التكوين العادي: يتم تمييز فرع الدليل، ويتم استدعاء قائمة السياق، حيث تحتاج إلى النقر فوق عنصر "إضافة"

بنفس الطريقة، سنقوم بإنشاء مستندات جديدة: وصول السيارة والتخلص منها.

دعونا ندرج جميع الكائنات الجديدة في النظام الفرعي.

لنقم الآن بتشغيل التكوين الخاص بنا وإلقاء نظرة على النظام الفرعي الجديد

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

للقيام بذلك، نقوم باستعارة دليل المقاول في الامتداد.

دعونا نضيف سمة جديدة للدليل المستعار، والتي سنسميها Car.

وأضف سمات الامتداد إلى النموذج المقترض.

الآن، إذا ذهبنا إلى دليل التكوين الخاص بنا، فيمكننا ملء هذه السمة من الامتداد.

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

تعلم أساسيات التكوين في 1C وتعلم البرمجة في 1C: Enterprise بمساعدة كتبي:

  • تعزيز معرفتك بمساعدة كتاب المشاكل؛
  • دليل ممتاز للتطوير في تطبيق 1C مُدار، لكل من المطورين المبتدئين والمبرمجين ذوي الخبرة.

    1. لغة العرض سهلة الوصول ومفهومة للغاية
    2. يتم إرسال الكتاب عبر البريد الإلكتروني بصيغة PDF. يمكن فتحه على أي جهاز!
    3. فهم أيديولوجية تطبيق 1C المُدار
    4. تعرف على كيفية تطوير تطبيق مُدار؛
    5. تعلم كيفية تطوير نماذج 1C المُدارة؛
    6. ستكون قادرًا على العمل مع العناصر الأساسية والضرورية للنماذج المُدارة
    7. سوف تصبح البرمجة ضمن تطبيق مُدار واضحة

    الرمز الترويجي للحصول على خصم 15% - 48PVXHeYu


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

    يمكنك الدفع يدوياً:

    ياندكس موني - 410012882996301
    أموال الويب - R955262494655

    انضم إلى مجموعاتي.

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

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

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


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

    الإجراءات التالية متاحة للإضافات:
    إضافة تقارير جديدة ومعالجتها؛
    تحرير وإضافة النماذج المُدارة؛
    إضافة النماذج العادية.
    تغيير واجهة الأوامر المتاحة؛
    تحرير الأدوار؛
    إضافة أنظمة فرعية وتغيير تكوينها.

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

    تحميل وتحميل الامتدادات

    يمكن تحميل الملحقات إلى ملف (*.cfe). التحميل متاح في المكوّن وفي المؤسسة. في وضع المهيئ، يتم فتح نافذة تحرير الامتداد كما هو موضح أعلاه. في وضع المؤسسة، يتم استخدام معالجة خاصة لتحميل الملحقات وإلغاء تحميلها وإزالتها، والتي يتم فتحها من خلال القائمة الرئيسية:
    جميع الوظائف->قياسي->إدارة ملحقات التكوين.


    يمكنك قراءة المزيد حول تجاوز الإجراءات والوظائف في المقالة
    .

    يمكنك قراءة المزيد حول كيفية إضافة ملحق للتكوين في المقالة

    تم تنفيذه في الإصدار 8.3.6.1977.

    لقد قمنا بتنفيذ آلية جديدة بشكل أساسي لتكييف حلول التطبيقات مع مستخدم معين - آلية التمديد.

    ما هي الإضافات الجيدة؟

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

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

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

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

    الإستراتيجية التي تقدمها الإضافات هي كما يلي. إذا كنت تريد تغيير تكوين قياسي، فلا تلمس التكوين نفسه. يمكنك إجراء كافة التغييرات في الامتداد، والذي، في الواقع، هو أيضًا تكوين.

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

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

    متى يجب عليك استخدام الامتدادات؟

    آلية التمديد مغرية بسبب تنوعها. ولذلك، من المهم أن يكون لديك فكرة صحيحة عن المهام التي يهدف إلى حلها.

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

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

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

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

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

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

    ما الذي يمكنك تغييره الآن باستخدام الإضافات؟

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

    • من الممكن تغييرها النماذج المدارة، الموجودة في التكوين القياسي؛
    • يمكنك إضافة أخرى جديدة الأنظمة الفرعية. يمكنك تغيير تكوين الأنظمة الفرعية المتوفرة في التكوين القياسي؛
    • من الممكن تغييرها الأدوارالتكوين القياسي، وإضافة الكائنات التي تم إنشاؤها في الامتداد إليها؛
    • من الممكن تغييرها واجهة الأوامرالتكوين النموذجي (القسم الرئيسي، والأنظمة الفرعية)؛
    • يمكنك إضافة أخرى جديدة التقاريرو يعالج.

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

    كيف يعمل التمديد؟

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

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

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

    الموقف الأول هو عندما تكون هناك حاجة إلى الأشياء المقترضة.

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

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

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

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

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

    موقف آخر عندما يمكنك الاستغناء عن الأشياء المقترضة.

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

    إذا وصفنا ذلك بلغة المطورين الجافة، فسيتبين أنك بحاجة إلى استعارة الكائنات:

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

    توصيل امتداد

    يمكنك إنشاء ملحق في المكوّن. بمجرد تصحيحه واختباره، يمكنك رفضه عن طريق حفظ الامتداد في ملف *.cfe.

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

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

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

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

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

    عند توصيل ملحق، كما قلنا بالفعل، يتم التحقق من وجود الكائنات المقترضة في التكوين القياسي. تتم مطابقة الكائنات بالاسم.

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

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

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

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

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

    عملية التمديد

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

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

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

    يمكن رؤية ذلك بمزيد من التفصيل باستخدام النماذج المُدارة كمثال. يمكنك استعارة نموذج من التكوين الرئيسي وتحريره في الامتداد دون قيود. بالنسبة للجزء المرئي من النموذج ووحدته، يتم استخدام استراتيجيتين مختلفتين للدمج.

    يتم تثبيت الجزء المرئي من النموذج في الامتداد وقت استعارته. وفي 1C: وضع المؤسسة، لكل عنصر نموذج، يتم تحليل التغييرات المتعلقة بهذه الحالة في التكوين القياسي وفي الامتداد.

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

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

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

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

    أما بالنسبة للكائنات الأخرى التي يمكنك استخدامها في الامتداد، فكل شيء يبدو أبسط بكثير بالنسبة لها.

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

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

    التوسع هو التكوين تقريبا

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

    يحتوي الامتداد (مثل التكوين العادي) على تكوين رئيسي وتكوين قاعدة بيانات. تعمل آلية مقارنة التكوينات ودمجها مع الامتدادات بنفس الطريقة التي تعمل بها مع التكوينات العادية.

    يمكنك تحميل الامتداد إلى ملف (على الرغم من أنه بامتداد مختلف *.cfe)، والتحميل من الملف. يمكن تحميل/تحميل الامتدادات بتنسيق XML.

    تعمل أيضًا آليات البحث الشامل واستبدال وتحرير نصوص الواجهة مع الامتدادات.

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

    في اللغة المضمنة، يكون الكائن الرئيسي للعمل مع الامتدادات هو تكوين مدير الامتداد.

    آلية تمديد التكوين هي آلية خاصة مصممة لتعديل تكوين قابل للتوسيع دون تغيير هذا التكوين (بما في ذلك دون إزالة الدعم).

    عند النظر في آلية تمديد التكوين، سيتم استخدام المصطلحات التالية:

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

    لا يمكن التحكم في خاصية الكائن المقترض وتعديلها.

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

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

    الكائنات القابلة للتوسعة يمكن أن تكون:

    • النماذج المدارة؛
    • الأدوار؛
    • الأنظمة الفرعية؛
    • إعدادات الصفحة الرئيسية (سطح المكتب) لحل التطبيق؛
    • وحدات عامة؛
    • وحدات الكائن لجميع أنواع الكائنات؛
    • وحدات إدارة لجميع أنواع الكائنات؛
    • وحدة الجلسة؛
    • وحدة التطبيق المُدارة؛
    • وحدة الاتصال الخارجية؛
    • وحدات الأوامر.

    يمكن أن يكون ما يلي بمثابة كائنات ملحقة خاصة بك:

    • الأنظمة الفرعية؛
    • يعالج؛
    • التقارير؛
    • التفاصيل والأجزاء الجدولية وتفاصيل الأجزاء الجدولية في المعالجة والتقارير المقترضة؛
    • الأدوار؛
    • حزم XDTO؛
    • خدمات الويب؛
    • خدمات HTTP؛
    • روابط WS؛
    • تخطيطات عامة
    • أوامر عامة؛
    • الوحدات المشتركة (باستثناء الخادم العالمي والوحدات المشتركة المميزة)؛
    • مجموعات الفريق؛
    • صور عامة؛
    • النماذج والتخطيطات والأوامر للكائنات المقترضة:
    • خطط التبادل؛
    • معيار الاختيار؛
    • تخزين الإعدادات؛
    • الدلائل.
    • وثائق؛
    • سجلات المستندات؛
    • التحويلات
    • التقارير؛
    • يعالج؛
    • سجلات المعلومات؛
    • سجلات التراكم
    • سجلات المحاسبة
    • سجلات الحساب.
    • خطط لأنواع الخصائص.
    • مخططات الحسابات؛
    • خطط لأنواع الحساب.
    • العمليات التجارية؛
    • مهام؛
    • جداول مصادر البيانات الخارجية؛
    • مكعبات من مصادر البيانات الخارجية؛
    • جداول الأبعاد من مصادر البيانات الخارجية.

    من بين الخصائص الخاضعة للرقابة يجب الإشارة بشكل خاص إلى:

    • تكوين خطة التبادل؛
    • العناصر المحددة مسبقًا للكتب المرجعية وخطط أنواع الخصائص وجداول الحسابات وخطط أنواع الحسابات.

    لا تدعم الإصدارات الأساسية من حلول التطبيقات العمل مع الامتدادات.