أمثلة على استخدام الدالة scd - حساب تعبير. وظائف لغة التعبير لنظام تكوين البيانات وظائف في الحقول المحسوبة لـ ACS

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


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

وبناء على ذلك، من الضروري الآن حساب المجاميع للمجموعات المذكورة أعلاه ("المستودعات"، "أنواع المستودعات") والإجمالي الإجمالي.
للقيام بذلك، استخدم الوظيفة حساب ExpressionWithGroupArray:
تقييم التعبير باستخدامGROUPARRAY (EVALEXPRESSIONWITHGROUPARRAY)
بناء الجملة:
تقييم ExpressionWithGroupArray (،)
وصف:
تقوم الدالة بإرجاع مصفوفة، يحتوي كل عنصر منها على نتيجة تقييم تعبير للتجميع حسب الحقل المحدد.
يقوم مؤلف التخطيط، عند إنشاء تخطيط، بتحويل معلمات الوظيفة إلى مصطلحات حقول تخطيط تكوين البيانات. على سبيل المثال، سيتم تحويل حقل الحساب إلى DataSet.Account.
يقوم منشئ التخطيط، عند إنشاء تعبيرات لمخرجات حقل مخصص يحتوي تعبيره على الدالة CalculateArrayWithGroupArray() فقط، بإنشاء تعبير الإخراج بحيث يتم ترتيب معلومات الإخراج. على سبيل المثال، بالنسبة لحقل مخصص يحتوي على التعبير:

CalculateExpressionWithGroupArray("المبلغ(AmountTurnover)"، "الطرف المقابل")
سيقوم منشئ التخطيط بإنشاء التعبير التالي للإخراج:

ConnectRows(Array(Order(CalculateExpressionWithGroupingValueTable("View(Sum(DataSet.SumTurnover)),Sum(DataSet.SumTurnover)",,"DataSet.Account"),"2")))

خيارات:

النوع: سلسلة. التعبير المراد تقييمه. سلسلة، على سبيل المثال، Amount(AmountTurnover).

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

النوع: سلسلة. تعبير يصف التحديد المطبق على سجلات التفاصيل. لا يدعم التعبير استخدام الوظائف التجميعية. على سبيل المثال، DeletionFlag = False.

النوع: سلسلة. تعبير يصف التحديد المطبق على سجلات المجموعة. على سبيل المثال، المبلغ(AmountTurnover) > &Parameter1.
مثال:

الحد الأقصى(CalculateExpressionWithGroupArray("Amount(AmountTurnover)", "Counterparty"));

يمكن العثور على وصف تفصيلي لبناء جملة الوظيفة على http://its.1c.ru/db/v837doc#bookmark:dev:TI000000582
الآن، بالنسبة للحساب، نقوم بتكرار حقل "الطلب"، بقيم مختلفة "الحساب حسب..."، وذلك باستخدام التعبيرات التالية، لاحظ أنه في كل مستوى أعلى يتم استخدام قيم المستويات الموجودة أسفل المجموعات .

ونتيجة لذلك، نحصل على البناء التالي:

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

بناء الجملة:
حساب (التعبير، التجميع، نوع الحساب)

خيارات :

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

بناء الجملة:
حساب التعبير (التعبير، التجميع، نوع الحساب، البداية، النهاية، الفرز، الفرز الهرمي، معالجة قيم الطلب المتطابقة)

خيارات :

  • تعبير(خط). يحتوي على تعبير محسوب؛
  • التجميع(خط). يحتوي على اسم المجموعة التي سيتم تقييم التعبير في سياقها. إذا تم استخدام سلسلة فارغة كاسم للتجميع، فسيتم إجراء الحساب في سياق التجميع الحالي. إذا تم استخدام سلسلة GrandTotal كاسم للمجموعة، فسيتم إجراء الحساب في سياق الإجمالي الكلي. وإلا، سيتم إجراء الحساب في سياق التجميع الأصلي بهذا الاسم؛
  • نوع الحساب(خط). إذا تم تعيين هذه المعلمة على "TotalTotal"، فسيتم حساب التعبير لجميع سجلات التجميع. إذا كانت قيمة المعلمة هي "التجميع"، فسيتم حساب القيم لسجل مجموعة التجميع الحالي. إذا تم تعيين المعلمة على "تجميع غير الموارد"، فعند حساب الوظيفة لسجل المجموعة حسب المورد، سيتم تقييم التعبير لسجل المجموعة الأول للتجميع الأصلي. عند تقييم الدالة CalculateExpression بالقيمة "GroupingNonResource" لسجلات المجموعة التي لا تعتبر مجموعات حسب المورد، يتم تقييم الدالة بنفس الطريقة التي سيتم بها تقييمها بقيمة معلمة "Grouping". يقوم منشئ تخطيط تكوين البيانات، عند إنشاء تخطيط تكوين البيانات عند إخراج حقل - مورد يتم من خلاله التجميع، إلى التخطيط، بإخراج تعبير محسوب إلى التخطيط باستخدام وظيفة CalculateExpression مع المعلمة "GroupingNon-Resource" المحددة. بالنسبة للموارد الأخرى المجمعة حسب المورد، يتم إرجاع تعبيرات الموارد العادية. إذا تم تعيين المعلمة على "التسلسل الهرمي"، فيجب تقييم التعبير للسجل الهرمي الأصلي، إذا كان هناك سجل، وللمجموعة بأكملها، إذا لم يكن هناك سجل هرمي أصل. يقوم منشئ التخطيط، عند إنشاء تعبير لـ % في حقل مجموعة التسلسل الهرمي، بإنشاء تعبير يحتوي على علاقة تعبير المورد بوظيفة CalculateExpression لتعبير المورد الذي يتم حسابه للتجميع الحالي باستخدام نوع الحساب الهرمي.
  • يبدأ. يشير إلى السجل الذي يجب أن يبدأ الجزء منه، والذي يجب أن يتم فيه حساب وظائف التعبير التجميعية، ومن أي سجل يمكن الحصول على قيم الحقول خارج الوظائف المجمعة. سلسلة تحتوي على واحد من:
    • "أولاً" من الضروري الحصول على سجل المجموعة الأولى. بعد الكلمة الموجودة بين قوسين، يمكنك تحديد تعبير، وسيتم استخدام نتيجته كإزاحة من بداية التجميع. يجب أن تكون القيمة الناتجة عددًا صحيحًا أكبر من الصفر. على سبيل المثال، الأول (3) – تلقي السجل الثالث من بداية التجميع. إذا كان السجل الأول خارج المجموعة، فيعتبر أنه لا توجد سجلات. على سبيل المثال، إذا كان هناك 3 سجلات، وتريد الحصول على الأول (4)، فيعتبر أنه لا توجد سجلات.
    • "آخر" تحتاج إلى الحصول على سجل التجميع الأخير. بعد الكلمة الموجودة بين قوسين، يمكنك تحديد تعبير، وسيتم استخدام نتيجته كإزاحة من نهاية المجموعة. يجب أن تكون القيمة الناتجة عددًا صحيحًا أكبر من الصفر. على سبيل المثال، Last(3) – تلقي السجل الثالث من نهاية المجموعة. إذا كان السجل الأخير خارج المجموعة، فيعتبر أنه لا توجد سجلات. على سبيل المثال، إذا كان هناك 3 سجلات، وتريد الحصول على Last(4)، فيُعتبر أنه لا توجد سجلات.
    • "سابق" تحتاج إلى الحصول على سجل التجميع السابق. بعد الكلمة الموجودة بين قوسين، يمكنك تحديد تعبير، وسيتم استخدام نتيجته كإزاحة من سجل التجميع الحالي. على سبيل المثال، السابق (2) – الحصول على السابق من السجل السابق. إذا كان السجل السابق خارج المجموعة (على سبيل المثال، يتطلب سجل التجميع الثاني الحصول على السابق (3))، فسيتم الحصول على سجل التجميع الأول. عند استلام القيد السابق لمجموع التجميع يتم الحصول على القيد الأول.
    • "التالي" تحتاج إلى الحصول على سجل التجميع التالي. بعد الكلمة الموجودة بين قوسين، يمكنك تحديد تعبير، وسيتم استخدام نتيجته كإزاحة للأمام من سجل التجميع الحالي. على سبيل المثال، التالي(2) – الحصول على التالي من السجل التالي. إذا تجاوز السجل التالي التجميع، فيعتبر أنه لا توجد سجلات. على سبيل المثال، إذا كان هناك 3 إدخالات واستقبل الإدخال الثالث التالي، فيعتبر أنه لا توجد إدخالات. عند استلام السجل التالي لإجمالي التجميع، يعتبر أنه لا يوجد سجل.
    • "حاضِر". تحتاج إلى الحصول على السجل الحالي. عند استرداد إجمالي التجميع، يتم الحصول على السجل الأول.
    • "قيمة الحدود". الحاجة إلى الحصول على سجل بالقيمة المحددة. بعد كلمة LimitingValue بين قوسين، تحتاج إلى الإشارة إلى التعبير بالقيمة التي تريد بدء الجزء منها، وهو حقل الترتيب الأول. سيتم إرجاع السجل الأول الذي تكون قيمة حقل الترتيب الخاص به أكبر من أو تساوي القيمة المحددة كسجل. على سبيل المثال، إذا تم استخدام حقل الفترة كحقل الطلب، وكان يحتوي على القيم 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. 02 يناير 2001 سيدوروف ر.30
    4. 03 يناير 2001 بيتروف س.40
    عند استخدام معالجة القيم المتطابقة للأمر "بشكل منفصل"، فإن السابق للسجل 3 سيكون السجل 2، وعند استخدام "معًا" - السجل 1. وجزء السجل الحالي للسجل 2 لـ "منفصل" سيكون السجل 2، وبالنسبة لـ "معًا" - السجلان 2 و3. وبالتالي، فإن إجمالي السجل الحالي لـ "منفصل" سيكون 20، ولـ "معًا" - 50. عند تحديد "معًا" في البداية و معلمات النهاية، لا يمكنك تحديد إزاحة للمواضع "الأول"، "الأخير"، "السابق"، "التالي". القيمة الافتراضية هي "منفصلة".
مثال:
الحصول على نسبة المبلغ الخاص بالحقل "Sales.AmountTurnover" لسجل التجميع إلى مبلغ الحقل نفسه في التخطيط بأكمله:
Sum(Sales.SumTurnover) / CalculateExpression("Sum(Sales.SumTurnover)"، "الإجمالي").

يحسب هذا المثال قيمة التسلسل الهرمي الحالي:
خيار
عندما يكون المستوى ()> 0
ثم قم بتقييم التعبير ("المرجع"، "التسلسل الهرمي")
وإلا لاغية
نهاية

ملحوظات:
تأخذ الوظيفة في الاعتبار اختيار المجموعات، ولكنها لا تأخذ في الاعتبار التحديدات الهرمية. لا يمكن تطبيق الوظيفة على مجموعة في تحديد المجموعة لتلك المجموعة. على سبيل المثال، عند تحديد مجموعة Nomenclature، لا يمكنك استخدام التعبير CalculateExpression("Sum(SumTurnover)", "TotalTotal") > 1000 . ولكن يمكن استخدام مثل هذا التعبير في الاختيار الهرمي. إذا كان سجل النهاية يسبق سجل البداية، فيعتبر أنه لا توجد سجلات لحساب البيانات التفصيلية وحساب الوظائف المجمعة. عند حساب تعبيرات الفاصل الزمني للإجمالي الكلي (يتم تعيين معلمة التجميع على "الإجمالي الإجمالي")، فمن المفترض أنه لا توجد سجلات لحساب البيانات التفصيلية وحساب الوظائف التجميعية. عند إنشاء تعبير لوظيفة CalculateExpression، يقوم مؤلف التخطيط، إذا كان تعبير الترتيب يحتوي على حقول لا يمكن استخدامها في التجميع، باستبدال وظيفة CalculateExpression بـ NULL.

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

بناء الجملة:
CalculateExpressionWithGroupArray (التعبير، GroupFieldExpressions، SelectRecords، SelectGroups)

خيارات :

  • تعبير(سلسلة) - التعبير المراد تقييمه. على سبيل المثال، "Amount(AmountTurnover)";
  • مجموعات التعبيرات الميدانية
  • اختيار السجلات
  • اختيار المجموعات- الاختيار المطبق على سجلات المجموعة. على سبيل المثال: "Amount(AmountTurnover) > &Parameter1".
مثال:
الحد الأقصى(CalculateExpressionWithGroupArray("Amount(AmountTurnover)", "Counterparty"));


يقوم منشئ التخطيط، عند إنشاء تعبيرات لعرض حقل مخصص يحتوي تعبيره على وظيفة CalculateArrayWithGroup فقط، بإنشاء تعبير الإخراج بطريقة يتم فيها ترتيب بيانات العرض والبيانات.
على سبيل المثال، بالنسبة لحقل مخصص يحتوي على التعبير:
CalculateExpressionWithGroupArray("المبلغ(AmountTurnover)"، "الطرف المقابل")
سيقوم منشئ التخطيط بإنشاء التعبير التالي للإخراج:
ConnectRows(Array(Order(CalculateExpressionWithGroupingValueTable("View(Sum(DataSet.AmountTurnover))), Amount(DataSet.AmountTurnover)", "DataSet.Account"), "2")))

4. حساب التعبير باستخدام GroupValueTable (EvalExpressionWithGroupValueTable) - تقوم الدالة بإرجاع جدول القيم، يحتوي كل عنصر منه على نتيجة حساب تعبير للتجميع حسب الحقل المحدد.

بناء الجملة:
CalculateExpressionWithGroupValueTable (التعبير، تعبيرات GroupField، تحديد السجلات، تحديد المجموعة)

خيارات :

  • تعبير(سلسلة) - التعبير المراد تقييمه. يمكن أن يحتوي السطر على تعبيرات متعددة مفصولة بفواصل. بعد كل تعبير قد تكون هناك كلمة أساسية اختيارية AS واسم عمود جدول القيمة. على سبيل المثال: "الطرف المقابل، المبلغ (AmountTurnover) كحجم مبيعات."
  • مجموعات التعبيرات الميدانية- تعبيرات حقول التجميع، مفصولة بفواصل. على سبيل المثال، "الطرف المقابل، الطرف"؛
  • اختيار السجلات- تعبير يطبق على سجلات التفاصيل. على سبيل المثال، "علامة الحذف = خطأ." إذا كانت هذه المعلمة تستخدم دالة تجميعية، فسيحدث خطأ عند إنشاء البيانات؛
  • اختيار المجموعات- الاختيار المطبق على سجلات المجموعة. على سبيل المثال: "Amount(AmountTurnover) > &Parameter1".
مثال:
CalculateExpressionWithGroupValueTable("الحساب كطرف مقابل، المبلغ(AmountTurnover) كحجم المبيعات"، "الحساب")

ستكون نتيجة هذه الوظيفة عبارة عن جدول قيم يحتوي على أعمدة الطرف المقابل وحجم المبيعات، والذي سيحتوي على الأطراف المقابلة مع أحجام مبيعاتها.
يقوم مؤلف التخطيط، عند إنشاء تخطيط، بتحويل معلمات الوظيفة إلى مصطلحات حقول تخطيط تكوين البيانات. على سبيل المثال، سيتم تحويل حقل الحساب إلى DataSet.Account.
على سبيل المثال، حقل مخصص بالتعبير:
CalculateExpressionWithGroupValueTable("الحساب، المبلغ(AmountTurnover)"، "الحساب")
سيقوم منشئ التخطيط بإنشاء التعبير التالي للإخراج:
ConnectRows(GetPart(Order(CalculateExpressionWithGroupingValueTable("DataSet.Account, DataSet.AccountRepresentation, Sum(DataSet.AmountTurnover), View(DataSet.AmountTurnover), DataSet.OrderingField", "DataSet.Account"), "5, 1, 3" )، "2، 4"))

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

بناء الجملة:
مستوى()

مثال:
مستوى()

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

بناء الجملة:
رقم حسب الطلب ()

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

7. رقم التسلسل في المجموعة - إرجاع رقم التسلسل التالي في المجموعة الحالية.

مثال:
NumberByOrderInGroup()

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

بناء الجملة:
التنسيق (القيمة، سلسلة التنسيق)

خيارات :

  • معنى- التعبير الذي يحتاج إلى تنسيق؛
  • سلسلة التنسيق- يتم تعيين سلسلة التنسيق وفقًا لسلسلة التنسيق 1C:Enterprise.
مثال:
التنسيق(الفواتير.مبلغ المستند، "NPV=2")

9. بداية الفترة

بناء الجملة:
فترة البدء (التاريخ، نوع الفترة)

خيارات :

  • تاريخ(تاريخ). تاريخ محدد؛
  • نوع الفترة
مثال:
فترة البداية (DateTime(2002, 10, 12, 10, 15, 34), "Month")
النتيجة: 10/01/2002 0:00:00

10. نهاية الفترة - تم تصميم الوظيفة لتحديد تاريخ محدد من تاريخ معين.

بناء الجملة:
فترة النهاية (التاريخ، نوع الفترة)

خيارات :

  • تاريخ(تاريخ). تاريخ محدد؛
  • نوع الفترة(خط). يحتوي على إحدى القيم التالية: الدقيقة؛ ساعة؛ يوم؛ أسبوع؛ شهر؛ ربع؛ سنة؛ عقد؛ نصف سنة.
مثال:
فترة النهاية (DateTime(2002, 10, 12, 10, 15, 34), "Week")
النتيجة: 13/10/2002 23:59:59

11. AddKDate (DateAdd) - تم تصميم الوظيفة لإضافة قيمة معينة إلى التاريخ.

بناء الجملة:
AddToDate(التعبير، نوع الزيادة، الحجم)

خيارات :

  • تعبير(تاريخ). التاريخ الأصلي؛
  • نوع التكبير(خط). يحتوي على إحدى القيم التالية: الدقيقة؛ ساعة؛ يوم؛ أسبوع؛ شهر؛ ربع؛ سنة؛ عقد؛ نصف سنة.
  • ضخامة(رقم). يتم تجاهل الجزء الكسري بمقدار مقدار زيادة التاريخ.
مثال:
AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Month", 1)
النتيجة: 12/11/2002 10:15:34

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

بناء الجملة:
DifferenceDate(Expression1، Expression2، DifferenceType)

خيارات :

  • التعبير1(تاريخ). تاريخ الطرح؛
  • التعبير2(تاريخ). التاريخ الأصلي؛
  • TypeDifference(خط). تحتوي على إحدى القيم: الثانية؛ دقيقة؛ ساعة؛ يوم؛ شهر؛ ربع؛ سنة.
مثال:
اختلاف التاريخ(DATETIME(2002, 10, 12, 10, 15, 34),
DATETIME(2002, 10, 14, 9, 18, 06)، "DAY")
النتيجة: 2

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

بناء الجملة:
السلسلة الفرعية (السلسلة، الموضع، الطول)

خيارات :

  • خط(خط). السلسلة التي يتم استخراج السلسلة الفرعية منها؛
  • موضع(رقم). موضع الحرف الذي تبدأ منه السلسلة الفرعية المراد استخراجها من السلسلة؛
  • طول(رقم). طول السلسلة الفرعية المخصصة.
مثال:
سلسلة فرعية (عنوان الحسابات، 1، 4)

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

بناء الجملة:
طول السلسلة (سلسلة)

معامل :

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

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

بناء الجملة:
السنة (التاريخ)

معامل :

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

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

بناء الجملة:
الربع (التاريخ)

معامل :

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

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

بناء الجملة:
تاريخ الشهر)

معامل :

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

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

بناء الجملة:
يوم السنة(التاريخ)

معامل :

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

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

بناء الجملة:
تاريخ اليوم)

معامل :

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

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

بناء الجملة:
الأسبوع(التاريخ)

معامل :

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

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

بناء الجملة:
يوم الأسبوع(التاريخ)

معامل :

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

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

بناء الجملة:
الساعة (التاريخ)

معامل :

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

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

بناء الجملة:
الدقيقة (التاريخ)

معامل :

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

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

بناء الجملة:
الثاني (التاريخ)

معامل :

  • تاريخ(تاريخ). التاريخ الذي يتم من خلاله تحديد ثواني الدقيقة.
مثال:
الثاني (تاريخ النفقة)

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

بناء الجملة:
التعبير (التعبير، نوع الإشارة)

خيارات :

  • تعبير- التعبير المراد تحويله؛
  • إشارة النوع(خط). يحتوي على سلسلة نوع. على سبيل المثال، "الرقم"، "السلسلة"، وما إلى ذلك. بالإضافة إلى الأنواع البدائية، قد يحتوي هذا السطر على اسم الجدول. في هذه الحالة، سيتم إجراء محاولة للتعبير عن مرجع إلى الجدول المحدد.
مثال:
صريحة (Data.Props1، "الرقم (10،3)")

26. إيس نول (إيس نول) - تقوم هذه الدالة بإرجاع قيمة المعلمة الثانية إذا كانت قيمة المعلمة الأولى فارغة. وإلا، سيتم إرجاع قيمة المعلمة الأولى.

بناء الجملة:
IsNull(Expression1، Expression2)

خيارات :

  • التعبير1- القيمة المراد التحقق منها؛
  • التعبير2- القيمة المرجعة إذا كان Expression1 فارغًا.
مثال:
نعمNULL(المبلغ(المبيعات.مبلغ الدوران)، 0)

27.أكوس- يحسب قوس جيب التمام بالراديان.

بناء الجملة:
ACos(تعبير)

معامل :

  • تعبير(رقم). قيمة جيب التمام (في النطاق -1 ... 1) التي يتم من خلالها تحديد الزاوية.
28. أسين- يحسب قوس الجيب بالراديان.

بناء الجملة:
ASin (تعبير)

معامل :

  • تعبير(رقم). قيمة الجيب (في النطاق -1 ... 1) التي يتم من خلالها تحديد الزاوية.
29.أتان- يحسب ظل الزاوية بالراديان.

بناء الجملة:
أتان (تعبير)

معامل :

  • تعبير(رقم). قيمة الظل التي يتم من خلالها تحديد الزاوية.
30.كوس- يحسب جيب التمام.

بناء الجملة:
كوس (تعبير)

معامل :

  • تعبير
31. إكسب- رفع الرقم e إلى قوة.

بناء الجملة:
إكسب (التعبير)

معامل :

  • تعبير(رقم). معنى الدرجة .
32. سجل- يحسب اللوغاريتم الطبيعي.

بناء الجملة:
سجل (تعبير)

معامل :

  • تعبير
33.سجل10- يحسب لوغاريتم X للأساس 10.

بناء الجملة:
سجل10(التعبير)

معامل :

  • تعبير(رقم). الرقم الأصلي أكبر من 0.
34. الأسرى- الأسي.

بناء الجملة:
الأسرى (قاعدة، المؤشر)

خيارات :

  • قاعدة(رقم). أساس عملية الأس.
  • فِهرِس(رقم). الأس.
35. الخطيئة- يحسب الجيب.

بناء الجملة:
الخطيئة(تعبير)

معامل :

  • تعبير(رقم). محدد بالراديان.
36. سرت- يحسب الجذر التربيعي.

بناء الجملة:
سرت (التعبير)

معامل :

  • تعبير(رقم). رقم غير سالب
37. تان- يحسب الظل.

بناء الجملة:
تان (التعبير)

معامل :

  • تعبير(رقم). قيمة الجيب التي يتم من خلالها تحديد الزاوية.
38. الجولة- تقريب الرقم الأصلي إلى عمق البت المطلوب. وضع التقريب قياسي (1.5 مثل 2).

بناء الجملة:
Env(التعبير، عمق البت)

خيارات :

  • تعبير(رقم). الرقم الأصلي؛
  • عمق بت(رقم). عدد المنازل العشرية المراد التقريب إليها.
39. كثافة العمليات- يقطع الجزء الكسري من الرقم.

بناء الجملة:
كائن (تعبير)

معامل :

  • تعبير(رقم). عدد كسري.
40. وظائف الوحدات المشتركة

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

مثال:
الاسم المختصر (Documents.Link، Documents.Date، Documents.Number)

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

41. الاستياء - تقوم هذه الدالة بإرجاع تمثيل سلسلة للقيمة التي تم تمريرها لنوع غير بدائي. بالنسبة للقيم من النوع البدائي، يتم إرجاع القيمة نفسها.

<Пустое значение>".

مثال:
العرض التقديمي (الطرف المقابل)

42. سلسلة - تقوم هذه الدالة بتحويل القيمة التي تم تمريرها إلى سلسلة.

إذا تم استخدام مصفوفة أو جدول قيم كمعلمة، فستُرجع الدالة سلسلة تحتوي على تمثيل سلسلة لجميع عناصر المصفوفة، مفصولة بالأحرف "؛ ". إذا كان لأي عنصر تمثيل سلسلة فارغ، فستكون السلسلة "<Пустое значение>".

مثال:
الصف (تاريخ المبيعات)

43. القيمة معبأه

بالنسبة للقيم NULL، تقوم الدالة Undefine بإرجاع False دائمًا.
بالنسبة للقيم المنطقية، فإنها تُرجع دائمًا True.
بالنسبة للأنواع الأخرى، يتم إرجاع True إذا كانت القيمة تختلف عن القيمة الافتراضية للنوع المحدد.

مثال:
القيمة المملوءة (تاريخ التسليم)

44. ليفيلينجروب - تحصل هذه الوظيفة على مستوى التسجيل الحالي بالنسبة إلى المجموعة.

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

مثال:
ليفيلينجروب ()

45. نوع القيمة

بناء الجملة:
نوع القيمة(التعبير)

معامل :

  • تعبير(خط). نوع قيمة السلسلة.
تُرجع قيمة من النوع Type تحتوي على نوع قيمة معلمة الوظيفة.

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

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

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

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

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

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

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

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

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

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

مخطط تخطيط البيانات (1C SKD)- مصمم مناسب لإنشاء تقارير معقدة في 1C: منتجات برمجية للمؤسسات تساهم في تطوير وتتبع أتمتة الإنتاج، مما يسمح لها بجعلها مرنة وجميلة قدر الإمكان في أقل وقت ممكن. ميزة إضافية لنظام تكوين البيانات (1C SKD) هي الإنشاء التلقائي لنموذج تقرير يتم التحكم فيه، ومع مزيد من التطوير في هذا المجال، يعد عاملاً مهمًا عند اختيار طريقة تطوير التقرير. ولكن نظرًا لتعقيد هيكل مخطط تكوين البيانات (1C SKD) والعدد الهائل من الإعدادات، فإنه غالبًا ما يؤدي إلى تطوير التقرير لفترة أطول مقارنةً بـ "مصمم نموذج المخرجات". لذلك، يحتاج مبرمج 1C إلى فهم جميع تعقيدات نظام تكوين البيانات (1C DCS) من أجل تسريع وقت التطوير لإنشاء التقارير.

دعونا نلقي نظرة على علامات التبويب الثلاثة الأولى في مخطط تكوين البيانات (1C SKD) - مجموعة البيانات، واتصالات مجموعة البيانات، والحقول المحسوبة.

مجموعة البيانات في 1C SKD

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

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

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

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

الشروط، هنا نختار تلك الكائنات التي يمكن استخدامها في ظل الظروف في نظام التحكم في الوصول.

يتم تنفيذ بعض العمل في مخطط تكوين البيانات، ويتم تنفيذ البعض الآخر برمجيًا؛ دعونا نلقي نظرة على مثال بسيط:

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

دعونا نضيف ثلاثة حقول ونملأ كل عمود باسم التفاصيل، وسيتم ملء الأعمدة المتبقية تلقائيًا:

لنقم بإنشاء زر في نموذج المستند ووصف آلية العمل في النماذج الخاضعة للرقابة:

&OnClient

طباعة الإجراء()

OurReport = PrintOnServer(); // استدعاء الوظيفة على الخادم

OurReport.Show(); // عرض التقرير الذي تم إنشاؤه

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

&على الخادم

الدالة PrintOnServer()

DocumentObject = FormAttributeValue("Object");

//نضع الجزء الجدولي من المنتجات في بنية تحمل الاسم ProductsSKD بنفس الطريقة التي أشرنا إليها في SKD نفسها اسم الكائن الذي يحتوي على البيانات

DataSet = هيكل جديد؛

DataSet.Insert("ProductsSKD"، DocumentObject.Products);

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

OurLayout = DocumentObject.GetLayout("SKD");

الإعدادات = OurLayout.DefaultSettings؛

//إنشاء تخطيط تخطيط البيانات باستخدام إعداداتنا

LayoutLinker = newDataLayoutLayoutLinker;

LayoutLayout = LayoutComposer.Execute(لديناLayout, الإعدادات);

//إجراء تكوين البيانات باستخدام مجموعة البيانات الخاصة بنا

DataCompositionProcessor = newDataCompositionProcessor;

DataCompositionProcessor.Initialize(LayoutLayout, DataSet);

//نقوم بإنشاء مستند جدول بيانات ونعرض تقريرنا فيه

ReportDocument = New TabularDocument;

OutputProcessor = New OutputProcessorDataCompositionResultInTabularDocument;

OutputProcessor.SetDocument(ReportDocument);

OutputProcessor.Output(DataCompositionProcessor);

تقرير مستند الإرجاع؛

وظيفة النهاية

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

عن توحيد

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

لدينا طاولات:

عند التواصل سنتلقى:

وعند الجمع:

لنفكر الآن في ملء الأعمدة في مجموعات البيانات (سنتخطى بعضها، نظرًا لارتباطها بعلامات تبويب أخرى؛ وسنعود إليها في المقالات المستقبلية):

- مجال، تشير إلى الاسم العام للسمة؛

­­- طريق، حدد اسم التفاصيل التي سنتصل بها من خلالها في نظام التحكم في الوصول، على سبيل المثال، في الحقول المحسوبة;

- عنوان، حدد اسم السمة التي سيتم عرضها في التقرير؛

- الحد الميداني، تشير إلى توفر هذا المطلب؛

- تقييد التفاصيل، نشير إلى توفر العناصر الفرعية، من المهم أنه إذا تمت الإشارة إلى توفر التفاصيل، فسيكون الحقل نفسه متاحًا، وربما سيتم تغيير هذه الآليات في الإصدارات المستقبلية؛

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

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

- نوع القيمة، يشير إلى نوع قيمة السمة التي يجب ملؤها إذا كنت تستخدم الحقل التالي؛

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

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

اتصالات مجموعة البيانات في 1C SKD

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