لغة تعبير نظام تكوين البيانات (1Cv8). لغة التعبير لنظام تكوين البيانات (1Cv8) التعبير عن السجلات النهائية SKD 1S

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

على سبيل المثال، لنأخذ التقرير

  • تحليل توافر المنتج؛

إعدادات.

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

  • يساوي
  • غير متساوي
  • في القائمة
  • ليس في القائمة
  • في مجموعة التسميات;
  • ليس في المجموعة التسميات;
  • في مجموعة من القائمة التسميات;
  • ليس في مجموعة من القائمة التسميات.

معنى

"اختيارات سريعة"

مع تطور منصة 1C:Enterprise 8 وظهور الإصدار الجديد 8.2، أصبحت التقارير في الأنظمة أكثر مرونة، وأصبح لدى المستخدمين المزيد والمزيد من الفرص لتخصيصها وفقًا لمتطلباتهم دون مساعدة المبرمجين.

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

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

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

  • تحليل توافر المنتج؛
  • الإيرادات وتكلفة المبيعات.

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

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

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

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

لا يتم أخذ الحقول غير المحددة بعين الاعتبار حتى لو قمت بتحديد قيم محددة لتلك الحقول.

اعتمادًا على نوع المقارنة المحدد في العمود معنىتتم الإشارة إلى عنصر أو مجلد (مجموعة) محدد من الدليل، أو قائمة العناصر أو المجلدات.

تتوفر "الاختيارات السريعة" في جميع الحلول على منصة 1C:Enterprise 8.

مثال على تغيير بسيط في إعدادات التقرير

لعرض/تغيير إعدادات التقرير، عليك الذهاب إلى القائمة جميع الإجراءات - تغيير الخيار.

تفتح أمامنا نافذة الإعدادات لخيار التقرير المحدد.

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

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

مثال 1

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

حدد الحقل صفة مميزةوانقر على الزر يمسحلوحة الأوامر.

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

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

بالنقر بزر الماوس الأيمن عليه، حدد الأمر من قائمة السياق مجموعة جديدة.

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

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

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

أرز. 1. هيكل التقرير الناتج

أرز. 2. نتيجة تخصيص التقرير

العمل مع الحقول المخصصة

دعونا الآن نلقي نظرة فاحصة على الخيارات الجديدة لتخصيص التقارير في برنامج 1C: Trade Management 8.

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

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

مثال 2

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

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

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

الخطوة 2. لنقم بإنشاء حقل مخصص جديد. دعونا نفتح الإشارة المرجعية الحقول المخصصةوتنفيذ الأمر إضافة -> حقل تحديد جديد.

دعونا نعطي مجالنا الجديد اسما - المنطقة بشكل عام.

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

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

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

العودة إلى نافذة تحرير الحقل المخصص، في العمود معنىدعنا نكتب مناطق أخرى(انظر الشكل 3).

أرز. 3. تحرير حقل مخصص

دعونا نضغط على الزر نعم. حقلنا الجديد جاهز.

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

لنقم بسحب التجميع حسب الشريك والتجميع الثانوي حسب العنصر داخل المجموعة التي تم إنشاؤها حديثًا باستخدام الماوس.

لنقم بإنشاء تقرير وننظر إلى النتيجة (كما هو موضح في الشكل 4).

أرز. 4. نتيجة إنشاء التقرير

الاختيار والفرز

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

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

مثال 3

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

مثال 4

احفظ التغييرات التي تم إجراؤها

إذا قمت بتغيير بنية التقرير، فيمكنك دائمًا حفظه باستخدام الأمر جميع الإجراءات -> خيار الحفظ.

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

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

يوفر تطوير منصة 1C: Enterprise 8 للمستخدمين المزيد والمزيد من الفرص. على سبيل المثال، في الإصدار 8.2، أصبحت التقارير أكثر مرونة، مما يسمح بتخصيصها لتناسب المتطلبات المختلفة دون مساعدة المبرمجين المؤهلين.

تغيير إعدادات التقرير

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

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

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

الحقول المخصصة

في برنامج 1ج: إدارة التجارة 8توفر إعدادات تقرير الإصدار 11 للمستخدمين المزيد من الخيارات في جيلهم.

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

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

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

وهكذا، مثال واضح يوضح أن الإعدادات المرنة للحقول المخصصة في برنامج قياسي 1ج: إدارة التجارة 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" من وحدة التكوين العامة.

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

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

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

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

  1. تنبيه الكمية. إذا كانت الكمية أقل من أو تساوي 5، فإن التنبيه "غير كافٍ". إذا كانت الكمية أكبر من 5، ثم أقل من أو تساوي 10، فيكون التنبيه "عادي". إذا كانت الكمية أكثر من 10، فهي "الوفرة الزائدة".
  2. صيغة لحساب الرصيد النهائي. في العمود الإضافي، يريد المستخدم معرفة الإجراءات التي قام بها البرنامج للحصول على قيمة الرصيد النهائي. أي أن الصيغة "الرصيد الأولي + معدل الدوران = الرصيد النهائي"، حيث سيتم استبدال القيم المقابلة.

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

حقول إضافية

اذا هيا بنا نبدأ. دعنا نذهب إلى إعدادات خيار التقرير:

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

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

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

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

"الاختيار متى وإلا فالنهاية"

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

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


وهنا لا بد من ذكر بعض الفروق الدقيقة:

  1. يمكننا فقط إظهار الصيغة الموجودة في الخلية كخط. لذلك، نقوم بتحويل كافة القيم الرقمية إلى سلسلة باستخدام طريقة لغة التعبير SKD “String()”، والتي تقوم بتحويل أي قيمة إلى سلسلة. ثم نقوم بإجراء تسلسل السلسلة.
  2. لكي يتم عرض الحقل في إجماليات التقرير، سنضيف صيغة مشابهة للتعبير عن إجمالي السجلات. تحتاج فقط إلى إضافة وظائف التجميع "SUM()" لكل قيمة وفقًا للإجماليات.

أنت جاهز لاستخدام الحقول الموجودة في تقريرك!

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

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

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

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

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

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