نتائج البحث عن طريق نموذج الاختيار. مُنشئ مخطط تكوين البيانات - إعدادات علامة التبويب 1s خيارات تحرير ckd

الانتباه! هذه نسخة تمهيدية من الدرس ، وقد تكون مواده غير مكتملة.

سجل الدخول كطالب

سجل الدخول كطالب للوصول إلى المواد المدرسية

نظام تكوين البيانات 1C 8.3 للمبتدئين: نقوم بتوصيل مجموعات البيانات

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

قم بإنشاء تقرير جديد

افتح قاعدة بيانات "Gastronom" في أداة التهيئة وأنشئ تقريرًا جديدًا من خلال القائمة الرئيسية:

نوع المستند - "تقرير خارجي":

في شكل تقرير جديد ، حدد الاسم "Lesson6" وانقر على الزر "فتح مخطط تكوين البيانات":

نترك اسم المخطط الافتراضي:

إضافة مجموعة البيانات الأولى

في الرسم التخطيطي المفتوح ، انتقل إلى علامة التبويب "مجموعات البيانات" وحدد "إضافة مجموعة بيانات - استعلام" من خلال علامة الجمع الخضراء:

نسمي مُنشئ الاستعلام:

نشير إلى جدول "العملاء" والحقول التي تريد الحصول عليها من الطلب:

إضافة مجموعة بيانات ثانية

أضف مجموعة ثانية من البيانات:

حدده (DataSet2) واتصل بمُنشئ الاستعلام مرة أخرى:

نشير إلى جدول الكتاب المرجعي "الغذاء" والحقول المطلوب الحصول عليها من الطلب:

والنتيجة هي نص الطلب التالي:

يرجى ملاحظة أن لدينا الآن مجموعتي بيانات في التقرير: Dataset1 و Dataset2. لكل منها نص الطلب والبيانات الخاصة به.

جعل الأسماء أكثر وصفية

للتوضيح ، دعنا نعيد تسمية Dataset1 إلى Clients و Dataset2 إلى Food.

قم بذلك عن طريق النقر المزدوج على كل مجموعة:

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

الخامس هذه اللحظةتحتوي مجموعة "العملاء" على الحقول التالية: "الاسم" و "اللون المفضل" ، ومجموعة "الطعام": "الاسم" و "اللون".

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

حدد مجموعة "العملاء" وقم بتغيير أسماء الحقول على النحو التالي:

ثم حدد مجموعة "الطعام" وقم بتغيير أسماء الحقول كما يلي:

استدعاء منشئ الإعدادات

أخيرًا ، انتقل إلى علامة التبويب "الإعدادات" واضغط على العصا السحرية لاستدعاء مُنشئ الإعدادات:

نوع التقرير - "قائمة ...":

حدد الحقول للتقرير من كلا المجموعتين:

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

تدقيق التقرير

نحفظ التقرير وننشئه في وضع المستخدم:

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

ولكن من بين كل هذه السجلات ، نحتاج فقط إلى ترك تلك السجلات التي يكون فيها الحقل "FavouriteClientColor" مساويًا للحقل "FoodColor":

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

للقيام بذلك ، سنقوم بربط مجموعتين من البيانات (العملاء والأغذية) في حقلي FavouriteClientColor و FoodColor.

انتقل إلى علامة التبويب "روابط مجموعة البيانات" وانقر على زر علامة الجمع لإضافة ارتباط جديد:

قم بإعداد المعلمات كما في الصورة أدناه:

دعني أشرح.

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

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

التعبير هو المتلقي.نشير هنا إلى تعبير أو مجرد حقل من مجموعة بيانات جهاز الاستقبال (هنا أشرنا إلى حقل Food Color من مجموعة Food).

في هذا الطريق هذا الاتصالسيترك من القائمة السابقة فقط تلك الأسطر التي يكون حقل FavouriteClientColor مساويًا لحقل FoodColor.

لنحفظ التقرير ونشغّله في وضع المستخدم:

بخير!

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

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

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

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

في مصمم الاستعلام ، عند استدعائه من نموذج تخصيص مصدر البيانات ، لمخطط تكوين البيانات. هناك علامة تبويب "الخصائص" ، والتي لم يتم وصف استخدامها بوضوح في الوثائق. سأحاول في هذه المقالة شرح كيفية استخدام الخصائص الموجودة في البنادق ذاتية الدفع ولأي غرض. الخامس تكوينات نموذجية يتم استخدام آلية الخصائص وقيم الممتلكات بشكل نشط ، وهو متاح لأي كائن تقريبًا. في البداية ، في الكتب المرجعية ، تم تنفيذ هذه الآلية في 7.7 تكوينات. يتم تنفيذ هذه الآلية الآن باستخدام مخطط للأنواع المميزة وسجل معلومات ، لكن الفكرة تبقى كما هي. عندما واجهت الحاجة إلى استخدام هذه الآلية لأول مرة ، في مخطط ACS ، عانيت لفترة طويلة جدًا من الاستعلامات المتداخلة المنظمة ، وقمت بضمها إلى العينة الرئيسية وحيرة حول كيفية مراعاة إمكانية الأنواع الجديدة من الخصائص التي لم تكن متاحة وقت إعداد التقرير. الآلية الكاملة للخصائص ، كونها بسيطة ومنطقية من وجهة نظر المستخدم ، لم تصلح لأي معالجة عادية حتى اكتشفت علامة التبويب "الخصائص". الجدول الموجود في علامة التبويب متقلب للغاية ، فإما أنك ستدخل السطر بالكامل بشكل صحيح ، أو ترفض إدخال السطر على الإطلاق ، فلن يسمح لك النظام بترك السطر غير الكامل المملوء لوقت لاحق. لذا ، دعنا ننتقل إلى التفاصيل. العمود الأول: النوع - هنا نختار نوع الكائن الذي سيتم ربط الخصائص به ، على سبيل المثال “ReferenceLink.Nomenclature” وهذا يعني أنه الآن بالنسبة لجميع الكائنات من النوع المحدد ، سيكون من الممكن الحصول على قيم الخاصية. بعد ذلك ، في العمود التالي "عرض المصدر" ، يجب علينا تعيين معلمات مصدر أنواع الممتلكات. الخيارات هي الجدول والاستعلام ، لماذا تحتاج إلى خيار الاستعلام ، سأخبرك لاحقًا ، الآن سنقوم بتحديد عنصر الجدول. في العمود أنواع الخصائص ، يجب أن نختار جدول قاعدة المعلومات ، الذي يخزن الأنواع المطلوبة من الخصائص ، في مثالنا سيكون "خطة أنواع الخصائص. خصائص الكائنات". علاوة على ذلك ، فإن القيم المتاحة لنا للاختيار في الأعمدة Key Field و Name Field و Value Type Field تعتمد بشكل مباشر على حقول الجدول التي اخترناها. في حقل المفتاح ، نختار رابط ، في حقل الاسم - التمثيل (المستخدم هو الذي سيرى ذلك على أنه اسم السمة) ، وفي حقل النوع ، على التوالي ، نوع القيمة. الآن دعنا ننتقل إلى مصدر القيم. سيكون مصدر القيم هو سجل المعلومات "ObjectPropertyValues" ، لذلك نختار الجدول في عمود "مصدر القيمة" و "DataRegister.ObjectPropertyValues" في عمود "القيم المميزة". في الأعمدة كائن ، خاصية ، قيمة ، حدد حقول التسجيل المطابقة كائن ، خاصية ، قيمة. يبدو أن هذا كل شيء. ندخل في إعدادات المخطط ، ونضيف تجميعًا حسب البضائع ، ونضيف تجميعًا تابعًا لها ، دعنا نقول من خلال العلامات التجارية ، لدينا مثل هذه الخاصية. نقوم بتوسيع قائمة سمات مجموعة المصطلحات و ... لا نرى أي خصائص هناك: الحقيقة هي أننا في المُكوِّن ، حيث لا يوجد وصول إلى البيانات. كيف تجعل الإعداد المطلوب؟ الطريقة الأكثر ملاءمة للقيام بذلك هي استخدام وحدة التحكم في تكوين البيانات ، أو تلك الموجودة على قرص ITS ، أو تلك المضمنة في النظام الفرعي "Developer Tools". بدلاً من ذلك ، يمكنك ببساطة فتح تخصيص تقرير في وضع المؤسسة. لذلك ، لنفتح نفس الإعداد ، ولكن في وضع المؤسسة: كما ترى ، أضفنا "متطلبات" جديدة ، بينما ...

السؤال: SKD ، كيفية فتح المعلمة الشكل المطلوبخيار؟


يوم جيد! يوجد تقرير عن ACS ، ويحتوي على معلمة العلامة التجارية - نوع الدليل. كيف يمكن استدعاء شكل محدد من الاختيار لهذه المعلمة؟ لقد جربته في ACS ، في علامة التبويب "المعلمات" ، استيقظت على المعلمة المطلوبة - انقر نقرًا مزدوجًا فوق عمود "معلمات التحرير" - ضع علامة على "نموذج التحديد" واكتب القيمة Reference.Nomenclature. النموذج ، النموذج ، الاختيار ، ضروري. عند تشغيل التقرير ، يظل نموذج التحديد مستخدمًا بشكل افتراضي ، وليس النموذج المحدد في "نموذج التحديد". تكوين UT ، الأشكال التقليدية. قل لي ، pzhl ، أين ، ما هو الخطأ؟

إجابه: العبارة الرئيسيةالنماذج العادية ، قم بالتبديل إلى المدارة

سؤال: حدد قيمة في نموذج الاختيار


يوم جيد!

تطبيق شائع.

هناك وثيقة. لها العديد من السمات من النوع المرجعي ، على سبيل المثال "DirectoryLink.Banks" ، مع القيمة "Bank1".

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

حتى الآن قمت بما يلي:
تنفيذ الإجراء SelectionInSelectionForm (ارتباط)
DirectorySelectionForm = Directories.Banks.GetSelectionForm (، ارتباط) ، // احصل على نموذج اختيار دليل البنوك عن طريق ارتباط المعلمة الذي تم تمريره
// اضبط التحديد في هذا الشكل من التحديد ، وفقًا للرابط الخاص بي في الدعائم
ReferenceSelectionForm.Selection.Ref.Usage = صحيح ؛
ReferenceSelectionForm.Selection.Link.Value = ارتباط ؛
DirectorySelectionForm.FormElements.ReferenceList.HierarchicalView = False؛
DirectorySelectionForm.Open () ،
// هنا هو الكود الذي يحاكي الضغط على زر التحديد ، كيف ؟؟؟؟
نهاية الإجراء

مساعدة من جاء عبر ، أو لديه أفكار.

شكرا لك.

إجابه:

لقد فعلت ذلك مثل هذا:

الإجراء ExecuteSelectionInSelectionForm (Link، rec) // المعلمة "link" هي مرجع قيمة في نموذج المستند ؛ "الأنهار" - العنصر الحالي للشكل ، أي مربع الاختيار
DirectorySelectionForm = Directories.Banks.GetSelectionForm (، Rec، Link)؛
DirectorySelectionForm.FormElements.ReferenceList.HierarchicalView = False؛
OpenForm (DirectoryChoiceForm ، الأنهار ،) ؛

إذا كان DirectorySelectionForm.Opened () ثم
DirectorySelectionForm.Activate () ،
إنهاء إذا؛

DirectorySelectionForm.CurrentElement.CurrentString = ارتباط ؛
ELSelect = DirectorySelectionForm.CurrentElement.CurrentLine ؛

إذا كان SelectEl = undefined أو NOT يتم ملء القيمة (SelectEl) ثم
تقرير (لم يتم العثور على "القيمة" + رابط + "في النموذج الخاص باختيار دليل") ؛
غير ذلك
DirectorySelectionForm.NotifySelection (اختيار البريد الإلكتروني) ؛
إنهاء إذا؛

نهاية الإجراء

السؤال: زر "تحديد" في نموذج التحديد أو كيفية الضغط على الزر "تحديد"


يوم جيد!

تطبيق شائع.

ما هي الأفكار التي لديك للنقر فوق الزر "تحديد" في نموذج اختيار المستند / المرجع؟

أنا لا أعرض النقر بالماوس وتقوم COM بالتشغيل الآلي.

قائمة الرغبات: محاكاة الضغط على الزر "تحديد" في نموذج التحديد.

إجابه:يبدو أنه حل المشكلة ... عدة تجارب.

تمت الإضافة بعد 17 دقيقة
حتى الآن يعمل مثل هذا:

1 ج
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 إجراء تحديد الاختيار في نموذج الاختيار (المرجع ، التوصية) // معلمة "الارتباط" هي مرجع قيمة في نموذج المستند ؛ "الأنهار" - العنصر الحالي للشكل ، أي مربع الاختيار ReferenceSelectionForm = المراجع. البنوك. GetFormSelection (، Rec، Link)؛ الدليل عناصر النموذج. قائمة المراجع. HierarchicalView = خطأ ، OpenForm (DirectoryChoiceForm ، الأنهار ،) ؛ إذا كان DirectorySelectionForm. تم فتحه () ثم DirectorySelectionForm. تفعيل ()؛ إنهاء إذا؛ الدليل العنصر الحالي. CurrentString = ارتباط ؛ الاختيار الإلكتروني = DirectorySelectionForm. العنصر الحالي. السلسلة الحالية ؛ إذا كان SelectEl = undefined أو NOT ، تم ملء القيمة (SelectEl) ثم تقرير ("Value" + Link + "لم يتم العثور عليه في نموذج اختيار الدليل") ؛ خلاف ذلك ، DirectorySelectionForm. إخطار بشأن الاختيار (SelectEl) ؛ إنهاء إذا؛ نهاية الإجراء

سؤال: لماذا لم تعد القيمة محددة من نموذج التحديد؟


يوجد حقل من النوع المرجعي DocumentLink.PaymentOutput في نموذج المستند. عند التحديد ، يتم فتح نموذج لتحديد أمر دفع صادر. بعد تحديد قيمة ، لا يتم استبدالها في النموذج كما هو محدد. فكرت في البداية في معالجة الاختيار للمعالجة القياسية ونسي البرنامج تسجيل معالجة الاختيار. لكن كل شيء نموذجي هناك. فتح النموذج ليس آليًا ، في المجال الذي أختار فيه عدم إجراء أي أحداث. ماذا يمكن أن يكون؟
- جمعيةرسائل، 2 يناير 2018 ---

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

إجابه:

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

سؤال: مساعدة من فضلك اطلب الاختيار في شكل اختيار دليل


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

إجابه:

قال elektron:

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

انقر فوق لتوسيع ...

تم الحل. صنع لوحة مفاتيح افتراضية على شكل اختيار الكتاب المرجعي "المقاولون".
عندما تضغط على أي مفتاح ، يتم تشغيل الرمز
نتيجة البحث حسب السمة = TekSpr.FindByDesign (N، False)؛
FormElements.DirectoryList.CurrentString = PropertySearchResult ؛
حيث H متغير يحتوي على قيمة المفتاح

سؤال: نموذج اختيار مع تحديد قائمة القيم


طاب مسائك. نحن بحاجة لمساعدتكم في حل مشكلة بسيطة.

Konfa ZUP 2 .5 .113 .1 يوجد تقرير خارجي ، يحتوي التقرير على سمة "قائمة القواعد" ، والنوع عبارة عن قائمة من القيم.
يوجد نموذج تقرير. في نموذج التقرير ، الحقل "قائمة إدخال القواعد" ، و ValueType = "ListValues" ، و typeListValues ​​= "ReferenceLink.Value of ObjectsProperties".

كيف تفتح استمارة اختيار مع اختيار من قبل مالك العقار؟

شكرا لك مقدما!

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

السؤال: افتح نموذج تحديد المستند برمجيًا 1c 8.3


كيف تفتح نموذج اختيار الوثيقة 1c 8.3 برمجيًا وتحفظ القيمة المحددة في متغير؟

قدمت Google بعض الحلول المقرمشة ، وأود أن أعرف كيفية القيام بذلك بشكل صحيح.

إجابه:+ () PM لديه أيضًا مثل هذه الطريقة السحرية - تنزيل.

قسم جدولي
حمل
بناء الجملة:

تحميل(<Таблица>)
المعلمات:

<Таблица>(مطلوب) النوع: ValueTable.
جدول القيم من مكان التحميل جزء جدولي... يتم دمج أعمدة الجداول حسب الاسم.
وصف:

يقوم بتحميل قسم جدولي من جدول القيم. في هذه الحالة ، يتم حذف جميع الصفوف السابقة للقسم الجدولي. عند التحميل ، تمتلئ القيم الموجودة في أعمدة القسم الجدولي بقيم من أعمدة جدول القيم التي لها نفس الأسماء.

التوفر:

الخادم ، عميل الدهون ، اتصال خارجي.
ملحوظة:

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

Composition.Load (جدول التكوين) ؛

سؤال: تمرير المعلمات إلى نموذج الاختيار.


أطلب تلميحات.
من المستند "مبيعات السلع والخدمات" يسمى شكل الاختيار عن طريق العقد (ERP). تم تصحيح كونفا ، أقارنه بواحد نموذجي. في ProcessingCreationNaServer ، ألقي نظرة على نموذج الخيارات في مصحح الأخطاء. أنا فقط لا أستطيع أن أفهم كيف يتم تشكيل قائمة الاختيار - لا توجد دعوة صريحة لهذا النموذج مع المعلمات ، لا يوجد سوى عنصر اختيار واحد في خاصية "SelectionParametersLinks" ، وهناك بالفعل العديد في Parameters.Selection. هل يمكن لأحد أن يخبرني أين أنظر.

ميزات إنشاء التقارير في 1C v8 في وضع العميل السميك

كيف تختار الخيار؟

  • ضع الزر "تحديد خيار" في لوحة التقرير
  • ضع الحقل "OnDate" في النموذج

عينة من الرموز: ProcedureFormSelectOptions (Button) layout = GetLayout ("MainDataCompositionSchema") ؛ spVariants = قائمة جديدة للقيم ؛ لكل خيار من Layout.OptionsSettings Cycle spVariants.Add (option.Settings ، option.Presentation) ؛ نهاية الدورة

الاختيار = spVariants.SelectItem () ، إذا كان الاختيار = غير محدد ثم العودة ؛ إنهاء إذا؛

رابط إعدادات التحميل (اختيار القيمة) ؛

استمارة ()؛ نهاية الإجراء

الإجراء OnDateWhenChanging (العنصر) إنشاء () ؛ نهاية الإجراء

الإجراء إنشاء () FormElements.Result.Clear () ؛ SettingsComposer.Settings.DataParameters.SetParameterValue ("Period"، OnDate)؛ BuildResult (Form Elements.Result) ؛ نهاية الإجراء

فتح الإجراء () OnDate = CurrentDate () ، استمارة ()؛ نهاية الإجراء

ميزات إنشاء التقارير عبر ACS

إنشاء تقرير خطوة بخطوة

  1. قم بإنشاء تقرير في عقدة التقارير
  2. قم بإنشاء تخطيط في تقرير ، ونوعه هو مخطط تكوين البيانات
  3. تعيين في خصائص التقرير: مخطط تكوين البيانات الرئيسي = تخطيط تم إنشاؤه
  4. في خصائص التقرير ، قم بتعيين النظام الفرعي الذي ينتمي إليه (سيتم عرض التقرير في المؤسسة في جزء التنقل العلوي)
  5. إنشاء طلب في التخطيط (العنصر: إضافة مجموعة البيانات - الطلب)
  6. في علامة التبويب المعلمات في التخطيط ، قم بإلغاء تحديد جميع الأسطر الموجودة في عمود تقييد الوصول - أي ستكون جميع المعلمات متاحة للتحرير من قبل المستخدم
  7. في علامة التبويب الإعدادات في التخطيط ، في النافذة حيث يتم عرض عقدة التقرير ، قم بإنشاء مجموعة جديدة دون تحديد حقل التجميع - سيتم إنشاء سطر تفصيلي
  8. في علامة تبويب الإعدادات في التخطيط ، في النافذة التي يوجد بها ملف مجموعة إضافيةالإشارات المرجعية ، حدد إضافية. علامة التبويب المعلمات - قم بتمييز جميع المعلمات بعلامة وعلى كل معلمة انقر فوق خصائص عنصر الإعدادات المخصصة ، سيتم فتح نافذة إعدادات المعلمات ، حيث تحتاج إلى تحديد المربع - قم بتضمين المعلمة في الإعدادات المخصصة
  9. في علامة التبويب "الإعدادات" في التخطيط ، في النافذة حيث يتم عرض مجموعة إضافية من علامات التبويب ، حدد "إضافية". علامة التبويب SelectedFields - هناك تحتاج إلى إضافة الأعمدة التي سيتم عرضها في التقرير
  10. قم بتشغيل المؤسسة ، افتح التقرير ، قم بتعيين قيم المعلمات ، إنشاء (تحقق من تحديد الخيار الرئيسي لإنشاء التقرير)

كيف تضيف معلمة غير قابلة للتحرير من قبل المستخدم؟

على سبيل المثال ، نحتاج إلى تعيين معامل الاستعلام "Infobase"

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


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

& إجراء AtServer عند تحميل OptionOnServer (الإعدادات)

// ضبط إعدادات المعلمة = Report.ConfigurationComposer.Settings ؛ Settings.DataParameters.SetParameterValue ("InformationBase"، Report.InformationBase) ؛ نهاية الإجراء

كيف أقوم بتعيين الخيارات لتقرير؟

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

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

  • في شكل تخطيط التخطيط في علامة التبويب "الإعدادات" في الحقل الموجود أعلى اليمين ، يمكنك إنشاء المجموعات الضرورية

كيف يتم عرض تقرير برمجيا؟

في وحدة النموذج:

& عند إجراء العميل ، إنشاء تقرير تنفيذ ()

ThisForm.ComposeResult () ،

نهاية الإجراء

كيف أقوم باختبار التقرير؟

عليك فعل:

  • لتشكيل موقف في اختبار العميل - الطريقة الأكثر ملاءمة هي من خلال جدول الموقف
  • الحصول على نموذج التقرير - form = GetForm ("Report.Processes.Form.Report Form") ؛
  • تحميل الخيار المطلوبتقرير - اضبط معلمة ملحق نموذج التقرير "OptionKey" (اسم الإعداد في نموذج تكوين البيانات)
  • تحميل إعدادات التقرير المطلوبة -؟ لملء معلمة امتداد نموذج التقرير "UserSettings" (اكتب "UserDataCompositionSettings") لم تنجح ، كل شيء معقد ، انظر أدناه.
  • نموذج مفتوح - نموذج. فتح ()
  • تنفيذ التشكيل - form.ComposeResult () ؛
  • تحقق من المحتوى وثيقة جدول البياناتالشكل النتيجة - سيكون من الجيد وجود وظائف مقارنة مع المرجع mxl
  • شكل وثيق - شكل إغلاق () ؛ - أو ربما لا تحتاج إلى فتحه ، فأنت بحاجة إلى التحقق

أنظر أيضا

  • الوصف: قائمة التعليمات / مساعد بناء الجملة / علامة تبويب المحتويات / كائنات / ملحقات واجهة التطبيق المُدارة شكل مدار/ ملحق النموذج المُدار لتقرير / معلمات النموذج

كيف يمكنني تحميل إعدادات التقرير المطلوبة؟

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

مخطط عملي حقًا:

1. إنشاء معلمات في التقرير

  • الفترة من النوع "الفترة القياسية"
  • تحديد نوع ListValues ​​(من الأفضل أن يكون لديك هيكل ، لكنه ليس في قائمة أنواع المعلمات ، بالإضافة إلى نوع عشوائي)

2. قم بتمرير المعلمات المطلوبة لإجراء GetForm:

الفترة = StandardPeriod الجديد ؛ period.Variant = VariantStandardPeriod.ArbitraryPeriod ؛ period.StartDate = currentDate ، period.EndDate = تاريخ الغد ؛

اختيار = قائمة جديدة من القيم ؛ select.Add (Testing.GetObject (stSituation، "BP1")، "BusinessProcess") ؛

stParameters = بنية جديدة ("مفتاح متغير ، فترة ، تحديد" ، "رئيسي" ، فترة ، تحديد) ؛ // OpenFormModally ("Report.Process Movement.Form.ReportForm"، stParameters) ؛ form = GetForm ("نموذج Report.Process Movement.Form.Report" ، stParameters) ؛

3. في حالة معالجات النموذج ، قم بتعيين المعلمات

& AtServer Function cnGet (قائمة ، عرض) تصدير لكل عنصر من قائمة قائمة Loop If item.View = view ثم إرجاع item.Value؛ إنهاء إذا؛ نهاية الدورة رد غير محدد ؛ وظيفة النهاية

& OnServer Procedure SetValueUserSettings (الإعدادات ، الاسم ، القيمة) لكل عنصر من Settings.Elements Loop IfTypeValue (element) = Type ("DataCompositionSettingsParameterValue") ثم If String (element.Parameter) = الاسم ثم element.Value = Value؛ item.Usage = صحيح ؛ إنهاء إذا؛ إنهاء إذا؛ نهاية الدورة نهاية الإجراء

& OnServer Procedure SetValueCustomSelection (Settings، Name، Value) لكل عنصر من الإعدادات. حلقة العناصر IfTypeValue (عنصر) = النوع ("DataCompositionFlection") ثم لكل عنصر SelectFrom.Elements Loop If Row (cull.LeftValue) = الاسم ثم حدد. RightValue = القيمة ؛ التحديد.الاستخدام = صحيح ؛ إنهاء إذا؛ نهاية الدورة إنهاء إذا؛ نهاية الدورة نهاية الإجراء

& إجراء AtServer عند تحميل OptionOnServer (الإعدادات)

CurrentVariantName = PresentCurrentVariant ؛

الإعدادات = تقرير ، مؤلف الإعدادات ، الإعدادات ، Settings.DataParameters.SetParameterValue ("InformationBase"، Report.InformationBase) ؛

نهاية الإجراء

& إجراء AtServer عند LoadingUserSettingsOnServer (الإعدادات) الإعدادات = Report.ConfigurationComposer.UserSettings؛

<>"00010101" ثم الإعدادات = Report.ConfigurationComposer.UserSettings ؛ SetUserSettingValue (الإعدادات ، "الفترة" ، Parameters.Period) ؛ إنهاء إذا؛

ssBusinessProcess = spGet (Parameters.Selection، "BusinessProcess") ؛ إذا ssBusinessProcess<>غير محدد ثم SetCustomSelectionValue (الإعدادات ، "BusinessProcess" ، ssBusinessProcess) ؛ إنهاء إذا؛

نهاية الإجراء

ملحوظات:

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

كيفية عمل عدة معاملات استعلام (قائمة) في ACS؟

في الطلب ، تحتاج إلى استخدام التعبير "في (& ParameterName)"(راجع التعبيرات المنطقية في لغة الاستعلام 1Cv8)

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

كيفية جعل معلمات الطلب معطلة في ACS؟

في طلب ACS ، يجب عليك استخدام الإنشاءات المحاطة بأقواس معقوفة "{}" .

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

لمزيد من التفاصيل انظر تمديد لغة الاستعلام لنظام تكوين البيانات (1Cv8)

كيفية عمل تقرير مع انتشار حسب الأعمدة؟

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

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

كيفية تخصيص تنسيق الإخراج للحقول؟

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

هناك احتمالان:

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

يمكن تحديد تعبيرات الحساب لحقول الموارد (علامة تبويب الموارد) - على سبيل المثال ،

مجموع (الوقت) /3600.0

للتحويل من ثوان إلى ساعات.

يمكن ضبط الدقة المطلوبة من خلال حقل "التصميم" في علامة التبويب "مجموعات البيانات".

تفاصيل ضبط معلمات نظام تكوين البيانات

هناك أنواع مختلفة من المعلمات وتتطلب معالجة مختلفة:

معلمات البيانات

يتم تحديد معلمات البيانات في طلب ACS (مصدر البيانات).

يتم تمرير معلمات البيانات إلى استعلام مصدر البيانات وتحديد البيانات المراد استردادها.

كائن SettingsComposer له خاصية خاصة للعمل مع معلمات البيانات إعدادات Composer.Settings.Data Parameters

يمكن ضبطه عن طريق استدعاء النموذج

الإعدادات = تقرير ، مؤلف الإعدادات ، الإعدادات ، Settings.DataParameters.SetParameterValue ("InformationBase"، Report.InformationBase) ؛

اختيار

يتم فرض التحديدات على البيانات المستلمة بعدالاسترداد من مصدر البيانات.

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

على سبيل المثال: الإعدادات = تقرير ، مؤلف الإعدادات ، الإعدادات ، Settings.DataParameters.SetParameterValue ("InformationBase"، Report.InformationBase) ؛

لكل عنصر من Parameters.Selection CyclePickingElement = Settings.Obbing.Elements.Add (Type ("DataCompositionOptionOption")) ؛ SelectionItem.ComparisonType = DataCompositionCompareView.Equal ؛ SelectionItem.LeftValue = NewDataCompositionField (element.View) ، SelectionItem.RightValue = element.Value ؛ نهاية الدورة

إعدادات مخصصة

تحدد تفضيلات المستخدم البيانات التي يمكن للمستخدم تخصيصها في النموذج.

يمكن عرض إعدادات المستخدم في النموذج في جدول خاص ويمكن استدعاؤها من خلال زر "الإعدادات" ومن قائمة "جميع الإجراءات".

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

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

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

المكان المناسب لتعيين القيم المطلوبة هو معالج الأحداث "OnLoadingUserSettingsOnServer" لملحق نموذج التقرير.

& إجراء OnServer عند تحميل User SettingsOnServer (Settings)

إذا كانت Parameters.Period.End Date<>"00010101" ثم الإعدادات = Report.ConfigurationComposer.UserSettings ؛ Settings.Elements.Value = Parameters.Period؛ إنهاء إذا؛

نهاية الإجراء

استخدام مصدر بيانات الكائن

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

DataDecryption = غير محدد ؛

مؤلف التخطيط = مؤلف تخطيط DataComposition الجديد ؛ LayoutComposer = LayoutComposer.Run (DataCompositionSchema ، SettingsComposer.Settings ، DecodeData) ؛

معالج التكوين = معالج تكوين البيانات الجديد ؛ LayoutProcessor.Initialize (LayoutDetail، New Structure ("Data"، GetExternalSourceData ())، DecryptionData) ؛

تم إرفاق مثال بسيط (على سبيل المثال للعمل ، يجب أن يكون لديك دفاتر مرجعية لـ "المقاولين" و "عقود المقاولين").

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

إعدادات إضافية لحقول ACS.

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

مكبر الصوت "القيم المتوفرة"يسمح لك بتحديد القيم المتاحة للاختيار وتقييد اختيار المستخدم لإطارات معينة.

مكبر الصوت "تسجيل"يسمح لك بتعيين مظهر حقل التخطيط دون استخدام التخطيطات. يمكنك تحديد لون الخط ولون الحدود واتجاه النص وما إلى ذلك.

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

الحقول المحسوبة

في علامة التبويب "الحقول المحسوبة" لتكوين البيانات ، يمكنك إنشاء الحقول المحسوبة الخاصة بك.

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

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