StavAnalit. معلومات الاتصال. تخطيطات SKD 1S جداول موارد تخطيط تصميم SKD

💖 هل يعجبك؟شارك الرابط مع أصدقائك

لنقم بإنشاء تقرير خارجي يعرض معلومات التقارير حول أرصدة الأصناف ودورانها. يتم طلب المعلومات المطلوبة عن طريق الطلب باستخدام مجموعة بيانات من نوع "الطلب" والتي تحتوي على نص الطلب:
يختار
_DemoNomenclature.Link كيف التسميات
PLACEالتسميات الحالية
من
Directory._DemoNomenclature كيفية _DemoNomenclature
أين
NOT _DemoNomenclature.علامة الحذف
وليس _DemoNomenclature. هذه مجموعة
;

////////////////////////////////////////////////////////////////////////////////
يختار
التسمية الحالية.التسميات،
_العرض التجريبي للبضائع المتبقية في أماكن التخزينRemainingsAndTurnover.مكان التخزين،
_العرض التوضيحي للبضائع المتبقية في مواقع التخزينRemainingsAndTurnover.QuantityInitialRemaining،
_ العرض التوضيحي للبضائع المتبقية في مواقع التخزين RemainingsAndTurnover.QuantityFinalRemaining،
_العرض التوضيحي للبضائع المتبقية في مواقع التخزينRemainingsAndTurnover.QuantityIncoming،
_العرض التجريبي للبضائع المتبقية في أماكن التخزينRemainingsAndTurnover.QuantityConsumption،
_ العرض التوضيحي للبضائع المتبقية في مواقع التخزين RemainingsAndTurnover.QuantityTurnover
من
التسميات الحالية AS التسميات الحالية
الاتصال الأيسر سجل التراكمات._DemoRemaining GoodsInStorageLocations.RemainingsAndTurnover AS _DemoRemainingGoodsInStorageLocationsRemainingAndTurnover
Software CurrentNomenclature.Nomenclature = _DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.Nomenclature

ونتيجة لذلك، يحتوي التقرير على الحقول التالية (انظر الشكل 1):

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

  1. إعداد رؤوس الحقول في علامة التبويب "مجموعات البيانات" لـ ACS؛
  2. إعداد رؤوس الحقول في علامة التبويب "إعدادات" ACS؛
  3. الإعداد البرمجي لرؤوس الحقول؛
  4. تحديد رأس التقرير باستخدام التخطيط؛
  5. الانتهاء من النتيجة (وثيقة جدولية)؛
دعونا ننظر إليهم بالتفصيل.

1. إعداد الرؤوس في علامة التبويب "مجموعات البيانات" لـ ACS

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

2. إعداد رؤوس الحقول في علامة التبويب "إعدادات" ACS

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

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

3. تحديد رؤوس الحقول برمجياً

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

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

// 1. احصل على إعدادات المستخدم.
SettingsKD = ThisObject.SettingsLitter.GetSettings();

// 2. نحصل على قيمة معلمة "الفترة" التي نحدد من خلالها تاريخ بداية الفترة وانتهائها.
ParameterPeriod = NewDataCompositionParameter("Period");
الفترة = الإعداداتCD.DataParameters.FindParameterValue(PeriodParameter).Value;
StartPeriod =period.StartDate;
EndPeriod =period.EndDate;

// 3. قم بإعداد معلومات حول إعادة تعريف رؤوس الحقول. للقيام بذلك، دعونا ننشئ
// مصفوفة تحتوي على معلومات: FieldName - قيم خاصية "المسار" in
// مجموعة البيانات (انظر الشكل 1)، العنوان - نص العنوان.
FieldList = مصفوفة جديدة؛
pagePeriodStart = Format(PeriodStart, "DF=dd.MM.yyyy; DP="Empty date"");
FieldInitialRemaining = New Structure("FieldName, Heading", "QuantityInitialRemaining", "Remaining on " + Symmbols.PS + pageBeginningPeriod);
List ofFields.Add(FieldInitialRemaining);
strEndPeriod = Format(EndPeriod, "DF=dd.MM.yyyy; DP="Empty date"");
FieldFinalRemaining = New Structure("FieldName, Heading", "QuantityFinalRemaining", "Remaining on " + Symmbols.PS + strEndPeriod);
FieldList.Add(FieldFinalRemaining);

// 4. احصل على قائمة الحقول الموجودة في المجموعة "المتبقية" (انظر الشكل 7) و
// قم بتعيين عنوان جديد عن طريق اجتياز العناصر الموجودة في الحلقة.
SelectedFields = SettingsCD.Selection.Items; // المستوى الأول من الحقول.
SelectedFieldsRemains = SelectedFields.Items; // يبقى تجميع الحقول.
لكل دورة متبقية من SelectedFields
لكل عنصر من عناصر المصفوفة من قائمة دورة الحقول
LayoutField = NewDataCompositionField(ArrayItem.FieldName);
إذا SelectedField.Field = LayoutField ثم
SelectedField.Header = ArrayElement.Header;
إنهاء إذا؛
EndCycle;
EndCycle;

// 5. قم بتحميل إعدادات المستخدم التي تم تغييرها مرة أخرى.
ThisObject.SettingsLinker.LoadSettings(CDSettings);

نتيجة التقرير (انظر الشكل 10):
الطريقة أصعب من كل ما سبق لكني أحبها.

4. تحديد رأس التقرير باستخدام التخطيط

للحصول على تخصيص أكثر مرونة لمظهر التقرير، يوفر ACS إمكانية إنشاء التخطيطات. في إعدادات التقرير، سنقوم بإنشاء مجموعة أخرى "السجلات التفصيلية" وتعيين اسم "DZ Line" لهذه المجموعة (انظر الشكل 11).
في علامة التبويب تخطيطات، قم بإضافة تخطيط رأس التجميع. بالنسبة للتخطيط في مستند جدول بيانات، سنقوم بإنشاء رأس تقرير (يجب أن يحتوي رأس التقرير على عدد من رؤوس الحقول يساوي عدد الحقول التي يعرضها السجل التفصيلي) ونشير إلى مساحة مستند جدول البيانات للتخطيط (انظر الشكل 12).
ونتيجة لذلك، يحتوي التقرير على العنوان التالي (انظر الشكل 13):

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

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

5. الانتهاء من النتيجة (وثيقة جدولية)

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

هيا بنا نبدأ. نقوم بتعطيل الإنشاء القياسي، للقيام بذلك في وحدة التقرير الخاصة بالحدث عند وضع النتيجةلنقم بتعيين متغير StandardProcessing على False ونكتب تخطيطنا الخاص للنتيجة:
StandardProcessing = خطأ؛
LayoutLinker = newDataLayoutLayoutLinker;
LayoutLayout = LayoutLocker.Execute(
هذاObject.DataCompositionSchema،
هذاObject.SettingsLinker.Settings،
بيانات فك التشفير)؛
CompositionProcessor = newDataCompositionProcessor;
LayoutProcessor.Initialize(LayoutLayout, DecryptionData, True);
OutputProcessor = New OutputProcessorDataCompositionResultInTabularDocument;
OutputProcessor.SetDocument(DocumentResult);
OutputProcessor.Output(CompositionProcessor);
تم توضيح تخطيط البرنامج لنتيجة التقرير بمزيد من التفاصيل في مقالة SKD. تكوين البرمجيات للنتيجة.

يتم إخراج النتيجة المجمعة إلى مستند جدول بيانات - وهذا هو المتغير DocumentResult. بعد ذلك، بعد إنشاء النتيجة وإخراجها إلى مستند جدول بيانات، نكتب رمزًا لاستبدال نص خلية بآخر. على سبيل المثال، لنغير اسم المجموعة "المتبقيات" إلى "العناصر المتبقية" في رأس التقرير (انظر الشكل 14):
الخلية = DocumentResult.FindText("البقايا");
إذا الخلية<>غير محدد ثم
Cell.Text = "العناصر المتبقية"؛
إنهاء إذا؛

يمكنك أيضًا تعيين التنسيق للخلية التي تم العثور عليها؛ راجع خصائص الخلية الخاصة بمستند جدول البيانات في مساعد بناء الجملة.

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

ملاحظة. ربما لديك طريقة أخرى لتصميم رؤوس الحقول؟

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

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

في علامة التبويب هذه، يمكنك إنشاء عدد غير محدود من مجموعات البيانات. مجموعة البيانات هي مصدر للبيانات.

هناك عدة أنواع من مجموعات البيانات:

  • طلب؛
  • شيء؛
  • جمعية.

الطلب هو طلب 1C عادي، فقط لغة الطلب موسعة قليلاً. للراحة، يمكنك استخدام منشئ الاستعلام.

الكائن عبارة عن مجموعة خارجية من البيانات، مثل جدول القيم.

الاتحاد – الجمع بين عدة مجموعات بيانات من أنواع الاستعلامات والكائنات.

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

لنقم بإنشاء تقرير خارجي يعرض معلومات التقارير حول أرصدة الأصناف ودورانها. يتم طلب المعلومات المطلوبة عن طريق الطلب باستخدام مجموعة بيانات من نوع "الطلب" والتي تحتوي على نص الطلب:
يختار
_DemoNomenclature.Link كيف التسميات
PLACEالتسميات الحالية
من
Directory._DemoNomenclature كيفية _DemoNomenclature
أين
NOT _DemoNomenclature.علامة الحذف
وليس _DemoNomenclature. هذه مجموعة
;

////////////////////////////////////////////////////////////////////////////////
يختار
التسمية الحالية.التسميات،
_العرض التجريبي للبضائع المتبقية في أماكن التخزينRemainingsAndTurnover.مكان التخزين،
_العرض التوضيحي للبضائع المتبقية في مواقع التخزينRemainingsAndTurnover.QuantityInitialRemaining،
_ العرض التوضيحي للبضائع المتبقية في مواقع التخزين RemainingsAndTurnover.QuantityFinalRemaining،
_العرض التوضيحي للبضائع المتبقية في مواقع التخزينRemainingsAndTurnover.QuantityIncoming،
_العرض التجريبي للبضائع المتبقية في أماكن التخزينRemainingsAndTurnover.QuantityConsumption،
_ العرض التوضيحي للبضائع المتبقية في مواقع التخزين RemainingsAndTurnover.QuantityTurnover
من
التسميات الحالية AS التسميات الحالية
الاتصال الأيسر سجل التراكمات._DemoRemaining GoodsInStorageLocations.RemainingsAndTurnover AS _DemoRemainingGoodsInStorageLocationsRemainingAndTurnover
Software CurrentNomenclature.Nomenclature = _DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.Nomenclature

ونتيجة لذلك، يحتوي التقرير على الحقول التالية (انظر الشكل 1):

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

  1. إعداد رؤوس الحقول في علامة التبويب "مجموعات البيانات" لـ ACS؛
  2. إعداد رؤوس الحقول في علامة التبويب "إعدادات" ACS؛
  3. الإعداد البرمجي لرؤوس الحقول؛
  4. تحديد رأس التقرير باستخدام التخطيط؛
  5. الانتهاء من النتيجة (وثيقة جدولية)؛
دعونا ننظر إليهم بالتفصيل.

1. إعداد الرؤوس في علامة التبويب "مجموعات البيانات" لـ ACS

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

2. إعداد رؤوس الحقول في علامة التبويب "إعدادات" ACS

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

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

3. تحديد رؤوس الحقول برمجياً

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

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

// 1. احصل على إعدادات المستخدم.
SettingsKD = ThisObject.SettingsLitter.GetSettings();

// 2. نحصل على قيمة معلمة "الفترة" التي نحدد من خلالها تاريخ بداية الفترة وانتهائها.
ParameterPeriod = NewDataCompositionParameter("Period");
الفترة = الإعداداتCD.DataParameters.FindParameterValue(PeriodParameter).Value;
StartPeriod =period.StartDate;
EndPeriod =period.EndDate;

// 3. قم بإعداد معلومات حول إعادة تعريف رؤوس الحقول. للقيام بذلك، دعونا ننشئ
// مصفوفة تحتوي على معلومات: FieldName - قيم خاصية "المسار" in
// مجموعة البيانات (انظر الشكل 1)، العنوان - نص العنوان.
FieldList = مصفوفة جديدة؛
pagePeriodStart = Format(PeriodStart, "DF=dd.MM.yyyy; DP="Empty date"");
FieldInitialRemaining = New Structure("FieldName, Heading", "QuantityInitialRemaining", "Remaining on " + Symmbols.PS + pageBeginningPeriod);
List ofFields.Add(FieldInitialRemaining);
strEndPeriod = Format(EndPeriod, "DF=dd.MM.yyyy; DP="Empty date"");
FieldFinalRemaining = New Structure("FieldName, Heading", "QuantityFinalRemaining", "Remaining on " + Symmbols.PS + strEndPeriod);
FieldList.Add(FieldFinalRemaining);

// 4. احصل على قائمة الحقول الموجودة في المجموعة "المتبقية" (انظر الشكل 7) و
// قم بتعيين عنوان جديد عن طريق اجتياز العناصر الموجودة في الحلقة.
SelectedFields = SettingsCD.Selection.Items; // المستوى الأول من الحقول.
SelectedFieldsRemains = SelectedFields.Items; // يبقى تجميع الحقول.
لكل دورة متبقية من SelectedFields
لكل عنصر من عناصر المصفوفة من قائمة دورة الحقول
LayoutField = NewDataCompositionField(ArrayItem.FieldName);
إذا SelectedField.Field = LayoutField ثم
SelectedField.Header = ArrayElement.Header;
إنهاء إذا؛
EndCycle;
EndCycle;

// 5. قم بتحميل إعدادات المستخدم التي تم تغييرها مرة أخرى.
ThisObject.SettingsLinker.LoadSettings(CDSettings);

نتيجة التقرير (انظر الشكل 10):
الطريقة أصعب من كل ما سبق لكني أحبها.

4. تحديد رأس التقرير باستخدام التخطيط

للحصول على تخصيص أكثر مرونة لمظهر التقرير، يوفر ACS إمكانية إنشاء التخطيطات. في إعدادات التقرير، سنقوم بإنشاء مجموعة أخرى "السجلات التفصيلية" وتعيين اسم "DZ Line" لهذه المجموعة (انظر الشكل 11).
في علامة التبويب تخطيطات، قم بإضافة تخطيط رأس التجميع. بالنسبة للتخطيط في مستند جدول بيانات، سنقوم بإنشاء رأس تقرير (يجب أن يحتوي رأس التقرير على عدد من رؤوس الحقول يساوي عدد الحقول التي يعرضها السجل التفصيلي) ونشير إلى مساحة مستند جدول البيانات للتخطيط (انظر الشكل 12).
ونتيجة لذلك، يحتوي التقرير على العنوان التالي (انظر الشكل 13):

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

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

5. الانتهاء من النتيجة (وثيقة جدولية)

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

هيا بنا نبدأ. نقوم بتعطيل الإنشاء القياسي، للقيام بذلك في وحدة التقرير الخاصة بالحدث عند وضع النتيجةلنقم بتعيين متغير StandardProcessing على False ونكتب تخطيطنا الخاص للنتيجة:
StandardProcessing = خطأ؛
LayoutLinker = newDataLayoutLayoutLinker;
LayoutLayout = LayoutLocker.Execute(
هذاObject.DataCompositionSchema،
هذاObject.SettingsLinker.Settings،
بيانات فك التشفير)؛
CompositionProcessor = newDataCompositionProcessor;
LayoutProcessor.Initialize(LayoutLayout, DecryptionData, True);
OutputProcessor = New OutputProcessorDataCompositionResultInTabularDocument;
OutputProcessor.SetDocument(DocumentResult);
OutputProcessor.Output(CompositionProcessor);
تم توضيح تخطيط البرنامج لنتيجة التقرير بمزيد من التفاصيل في المقالة

يتم إخراج النتيجة المجمعة إلى مستند جدول بيانات - وهذا هو المتغير DocumentResult. بعد ذلك، بعد إنشاء النتيجة وإخراجها إلى مستند جدول بيانات، نكتب رمزًا لاستبدال نص خلية بآخر. على سبيل المثال، لنغير اسم المجموعة "المتبقيات" إلى "العناصر المتبقية" في رأس التقرير (انظر الشكل 14):
الخلية = DocumentResult.FindText("البقايا");
إذا الخلية<>غير محدد ثم
Cell.Text = "العناصر المتبقية"؛
إنهاء إذا؛

يمكنك أيضًا تعيين التنسيق للخلية التي تم العثور عليها؛ راجع خصائص الخلية الخاصة بمستند جدول البيانات في مساعد بناء الجملة.

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

ملاحظة. ربما لديك طريقة أخرى لتصميم رؤوس الحقول؟

اليوم سننظر في حل مشكلة مثيرة للاهتمام - عرض الصور في التقرير.

ماذا يمكن أن يكون هذا مفيدًا؟

هنا بعض الأمثلة:

  • قائمة الأسعار مع صور المنتجات والشعار في الرأس
  • ملفات تعريف الموظفين مع الصور
  • مطابقة الحسابات بالختم والتوقيع في القبو
  • التقارير/النماذج المطبوعة مع الطباعة الممسوحة ضوئيًا

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

تخطيطات محددة مسبقًا في ACS

باستخدام التخطيطات المحددة مسبقًا، يمكنك تجاوز تخطيط التقرير القياسي.

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

  • تخزين البيانات الثنائية في تكوين النموذج
  • إمكانية استخدام تخطيطات ACS لعرض الصور

إنشاء برمجي لتقرير عن نظام التحكم في الوصول

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

عند إنشاء تقرير برمجيًا، يكون من الممكن الوصول إلى البيانات الثنائية.

خلال هذا الدرس سوف نقوم بما يلي:

  • إخراج نتيجة التخطيط إلى مستند جدول بيانات
  • استخدام كائن بيانات فك التشفير
  • استرجاع البيانات الثنائية من قاعدة البيانات
  • إنشاء برمجي للرسومات في مستند جدول البيانات

عرض صورة في تقرير ACS

نقوم في هذا الدرس بتنفيذ الخطوات النهائية: حيث نقوم بعرض البيانات الثنائية التي تم الحصول عليها مسبقًا في التقرير.

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

تعدد استخدامات خوارزمية إخراج الصورة

تعد خوارزمية إخراج الصور المطورة عالمية - حيث تستمر الخوارزمية في العمل بغض النظر عن أي تغيير في بنية التقرير.

والحقيقة أن هذا ما سنثبته في هذا الدرس.

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

عرض صورة في رأس التقرير

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

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

  • الخطوة 1. إنشاء تقرير برمجياً
  • الخطوة 2. قم بإنشاء تخطيط منفصل بالرأس أو التذييل المطلوب
  • الخطوة 3. قبل ملء تقرير ACS، قم بعرض قسم يحتوي على البيانات الضرورية.

وهذا الفيديو يوضح حل المشكلة بشكل واضح.

استمتع بالمشاهدة! :)

في الأيام القليلة الماضية قمنا بنشر المواد على ACS.

ماذا لو كان مبرمج/منفذ 1C لا يعرف نظام التحكم في الوصول؟ ربما انها حقا ليست بهذه الأهمية؟

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

لا تطلق النار على عازف البيانو، فهو يعزف بأفضل ما يستطيع.

التقارير عمليا في جميع التكوينات القياسيةعلى أساس SKD.

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

SKD – معيار التقاريرفي التكوينات القياسية، و1C لا يكتب تعليقات بناءً على أولئك الذين لم يدرسوا المعايير بعد :)

الوقت اللعين...

بدون نظام التحكم في الوصول، يتم تطوير التقارير يدويًا إلى حد كبير.

من الرائع بالطبع أن تخرج مثل رامبو مع مفك براغي في أسنانه ويفعل ذلك الجميع :)

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

وعندما يتعلق الأمر بالمراجعة اللاحقة للتقرير، غالبًا ما يصبح هذا بمثابة صداع (خاصة إذا كان تقرير شخص آخر)...

الرحلات التنموية للعملاء لتغيير التجميع في التقرير

SKD يسمح لك باستقبال تقارير الجودةبدون برمجة. يتم عمل الهيكل العظمي لبضع دقائقثم - الأقواس.

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

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

لذلك - اتصل، الترام، دعنا نذهب... هذا هو النمو المهني للقب 1C...

"أليس لديك نفس القطعة، ولكن بأزرار من عرق اللؤلؤ؟ "للأسف لا..." (ج)

ماذا لو كان من الضروري الحصول على بعض البيانات من نظام آخر - من قاعدة بيانات 1C أخرى أم لا من 1C على الإطلاق؟

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

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

أذا أردت إتقان ACS بشكل احترافيويوميا تطبق في عملك, قم بالتسجيل في الدورة:

يدعم - 2 أشهر. نطاق الدورة – 34 ساعة تدريسية.

لا تؤخر دراستك!

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

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

  1. آلية مدمجة لتحديد التخطيطات مباشرة في نظام التحكم في الوصول
  2. 2. استكمال نتيجة SKD في الكود باستخدام التخطيطات العادية.

لنفترض أن لدينا بالفعل تقرير تكوين البيانات الذي يبدو بهذا الشكل.

نحن بحاجة إلى إضافة عنوان وتعليق بحيث يبدو التقرير كما يلي:

خيار 1 . يمكنك استخدام آلية تطوير التخطيط مباشرةً SKD.

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

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

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

بالنسبة لمجموعاتنا أيضًا، من الضروري تعطيل الحقول المحددة.

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

الخيار 2.باستخدام النتيجة SKDوالتخطيطات العادية (تعتبر للتطبيق العادي)

دعونا نضيف تخطيطًا عاديًا للتقرير.

لنقم بتعيين مناطق "الرأس والتذييل" فيه.

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

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

أخبر الأصدقاء