ecosmak.ru

چگونه از قسمت جدولی اسناد داده ها را بدست آوریم؟ 1s 83 نام بخش های جدولی سند را بخوانید.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

صادرات جدول به اکسل

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

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

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

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

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

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

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

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

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

برای هر ردیف از TabularPart Loop

گزارش (String.TablePartAttribute) ;

چرخه پایان ;

در هر تکرار به یک متغیر خطخط بعدی قسمت جدولی منتقل می شود. مقادیر ویژگی رشته را می توان با عبارت بدست آورد String.AttributeName.

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

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

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

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

SelectedLines = FormElements. TableFieldName. خطوط انتخابی؛

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

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

چرخه پایان ;

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

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

عناصر فرم. TableFieldName. SelectedStrings. Clear() ;

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

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

نحوه پاک کردن صفحه گسترده

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

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

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

برای فرم های معمولی، کد به شکل زیر است:

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

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

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

چگونه یک ردیف جدید به صفحه گسترده اضافه کنیم

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

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

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

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

خط جدید. Attribute1 = "Value" ;

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

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

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

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

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

Procedure TabularPartAt EditingStart(Element، NewRow، Copy)

//اگر کاربر در حال ویرایش یک ردیف موجود است، هیچ کاری انجام ندهید
اگر NewString نیست پس
برگشت؛
EndIf

//اگر رشته جدید است، حساب را تنظیم کنید
TextString = عنصر. داده های جاری؛ // ردیف فعلی بخش جدولی را دریافت کرد
TekString. AccountAccount = نمودارهای حساب. خود حمایت کننده. حساب مورد نظر؛
پایان رویه

خانه برای توسعه دهندگان مبتدی آموزش برنامه نویسی

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

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

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

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

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

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

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

SELECT DIFFERENT تحقق کالاهای خدماتی کالاها نامگذاری به عنوان نامگذاری از سند. تحقق کالاهای خدماتی.

بارگذاری...