استخدام التحديدات في skd. مجموعة البيانات - الاستعلام

SKD 1C تعني نظام تكوين البيانات. SKD 1C هو طريق جديدكتابة التقارير في 1C ، مما يسمح للمستخدم بتخصيص التقرير بالكامل من تلقاء نفسه.

الجانب السلبي لـ SKD 1C هو أن إعداداته معقدة للغاية ولا يتعلمها جميع المستخدمين بسرعة.

تتطلب كتابة تقارير ACS القدرة على التعامل مع الاستفسارات في 1C ، والتي ناقشناها في.

ما هي تقنية إنشاء تقرير SKD 1C:

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

لدى المستخدم الفرصة لتغيير العديد من الإعدادات حسب الرغبة.

ما هي تقنية إنشاء تقرير عن التقنيات السابقة:

  • اكتب طلبًا في برنامج 1C
  • قم بتطوير نموذج إعدادات (فريد للتقرير) سيسمح لك بتغيير إعدادات N فقط التي حددها المبرمج
  • اكتب كود (برنامج) لتنفيذ استعلام وبناء شكل مطبوعتقرير.

كما ترى ، تتمتع SKD 1C بميزة كبيرة لكل من المستخدم والمبرمج:

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

في جميع تكوينات 1C الجديدة ، سيتم استخدام جميع التقارير فقط على 1C SKD.

دعونا نرى كيفية إنشاء تقرير عن SKD 1C بنفسك من البداية.

نقوم بإنشاء تقرير SKD 1C

في أداة التهيئة ، انقر فوق زر ملف جديد (قائمة ملف / جديد).

حدد نوع الملف تقرير جديد.

سيتم إنشاء تقرير جديد. أدخل الاسم - بدون مسافات للتكوين ، وهو مرادف للمستخدم.

لنقم بإنشاء المخطط الرئيسي لـ ACS 1C.

نقوم بإنشاء طلب لتقرير SKD 1C

يمكن أن يكون هناك العديد من مصادر البيانات لـ SKD 1C. لاستخدام ، على سبيل المثال ، استعلامان منفصلان - قم أولاً بإضافة "Dataset - Join" ، ثم عدة استعلامات.

في مثالنا ، سنستخدم استعلامًا بسيطًا.

لنكتب استعلامًا للحصول على البيانات.

لا يختلف العمل مع منشئ الاستعلام عن العادي ، فقد ناقشنا هذا في.

كنتيجة للطلب ، ستقوم SKD 1C بإنشاء قائمة بالحقول المتاحة للاستخدام وملء الأسماء الافتراضية بها.

إذا كان الاسم غير ملائم ، يمكنك تغييره هنا.

لاحظ أننا استخدمنا المعلمة & StartDate في الاستعلام. يوجد في SKD 1C معلمة (تاريخ) تسمى افتراضيًا & الفترة ويمكنك استخدامها.

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

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

إعدادات SKD 1C

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

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

يتم إجراء الإعدادات الرئيسية في علامة التبويب "الإعدادات":


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

يرى المستخدم تقريبًا نفس شكل الإعدادات مثل المبرمج.

هاهو. التقرير يعمل.

إعدادات SKD 1C

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

اسحب المستودع من الأعمدة إلى الصفوف.

دعنا نسحب التسمية إلى المستودع.

انقر فوق "موافق" وإنشاء التقرير. رائع - لقد غيرنا للتو كيفية عمل التقرير في وضع البرمجة بدون برمجة.

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

قم بتوسيع حقل المستودع وحدد أحد الحقول الخاصة به ، على سبيل المثال نوع المستودع.

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

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

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

نتيجة إعداداتنا.

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

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

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

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

طلب = طلب جديد (
"يختار
| الجدول.
| الجدول. المستودع
| من
| & TK AS Table ") ؛
Request.SetParameter ("TK" ، TK) ؛

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

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

نحن بالتفصيل المشكلة في بعض الأمثلة. يوجد تقرير قياسي بيانات التسوية لتنظيم تكوين ZiK 8. من الضروري أن يتم تجميع أنواع الحسابات الواردة في التقرير في مجموعات معينة. يتم تخزين مجموعة نوع الحساب المراسلات في جدول قيم خارجي. لتحميله في مخطط تخطيط البيانات الرئيسي ، نقوم بإنشاء "كائن مجموعة بيانات" باسم "مجموعات" (الشكل 2). نقوم بإجراء اتصال مع "طلب مجموعة البيانات" - "الاستحقاقات" حسب نوع الحساب (الشكل 3). في "طلب مجموعة البيانات" - "الاستحقاقات" توجد معلومات عن المجموعات ، نقوم بحذف جميع التكرارات. بعد ذلك ، في علامة التبويب "الإعدادات" ، يمكننا استخدام حقل "المجموعة" ، الذي يتم تحميل قيمته من مصدر بيانات خارجي (الشكل 4). في وظيفة إنشاء التقارير ، نكمل تحميل البيانات الخارجية.

دالة GenerateReport (النتيجة = غير محددة ، DecodeData = غير محدد ، OutputToReportForm = True) تصدير

// الحصول على أو تشكيل جدول قيم "المجموعة" المطلوب وكتابته في المتغير الذي يحمل نفس الاسم

ExternalData = New Structure () ؛ // إنشاء وتعبئة بنية البيانات الخارجية
ExternalData.Insert (مجموعات) ؛

UserPanelValue = GenericReports.GetUserPanelSettingsValuesofObject (ThisObject) ،
DefaultSettings = SettingsComposer.GetSettings () ،
GenericReports.GetAppliedSetting (ThisObject) ،
GenericReports.Generate GenericReport (ThisObject ، النتيجة ، بيانات فك التشفير ، OutputToReportForm ، ExternalData) ؛
SettingsComposer.LoadSettings (DefaultSetting) ؛
نتيجة العودة

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

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

ExternalDataSets = هيكل جديد ؛
ExternalDataSets.Insert ("مجموعات" ، مجموعات) ؛ // المجموعات - جدول القيم المطلوب
DataCompositionSchema = GetLayout ("MainDataCompositionSchema") ؛ // تخطيطنا مع تخطيط البيانات
الإعدادات = DataCompositionSchema.Default Settings ؛
منشئ تخطيط التخطيط = منشئ تخطيط البيانات الجديد ؛
LayoutLayout = LayoutComposer.Run (DataCompositionScheme ، إعدادات) ؛
DataCompositionProcessor = معالج DataCompositionProcessor الجديد ؛
DataCompositionProcessor.Initialize (LayoutLayout، ExternalDataSets) ؛
TabDoc = جدول بيانات جديد ؛
OutputProcessor = New OutputProcessorofDataCompositionResultIntoSpreadsheetDocument ؛
OutputProcessor.SetDocument (TabDoc) ،
OutputProcessor.Output (DataCompositionProcessor) ؛

يقرأ 9660 مرة واحدة

انتباه! هذه نسخة تجريبية من الدرس ، قد لا تكون موادها كاملة.

تسجيل الدخول كطالب

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

1C 8.3 نظام تكوين البيانات للمبتدئين: إجراء اتصال بين مجموعات البيانات

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

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

افتح قاعدة بيانات "Gastronom" في أداة التهيئة وأنشئ تقريرًا جديدًا من خلال القائمة الرئيسية:

نوع المستند - "تقرير خارجي":

في شكل تقرير جديد ، حدد الاسم "Lesson6" وانقر فوق الزر "فتح نظام تكوين البيانات":

اترك اسم المخطط الافتراضي:

إضافة مجموعة البيانات الأولى

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

نسمي مُنشئ الاستعلام:

حدد جدول "العملاء" والحقول التي تريد الحصول عليها من الاستعلام:

إضافة مجموعة بيانات ثانية

إضافة مجموعة بيانات ثانية:

حدده (DataSet2) واتصل بمُنشئ الاستعلام مرة أخرى:

حدد جدول الكتاب المرجعي "طعام" والحقول التي تريد الحصول عليها من الطلب:

هذا هو نص الطلب:

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

جعل الأسماء أكثر وصفية

للتوضيح ، دعنا نعيد تسمية Dataset1 إلى Clients و Dataset2 إلى Food.

قم بذلك عن طريق النقر المزدوج على كل مجموعة:

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

في هذه اللحظةتحتوي مجموعة "العملاء" على الحقول التالية: "الاسم" و "اللون المفضل" ، ومجموعة "الطعام": "الاسم" و "اللون".

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

حدد مجموعة "العملاء" وقم بتغيير أسماء الحقول كما يلي:

ثم حدد مجموعة "الطعام" وقم بتغيير أسماء الحقول على النحو التالي:

استدعاء منشئ الإعدادات

أخيرًا ، انتقل إلى علامة التبويب "الإعدادات" وانقر فوق عصا سحريةلاستدعاء مُنشئ الإعدادات:

نوع التقرير - "قائمة ...":

حدد الحقول للتقرير من كلا المجموعتين:

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

تدقيق التقرير

نحفظ التقرير وننشئه في وضع المستخدم:

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

ولكن من بين كل هذه السجلات ، نحتاج فقط إلى ترك تلك السجلات التي يكون حقل "FavouriteCustomerColor" مساويًا لحقل "FoodColor":

ربط مجموعتين من البيانات

للقيام بذلك ، دعنا نربط مجموعتي بيانات (العملاء والطعام) من خلال حقلي اللون المفضل للعميل ولون الطعام.

انتقل إلى علامة التبويب "روابط مجموعة البيانات" وانقر على زر علامة الجمع لإضافة ارتباط جديد:

اضبط المعلمات كما هو موضح أدناه:

سأقدم تفسيرا.

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

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

تعبير المتلقي.نشير هنا إلى تعبير أو مجرد حقل من مجموعة بيانات جهاز الاستقبال (أشرنا إلى حقل Food Color من مجموعة Food هنا).

وبالتالي ، سيترك هذا الرابط من القائمة السابقة فقط تلك الصفوف التي يكون حقل FavouriteCustomerColor مساويًا لحقل FoodColor.

احفظ التقرير وقم بتشغيله في وضع المستخدم:

عظيم!

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

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

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

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

مجموعة البيانات - الاستعلام.

  1. على عكس الاستعلام العادي ، لا يحتوي استعلام تكوين البيانات على عبارة TOTAL. بدلاً من ذلك ، يتم إنشاء الإجماليات في علامة التبويب "الموارد". في علامة التبويب هذه ، تحدد الحقول التي تريد الحصول على التعبيرات النهائية لها. وفي علامة التبويب "الإعدادات" ، يشار إلى القسم الذي سيتم الحصول على النتائج فيه ، أي يتم إنشاء المجموعات المقابلة هنا ويتم حساب الموارد منها. يمكنك قراءة المزيد عن هذا في المقالة.
  2. النقطة التالية تتعلق بإعدادات الاختيار. هناك احتمالان للتنفيذ.
    1. من خلال إعدادات خيار التقرير. يمكن القيام بذلك في علامة التبويب "الإعدادات" - "التحديد". إذا استخدمنا هذا الخيار ، فهو الأكثر مرونة ، حيث يمكنك تحديده أنواع مختلفةالمقارنات التي يمكن حتى للمستخدم الاختيار من بينها. أيضًا ، عند استخدام هذا الخيار ، يتم فرض شروط التصفية في الاستعلام نفسه. إذا كان التقرير يستند إلى استعلام دُفعي باستخدام جداول مؤقتة ، فسيؤثر التحديد على جميع جداول استعلام الدُفعات حيث يظهر حقل التصفية.
    2. على مستوى الطلب. إذا استخدمنا استعلامًا ، فلا يمكننا استخدام أي شيء بخلاف عملية المساواة.
      الاستثناء هو الحالة عندما نحتاج إلى إجراء تصفية "صارمة" للبيانات حسب بعض القيمة. دعنا نقول من خلال قيمة التعداد. في علامة التبويب "المعلمات" ، يمكننا تعيين الشرط. إذا قمنا بتشغيل علامة "تقييد الوصول" ، فلن يتمكن المستخدم من إلغاء هذا الشرط.
  3. يعتبر الفرز أيضًا أكثر صحة لفرضه على مستوى إعدادات متغير التقرير.
    1. إذا قمت بتحديد حقل فرز في الطلب ، فسيحدد المستخدم حقلاً آخر في إعداد خيار التقرير الخاص به ، ثم سيكون الإعداد الذي تم إجراؤه على مستوى الطلب هو أقل أولوية. سيتم تنفيذ الفرز الذي حدده المستخدم في إعداد متغير التقرير أولاً. لذلك ، إذا كنت بحاجة إلى تعيين الفرز "افتراضيًا" ، فاستخدم إعدادات متغير التقرير في Configurator.
    2. وإذا كنت بحاجة إلى إعداد فرز "صعب" في التقرير حتى لا يتمكن المستخدم من تغييره؟ ثم قمنا بتعيين الفرز على مستوى الطلب ، وفي علامة التبويب "مجموعات البيانات" ، قمنا بتعيين تقييد المجال. حدد مجموعة البيانات المطلوبة وفي العمود "تقييد الحقل" - حدد المربع "الطلب".

خيارات الجدول الافتراضي.

  • يعتمد إنشاء جداول افتراضية لسجلات المحاسبة وسجلات التراكم وسجلات المعلومات على التاريخ المحدد. يمكن أن يكون إما تاريخًا واحدًا أو فترة زمنية ، على سبيل المثال ، لجدول الأرصدة ودوران الأعمال. تم تصميم ACS بحيث إذا كان التقرير يستند إلى جدول افتراضي ، فمن الضروري السماح للمستخدم باختيار الفاصل الزمني أو في أي تاريخ لإنشاء التقرير. تضيف ACS تلقائيًا معلمات الفترة اللازمة إلى مخطط التخطيط.
  • إذا تم تحديد جدول أرصدة افتراضي أو جدول افتراضي لسجلات المعلومات في الاستعلام ، فسيتم إضافة معلمة تسمى "الفترة" تلقائيًا.
  • إذا تم تحديد جدول افتراضي للأرصدة والدوران أو جدول افتراضي لعمليات الدوران في الاستعلام ، فسيتم إضافة المعلمات "بداية الفترة" و "نهاية الفترة" تلقائيًا.
  • ماذا تفعل إذا احتجت إلى الحصول على أرصدة في نهاية الفترة؟ هناك طريقتان:
    1. نذهب إلى علامة التبويب "المعلمات" وفي معلمة "الفترة" في عمود "التعبيرات" نكتب ما يلي:
      & نهاية الفترة. قم أيضًا بتمكين علامة "تقييد الوصول".
    2. نتخلص تمامًا من معلمة "الفترة" ونستبدلها بالمعامل "EndPeriod". قم بإعداد معلمة اختيارية طاولة افتراضية:
      • انتقل إلى علامة التبويب "Datasets" وانقر فوق الزر "Query Builder ...".
      • في علامة التبويب "تكوين البيانات" في الزاوية اليسرى العليا ، انقر فوق الزر لفتح مربع الحوار "خيارات الجدول الظاهري" (هذا هو زر مربع رمادي مع ترس على خلفية جدول صغير).
      • في حقل "الفترة" من مربع الحوار ، اكتب: & EndPeriod.
      • الآن في نص استعلام مجموعة البيانات في معلمات الجدول الظاهري ، ستظهر هذه المعلمة محاطة بأقواس معقوفة:
تسجيل تراكم. بقايا البضائع. بقايا ((& EndPeriod))،) كما تبقى

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

ملحق لغة الاستعلام.

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

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

كيف يعمل الإكمال التلقائي لحقول مخطط تكوين البيانات المتوفرة؟

    1. تصبح الحقول من قائمة اختيار الاستعلام والحقول التابعة لها متاحة.
    2. إذا اخترنا من سجل التراكم ، فستصبح حتى حقول التسجيل غير المدرجة في الطلب متاحة في حقول تكوين البيانات. لكن هذه الحقول متاحة فقط للاختيار (في التعبيرات الشرطية)
      ولا يمكن استخدامها كحقول إخراج.
    3. معلمات الجداول الظاهرية "الفترة" ، "StartPeriod" و "EndPeriod" تصبح
      متاح للاختيار.
    4. إذا تم تحديد شرط "صعب" في نص الطلب ، فستتم إضافة هذه المعلمة أيضًا في علامة التبويب "المعلمات".

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

كيف يمكنني ملء حقول مخطط تكوين البيانات بنفسي؟

قم بإلغاء تحديد المربع "إكمال تلقائي" في علامة التبويب "مجموعات البيانات".

انقر على زر "Query Builder ...". لنقم بإنشاء الاستعلام التالي:

اختر البقايا. التسمية كما التسمية ، تبقى. سجل تراكم الكمية. بقايا البضائع. بقايا ((& EndPeriod))،) كما تبقى

في علامة التبويب "الجداول" ، يمكننا تعيين معلمات الجداول الافتراضية لجميع الجداول.

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

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

حدد حقلين "التسمية" و "الكمية". بالنسبة للحقل "Nomenclature" ، قم بتعيين العلامة "And .." ،
لتحديد السجلات التابعة. احصل على الاستعلام التالي:

اختر البقايا. التسمية كما التسمية ، تبقى. الكمية AS الكمية (حدد التسمية. * ، الكمية) سجل تراكم. بقايا البضائع. بقايا ((& EndPeriod))،) كما تبقى

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

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

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

تسجيل تراكم. بقايا البضائع. تبقى ((& EndPeriod))، ((Nomenclature))) كما تبقى

في لغة الاستعلام العادية ، يبدو تحديد المعامل كما يلي: Nomenclature = & Nomenclature. ولكن في ملحق لغة الاستعلام ، تتم كتابة هذا بشكل مختلف. تم تحديد اسم الحقل فقط. هنا لا نحدد عملية المساواة أو عدم المساواة أو في التسلسل الهرمي ، لأن المستخدم نفسه سيختار العملية المطلوبة في إعداداته.

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

(حيث تبقى. الكمية)

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

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

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

في نهاية المقال أود أن أنصحك مجانًا من أناتولي سوتنيكوف. هذه دورة من مبرمج متمرس. سيوضح لك بشكل منفصل كيفية إنشاء التقارير في ACS. تحتاج فقط إلى الاستماع بعناية والتذكر! ستتلقى إجابات لأسئلة مثل:
  • كيف تصنع تقرير قائمة بسيط؟
  • ما هي أعمدة "الحقل" و "المسار" و "العنوان" في علامة التبويب "الحقول"؟
  • ما هي القيود على حقول التخطيط؟
  • كيف يتم إعداد الأدوار بشكل صحيح؟
  • ما هي أدوار حقول التخطيط؟
  • أين يمكنني العثور على علامة تبويب تخطيط البيانات في استعلام؟
  • كيفية تكوين المعلمات في SKD؟
  • أكثر إثارة للاهتمام ...
ربما ، يجب ألا تحاول تصفح الإنترنت بحثًا عن معلومات ضرورية؟ علاوة على ذلك ، كل شيء جاهز للاستخدام. فقط ابدأ! كل التفاصيل حول ما هو موجود في دروس الفيديو المجانية على صفحة المؤلف صانع لينة http: //www..pngصانع لينة 2015-12-07 14:51:12 2018-06-12 13:14:13 نظام تكوين البيانات (SKD). الجزء 2.

ملحق لغة الاستعلام لنظام تكوين البيانات

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

عناصر بناء جملة ملحق لغة استعلام نظام تكوين البيانات

يختار

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

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

(حدد التسمية ، المستودع)

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

على سبيل المثال ، الإدخال Nomenclature. * يشير إلى إمكانية استخدام الحقول التابعة للحقل "Nomenclature" (على سبيل المثال ، الحقل "Nomenclature.Code"). يمكن أن يكون عنصر SELECT موجودًا فقط في استعلام الصلة الأول.

أين

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

(أين التسمية. * ، المستودع)

مثال بسيط

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

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

اختر sprnome -offer. Dink كتسمية ، تكاليف المبيعات. التحكم ، المبيعات ، العقود ، المبيعات ، المبيعات. حاليًا ككمية ، مبيعات ، تكلفة كتكلفة من كتاب مرجعي. التنمية كمبيعات من sprnies.

ها هي النتيجة:

الطرف المقابل معاهدة التسمية كمية مجموع
باطل باطل _Test1 باطل باطل
LLC "الأبواق والحوافر" الاتفاقية 1 النعال 10 1200
"غازبروم" صفقة رائعة أحذية 5 13000
باطل باطل جالوش باطل باطل
باطل باطل الأردواز باطل باطل

في هذا المثال ، لم تكن هناك مبيعات للعنصر: "Galoshes" و "Slates"

وسيكون كل شيء على ما يرام ، إذا قمنا بتجميع التحديد حسب الطرف المقابل ، فحينئذٍ ستندرج جميع العناصر غير القابلة للبيع في مجموعة منفصلة ، حيث يكون الطرف المقابل = Null ، لكن العميل يريد أن يكون لديه اختيار تعسفي في التقرير من قبل مجال الطرف المقابل (من بالطبع ، هذا يعني الطرف المقابل من سجل المبيعات). كيف تكون؟ بعد كل شيء ، في الواقع ، نحتاج فقط إلى تصفية الجدول مبيعات. إذا استخدمنا الإكمال التلقائي في مُنشئ ACS ، فستتضمن حقول التحديد المتاحة الحقل الطرف المقابل، يبدو أن كل شيء على ما يرام ، ولكن عند تنفيذ تقرير بالاختيار من قبل الطرف المقابل ، سنفقد جميع السجلات من الاتصال بالتسمية. على سبيل المثال ، دعنا نضع تحديدًا: الطرف المقابل = الأبواق والحوافر ذات المسؤولية المحدودة. ستبدو النتيجة كما يلي:

ليس بالضبط ما نحتاجه ، أليس كذلك؟

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

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

من أجل عدم الخلط بين المستخدم وحقول التحديد ، قم بتعطيل حقل الشرط الطرف المقابلوتغيير عنوان الحقل اختيار الطرف المقابل


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

اختر sprnome. Dink كتسمية ، مبيعات دوران. مقاول كطرف مقابل ، مبيعات ، عقد كعقد - عقد ، مبيعات. حاليًا. إكمال كـ> كمية ، تكاليف المبيعات كتكلفة ، تمثيل (مبيعات دوران. عقد العقد) بصفته موظفًا تعاقديًا ، وتمثيلًا ، وتمثيلًا (مراقبة المبيعات. RefNomenclature. التمثيل AS Nomenclature - التمثيل من الدليل. = SalesTurnovers.Nomenclature

والنتيجة المقابلة:

الطرف المقابل معاهدة التسمية كمية مجموع
باطل باطل _Test1 باطل باطل
LLC "الأبواق والحوافر" الاتفاقية 1 النعال 10 1200
باطل باطل أحذية باطل باطل
باطل باطل جالوش باطل باطل
باطل باطل الأردواز باطل باطل

Test1 هي مجموعة في دليل التسمية ، حيث يكمن كل شيء

مرفق بالمنشور مخطط XML للتقرير المستخدم في المنشور. لقد أنشأت المخطط في الأتمتة المتكاملة ، لكنني أعتقد أن كل شيء سيعمل بشكل جيد في كل من SCP و UT 10

تلخيص

يوضح هذا المثال كيفية إنشاء إعدادات التحديد الخاصة بك في ACS وتعطيل الإعدادات التي تم إنشاؤها تلقائيًا إذا كنت تصمم مخططًا مع تمكين العلامة الإكمال التلقائي.

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

البرمجيات المستخدمة

  • برنامج لقطة الشاشة SnapOK!
  • محرر ملف XML


تحميل...
قمة