كيفية الحصول على البيانات من الجزء الجدولي من المستندات؟ 1C الوصول إلى الجزء الجدولي من الوثيقة

توجد أجزاء جدولية للعديد من الكائنات في 1C:

  • الدلائل
  • توثيق
  • التقارير والمعالجة
  • مخططات الحسابات
  • خطط النوع المميزة
  • خطط نوع الحساب
  • العمليات والمهام التجارية

تتيح لك الأجزاء الجدولية تخزين كمية غير محدودة من المعلومات المنظمة التي تخص كائنًا واحدًا.

دعونا نلقي نظرة على بعض التقنيات للعمل مع الأجزاء الجدولية.

كيفية تجاوز الجزء الجدولي

لاجتياز جزء الجدول، يمكنك استخدام حلقة لكل

لكل صف من الجزء الجدولي من الدورة

تقرير (سمة String.TabularPart) ؛

دورة النهاية؛

في كل تكرار في المتغير خطيتم نقل الصف التالي من القسم الجدولي. يمكن الحصول على قيم تفاصيل الصف من خلال التعبير اسم الخط.

كيفية الحصول على الصفوف المحددة من الجزء الجدولي وتجاوزها

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

للحصول على قائمة الخطوط المختارة استخدم الكود التالي:

يتم استخدام حلقة للتكرار عبر الأسطر المحددة. لكل:

SelectedRows = FormElements. اسم حقل الجدول. الصفوف المختارة؛

لكل صف من حلقة الصفوف المحددة

// محتويات الحلقة

دورة النهاية؛

كيفية تحديد صفوف الجزء الجدولي (حقل الجدول) برمجياً وإلغاء تحديدها

لإلغاء تحديد صفوف حقل الجدول برمجياً:

عناصر النموذج. اسم حقل الجدول. الصفوف المحددة. واضح() ؛

لتحديد كافة صفوف حقل الجدول برمجياً:

لكل حلقة CurrentRow من TabularPart
عناصر النموذج. اسم حقل الجدول. الخطوط المختارة. إضافة(الصف الحالي) ؛
دورة النهاية؛

كيفية مسح جزء الجدول

جزء جدولي. واضح() ؛

كيفية الحصول على الصف الحالي من قسم الجدول

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

بالنسبة للنماذج العادية، سيبدو الرمز كما يلي:

عناصر النموذج. اسم حقل الجدول. البيانات الحالية؛

بالنسبة للنماذج المُدارة:

عناصر. اسم حقل الجدول. البيانات الحالية؛

كيفية إضافة صف جديد إلى قسم الجدول

إضافة سطر جديد إلى نهاية جزء الجدول:

NewRow = TablePart. يضيف() ؛

إضافة سطر جديد في أي مكان في قسم الجدول (سيتم إزاحة الأسطر اللاحقة):

NewRow = TablePart. إدراج (فهرس)
// الفهرس - رقم السطر المضاف. يبدأ ترقيم الأسطر من الصفر.

خط جديد. Props1 = "القيمة" ;

كيفية ملء تفاصيل صف الجدول برمجياً

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

يحتوي الإجراء الذي أنشأه المعالج على ثلاث معلمات:

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

لنلقي نظرة على مثال. لنفترض أننا بحاجة إلى ملء تفاصيل القسم الجدولي AccountAccountفي حالة إضافة سطر جديد. عند تحرير سطر موجود، لا تحتاج إلى تغيير حساب المحاسبة.

الإجراء TabularPartAtStartEditing(Element, NewRow, Copy)

// إذا قام المستخدم بتحرير سطر موجود، فلن نفعل شيئًا
إذا لم يكن NewRow ثم
يعود؛
إنهاء إذا ؛

// إذا كان الخط جديدًا، فقم بتعيين حساب المحاسبة
TechString = العنصر. البيانات الحالية؛ // احصل على الصف الحالي للجزء الجدولي
سلسلة التقنية. المحاسبة = جداول الحسابات. الدعم الذاتي. RequiredAccount;
نهاية الإجراء

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

يسرد أحد الجداول البضائع التي سيتم شحنها من المستودع. ويبين جدول آخر التزامات الدفع مقابل هذه البضائع.

لذلك، في 1C، يحتل العمل مع الجداول مكانا بارزا.

تسمى الجداول في 1C أيضًا "الأجزاء الجدولية". الدلائل والوثائق وغيرها لديهم.

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

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

// الخيار 1 - الوصول التسلسلي إلى نتائج الاستعلام

// احصل على الجدول
حدد = Query.Run().Select();
// نراجع جميع أسطر نتيجة الاستعلام بالترتيب
أثناء حلقة Select.Next()
تقرير(Selection.Name);
EndCycle;

// الخيار 2 - التحميل إلى جدول القيم
طلب = طلب جديد("اختر الاسم من الدليل.التسميات");
// احصل على الجدول
الجدول = Query.Run().Unload().
// علاوة على ذلك يمكننا أيضًا التكرار عبر جميع الأسطر
لكل صف من دورة الجدول
تقرير (سلسلة. اسم)؛
EndCycle;
// أو الوصول إلى السلاسل بشكل تعسفي
Row = Table.Find("Shovel"، "Name")؛

الميزة المهمة هي أنه في الجدول الذي يتم الحصول عليه من نتيجة الاستعلام، سيتم كتابة جميع الأعمدة بدقة. وهذا يعني أنه من خلال طلب حقل الاسم من دليل Nomenclature، سوف تتلقى عمودًا من نوع String بطول مسموح به لا يزيد عن N حرفًا.

جدول في النموذج (العميل السميك)

يعمل المستخدم مع الجدول عند وضعه في النموذج.

ناقشنا المبادئ الأساسية للعمل مع النماذج في الدرس وفي الدرس

لذلك، دعونا نضع الجدول على النموذج. للقيام بذلك، يمكنك سحب الجدول من لوحة التحكم. وبالمثل، يمكنك تحديد نموذج/إدراج عنصر تحكم من القائمة.

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

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

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

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

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

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

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

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

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

جدول في النموذج (عميل رفيع/مُدار)

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

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

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

ثم اسحب الجدول أيضًا إلى اليسار.

لكي يحتوي الجدول على شريط أوامر، في خصائص الجدول، حدد القيم في قسم الاستخدام - موضع شريط الأوامر.

رفع جدول إلى Excel

يمكن طباعة أي جدول 1C موجود في النموذج أو تحميله إلى Excel.

للقيام بذلك، انقر بزر الماوس الأيمن على مساحة فارغةفي الجدول وحدد القائمة.

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

الصفحة الرئيسية للمطورين المبتدئين تعلم البرمجة

كيفية الحصول على البيانات من الجزء الجدولي من المستندات؟

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

للقيام بذلك، يمكنك استخدام طلب بالنص التالي:

حدد مبيعات السلع والخدمات المختلفة. التسميات AS التسميات من المستند. مبيعات السلع والخدمات. البضائع AS مبيعات السلع والخدمات السلع

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

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

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

حدد مبيعات مختلفة من السلع والخدمات. التسميات AS التسميات من المستند. مبيعات السلع والخدمات. البضائع كيف مبيعات السلع والخدمات حيث مبيعات السلع والخدمات. الرابط = &الرابط




قمة