چگونه از قسمت جدولی اسناد داده ها را بدست آوریم؟ 1c دسترسی به قسمت جدولی سند

قطعات جدولی برای بسیاری از اشیاء در 1C وجود دارد:

  • دایرکتوری ها
  • مستندات
  • گزارش ها و پردازش
  • نمودارهای حسابداری
  • پلان های نوع مشخصه
  • طرح های نوع محاسبه
  • فرآیندها و وظایف کسب و کار

قطعات جدولی به شما امکان می دهد مقدار نامحدودی از اطلاعات ساختاریافته متعلق به یک شی را ذخیره کنید.

بیایید به چند تکنیک برای کار با قطعات جدولی نگاه کنیم.

نحوه دور زدن قسمت جدولی

برای عبور از قسمت جدول، می توانید از یک حلقه استفاده کنید برای هر

برای هر ردیف از قسمت جدولی چرخه

گزارش (رشته. ویژگی TabularPart) ;

چرخه پایان ;

در هر تکرار در متغیر خطردیف بعدی بخش جدولی منتقل می شود. مقادیر جزئیات ردیف را می توان با عبارت بدست آورد Line.AttributeName.

نحوه دریافت و دور زدن ردیف های انتخاب شده از قسمت جدولی

برای نمایش اطلاعات از قسمت جدولی شی، از عنصر فرم استفاده کنید فیلد جدول. برای فعال کردن قابلیت انتخاب چند ردیف در یک فیلد جدول، باید مقدار را تنظیم کنید چندگانهدر ملک او حالت انتخاب.

برای دریافت لیستی از خطوط انتخاب شده، از کد زیر استفاده کنید:

یک حلقه برای تکرار در خطوط انتخاب شده استفاده می شود. برای هر:

SelectedRows = FormElements. TableFieldName. سطرهای انتخاب شده؛

برای هر ردیف از حلقه سطرهای انتخاب شده

// محتویات حلقه

چرخه پایان ;

نحوه انتخاب سطرهای یک قسمت جدولی (فیلد جدول) به صورت برنامه نویسی و لغو انتخاب آنها

برای حذف برنامه‌ای ردیف‌های یک فیلد جدول:

عناصر فرم TableFieldName. ردیف های انتخاب شده Clear() ;

برای انتخاب برنامه‌ای تمام ردیف‌های یک فیلد جدول:

برای هر CurrentRow از TabularPart Loop
عناصر فرم TableFieldName. خطوط انتخاب شده افزودن (CurrentRow) ;
چرخه پایان ;

نحوه پاک کردن قسمت جدول

قسمت جدولی. Clear() ;

چگونه ردیف فعلی یک بخش جدول را بدست آوریم

خط فعلی دوره ای است که کاربر در آن قرار دارد این لحظهمکان نما قرار دارد. برای دریافت آن، باید به عنصر کنترل در فرم مرتبط با قسمت جدولی دسترسی داشته باشید.

برای فرم های معمولی کد به شکل زیر خواهد بود:

عناصر فرم TableFieldName. داده های جاری؛

برای فرم های مدیریت شده:

عناصر. TableFieldName. داده های جاری؛

نحوه اضافه کردن یک ردیف جدید به بخش جدول

افزودن یک خط جدید به انتهای جدول:

NewRow = TablePart. اضافه کردن() ؛

افزودن یک خط جدید در هر نقطه از بخش جدول (خطوط بعدی جابجا خواهند شد):

NewRow = TablePart. درج (شاخص)
//Index - شماره خط اضافه شده. شماره گذاری خطوط از صفر شروع می شود.

خط جدید. Props1 = "ارزش" ;

نحوه پر کردن جزئیات یک ردیف جدول بصورت برنامه ای

اگر نیاز دارید که جزئیات یک ردیف بخش جدول را که توسط کاربر اضافه شده است به صورت برنامه‌نویسی پر کنید، باید از کنترل‌کننده رویداد بخش جدول استفاده کنید. هنگام شروع ویرایش.

رویه ایجاد شده توسط handler دارای سه پارامتر است:

  • عنصر- حاوی یک عنصر کنترل است TabularField.
  • خط جدید- بولی حاوی ارزش است درست است، واقعی، اگر یک ردیف جدول جدید اضافه شود، و دروغ،اگر کاربر شروع به ویرایش یک خط از قبل موجود کند.
  • کپی 🀄- بولی حاوی ارزش است درست است، واقعی، اگر کاربر خط را کپی کند، و دروغدر موارد دیگر.

بیایید به یک مثال نگاه کنیم. فرض کنید باید جزئیات بخش جدولی را پر کنیم حساب حساب، در صورت اضافه شدن خط جدید. هنگام ویرایش یک خط موجود، نیازی به تغییر حساب حسابداری ندارید.

Procedure TabularPartAtStartEditing (Element، NewRow، Copy)

//اگر کاربر یک خط موجود را ویرایش کند، ما هیچ کاری انجام نمی دهیم
اگر NewRow نیست پس
برگشت؛
EndIf

//اگر خط جدید است، حساب حسابداری را تنظیم کنید
TechString = آیتم. داده های جاری؛ // سطر فعلی قسمت جدولی را دریافت کنید
TechString. حسابداری = نمودارهای حسابداری. خود حمایت کننده. RequiredAccount;
پایان رویه

به منظور حسابداری پول و کالا، جداول مختلفی در تجارت استفاده می شود. تقریباً هر سند یک جدول است.

در یک جدول، کالاهایی که باید از انبار ارسال شوند، فهرست شده است. جدول دیگری تعهدات پرداخت این کالاها را نشان می دهد.

بنابراین، در 1C، کار با جداول جایگاه برجسته ای را اشغال می کند.

به جداول 1C "قسمت های جدولی" نیز می گویند. فهرست راهنماها، اسناد و سایر موارد آنها را دارند.

پرس و جو، زمانی که اجرا می شود، جدولی را برمی گرداند که به دو روش مختلف قابل دسترسی است.

انتخاب اول - سریعتر - به دست آوردن ردیف از آن فقط به ترتیب امکان پذیر است. دومی بارگذاری نتیجه پرس و جو در جدول مقادیر و سپس دسترسی تصادفی به آن است.

//گزینه 1 - دسترسی متوالی به نتایج پرس و جو

// جدول را دریافت کنید
Select = Query.Run().Select();
// تمام خطوط نتیجه پرس و جو را به ترتیب مرور می کنیم
در حالی که حلقه () Select.Next
گزارش (Selection.Name);
چرخه پایان

//گزینه 2 - آپلود در جدول مقادیر
Request = New Request("SELECT Name FROM Directory.Nomenclature");
// جدول را دریافت کنید
جدول = Query.Run().Unload().
//بیشتر ما همچنین می توانیم در تمام خطوط تکرار کنیم
برای هر ردیف از چرخه جدول
گزارش (String.Name);
چرخه پایان
//یا به صورت دلخواه به رشته ها دسترسی پیدا کنید
ردیف = Table.Find("Shovel", "Name");

یک ویژگی مهم این است که در جدولی که از نتیجه پرس و جو به دست می آید، تمام ستون ها به طور دقیق تایپ می شوند. به این معنی که با درخواست فیلد Name از دایرکتوری Nomenclature، ستونی از نوع String با طول مجاز بیش از N کاراکتر دریافت خواهید کرد.

جدول روی فرم (کلینت ضخیم)

وقتی جدول روی فرم قرار می گیرد کاربر با آن کار می کند.

اصول اولیه کار با فرم ها را در درس روی و در درس روی بحث کردیم

بنابراین، بیایید جدول را روی فرم قرار دهیم. برای این کار می توانید جدول را از پنل Controls بکشید. به طور مشابه، می توانید Form/Insert Control را از منو انتخاب کنید.

داده ها را می توان در پیکربندی ذخیره کرد - سپس باید یک موجود (که قبلاً اضافه شده است) را انتخاب کنید. قسمت جدولیشی پیکربندی که فرم آن را ویرایش می کنید.

روی دکمه "..." در ویژگی Data کلیک کنید. برای دیدن لیست قطعات جدولی، باید شاخه Object را گسترش دهید.

وقتی قسمت جدولی را انتخاب می کنید، خود 1C ستون هایی را به جدول روی فرم اضافه می کند. ردیف های وارد شده توسط کاربر در چنین جدولی به طور خودکار همراه با کتاب / سند مرجع ذخیره می شود.

در همان ویژگی Data می توانید یک نام دلخواه وارد کنید و نوع Value Table را انتخاب کنید.

این بدان معنی است که یک جدول دلخواه از مقادیر انتخاب شده است. به طور خودکار ستون اضافه نمی کند و به طور خودکار ذخیره نمی شود، اما می توانید هر کاری که می خواهید با آن انجام دهید.

با کلیک راست روی جدول می توانید یک ستون اضافه کنید. در ویژگی های یک ستون، می توانید نام آن را (برای مرجع در کد 1C)، عنوان ستون در فرم، ارتباط با ویژگی بخش جدولی را مشخص کنید (اگر یک جدول دلخواه انتخاب نشده باشد، اما یک بخش جدولی).

در ویژگی های جدول موجود در فرم، می توانید تعیین کنید که آیا کاربر می تواند ردیف ها را اضافه یا حذف کند. یک فرم پیشرفته تر کادر چک فقط مشاهده است. این ویژگی ها برای سازماندهی جداول در نظر گرفته شده برای نمایش اطلاعات، اما نه برای ویرایش، مناسب هستند.

برای مدیریت جدول باید یک پنل فرمان روی فرم نمایش داده شود. مورد منو Form/Insert Control/Command Bar را انتخاب کنید.

در ویژگی های نوار فرمان، کادر تکمیل خودکار را انتخاب کنید تا دکمه های روی پانل به طور خودکار ظاهر شوند.

جدول روی فرم (مشتری نازک/مدیریت شده)

بر به شکلی قابل مدیریتاین مراحل کمی متفاوت به نظر می رسند. اگر نیاز به قرار دادن یک قسمت جدولی در فرم دارید، شاخه Object را گسترش دهید و یکی از قسمت های جدولی را به سمت چپ بکشید. همین!

اگر نیاز به قرار دادن جدول مقادیر دارید، یک ویژگی فرم جدید اضافه کنید و در ویژگی های آن نوع – جدول مقادیر را مشخص کنید.

برای افزودن ستون‌ها، از منوی راست کلیک بر روی این ویژگی فرم استفاده کنید، ستون افزودن ویژگی را انتخاب کنید.

سپس جدول را نیز به سمت چپ بکشید.

برای اینکه یک جدول دارای نوار فرمان باشد، در قسمت خصوصیات جدول، مقادیر موجود در قسمت Usage – Command bar position را انتخاب کنید.

آپلود جدول در اکسل

هر جدول 1C موجود در فرم را می توان چاپ یا در اکسل آپلود کرد.

برای این کار بر روی آن راست کلیک کنید فضای خالیدر جدول و لیست را انتخاب کنید.

در یک کلاینت مدیریت شده (نازک)، اقدامات مشابه را می توان با استفاده از آیتم منو All actions/Display list انجام داد.

صفحه اصلی برای توسعه دهندگان مبتدی یادگیری برنامه نویسی

چگونه از قسمت جدولی اسناد داده ها را بدست آوریم؟

به عنوان مثال، موقعیتی را در نظر بگیرید که در آن باید تمام موارد مشخص شده در بخش جدول را دریافت کنید کالاهااسناد فروش کالا و خدمات.

برای این کار می توانید از یک درخواست با متن زیر استفاده کنید:

خرید و فروش کالاها و خدمات کالاهای مختلف را انتخاب کنید. نامگذاری AS

به عنوان منبع، بخش جدولی اسناد - جدول را نشان می دهیم سند.فروش کالا و خدمات.کالا. فیلد خروجی را فیلد اعلام می کنیم نامگذاری، که بخشی از جدول منبع است. علاوه بر این، از آنجایی که یک کالای مشابه، به طور طبیعی، می تواند بیش از یک بار در اسناد وجود داشته باشد، از آن استفاده می کنیم مختلفتا فقط سطرهای متمایز در جدول خروجی پرس و جو را دریافت کنید.

به عنوان مثال، بیایید یک پردازش ایجاد کنیم لیست محصولات، جایی که سند انتخاب شده است فروش کالا و خدماتو با کلیک بر روی دکمه مربوطه، لیستی از موارد غیر تکراری نامگذاری موجود در قسمت جدولی این سند در پنجره پیام نمایش داده می شود.

برای اینکه انتخاب موارد را فقط به مواردی از قسمت جدولی یک سند خاص محدود کنیم، از پارامتر استفاده می کنیم ارتباط دادندر شرایط موجود در درخواست ( جایی که...):

فروش کالاها و خدمات مختلف را انتخاب کنید. نامگذاری به عنوان نامگذاری از سند. فروش کالاها و خدمات.




بالا