المستخدمة في مجموعة SKD. تجميع الحقول حسب المجلدات في نظام التخزين

24.07.2023

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

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

في جدول "الحقول" يتم ملء الخصائص:
1. "الحقل" - اسم الحقل، في حالة الطلب يتم ملؤه تلقائيًا، في حالة مجموعة البيانات "الكائن" يتم تحديده يدويًا.

2. "المسار" - يشير إلى المسار إلى البيانات من المجموعة. هذا الاسم المحدد في هذا الحقل هو الذي سيظهر في جميع إعدادات ACS الإضافية.

3. "العنوان" - سطر بعنوان الحقل الذي يتم عرضه في التقرير أو في الإعدادات

4. "الحد من توفر الحقل" - سلسلة من مربعات الاختيار - الإعدادات المستخدمة للإشارة إلى كيفية عدم إمكانية استخدام هذا الحقل في الإعدادات. من الممكن الإشارة إلى مثل هذه القيود
أ. "الحقل" - لا يمكن استخدام الحقل في تحديدات ACS
ب. "الشرط" - لا يمكن استخدام الحقل كشرط
ج. "المجموعة" - يحظر استخدام الحقل في مجموعات
د. "الطلب" - حظر استخدام الحقل في الفرز

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

6. "الدور" - يدل على خصائص إضافية للمجال وعلاقاته مع الحقول الأخرى. لتحرير الأدوار، يتم فتح مربع حوار خاص:

أ. "لا يوجد دور" - لا يتم فرض "أحمال" خاصة على الحقل، وهو الوضع الافتراضي لمعظم الحقول
ب. "الفترة" - تحتوي على رقم الفترة إذا كان الحقل يحتوي على نوع فترة. يجب أن تكون الفترة الأصغر من النوع 1. على سبيل المثال، في الاستعلام، نقوم بحساب الإجماليات لفترات مختلفة:periodSecond = 1،periodDay = 2،periodWeek = 3، وما إلى ذلك. سيشير هذا الرقم إلى كيفية حساب إجماليات حقول الرصيد في ACS.
ج. "إضافي" - يشير إلى أن حقل الفترة اختياري
د. "الحساب" - يشير إلى أن الحقل عبارة عن حساب محاسبي ويستخدم لحساب الإجماليات المحاسبية.
ه. "النوع" هو تعبير سلسلة يُستخدم لحساب نوع الحساب. يجب أن تكون نتيجة التعبير قيمة تعداد AccountType (نشط، خامل، نشط/خامل) أو رقم. تتوافق قيمة الرقم 0 مع الحساب النشط، 1 - سلبي، 2 - سلبي نشط. يتم كتابة التعبير بلغة التعبير الخاصة بنظام تكوين البيانات. يتم استخدام هذه المعلومات في الحسابات بناءً على مجالات الأرصدة المحاسبية؛
F. "الباقيات" - إشارة إلى أن الحقل هو حقل باقي؛
ز. "الاسم" - سلسلة تحتوي على اسم مجموعة الحقول المتبقية. على سبيل المثال: "المبلغ"، "الكمية"؛
ح. "النوع" - نوع الباقي (InitialRemainder، FinalRemainder، No (الحقل ليس باقًا))؛
أنا. "فقاعة." النوع" - نوع الرصيد المحاسبي (مدين، دائن، لا شيء (الحقل ليس رصيدًا محاسبيًا))؛
ي. "حقل الحساب" – اسم حقل الحساب الذي يتم حساب الأرصدة له؛
ك. تجاهل القيم الخالية - إذا تم تعيينها، فلن تحتاج النتيجة إلى تضمين سجلات المجموعة لهذا الحقل إذا كان الحقل يحتوي على قيمة فارغة.
ل. "مطلوب" - عند تنفيذ استعلام، سيكون الحقل الذي يحمل العلامة المحددة موجودًا دائمًا، حتى لو لم يتم تحديده في التحديد.

7. "عرض التعبير" - يحتوي على تعبير يستخدم عند عرض قيم الحقول في التقرير.

على سبيل المثال، تحتاج إلى تحويل تاريخ إلى تنسيق خاص؛ ولهذا نشير إلى التعبير التالي: "Format(PeriodHalf-Year,DF = """Half-Year from"" dd.MM.yyyy"""" )" أو قم بتحويل الرابط إلى المستند إلى نموذج عشوائي: ""Date : "+Link.Date+"Number: "+Link.Number".

8. "تعبير الطلب" - كيفية ترتيب هذا الحقل. عند التحرير، يتم فتح مربع حوار:


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

9. "التحقق من التسلسل الهرمي" - يُستخدم إذا كنت بحاجة إلى إنشاء تحديدات غير قياسية.
أ. "مجموعة البيانات" - مجموعة بيانات للتحقق من التسلسل الهرمي؛
ب. "المعلمة" - معلمة سيتم فيها استبدال القيمة التي تريد الحصول على عناصر فرعية لها؛

10. "نوع القيمة" - توضيح نوع القيمة لحقل مجموعة البيانات، وهو مفيد للاستخدام لتوضيح الحقول من النوع المركب

11. "التصميم" - معلمات التصميم لحقل مجموعة البيانات. عند التحرير، يتم فتح مربع حوار:


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

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


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

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

وظائف لغة التعبير SKD.

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

فترة البداية (DateTime(2002, 10, 12, 10, 15, 34), "Month")

تختلف هذه الوظيفة عن وظيفة لغة الاستعلام في المعلمة الثانية. هنا يتم استخدام السلسلة "Month"، بينما يتم استخدام MONTH الحرفي في وظيفة لغة الاستعلام.

يمكن العثور على أوصاف الوظائف عن طريق فتح Configurator: تعليمات -> المحتويات -> نظام تكوين البيانات -> لغة تعبير نظام تكوين البيانات -> وظائف لغة تعبير نظام تكوين البيانات.

أين يمكنك استخدام وظائف لغة التعبير SKD إذا لم يكن من الممكن استخدامها في لغة الاستعلام؟

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

ميزات عملية ACS.

عند استخدام استعلام مجموعة بيانات، هناك عدد من الميزات التي تظهر
عند تحسين ACS.

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

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

الإعدادات الأساسية لحقول ACS.

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

عمود "مجال"يحتوي على اسم الحقل الذي تم الحصول عليه من قاعدة المعلومات (IB).
قيمة غير قابلة للتغيير تم ترميزها ضمنيًا للطلب. وهو يتوافق مع الاسم المستعار للطلب.

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

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

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

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

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

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

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

أعمدة حدود حقل ACS

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

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

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

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

منتج. المادة + "-" + المنتج. اسم

في هذا المجال يمكننا استخدام كافة إمكانيات لغة SKD والوصول إلى وظائف الوحدات المشتركة.

إذا كانت هناك وحدة نمطية عامة تسمى "For SKD" في التكوين وفي هذه الوحدة يتم تحديد وظيفة عامة (مع الكلمة الرئيسية "تصدير") "GetView" مع معلمة "Link"، ثم في حقل "عرض التعبير" نحن سوف يكتب:

ل SKD. GetView(المنتج)

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

عمود "تعبير الطلب"اللازمة لتحديد الفرز غير قياسي. هنا يمكنك استخدام نفس التركيبات الموجودة في حقل "عرض التعبير".

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


المنصة: 8.3؛ نوع النموذج: متحكم فيه.

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

كمثال، لنأخذ الذي أنشأناه سابقًا ونجربه. دعني أذكرك أن التقرير يعرض الجدول التالي:

تجميع الحقول في مجلدات في علامة التبويب "مجموعات البيانات".

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

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

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

الآن دعنا ننتقل إلى الحقول المحددة في الإعدادات ونرى كيف تنعكس التغييرات التي تم إجراؤها هناك:

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


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

تجميع الحقول لتغيير مظهر التقرير

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


نقوم بتشغيل التقرير ونحصل على المظهر التالي:


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

يتيح لك الاستخدام السليم لنظام تكوين البيانات (DCS) ما يلي:

  • تقليل الوقت اللازم لإعداد التقرير بشكل كبير؛
  • القضاء على الحاجة إلى إنشاء معالج نموذج مُدار؛
  • احصل على نتيجة جميلة مع إمكانية التخصيص الإضافي من قبل المستخدم.

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

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

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

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

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

  • إخراج مصفوفة من البيانات التي يتلقاها الطلب إلى خلية معينة، والجمع بين عدة أسطر في سطر واحد؛
  • الوصول إلى وظائف التصدير للوحدة العامة؛
  • قم بتنفيذ التعبيرات المتنوعة المتوفرة للغة التخطيط واستخدم وظائف EvaluateExpression الخاصة.

دعونا نذهب من خلال هذه القائمة.

مجموعة من القيم في خلية واحدة

دعونا نحاكي موقفًا حيث يكون من الضروري استلام جميع أرقام مستندات الاستلام للطرف المقابل في خلية منفصلة:


وبالتالي، قمنا بإنشاء حقل حساب إضافي في مخططنا؛


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

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

  1. فاصل العناصر - يشير إلى الحرف الذي سيفصل عنصر مصفوفة أو صف واحد من جدول القيم عن عنصر آخر (في حالتنا، حذفنا هذه المعلمة وتم تعيين فاصل أسطر افتراضيًا)؛
  2. فاصل الأعمدة – حرف يستخدم لفصل أعمدة جدول القيم (يتم استخدام الفاصلة المنقوطة بشكل افتراضي).

الوصول إلى وظائف التصدير للوحدة المشتركة

يمكن أن تعمل وظائف الوحدة الشائعة كمصدر بيانات لملء حقل محسوب.

بعض النقاط المهمة:

  • يجب أن تكون الوظيفة قابلة للتصدير؛
  • إذا كانت الوظيفة موجودة في وحدة نمطية مشتركة مع مجموعة السمات "العالمية"، فسيتم استدعاؤها مباشرة بالاسم، وإلا فيجب استدعاء الوظيفة وفقًا لنظام "اسم الوحدة المشتركة". "اسم الدالة المطلوب استدعاؤها."

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


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

تعبيرات اللغة التخطيطية

في كثير من الأحيان في عمل المطور، ينشأ موقف عندما يكون من الضروري عرض نتيجة التقسيم في حقل ACS:

  1. حساب متوسط ​​تكلفة السلعة؛
  2. جميع أنواع الاهتمام؛
  3. حسابات متوسط ​​الدخل، الخ.

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

يمكن القيام بذلك باستخدام بناء "الاختيار متى....ثم...وإلا...النهاية".

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

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

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

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

نقوم بإضافة مجموعة بيانات من نوع الاستعلام ونكتب، إما يدوياً أو باستخدام مصمم الاستعلام، استعلاماً بسيطاً:

1. قم بإعداد طلب في نظام التحكم في الوصول.

2. قم بإعداد الحقول المحسوبة في نظام التحكم في الوصول

3. قم بتكوين تخطيط البيانات في علامة تبويب الإعدادات

4. إطلاق 1C إنتربرايز 8.2.14. افتح التقرير. نحن نشكل، نتلقى.

وصف الوظائف الجديدة نفسها:

1. التاريخ الحالي ()

إرجاع تاريخ النظام. عند إنشاء تخطيط تخطيط، في جميع التعبيرات الموجودة في التخطيط، يتم استبدال وظيفة CurrentDate() بقيمة التاريخ الحالي.

2. حساب التعبير ()

بناء الجملة:

حساب التعبير(<Выражение>, <Группировка>, <ОбластьВычисления>, <Начало>, <Конец>, <Сортировка>, <ИерархическаяСортировка>, <ОбработкаОдинаковыхЗначенийПорядка>)

وصف:

تم تصميم الوظيفة لتقييم تعبير في سياق بعض المجموعات.

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

لا يمكن تطبيق الوظيفة على مجموعة في تحديد المجموعة لتلك المجموعة. على سبيل المثال، في تحديد مجموعة Nomenclature، لا يمكنك استخدام التعبير CalculateExpression("Sum(SumTurnover)", "TotalTotal") > 1000. ولكن يمكن استخدام مثل هذا التعبير في التحديد الهرمي.

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

عند حساب تعبيرات الفاصل الزمني للإجمالي الكلي (يتم تعيين معلمة التجميع على GrandTotal)، فمن المفترض أنه لا توجد سجلات لحساب البيانات التفصيلية وحساب الوظائف التجميعية.

عند إنشاء تعبير لوظيفة CalculateExpression، يقوم مؤلف التخطيط، إذا كان تعبير الترتيب يحتوي على حقول لا يمكن استخدامها في التجميع، باستبدال وظيفة CalculateExpression بـ NULL.

خيارات

<Выражение>

النوع: سلسلة. التعبير المراد تقييمه.

<Группировка>

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

على سبيل المثال:

Sum(Sales.SumTurnover)/حساب("Sum(Sales.SumTurnover)"، "الإجمالي")

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

<ОбластьВычисления>

النوع: سلسلة. يمكن أن تأخذ المعلمة القيم التالية:

  • GeneralTotal - سيتم حساب التعبير لجميع سجلات التجميع.
  • التسلسل الهرمي - سيتم تقييم التعبير للسجل الهرمي الأصلي إذا كان هناك سجل، وللمجموعة بأكملها إذا لم يكن هناك سجل هرمي أصل.
  • التجميع - سيتم تقييم التعبير لسجل التجميع الحالي.
  • تجميع غير الموارد - عند حساب دالة لسجل مجموعة حسب المورد، سيتم تقييم التعبير لسجل المجموعة الأول من التجميع الأصلي.

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

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

<Начало>

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

<Конец>

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

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

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

  • آخر. تحتاج إلى الحصول على سجل التجميع الأخير. بعد الكلمة الموجودة بين قوسين، يمكنك تحديد تعبير، وسيتم استخدام نتيجته كإزاحة من نهاية المجموعة. يجب أن تكون القيمة الناتجة عددًا صحيحًا أكبر من الصفر. على سبيل المثال، Last(3) – تلقي السجل الثالث من نهاية المجموعة.

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

  • سابق. تحتاج إلى الحصول على سجل التجميع السابق. بعد الكلمة الموجودة بين قوسين، يمكنك تحديد تعبير، وسيتم استخدام نتيجته كإزاحة من سجل التجميع الحالي. على سبيل المثال، السابق (2) – الحصول على السابق من السجل السابق.

إذا تجاوز السجل السابق التجميع (على سبيل المثال، بالنسبة لسجل التجميع الثاني، تحتاج إلى الحصول على السابق (3)، فسيتم الحصول على سجل التجميع الأول.

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

  • التالي. تحتاج إلى الحصول على سجل المجموعة التالي. بعد الكلمة الموجودة بين قوسين، يمكنك تحديد تعبير، وسيتم استخدام نتيجته كإزاحة للأمام من سجل التجميع الحالي. على سبيل المثال، التالي(2) – الحصول على التالي من السجل التالي.

إذا تجاوز السجل التالي التجميع، فيعتبر أنه لا توجد سجلات. على سبيل المثال، إذا كان هناك 3 سجلات وتم استلام Next() للسجل الثالث، فيُعتبر أنه لا توجد سجلات.

عند استلام السجل التالي لإجمالي التجميع، يعتبر أنه لا يوجد سجل.

  • حاضِر. تحتاج إلى الحصول على السجل الحالي.

عند استرداد إجمالي التجميع، يتم الحصول على السجل الأول.

  • قيمة الحدود. الحاجة إلى الحصول على سجل بالقيمة المحددة. بعد كلمة LimitingValues ​​بين قوسين، تحتاج إلى الإشارة إلى التعبير بالقيمة التي تريد بدء الجزء منها، وهو حقل الترتيب الأول.

سيتم إرجاع السجل الأول الذي تكون قيمة حقل الترتيب الخاص به أكبر من أو تساوي القيمة المحددة كسجل. على سبيل المثال، إذا تم استخدام حقل الفترة كحقل الطلب، وكان يحتوي على القيم 01/01/2010، 02/01/2010، 03/01/2010، وتريد الحصول على LimitingValue(DateTime(2010 ، 1، 15))، ثم سيتم الحصول على سجل بتاريخ 01/02/2010.

<Сортировка>

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

<ИерархическаяСортировка>

النوع: سلسلة. نفس خيار الفرز. يستخدم لتنظيم السجلات الهرمية. إذا لم يتم تحديده، يقوم مؤلف التخطيط بإنشاء الترتيب وفقًا للترتيب المحدد في معلمة الفرز.

<ОбработкаОдинаковыхЗначенийПорядка>

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

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

على سبيل المثال، إذا تم ترتيب التسلسل الناتج حسب التاريخ:

تاريخ الاسم الكامل معنى
1 01 يناير 2001 إيفانوف م. 10
2 02 يناير 2001 بيتروف س. 20
3 03 يناير 2001 سيدوروف ر. 30
4 04 يناير 2001 بيتروف س. 40

إذا كانت قيمة المعلمة منفصلة، ​​فحينئذٍ:

§ الإدخال السابق للإدخال 3 سيكون الإدخال 2.

§ إذا تم تعريف جزء الحساب على أنه الحالي، الحالي (على التوالي، معلمات البداية والنهاية)، ثم بالنسبة للسجل 2، سيتألف هذا الجزء من سجل واحد 2. التعبير CalculateExpression("Sum (Value)"، Current، Current) سوف تكون مساوية لـ 20.

إذا كانت قيمة المعلمة معًا، فحينئذٍ:

§ الإدخال السابق للإدخال 3 سيكون الإدخال 1.

§ إذا تم تعريف جزء الحساب على أنه الحالي، الحالي (على التوالي، معلمات البداية والنهاية)، ثم بالنسبة للسجل 2، سيتألف هذا الجزء من السجلات 2 و 3. التعبير CalculateExpression("Sum (Value)"، Current، Current) سوف يساوي 50

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

حساب التعبير ("Sum(SumTurnover)"، "الأول"، "الحالي")

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

حساب التعبير ("السعر"، "السابق")

قائمة جديدالمهام:

احسب ExpressionWithGroupArray(<Выражение>, <ВыражениеПолейГруппировки>, <ОтборЗаписей>, <ОтборГруппировок>) –

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

احسب ExpressionWithGroupValueTable(<Выражения>, <ВыражениеПолейГруппировки>, <ОтборЗаписей>, <ОтборГруппировок>) –

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

معبأ بالقيمة(<Выражение>) - إرجاع True إذا كانت القيمة بخلاف القيمة الافتراضية لهذا النوع، بخلاف NULL، بخلاف مرجع فارغ، بخلاف غير محدد. يتم التحقق من القيم المنطقية بحثًا عن NULL. يتم التحقق من السلاسل بحثًا عن عدم وجود أحرف ليست بها مسافات بيضاء

شكل(<Выражение>, <Форматная строка>) - تلقي سلسلة منسقة من القيمة التي تم تمريرها. يتم تعيين سلسلة التنسيق وفقًا لسلسلة التنسيق الخاصة بنظام 1C:Enterprise.

سلسلة فرعية(<Выражение>, <Начальные символ>, <ДлинаПодстроки>) - تم تصميم هذه الوظيفة لاستخراج سلسلة فرعية من سلسلة.

طول الخط(<Выражение>) - تم تصميم الوظيفة لتحديد طول السلسلة. المعلمة - تعبير السلسلة

خط(<Выражение>) - إذا تم تمرير مصفوفة كمعلمة، فإن الدالة ترجع سلسلة تحتوي على تمثيلات سلسلة لجميع عناصر المصفوفة، مفصولة بالأحرف "؛ ". إذا تم تمرير جدول القيم كمعلمة، تقوم الدالة بإرجاع سلسلة تحتوي على تمثيلات السلسلة لجميع صفوف جدول القيم، مع فصل تمثيلات الخلية لكل صف بالأحرف "؛ "، والخطوط هي رمز تغذية الخط. إذا كان لأي عنصر تمثيل سلسلة فارغ، فسيتم عرض السلسلة بدلاً من تمثيلها<Пустое значение>.