جزء جدولي في جدول القيم 1s 8.3. في غاية البساطة

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

  1. اسم.
  2. رمز البائع.
  3. نوع التسمية.
  4. نوع التسمية.

هذا ما سيبدو عليه جدول بيانات Excel بعد التحميل:

فكر في طريقتين للحل: بدون برمجة وبمشاركة مبرمج.

برمجة

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

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

إجراء ButtonPerformPress (Button) الاستعلام = استعلام جديد ؛ طلب. نص = "حدد | التسمية. المرجع AS التسمية ، | التسمية. رمز البائع، | التسمية. اكتب التسمية ، | التسمية. اكتب التسمية. نوع التسمية AS نوع التسمية |من| الدليل . التسمية AS التسمية| أين | ليس التسمية. FlagRemoval | وليس التسمية. هذه المجموعة"؛ DataTable = الاستعلام. تنفيذ (). إلغاء التحميل () ؛ تحميل البيانات. تحميل (جدول البيانات) ؛ EndProcedure

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

الإجراء الرئيسيالوظائفالنماذج الإجراء (زر) // اتصل بمربع حوار تحديد الملف لحفظ جدول XLSالوضع = FileSelectionDialogMode. الحفظ FileOpenDialog = NewFileSelectDialog (الوضع) ، ملف فتح الحوار. FullFileName = "" ؛ ملف فتح الحوار. اختيار متعدد = خطأ ؛ نص = "ru = "" جدول XLS "" ؛ ar ="" جدول XLS "" ؛ عامل التصفية = NStr (نص) + " (* .xls) | * .xls xls"؛ FileOpenDialog.Filter = عامل التصفية ؛ FileOpenDialog.Title =" اختر مسار الحفظ"؛ إذا كان FileOpenDialog. حدد () ثم FilePath = FileOpenDialog. FullFileName ؛ Else Text =" لم يتم اختيار مسار الحفظ!"؛ تحذير (نص) ؛ عودة ؛ EndIf ؛ // إنشاء مستند جدول بيانات TableSave = New SpreadsheetDocument ؛ // احصل على تخطيط التعبئة ومناطق التخطيطالتخطيط = ThisObject. GetLayout (" الجدول")؛ AreaHat = Layout. GetArea (" Header ")؛ AreaString = Layout. GetArea (" خط" ) ; // إخراج البيانات إلى مستند جدول بيانات TableSave. الإخراج (رأس المنطقة) ؛ لكل صفحة من DataUpload Loop FillPropertyValues ​​(AreaString. Parameters، Page) ؛ TableSave. الإخراج (AreaString) ؛ نهاية الدورة // حفظ مستند جدول البيانات على القرص TableSave. اكتب (FilePath، SpreadsheetDocumentFileType.XLS) ، EndProcedure

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

يمكن للمستخدم نفسه

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

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

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

هذا كل شئ! لا يوجد معالجة مطلوبة للتحميل. بالطبع ، إذا كان لديك حالة بسيطة إلى حد ما مع تحميل البيانات.

إذن كل شيء بسيط؟

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

يمكنك معالجة مثال من المقالة التحميل من الرابط.

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

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

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

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

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

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

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

// الحصول على طاولة
التحديد = Query.Execute (). حدد () ؛
// تجاوز كل صفوف نتيجة الاستعلام بالترتيب
أثناء التحديد. التكرار التالي ()
تقرير (Selection.Name) ؛
نهاية الدورة

// الخيار 2 - التحميل إلى جدول القيم
Query = استعلام جديد ("SELECT Name FROM Directory.Nomenclature") ؛
// الحصول على طاولة
الجدول = Query.Execute (). Upload ().
// ثم يمكننا أيضًا تجاوز جميع الأسطر
لكل صف من Table Loop
تقرير (String.Name) ؛
نهاية الدورة
// أو الوصول إلى السلاسل بشكل تعسفي
String = Table.Find ("مجرفة" ، "الاسم") ؛

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

تصدير جدول إلى Excel

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

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

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

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

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

هيكل جدول القيم ككائن

يتم تحديد خصائص جدول القيمة من خلال مجموعات من مجموعتين محددتين مسبقًا: أعمدته وصفوفه.

أعمدة جدول القيم

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

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

صف جدول القيمة

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

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

قم بإنشاء جدول القيم

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

إنشاء جدول مع المنشئ

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

DemoTable = جديد ValueTable ؛ // أولاً وقبل كل شيء ، نقوم بتهيئة TK // التالي ، نحدد المعلمات الضرورية للأعمدة الجديدة ونضيفها إلى المجموعة // إنشاء اسم العمود "Nomenclature" = "Nomenclature" ؛ ValueType = New TypeDescription ("ReferenceReference.Nomenclature") ؛ العنوان = "التسمية (العنصر)" ؛ DemoTable.Columns.Add (الاسم ، نوع القيمة ، العنوان) ؛ // إنشاء اسم العمود "المبلغ" = "المبلغ" ؛ ValueType = NewTypeDescription ("رقم") ؛ DemoTable.Columns.Add (الاسم ، نوع القيمة) ، // نتيجة لهذه التلاعبات ، أنشأنا جدولًا فارغًا به أعمدة مكتوبة // إذا كنت بحاجة إلى استخدام كتابة أكثر دقة للأنواع الأولية ، فيجب عليك استخدام الصيغة الموسعة لمنشئ "TypeDescription"

إنشاء جدول عن طريق النسخ

إذا كان لديك مرجع بهيكل و / أو تركيبة مناسبة في متناول اليد ، يمكنك نسخ أو تنزيل الجدول المرجعي للقيم. إذا كان المرجع جدولًا آخر ، فيجب عليك تطبيق طريقة "نسخ الجدول المرجعي". إذا كنت تتعامل مع جزء جدولي أو مجموعة من سجلات التسجيل ، فيجب عليك استخدام طريقة "Unload table of values". إذا كنت بحاجة إلى البنية فقط ، فيمكنك استخدام طريقة "CopyColumns".

// متغير مع نسخ جميع الصفوف من TK-standard ولكن مع حفظ عمودين محددين فقط أعمدة مرجعية = "Nomenclature، Quantity"؛ DemoTable = TableReference.Copy (، ColumnsReference) ، // متغير مع نسخ الصفوف المحددة مسبقًا من معيار المعارف التقليدية ، مع الحفاظ على العمودين المحددين. أعمدة المراجع = "التسمية ، الكمية" ؛ DemoTable = TableReference.Copy (RowsReference، ColumnsReference) ، // الخيار مع نسخ الصفوف من معيار المعارف التقليدية وفقًا للمرشح المحدد ، مع الاحتفاظ بعمود واحد "التسمية" // سيتم تحديد جميع الصفوف حيث تكون القيمة في عمود الكمية 0 ، سيتم تضمين عمود التسمية فقط في اختيار صف الجدول الناتج = هيكل جديد ("الكمية" ، 0) ؛ أعمدة المراجع = "التسمية" ؛ DemoTable = TableReference.Copy (RowsReference، ColumnsReference) ، // البديل مع نسخة كاملةالجدول والحذف اللاحق لصف واحد بقيمة حقل الكمية تساوي الصفر وحذف العمود بأكمله "الرقم" RowSelection = New Structure ("Number"، 0) ؛ أعمدة المراجع = "التسمية" ؛ DemoTable = TableReference.Copy (RowsReference، ColumnsReference) ، TableString = DemoTable.Find (0، "Count") ؛ DemoTable.Delete (TableString) ، DemoTable.Columns.Delete ("الكمية") ؛ // يمكن تطبيق خيارات مماثلة وتعديلاتها على أجزاء الجدول وتسجيل مجموعات السجلات

إنشاء جدول مع استعلام

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

// مثال على إنشاء جدول فارغ يتبع هيكل سجل التراكم // من السهل تخمين أنه بهذه الطريقة يمكنك أيضًا الحصول على الجدول المعبأ Request = New Request ("SELECT FIRST 0 * From Accumulation Register. البضائع في المستودع ") ؛ QueryResult = Query.Execute () ، DemoTable = QueryResult.Upload () ، // مثال لإنشاء جدول فارغ بواسطة أنواع وأسماء الحقول المحددة بوضوح Query = New Query؛ Query.Text = "SELECT FIRST 0 | Value (Catalog.Nomenclature.NullReference) AS تسمية ، | EXPRESS (0 AS NUMBER (15، 3)) AS Quantity" ؛ QueryResult = Query.Execute () ، DemoTable = QueryResult.Upload () ، // مهم! لا تنس أن النوع Null موجود دائمًا في أنواع قيم العمود التي تم الحصول عليها من الاستعلام // وبالتالي ، فإن ذاكرة الترجمة التي تم إنشاؤها بواسطة الاستعلام تحتوي دائمًا على أنواع أعمدة مركبة

خاتمة

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



تحميل...
قمة