1s حدد قيمة مجموعة القائمة
بناء الجملة الكامل (انقر للتوسيع)
قائمة القيم
وصف:
قائمة القيم هي كائن غير مخزن في قاعدة البيانات يسمح لك ببناء مجموعات ديناميكية من القيم لحل مشاكل الواجهة ومعالجتها (إضافة ، تحرير ، حذف عناصر ، فرز). يمكن ملؤها بقيم من أي نوع ، أي في قائمة واحدة ، يمكن أن تكون أنواع القيم المخزنة مختلفة. أحد الأمثلة على استخدام هذا الكائن هو تنظيم اختيار مستند معين من قائمة المستندات المحتملة التي تم إنشاؤها بواسطة خوارزمية معقدة.
عناصر المجموعة: ItemListValues
من الممكن اجتياز المجموعة لكائن باستخدام عامل التشغيل لكل ... من ... دورة. يحدد الاجتياز عناصر المجموعة.
من الممكن الوصول إلى عنصر مجموعة باستخدام عامل التشغيل [...]. يتم تمرير مؤشر العنصر كوسيطة ( ترقيم من 0).
ملكيات:
أساليب:
المنشئون:
& OnClient Procedure ExecuteCode (أمر) /// كيفية إنشاء قائمة القيم في 1s 8.3 و 8.2قائمة = قائمة جديدة للقيم ؛ /// كيفية إضافة عنصر إلى قائمة القيم في 1s 8.3 و 8.2 // إضافة معلمات الطريقة:// - المعنى // - أداء // - علامة (اختياري) // - صورة (مطلوب)قائمة. إضافة (1980 ، // قيمة العنصر "عام ميلاد فاسيا"// أداء ) ؛ قائمة. إضافة (1985 ، "عيد ميلاد يوليا") ; // يمكن أن تكون القيم أنواع مختلفة قائمة. أضف ("Polina" ، "اسم الطفل") ؛ /// كيفية إدراج عنصر في قائمة القيم في 1s 8.3 و 8.2 // إدراج في الموضع رقم 2 (العناصر مرقمة من 0) // عنصر بقيمة 2010 والتمثيل // "سنة ميلاد ابنتهما المشتركة"قائمة. معجون (2 ، 2010 ، "سنة ميلاد ابنتهما المشتركة") ; /// كيفية تجاوز عناصر قائمة القيم في 1s 8.3 و 8.2لكل عنصر من تقرير تكرار القائمة (عنصر. عرض + ":" + سلسلة (عنصر. قيمة)) ؛ نهاية الدورة /// كيفية مسح قائمة القيم في 1s 8.3 و 8.2قائمة. واضح() ؛ قائمة. إضافة ("الاثنين") ؛ قائمة. إضافة ("الثلاثاء") ؛ قائمة. يضاف ("الأربعاء") ؛ /// كيفية معرفة عدد عناصر قائمة القيم وأيضًا /// احصل على عنصر قائمة من خلال فهرسها في 1s 8.3 و 8.2 // الترقيم من الصفرللفهرس = 0 على شكل قائمة. الكمية () - تقرير حلقة واحدة (قائمة [فهرس]) ؛ نهاية الدورة /// كيفية العثور على عنصر قائمة بقيمته في 1s 8.3 و 8.2 ValueTuesday = قائمة. FindByValue ("الثلاثاء") ؛ /// كيفية معرفة فهرس عنصر في القائمة في 1s 8.3 و 8.2تقرير (قائمة. فهرس (ValueTuesday)) ؛ // 1 ، لأن الترقيم يبدأ من الصفر /// كيفية فرز القائمة حسب قيمها في 1s 8.3 و 8.2 // كان: الإثنين ، الثلاثاء ، الأربعاءقائمة. SortByValue (SortingDirection. Descending) ؛ // أصبح: الأربعاء ، الإثنين ، الثلاثاء /// كيفية إزالة عنصر من قائمة القيم في 1s 8.3 و 8.2 // إزالة العنصر الأول // المعلمة: عنصر القائمة // أو فهرس العنصر// يمكنك عمل هذه القائمة. حذف (قائمة [0]) ؛ // أو هكذا // List.Delete (0) ، /// كيفية إزاحة عنصر من قائمة القيم في 1s 8.3 و 8.2 // قم بتحويل عنصر الصفر إلى موضع واحد للأمام // كان: الاثنين الثلاثاءقائمة. نقل (0 ، 1) ؛ // أصبح: الثلاثاء الاثنين /// كيفية عمل نسخة من القائمة في 1s 8 ListCopy = قائمة. ينسخ() ؛ الألوان = قائمة قيمة جديدة ؛ الألوان. يضاف ("أحمر") ؛ الألوان. يضاف ("أخضر") ؛ الألوان. يضاف ("أزرق") ؛ /// كيفية تفريغ قيم القائمة في مصفوفة في 1s 8.3 و 8.2 ArrayColors = ألوان. UnloadValues () ، /// كيفية تحميل قيم القائمة من مصفوفة في 1s 8.3 و 8.2الألوان. LoadValues (ArrayColors) ؛ EndProcedure /// كيفية عمل اختيار غير مشروط لقيمة من القائمة /// القيم في 1s 8.3 و 8.2& إجراء OnClient How toMakeModalSelectValue (Command) Colors = New ValueList؛ الألوان. يضاف ("أحمر") ؛ الألوان. يضاف ("أخضر") ؛ الألوان. يضاف ("أزرق") ؛ // الإجراء AfterItemSelect محدد أدناه AlertAfterItemSelection = New AlertDescription ( "AfterElementSelection"، ThisObject) ؛ الألوان. ShowItemChoice (AlertAfterItemChoice ، "اختر لونك المفضل") ؛ EndProcedure & AtClient Procedure AfterElementSelection (Element، Parameters) Export If Element<>تقرير ثم غير محدد (قيمة العنصر) ؛ إنهاء إذا ؛ EndProcedure /// كيفية عمل علامة غير مشروطة للقيم من قائمة /// القيم في 1s 8.3 و 8.2& إجراء OnClient How toMakeModalValueMark (Command) Colors = New ValueList؛ الألوان. يضاف ("أحمر") ؛ الألوان. يضاف ("أخضر") ؛ الألوان. يضاف ("أزرق") ؛ // إجراء تم تعريف AfterMarkingItems أدناه مباشرةً AlertAfterMarkItems = New AlertDescription ( "AfterMarkingItems"، ThisObject) ؛ الألوان. ShowItemMark (NotificationAfterItemMark ، "اختر ألوانك المفضلة") ؛ الألوان. FillRemarks (صحيح) ؛ EndProcedure & OnClient Procedure AfterMarkingElements (Elements، Parameters) تصدير If Elements<>غير محدد ثم لكل لون من حلقة العناصر إذا كان اللون. وضع علامة ثم تقرير (اللون. القيمة) ؛ إنهاء إذا ؛ نهاية الدورة إنهاء إذا ؛ EndProcedure /// كيفية عمل اختيار مشروط لقيمة من القائمة في 1s 8.3 و 8.2& في إجراء العميل How toMakeModalSelectValue (Command) Colors = New ValueList؛ الألوان. يضاف ("أحمر") ؛ الألوان. يضاف ("أخضر") ؛ الألوان. يضاف ("أزرق") ؛ SelectColor = ألوان. اختر البند ( "اختر لونك المفضل") ؛ إذا اخترت اللون<>تقرير ثم غير محدد (قيمة SelectColor) ؛ إنهاء إذا ؛ EndProcedure /// كيفية عمل علامة مشروطة للقيم من قائمة /// القيم في 1s 8.3 و 8.2& إجراء OnClient How toMakeModalValueMark (Command) Colors = New ValueList؛ الألوان. يضاف ("أحمر") ؛ الألوان. يضاف ("أخضر") ؛ الألوان. يضاف ("أزرق") ؛ إذا كانت الألوان. وضع علامة على العناصر ( "اختر ألوانك المفضلة") ثم لكل لون من دورة اللون إذا كان اللون. وضع علامة ثم تقرير (اللون. القيمة) ؛ إنهاء إذا ؛ نهاية الدورة إنهاء إذا ؛ // وهذه هي الطريقة التي يمكنك بها ضبط جميع العلامات مرة واحدة // قائمة لقيمة محددةالألوان. FillRemarks (صحيح) ؛ EndProcedure /// قم بتنزيل وتشغيل هذه الأمثلة على جهاز كمبيوتر |
بغرض افتح نموذج اختيار مع التحديد في 1s 8.2(النماذج العادية) ، نحتاج إلى القيام ببعض الإجراءات. سنحصل عليه أولا. بعد ذلك ، سنقوم بتعيين التحديد وفتحه برمجيًا ، إليك مثال على الكود:
التحديد على النموذج في حقل الإدخال 1C 8.2 مع عدة قيم
في المثال أعلاه ، نظرنا كيفية تحديد الاختيار في نموذج الاختيارحسب قيمة محددة. الآن دعونا نلقي نظرة على الموقف عندما تحتاج إلى استبدال عدة قيم ، على سبيل المثال ، يمكن أن تكون مصفوفة وتفريغًا من نتيجة استعلام. هذا اختيار في حقل الإدخال 1sمع معاني متعددة.
أولاً ، نحصل على نموذج التحديد ، ونمرر "العنصر" (المالك) في المعلمات ، ونضبط علامة وضع التحديد. ثم نقوم بإنشاء قائمة من القيم والمصفوفة ، ونلاحظ أنه عند تحديد نوع المقارنة في القائمة ، لا يمكن أن يكون هناك سوى كائن من النوع قائمة القيم. نضيف عناصر إلى المصفوفة ، ثم نقوم بتحميل هذه المصفوفة في قائمة القيم ، والتي ، نتيجة لذلك ، قمنا بتعيينها في التحديد. أيضًا ، لا تنسَ تمكين العلم لاستخدام هذا التحديد ، وتعيين نوع المقارنة.
تعيين التحديد في حقل الإدخال في النموذج في 1C 8.3 ، الحدث StartChoice
فكر الآن التحديد في حقل الإدخال في نموذج مُدار في 1C 8.3. دعنا نجد في الشكل العنصر الذي يهمنا ، والذي سنحدد فيه التحديد ، في حالتنا هذا هو حقل "المنظمة". نجد الحدث "StartChoice" ، انقر على العدسة المكبرة ونجد أنفسنا في الإجراء. نرى المعلمة ChoiceData ، هذه المعلمة من نوع قائمة القيم. من أجل قصر التحديد على العناصر الضرورية ، نحتاج إلى ملء قائمة القيم. يمكننا تحديد العناصر فقط على الخادم ، لذلك نقوم بإنشاء إجراء باستخدام التوجيه التجميعي & AtServer. في هذا الإجراء ، نقوم بملء بيانات الاختيار.
في كثير من الأحيان يكون من الضروري في النموذج السماح للمستخدم بتحديد الإعدادات في النموذج (قبل النقر فوق الزر "تشغيل الكل"). عندما تحتاج إلى تحديد قيمة واحدة من عدة قيم محددة مسبقًا ، غالبًا ما يتم استخدام قائمة منسدلة من قيم 1C في النموذج.
قائمة منسدلة لقيم 1C في النموذج - أضف حقل اختيار إلى نموذج العميل السميك ، وحدد اسمه. لمنع المستخدم من تعديل القائمة ، قم بإلغاء تحديد مربع الاختيار "تحرير النص" في خصائص حقل التحديد.
سنضيف قائمة التحديد نفسها برمجيًا في معالج النموذج "عند الفتح". يحتوي حقل التحديد على قائمة فرعية من القيم FormElements.SelectionFieldName.SelectionList ولتعيين القيمة الافتراضية ولتحديد القيمة المحددة FormElements.SelectionFieldName.Value:
الإجراء عند الفتح ()
FormElements.ChoiceValues.ChoiceList.Clear () ؛
FormElements.ChoiceValues.ChoiceList.Add (0، "إنشاء مستند")؛
FormElements.ChoiceValues.ChoiceList.Add (1، "تغيير المستند") ؛
FormElements.ChoiceValues.ChoiceList.Add (2، "Delete document")؛
FormElements.SelectValues.Value = 0 ؛
EndProcedure
قائمة منسدلة لقيم 1C في النموذج - في العميل الرقيق في النموذج ، تحتاج إلى إنشاء سمة نموذج حيث سنخزن النتيجة ، على سبيل المثال ، مع نوع السلسلة. اسحبه إلى النموذج.
القائمة المنسدلة لقيم 1C في النموذج - الخيار 1)
- تمكين زر تحديد القائمة
- في خاصية "قائمة التحديد" ، انقر على "..." وأدخل الخيارات
- سيتم حفظ نتيجة الاختيار في السمة المحددة
القائمة المنسدلة لقيم 1C في النموذج - الخيار 2)
- تمكين زر تحديد القائمة
- إضافة معالج "Start of SelectionFromList"
& AtClient
الإجراء المحدد ValueStartSelection FromList (عنصر ، معالجة قياسية)
Elements.SelectedValue.SelectionList.Add ("إضافة مستند") ؛
Elements.SelectedValue.SelectionList.Add ("تحرير المستند") ؛
Elements.SelectedValue.SelectionList.Add ("حذف المستند") ؛
EndProcedure
النتيجة متشابهة. مطلوبة إذا كان يجب ملء القائمة بالمراجع إلى الدلائل / المستندات غير المحددة مسبقًا.
القائمة المنسدلة لقيم 1C في النموذج - الخيار 3)
يعمل هذا الخيار بشكل مشابه ، لكن الواجهة تبدو مختلفة.