جزء جدولي من نسخة الوثيقة 1C 8.3. كيفية عرض الأسماء المعينة بالفعل

جزء جدولي من نسخة الوثيقة 1C 8.3.  كيفية عرض الأسماء المعينة بالفعل
جزء جدولي من نسخة الوثيقة 1C 8.3. كيفية عرض الأسماء المعينة بالفعل

في هذا الدرس، سوف نتعلم كيفية إنشاء تخطيطات الجدول في 1C، والتي يمكن استخدامها لاحقًا لـ .

على سبيل المثال، كيف قمت بإنشاء التخطيطات لـ .

ذهبت إلى نموذج المعالجة وانتقلت إلى علامة التبويب "التخطيطات":

تم فتح المحرر وثيقة جدول البيانات:

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

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

فيما يلي منطقة مميزة مكونة من سطرين:

وهنا منطقة مختارة من عمودين:

الآن سوف نختار المنطقة عند تقاطع الصفين الأولين والعمودين الأولين:

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

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

كيفية عرض الأسماء المعينة بالفعل

دعونا نرى ما هي الأسماء التي تم تخصيصها بالفعل للمناطق الموجودة في التخطيط؟

للقيام بذلك، حدد من قائمة التكوين:

هذه هي منطقة "الرأس" المعينة حديثًا:

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

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

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

قمنا بتعيين هذه المعلمات للمنطقة وتقع القيم المحددة تلقائيًا في الخلايا المطلوبة.

للقيام بذلك، في خصائص الخلية نحتاج (حيث سيتم عرض قيمة المعلمة)...

نشير إلى قيمة “المعلمة” في حقل “التعبئة”، وفي حقل “المعلمة” نكتب الاسم الذي سنصل به إلى هذه المعلمة من الكود:

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

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

كيفية ضبط معلمة فك التشفير؟

يتم تعيين اسم معلمة فك التشفير في نفس خصائص الخلية:

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

وعندما ينقر المستخدم نقرًا مزدوجًا على هذه الخلية، سيتم فتح القيمة المخصصة لمعلمة فك التشفير (في هذه الحالة، سيتم فتح نموذج عنصر العنصر).

مزيد من التوجيه

لقد قمنا بتغطية الأساسيات اللازمة. الآن فحص بعناية.

قم بتنزيل قاعدة البيانات هذه أيضًا. فيه معالجة "ProcessingForTesting".

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

سؤال: من فضلك قل لي كيف أفعل ما يلي.

لدي نتيجة استعلام معروضة في مستند جدول بيانات، ويوجد نص للخلية.

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

إجابة: عمليات فك التشفير قياسية وغير قياسية.

ط) المعيار:

يمكن استخدامه مباشرة في مستند جدول بيانات وفي كائن TabularDocumentField (أي مستند جدول بيانات غير موجود في نافذة منفصلةولكن مباشرة على النموذج).

لكي يعمل فك التشفير، يجب استيفاء 3 شروط:

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

2) في عملية إخراج مناطق التخطيط إلى مستند جدول البيانات الناتج، يجب عليك تعيين معلمة فك التشفير لقيمة النوع المطلوب، على سبيل المثال:

Code 1C v 8.x TabDoc = New TabularDocument;
Selection = Directory.Accounts.Select();



// .................................................
Area.Parameters.Account Decryption = Selection.Link;
TabDoc.Output(Area);
EndCycle;

3) يجب التأكد من منع تحرير الخلية التي تحتوي على نسخة، أي. بحاجة إلى تحديد

TabDoc.ViewOnly = True;

خلاف ذلك، على الرغم من المظهر الواعد للمؤشر، عندما تحوم فوق الخلية، يمكنك النقر عليها بقدر ما تريد، ولكن لن يحدث شيء.

II) غير قياسي:

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

1) يجب تنفيذ إخراج مستند جدول البيانات في كائن TabularDocumentField؛

2) يجب تعيين قيمة معلمة فك تشفير خاصية الخلية، على سبيل المثال، فك تشفير الحساب.

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

4) بالنسبة للكائن TabularDocumentField، يجب تعيين خاصية ViewOnly على True.

5) يتم وضع رمز إجراء المستخدم في الإجراء

الكود 1C v 8.x حقل المستند الجدولي 1 معالجة فك التشفير (العنصر، فك التشفير، المعالجة القياسية)
// يجب أن يكون السطر الأول فيه هكذا:
StandardProcessing = خطأ؛

سأقدم مثالا صغيرا يفتح دليلا ثانويا للطرف المقابل "النقر عليه".

الكود 1C v 8.x الإجراء ButtonGeneratePress(Button)
الأطراف المقابلة = الدلائل.
التحديد = الحسابات.Select();
Tab = FormElements.TabularDocumentField1;
Layout = GetLayout("Layout");
أثناء حلقة Select.Next()
إذا كان Sample.ThisGroup = خطأ إذن
المساحة = Layout.GetArea("String");
Area.Parameters.Account = Selection.Name;
.................................................................................................
StructureDecryption = بنية جديدة؛
هيكل فك التشفير. إدراج("الحساب"،Selection.Link);
هيكل فك التشفير. إدراج("......."،.........);
.........................................................................
Area.Parameters.Account Decryption = بنية فك التشفير؛
Form Elements.TabularDocumentField1.Output(Area);
خلاف ذلك
يكمل؛
إنهاء إذا؛
EndCycle;
Form Elements.TabularDocumentField1.ViewOnly = True;
EndProcedure

الإجراء TabularDocumentField1DecryptionProcessing(Element,Decryption,StandardProcessing)
StandardProcessing = خطأ؛
الاتفاقيات = Directorys.Agreements.GetListForm();
Conventions.ParameterSelectionByOwner = Explanation.Counterparty;
الاتفاقيات.فتح();
EndProcedure