الحقول المحسوبة في SKD 1s 8.2. لغة تعبير نظام تكوين البيانات (1Cv8)

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

  1. المجموع التراكمي في التجميع؛
  2. الإجمالي التراكمي في علامة تبويب؛
  3. الحصول على القيمة السابقة
  4. إخراج PM في سطر واحد.

1. الحصول على المؤشر على أساس الاستحقاق

لنحصل على كمية البضائع كإجمالي تراكمي على مستوى التجميع. للقيام بذلك، قم بإنشاء حقل محسوب (انظر الشكل 1).
في علامة التبويب "الموارد"، قم بتعيين وظيفة الحقل المحسوب:
CalculateExpression("Sum(QuantityTurnover)"، "الأول"، "الحالي")
والذي سيجمع عدد المنتجات من السجل الأول إلى السجل الحالي (انظر الشكل 2).

إذا كان من الضروري الحصول على الكمية الإجمالية التراكمية لأحد العناصر على مستوى السجلات التفصيلية، فإننا نقوم بتعيين وظيفة CalculateExpression للحقل المحسوب في علامة التبويب "الحقول المحسوبة" (انظر الشكل 3).
اعتمادا على مستوى الحصول على الإجمالي التراكمي، نقوم بإنشاء مجموعة (انظر الشكل 4): على مستوى الموارد - التجميع حسب البضائع، على مستوى التحكم عن بعد - تجميع السجلات التفصيلية.
الشكل 4. تقرير التجمعات مع المجاميع التراكمية

2. الحصول على قيمة المؤشر من الصف السابق

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

3. الحصول على مؤشر كمجموع تراكمي في علامة تبويب

دعونا نحصل على كمية البضائع على أساس الاستحقاق حسب الفترة. للقيام بذلك، قم بإنشاء حقل محسوب (انظر الشكل 1). في علامة التبويب "الموارد"، نحدد التعبير التالي للحقل المحسوب (انظر الشكل 6):
CalculateExpression("Sum(QuantityTurnover)"، "الفترة"، "الأولى"، "الحالي")
والتي ستحسب على مستوى التجميع كمية البضائع في الفترة من السطر الأول إلى السطر الحالي في سياق الفترة لكل عنصر.
في علامة التبويب "الإعدادات"، قم بإنشاء جدول يتم فيه التجميع حسب العنصر في صف واحد والتجميع حسب الفترة في عمود (انظر الشكل 7).

4. إخراج البيانات الجدولية في سطر واحد

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

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

إنشاء تقرير في 1C عبر SKD

يمكن تقسيم عملية تطوير التقرير باستخدام ACS إلى المراحل التالية:

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

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

دعونا نلقي نظرة على مثال لإنشاء تقرير خارجي عن نظام التحكم في الوصول:


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

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

قدرات ACS

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


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


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


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


تحتوي آلية SKD 1C:Enterprise 8.3 أيضًا على وظائف موسعة للمطورين. عند تطوير التقرير، استخدمنا علامتي تبويب فقط - "مجموعات البيانات" و"الإعدادات"، ولكن هناك الكثير منها في ACS. لاستخدام جميع وظائف نظام تكوين البيانات، تحتاج إلى فهم الغرض من كل علامة تبويب:

  1. مجموعات البيانات - جميع الاستعلامات المشاركة في إنشاء التقرير مدرجة هنا؛
  2. اتصالات مجموعة البيانات - تستخدم لبناء اتصالات بين استعلامات مختلفة من علامة التبويب الأولى؛
  3. الحقول المحسوبة – قائمة الحقول المضافة خارج الاستعلام. يُستخدم غالبًا في الحالات التي تحتاج فيها، بناءً على قيم عدة حقول، إلى الحصول على قيمة واحدة من الطلب؛
  4. موارد. في 1C، هذا هو اسم الحقول التي تحتاج إلى معرفة نتائجها. تدعم الموارد العمليات الحسابية المختلفة - المبلغ والكمية والحد الأقصى وغيرها؛
  5. خيارات. يتم استخدامها إذا كان من الضروري لإنشاء تقرير أن يقوم المستخدم بإدخال بيانات معينة - التاريخ أو الأقسام أو التسميات، على سبيل المثال؛
  6. التخطيطات. مصمم للحالات التي يرغب فيها المستخدمون في رؤية تقرير مصمم بشكل فريد. يمكنك إنشاء مكان منفصل للتوقيعات أو جزء علوي جديد من التقرير - كل هذا يمكن القيام به هنا؛
  7. المخططات المتداخلة. تكون ضرورية عندما يجب أن يحتوي تقريرك على بيانات من تقارير أخرى؛
  8. إعدادات. يعلن القسم عن الحقول التي سيتم عرضها، ويقوم بتجميعها، ويقوم بتكوين مظهر التقرير.


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

قم بالدخول إلى الموقع كطالب

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

نظام تكوين البيانات 1C 8.3 للمبتدئين: عد النتائج (الموارد)

سيكون الغرض من هذا الدرس هو:

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

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

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

نوع الوثيقة - تقرير خارجي:

في نموذج إعداد التقرير اكتب الاسم " الدرس 3"واضغط على الزر" فتح مخطط تكوين البيانات":

اترك اسم المخطط الافتراضي وانقر فوق " مستعد":

إضافة طلب من خلال المنشئ

في علامة التبويب " مجموعة البيانات" انقر أخضرعلامة زائد واختيار " إضافة مجموعة بيانات - استعلام":

بدلاً من كتابة نص الطلب يدويًا، نقوم بتشغيله مرة أخرى منشئ الاستعلام:

في "علامة التبويب" الجداول"اسحب الجدول" طعام"من العمود الأول إلى الثاني:

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

اتضح مثل هذا:

اضغط الزر " نعم" - تم إنشاء نص الطلب تلقائيًا:

إنشاء إعدادات عرض التقرير

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

اختر نوع التقرير " قائمة..." ثم اضغط على الزر " إضافي":

اسحب من العمود الأيسر إلى اليمين الحقول التي سيتم عرضها في القائمة وانقر فوق " إضافي":

اسحب من العمود الأيسر إلى الحقل الأيمن " لون" - سوف تحدث تجميعخطوط في التقرير. انقر " نعم":

وهذه هي نتيجة عمل المصمم. التسلسل الهرمي لتقريرنا:

  • التقرير ككل
  • مجموعة "اللون"
  • إدخالات تفصيلية - سطور بأسماء الأطعمة

حفظ التقرير (زر قرص مرن) و دون إغلاقسنقوم على الفور بفتح المكوّن في وضع المستخدم. اتضح مثل هذا:

تغيير ترتيب الأعمدة

ولكن دعونا دعونا نغير الترتيبأعمدة (سهم لأعلى ولأسفل) بحيث يبدو كما في الشكل أدناه:

فلنحفظ التقرير ونفتحه مرة أخرى في وضع المستخدم:

عظيم، هذا أفضل بكثير.

دعونا نلخص محتوى السعرات الحرارية

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

ولهذا الغرض هناك آلية لحساب الموارد.

انتقل إلى علامة التبويب " موارد"واسحب الحقل" محتوى السعرات الحرارية"(سنقوم بتلخيصها) من العمود الأيسر إلى اليمين.

في هذه الحالة، في الحقل، حدد التعبير من القائمة المنسدلة " المبلغ (السعرات الحرارية)"، نظرًا لأن الإجمالي سيكون مجموع جميع العناصر المدرجة في الإجمالي:

نقوم بحفظ وإنشاء تقرير:

لدينا الآن نتائج لكل مجموعة وللتقرير ككل.

دعونا نلخص ذلك (المتوسط) من حيث السعرات الحرارية

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

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

لإنشاء مثل هذا الحقل "الافتراضي"، سنستخدم الآلية الحقول المحسوبة.

انتقل إلى علامة التبويب " الحقول المحسوبة" و اضغط أخضرعلامة زائد:

في عمود" مسار البيانات"نكتب اسم الحقل الجديد ( بسلاسة, بدون مسافات). فليطلق عليه " متوسط ​​محتوى السعرات الحرارية"، وفي العمود" تعبير"نكتب اسم حقل موجود وعلى أساسه سيتم حساب الحقل الجديد ونكتب هناك " محتوى السعرات الحرارية". عمود " عنوان" سيتم ملؤها تلقائيًا.

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

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

اتضح مثل هذا:

نقوم بحفظ وإنشاء تقرير:

لقد ظهر الحقل ونرى أن قيمه هي قيم حقل "السعرات الحرارية". عظيم!

للقيام بذلك، سوف نستخدم الآلية المألوفة لنا مرة أخرى موارد(تلخيص). انتقل إلى علامة التبويب " موارد"واسحب الحقل" متوسط ​​محتوى السعرات الحرارية"من العمود الأيسر إلى اليمين:

علاوة على ذلك، في العمود " تعبير"يختار" متوسط(متوسط ​​السعرات الحرارية)":

نقوم بحفظ وإنشاء تقرير:

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

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

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

عنصر " آلي" - هذا ليس حقلاً واحدًا. هذه عدة حقول تقع هنا تلقائيًا بناءً على إعدادات المستوى الأعلى.

ولمعرفة ماهية هذه الحقول اضغط على العنصر " آلي" يمينزر واختر " يوسع":

عنصر " آلي" موسع في المجالات التالية:

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

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

تنقسم نافذة تغيير نسخة التقرير إلى قسمين:

1. هيكل التقرير.

2. إعدادات التقرير.


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

يحتوي جدول بنية متغيرات التقرير، بالإضافة إلى العمود الفعلي الذي يحتوي على مجموعات، على عدة أعمدة إضافية:

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

يتكون قسم الإعدادات من علامات التبويب التالية:

1. المعلمات.يحتوي على معلمات ACS المتاحة للمستخدم.

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


يتم تقديم جدول المعلمات بتنسيق "المعلمة" - "القيمة". إذا لزم الأمر، يمكنك تغيير قيم المعلمات. يؤدي النقر فوق الزر "خصائص عنصر الإعدادات المخصصة" إلى فتح الإعدادات المخصصة للعنصر.


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

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

2. الحقول المخصصة.يحتوي على الحقول التي يتم إنشاؤها بواسطة المستخدم نفسه بناءً على البيانات التي حددها التقرير.


يمكن للمستخدم إضافة نوعين من الحقول:

  • حقل التحديد الجديد...
  • حقل تعبير جديد...

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


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

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

على سبيل المثال، دعونا نحسب متوسط ​​نسبة الخصم. يتم حساب متوسط ​​نسبة الخصم باستخدام الصيغة: [مبلغ المبيعات بدون خصم] - [مبلغ المبيعات مع الخصم] / [مبلغ المبيعات بدون خصم]. من المهم أن تتذكر أن مبلغ المبيعات بدون خصم قد يكون صفرًا، لذلك نستخدم عامل التشغيل SELECT للتحقق. نحصل على التعبيرات التالية:

· للإدخالات التفصيلية:

خيار

عندما يكون [مبلغ المبيعات بدون خصم] = 0

ثم 0

بخلاف ذلك [مبلغ المبيعات بدون خصم] - [مبلغ المبيعات مع الخصم] / [مبلغ المبيعات بدون خصم]

نهاية

· بالنسبة للسجلات الموجزة:

خيار

عندما يكون المبلغ([مبلغ المبيعات بدون خصم]) = 0

ثم 0

بخلاف ذلك، Sum([مبلغ المبيعات بدون خصم]) - Sum([مبلغ المبيعات مع الخصم]) / Sum([مبلغ المبيعات بدون خصم])

نهاية

كما ذكرنا سابقًا، في التعبير عن إجمالي السجلات نستخدم الدالة التجميعية "Sum".

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


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

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

  • تلقائي - يقوم النظام بوضع الحقول تلقائيًا؛
  • أفقي - يتم وضع الحقول أفقيًا؛
  • عمودي - يتم ترتيب الحقول عموديا؛
  • في عمود منفصل - توجد الحقول في أعمدة مختلفة؛
  • معًا - تقع الحقول في عمود واحد.


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


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


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


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


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


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

لغة التعبير في نظام تكوين البيانات

تم تصميم لغة تعبير نظام تكوين البيانات لكتابة التعبيرات المستخدمة في أجزاء مختلفة من النظام.

يتم استخدام التعبيرات في الأنظمة الفرعية التالية:

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

حرفية

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

  • خط؛
  • رقم؛
  • تاريخ؛
  • منطقية.

خط

تتم كتابة السلسلة الحرفية بأحرف ""، على سبيل المثال:

"سلسلة حرفية"

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

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

""حرفي""في علامتي الاقتباس"""

رقم

يتم كتابة الرقم بدون مسافات، بالتنسيق العشري. يتم فصل الجزء الكسري باستخدام الرمز "." على سبيل المثال:

10.5 200

تاريخ

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

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

DATETIME (1975، 1، 06) - 6 يناير 1975 DATETIME (2006، 12، 2، 23، 56، 57) - 2 ديسمبر 2006، 23 ساعة و 56 دقيقة و 57 ثانية، 23 ساعة و 56 دقيقة و 57 ثانية

منطقية

يمكن كتابة القيم المنطقية باستخدام القيم الحرفية True (True) وFalse (False).

معنى

لتحديد أنواع حرفية أخرى (تعدادات النظام، البيانات المحددة مسبقًا)، يتم استخدام الكلمة الأساسية القيمة، متبوعة باسم الحرفي بين قوسين.

القيمة (نوع الحساب. نشط)

العمليات على الأعداد

أحادي –

تهدف هذه العملية إلى تغيير إشارة الرقم إلى الإشارة المقابلة لها. على سبيل المثال:

كمية المبيعات

الأحادي +

لا تؤدي هذه العملية إلى تنفيذ أية إجراءات على الرقم. على سبيل المثال:

كمية المبيعات

الثنائية -

تهدف هذه العملية إلى حساب الفرق بين رقمين. على سبيل المثال:

المتبقيات والتحويلات.المتبقات الأولية - المتبقيات والتحويلات.المتبقيات النهائيةالمتبقية والتحويلات.المتبقية الأولية - 100 400 - 357

ثنائي +

تم تصميم هذه العملية لحساب مجموع رقمين. على سبيل المثال:

RemainingsAndTurnover.InitialRemaining + RemainingAndTurnover.RemainingsAndTurnover.InitialRemaining + 100 400 + 357

عمل

تم تصميم هذه العملية لحساب منتج رقمين. على سبيل المثال:

التسمية.السعر * 1.2 2 * 3.14

قسم

تم تصميم هذه العملية للحصول على نتيجة قسمة معامل على آخر. على سبيل المثال:

التسمية.السعر / 1.2 2 / 3.14

باقي القسمة

تم تصميم هذه العملية للحصول على الباقي عند قسمة معامل على آخر. على سبيل المثال:

التسميات السعر % 1.2 2 % 3.14

عمليات السلسلة

التسلسل (ثنائي +)

تم تصميم هذه العملية لسلسلة سلسلتين. على سبيل المثال:

Nomenclature.Article + ": "+ Nomenclature.Name

يحب

تتحقق هذه العملية مما إذا كانت السلسلة تطابق النمط الذي تم تمريره.

قيمة عامل التشغيل LIKE تكون TRUE إذا كانت القيمة<Выражения>يرضي النمط، وخطأ خلاف ذلك.

الأحرف التالية في<Строке_шаблона>لها معنى مختلف عن مجرد حرف آخر في السطر:

  • % - النسبة المئوية: تسلسل يحتوي على صفر أو أكثر من الأحرف العشوائية؛
  • _ - الشرطة السفلية: حرف واحد عشوائي؛
  • […] - حرف واحد أو أكثر بين قوسين مربعين: حرف واحد، أي من الأحرف المدرجة داخل القوسين المربعين. قد يحتوي التعداد على نطاقات، على سبيل المثال a-z، مما يعني حرفًا عشوائيًا مدرجًا في النطاق، بما في ذلك نهايات النطاق؛
  • [^...] - بين قوسين مربعين أيقونة النفي متبوعة بحرف واحد أو أكثر: أي حرف باستثناء تلك المدرجة بعد أيقونة النفي؛

أي رمز آخر يعني نفسه ولا يحمل أي حمولة إضافية. إذا كان أحد الأحرف المدرجة يحتاج إلى الكتابة بنفسه، فيجب أن يسبقه<Спецсимвол>، المحدد بعد الكلمة الأساسية SPECIAL CHARACTER (ESCAPE).

على سبيل المثال، القالب

"%ABV[abvg]\_abv%" الحرف الخاص "\"

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

عمليات المقارنة

يساوي

تهدف هذه العملية إلى مقارنة معاملين للمساواة. على سبيل المثال:

Sales.Counterparty = Sales.NomenclatureMainSupplier

غير متساوي

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

المبيعات.الطرف المقابل<>Sales.NomenclatureMainSupplier

أقل

تم تصميم هذه العملية للتأكد من أن المعامل الأول أقل من المعامل الثاني. على سبيل المثال:

SalesCurrent.Amount< ПродажиПрошлые.Сумма

أكثر

تم تصميم هذه العملية للتأكد من أن المعامل الأول أكبر من المعامل الثاني. على سبيل المثال:

مجموع المبيعات الحالي > مجموع المبيعات الماضي

أقل أو متساوية

تم تصميم هذه العملية للتأكد من أن المعامل الأول أقل من أو يساوي المعامل الثاني. على سبيل المثال:

SalesCurrent.Amount<= ПродажиПрошлые.Сумма

أكثر أو يساوي

تم تصميم هذه العملية للتأكد من أن المعامل الأول أكبر من أو يساوي المعامل الثاني. على سبيل المثال:

SalesCurrent.Amount >= SalesPast.Amount

العملية ب

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

العنصر ب (&المنتج1، &المنتج2)

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

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

مبيعات الطرف المقابل للأطراف المقابلة

عملية التحقق من قيمة NULL

تُرجع هذه العملية True إذا كانت القيمة NULL. على سبيل المثال:

المبيعات.الطرف المقابل فارغ

عملية التحقق من قيمة عدم المساواة NULL

تُرجع هذه العملية True إذا لم تكن القيمة NULL. على سبيل المثال:

المبيعات. الطرف المقابل ليس فارغًا

العمليات المنطقية

تقبل العمليات المنطقية التعبيرات من النوع Boolean كمعاملات.

العملية لا

تقوم العملية NOT بإرجاع True إذا كان معاملها False وFalse إذا كان معاملها True. على سبيل المثال:

NOT Document.Consignee = Document.Consignor

العملية الأولى

تقوم عملية AND بإرجاع True إذا كان كلا المعاملين صحيحًا، وإرجاع False إذا كان أحد المعاملين خطأ. على سبيل المثال:

Document.Consignee = Document.Consignor AND Document.Consignee = &الطرف المقابل

أو العملية

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

Document.Consignee = Document.Consignor أو Document.Consignee = &الطرف المقابل

وظائف مجمعة

تقوم الوظائف المجمعة بتنفيذ بعض الإجراءات على مجموعة من البيانات.

مجموع

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

المبلغ(المبيعات.مبلغ الدوران)

كمية

تقوم الدالة Count بحساب عدد القيم بخلاف NULL. على سبيل المثال:

الكمية (المبيعات.الطرف المقابل)

عدد مختلف

تحسب هذه الدالة عدد القيم المميزة. على سبيل المثال:

الكمية (المبيعات المختلفة. الطرف المقابل)

أقصى

تحصل الدالة على القيمة القصوى. على سبيل المثال:

الحد الأقصى (الكمية المتبقية)

الحد الأدنى

تحصل الدالة على الحد الأدنى من القيمة. على سبيل المثال:

الحد الأدنى (الكمية المتبقية)

متوسط

تحصل الدالة على متوسط ​​القيم غير الخالية. على سبيل المثال:

المتوسط ​​(الكمية المتبقية)

عمليات أخرى

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

تهدف عملية التحديد إلى تحديد إحدى القيم المتعددة عند استيفاء شروط معينة. على سبيل المثال:

حدد عند المبلغ > 1000 ثم المبلغ وإلا 0 النهاية

قواعد المقارنة بين قيمتين

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

  • فارغة (الأدنى)؛
  • منطقية؛
  • رقم؛
  • تاريخ؛
  • خط؛
  • أنواع المراجع

يتم تحديد العلاقات بين أنواع المراجع المختلفة بناءً على الأرقام المرجعية للجداول المقابلة لنوع معين.

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

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

العمل مع القيمة NULL

أي عملية يكون فيها أحد المعاملات NULL سوف تنتج نتيجة NULL.

هناك استثناءات:

  • ستعيد العملية AND القيمة NULL فقط إذا لم يكن أي من المعاملات خطأ؛
  • لن تُرجع العملية OR القيمة NULL إلا إذا لم يكن أي من معاملاتها صحيحًا.

أولويات العملية

العمليات لها الأولويات التالية (السطر الأول له الأولوية الأدنى):

  • ب، لاغية، ليست فارغة؛
  • =, <>, <=, <, >=, >;
  • ثنائي +، ثنائي - ;
  • *, /, %;
  • أحادي +، أحادي -.

وظائف لغة التعبير في نظام تكوين البيانات

احسب

تم تصميم وظيفة الحساب لحساب تعبير في سياق مجموعة معينة. تحتوي الوظيفة على المعلمات التالية:

  • تعبير. اكتب سلسلة. يحتوي على تعبير محسوب؛
  • التجميع. اكتب سلسلة. يحتوي على اسم المجموعة التي سيتم تقييم التعبير في سياقها. إذا تم استخدام سلسلة فارغة كاسم للتجميع، فسيتم إجراء الحساب في سياق التجميع الحالي. إذا تم استخدام سلسلة GrandTotal كاسم للمجموعة، فسيتم إجراء الحساب في سياق الإجمالي الكلي. وبخلاف ذلك، سيتم إجراء الحساب في سياق المجموعة الأصلية التي تحمل نفس الاسم. على سبيل المثال:
Sum(Sales.SumTurnover) / احسب("Sum(Sales.SumTurnover)"، "الإجمالي")

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

مستوى

تم تصميم الوظيفة للحصول على مستوى التسجيل الحالي.

مستوى()

NumberInOrder

احصل على الرقم التسلسلي التالي

رقم حسب الطلب ()

NumberInOrderInGrouping

إرجاع الرقم الترتيبي التالي في المجموعة الحالية.

NumberByOrderInGroup()

شكل

الحصول على سلسلة منسقة من القيمة التي تم تمريرها.

يتم تعيين سلسلة التنسيق وفقًا لسلسلة التنسيق 1C:Enterprise.

خيارات:

  • معنى؛
  • سلسلة التنسيق.

التنسيق(فواتير المواد الاستهلاكية.مبلغ المستند، "NPV=2")

بداية الفترة

خيارات:

    • دقيقة؛
    • يوم؛
    • أسبوع؛
    • شهر؛
    • ربع؛
    • عقد؛
    • نصف سنة.

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

نتيجة:

01.10.2002 0:00:00

نهاية الفترة

تم تصميم الوظيفة لاستخراج تاريخ محدد من تاريخ معين.

خيارات:

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

فترة النهاية(DateTime(2002, 10, 12, 10, 15, 34), "Week")

نتيجة:

13.10.2002 23:59:59

AddToDate

تم تصميم الوظيفة لإضافة قيمة معينة إلى تاريخ.

خيارات:

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

AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Month", 1)

نتيجة:

12.11.2002 10:15:34

تاريخ الاختلاف

تم تصميم الدالة للحصول على الفرق بين تاريخين.

خيارات:

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

DATEDIFFERENCE(DATETIME(2002, 10, 12, 10, 15, 34), DATETIME(2002, 10, 14, 9, 18, 06), "DAY")

نتيجة:

سلسلة فرعية

تم تصميم هذه الوظيفة لاستخراج سلسلة فرعية من سلسلة.

خيارات:

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

سلسلة فرعية (عنوان الحسابات، 1، 4)

طول الخط

تم تصميم الوظيفة لتحديد طول السلسلة.

معامل:

  • خط. اكتب سلسلة. سلسلة يتم تحديد طولها.

الخط (الأطراف المقابلة. العنوان)

سنة

تم تصميم هذه الوظيفة لاستخراج السنة من قيمة نوع التاريخ.

معامل:

  • تاريخ. اكتب التاريخ. التاريخ الذي يتم فيه تحديد السنة.

السنة (تاريخ النفقة)

ربع

تم تصميم هذه الوظيفة لاستخراج رقم الربع من قيمة نوع التاريخ. ويتراوح رقم الربع عادة من 1 إلى 4.

معامل

  • تاريخ. اكتب التاريخ. التاريخ الذي يتم فيه تحديد الربع
الربع (تاريخ النفقة)

شهر

تم تصميم هذه الوظيفة لاستخراج رقم الشهر من قيمة نوع التاريخ. يتراوح رقم الشهر عادة من 1 إلى 12.

  • تاريخ. اكتب التاريخ. التاريخ الذي يتم فيه تحديد الشهر.
الشهر (تاريخ النفقة)

يوم من السنة

تم تصميم هذه الوظيفة للحصول على يوم السنة من قيمة نوع التاريخ. يتراوح يوم السنة عادة من 1 إلى 365 (366).

  • تاريخ. اكتب التاريخ. التاريخ الذي يتم فيه تحديد يوم من السنة.
DAYYEAR(ExpenseAccount.Date)

يوم

تم تصميم هذه الوظيفة للحصول على يوم الشهر من قيمة نوع التاريخ. يتراوح يوم الشهر عادة من 1 إلى 31.

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

أسبوع

تم تصميم هذه الوظيفة للحصول على رقم الأسبوع في السنة من قيمة نوع التاريخ. يتم ترقيم أسابيع السنة ابتداءً من الرقم 1.

  • تاريخ. اكتب التاريخ. التاريخ الذي يتم فيه تحديد أرقام الأسابيع.
أسبوع (تاريخ النفقة)

يوم الأسبوع

تم تصميم هذه الوظيفة للحصول على يوم الأسبوع من قيمة نوع التاريخ. يتراوح اليوم الطبيعي في الأسبوع من 1 (الاثنين) إلى 7 (الأحد).

  • تاريخ. اكتب التاريخ. التاريخ الذي يتم فيه تحديد يوم الأسبوع.
يوم الأسبوع (تاريخ النفقة)

ساعة

تم تصميم هذه الوظيفة للحصول على الساعة من اليوم من قيمة نوع التاريخ. وتتراوح ساعة اليوم من 0 إلى 23.

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

دقيقة

تم تصميم هذه الوظيفة للحصول على دقيقة الساعة من قيمة نوع التاريخ. وتتراوح دقائق الساعة من 0 إلى 59.

  • تاريخ. اكتب التاريخ. التاريخ الذي يتم من خلاله تحديد دقيقة الساعة.
دقيقة (تاريخ النفقة)

ثانية

تم تصميم هذه الوظيفة للحصول على ثانية الدقيقة من قيمة نوع التاريخ. تتراوح الثانية من الدقيقة من 0 إلى 59.

  • تاريخ. اكتب التاريخ. التاريخ الذي يتم من خلاله تحديد ثواني الدقيقة.
الثاني (تاريخ انتهاء الصلاحية)

يعبر

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

خيارات:

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

صريحة (Data.Props1، "الرقم (10،3)")

باطل

ترجع هذه الدالة قيمة المعلمة الثانية إذا كانت قيمة المعلمة الأولى فارغة.

وإلا، سيتم إرجاع قيمة المعلمة الأولى.

نعمNULL(المبلغ(المبيعات.مبلغ الدوران)، 0)

وظائف الوحدات المشتركة

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

في هذا المثال، سيتم استدعاء الدالة "AbbreviatedName" من وحدة التكوين العامة.

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

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



 

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