اینترنت پنجره ها اندروید
بسط دادن

سیستم ترکیب داده 1c 8.3 زمینه محاسبه شده است. توابع زبان بیان سیستم ترکیب داده ها

به عنوان یک دانش آموز وارد شوید

برای دسترسی به مطالب مدرسه به عنوان دانش آموز وارد شوید

سیستم ترکیب داده 1C 8.3 برای مبتدیان: نتایج (منابع) را در نظر بگیرید

هدف این آموزش عبارت است از:

  • گزارشی بنویسید که لیستی از غذاها (فهرست غذاها) ، میزان کالری و طعم آنها را نمایش دهد.
  • محصولات را بر اساس رنگ آنها گروه بندی کنید.
  • با خلاصه (منابع) و زمینه های محاسبه شده آشنا شوید.

ایجاد گزارش جدید

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

نوع سند - گزارش خارجی:

در صورت تنظیم گزارش ، نام "را بنویسید درس 3"و دکمه را فشار دهید" باز کردن طرح ترکیب داده ها":

نام طرحواره پیش فرض را ترک کرده و روی " آماده":

افزودن درخواست از طریق سازنده

روی " مجموعه داده ها"فشار دادن سبزعلامت بعلاوه و مورد را انتخاب کنید " افزودن مجموعه داده - پرس و جو":

به جای نوشتن متن درخواست به صورت دستی ، دوباره اجرا می کنیم سازنده پرس و جو:

روی " جداول"کشیدن میز" غذا"از ستون اول تا ستون دوم:

انتخاب از جدول " غذا"زمینه هایی که ما درخواست می کنیم. برای انجام این کار ، فیلدها را بکشید" نام", "چشیدن", "رنگ"و" محتوای کالری"از ستون دوم تا ستون سوم:

اینطور شد:

دکمه را فشار دهید " خوب"- متن درخواست به طور خودکار ایجاد شد:

ما تنظیمات ارائه گزارش را تشکیل می دهیم

برو به نشانک " تنظیمات"و روی آن کلیک کنید عصای جادویی، تماس گرفتن سازنده تنظیمات:

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

از ستون سمت چپ به قسمتهای راست بکشید که در لیست نمایش داده می شود و روی "کلیک کنید" به علاوه":

از ستون چپ به حاشیه راست بکشید " رنگ"- خواهد بود گروه بندیخطوط در گزارش کلیک " خوب":

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

  • به طور کلی گزارش دهید
  • گروه بندی "رنگ"
  • سوابق دقیق - خطوط با نام غذا

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

تغییر ترتیب ستون ها

اما اجازه دهید تغییر ترتیبستون ها (فلش های بالا و پایین) به طوری که شبیه تصویر زیر است:

بیایید گزارش را ذخیره کرده و دوباره در حالت کاربر باز کنیم:

عالی ، خیلی بهتر

جمع بندی (مقدار) بر اساس میزان کالری

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

برای این منظور مکانیزمی برای محاسبه منابع وجود دارد.

برو به " منابع"و زمینه را بکشید" محتوای کالری"(ما آن را خلاصه می کنیم) از ستون چپ به راست.

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

ما گزارش را ذخیره و تولید می کنیم:

ما در حال حاضر برای هر یک از گروه ها و برای کل گزارش ، جمع بندی داریم.

جمع بندی (متوسط) بر اساس میزان کالری

حالا اجازه دهید آن را طوری بسازیم که یک ستون دیگر نمایش داده شود میانگینبر اساس این گزارش میزان کالری محصولات بر اساس گروه ها و به طور کلی.

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

برای ایجاد چنین زمینه "مجازی" ، ما از مکانیسم استفاده می کنیم زمینه های محاسبه شده.

برو به نشانک " زمینه های محاسبه شده"و کلیک کنید سبزعلامت جمع:

در یک ستون " مسیر داده"نام فیلد جدید را بنویسید ( با یکدیگر, بدون فاصله) بگذار نامش " محتوای کالری متوسط"و در ستون" اصطلاح"ما نام فیلد موجود را می نویسیم که بر اساس آن فیلد جدید محاسبه می شود. ما در آنجا می نویسیم" محتوای کالری". ستون" عنوان"به طور خودکار پر می شود

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

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

اینطور شد:

ما گزارش را ذخیره و تولید می کنیم:

این میدان ظاهر شده است و می بینیم که مقادیر آن مقادیر قسمت "محتوای کالری" است. بسیار عالی!

برای انجام این کار ، ما دوباره از مکانیزم آشنا استفاده می کنیم منابع(جمع بندی). برو به نشانک " منابع"و زمینه را بکشید" محتوای کالری متوسط"از ستون چپ به راست:

علاوه بر این ، در ستون " اصطلاح"انتخاب کنید" میانگین (کالری متوسط)":

ما گزارش را ذخیره و تولید می کنیم:

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

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

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

عنصر " خودکار"یک فیلد نیست. اینها چندین فیلد هستند که به طور خودکار بر اساس تنظیمات بالاتر به اینجا می رسند.

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

عنصر " خودکار"در زمینه های زیر گسترش یافته است:

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

ترکیب بیان داده سیستم بیان

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

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

  • طرح ترکیب داده ها - برای توصیف زمینه های محاسبه شده ، کل زمینه ها ، عبارات رابطه و غیره
  • تنظیمات ترکیب داده - برای توصیف عبارات زمینه سفارشی ؛
  • الگوی ترکیب داده - برای توصیف عبارات رابطه مجموعه داده ، توصیف پارامترهای الگو و غیره

تحت اللفظی

عبارات می توانند حاوی کلمات واقعی باشند. لغت از انواع زیر امکان پذیر است:

  • خط ؛
  • عدد؛
  • تاریخ ؛
  • بولی

خط

یک رشته تحت الفظی با نویسه های "" نوشته می شود ، به عنوان مثال:

"رشته تحت اللفظی"

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

مثلا:

"تحت اللفظی" "در نقل قول" ""

عدد

عدد بدون فاصله ، به صورت اعشاری نوشته می شود. قسمت کسری با علامت "" جدا شده است. مثلا:

10.5 200

تاریخ

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

مثلا:

زمان DATE (1975 ، 1 ، 06) - 6 ژانویه 1975 DATE (2006 ، 12 ، 2 ، 23 ، 56 ، 57) - 2 دسامبر 2006 ، 23 ساعت 56 دقیقه 57 ثانیه ، 23 ساعت 56 دقیقه 57 ثانیه

بولی

مقادیر بولی را می توان با استفاده از کلمات True ، False نوشت.

معنی

برای تعیین کلمات دیگر انواع (شمارش سیستم ، داده های از پیش تعریف شده) ، استفاده کنید کلمه کلیدیمقداری که نام کلمه در پرانتز به دنبال آن آمده است.

ارزش (نوع حساب. فعال)

عملیات روی اعداد

یگانه -

این عملیات برای معکوس کردن علامت یک عدد در نظر گرفته شده است. مثلا:

فروش مقدار

Unary +

این عملیات هیچ گونه عملی روی شماره انجام نمی دهد. مثلا:

فروش مقدار

دودویی -

این عملیات برای محاسبه تفاوت بین دو عدد طراحی شده است. مثلا:

ترازها و گردشها. موجودی اولیه - ترازها و گردشها. موجودیها و گردشهای موجودی نهایی. موجودیهای اولیه - 100 400 - 357

دودویی +

این عمل برای محاسبه مجموع دو عدد طراحی شده است. مثلا:

ترازها و گردشها. تراز اولیه + ترازها و گردشها. ترازهای گردش و گردشها. موجودی اولیه + 100 400 + 357

کار کنید

این عمل برای محاسبه حاصلضرب دو عدد طراحی شده است. مثلا:

نامگذاری. قیمت * 1.2 2 * 3.14

تقسیم بندی

این عملیات برای به دست آوردن نتیجه تقسیم یک عملوند بر دیگری است. مثلا:

نامگذاری. قیمت / 1.2 2 / 3.14

باقی مانده تقسیم

این عملیات برای بدست آوردن باقی مانده تقسیم یک عملوند بر دیگری است. مثلا:

قیمت نامگذاری٪ ​​1.2 1.2٪ 3.14

عملیات رشته ای

ترکیب (دوتایی +)

این عملیات به منظور اتصال دو رشته است. مثلا:

نامگذاری. مقاله + ":" + نامگذاری. نام

پسندیدن

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

اگر عملگر LIKE باشد مقدار TRUE است<Выражения>با الگو مطابقت دارد و در غیر این صورت FALSE

شخصیت های زیر در<Строке_шаблона>منطقی غیر از کاراکتر خط بعدی:

  • ٪ - درصد: دنباله ای حاوی صفر یا بیشتر کاراکترهای دلخواه ؛
  • _ - underscore: یک شخصیت دلخواه ؛
  • […] - یک یا چند نویسه در پرانتز: یک نویسه ، هر یک از آنهایی که در داخل پرانتز ذکر شده است. شمارش می تواند شامل محدوده هایی باشد ، به عنوان مثال a-z ، به معنی یک کاراکتر دلخواه شامل محدوده ، از جمله انتهای محدوده.
  • [^…] - در براکت مربع نماد نفی به دنبال یک یا چند نویسه: هر کاراکتری به جز موارد ذکر شده پس از نماد نفی.

هر نماد دیگری به خودی خود معنی می دهد و هیچ معنای اضافی ندارد. اگر لازم است یکی از کاراکترهای ذکر شده را به عنوان خود بنویسید ، قبل از آن باید قبل از آن باشد<Спецсимвол>بعد از کلمه کلیدی ESCAPE مشخص می شود.

به عنوان مثال ، قالب

"٪ ABC [abcg] \ _ abc٪" SYMBOL SPECIAL "\"

به معنی زیر رشته ای متشکل از دنباله ای از کاراکترها است: حرف A ؛ حروف B ؛ حروف B ؛ یک رقمی ؛ یکی از حروف a ، b ، c یا d ؛ برجسته کردن شخصیت ؛ حروف a؛ حروف b ؛ حروف ج علاوه بر این ، این دنباله را می توان با شروع از موقعیت دلخواه در خط قرار داد.

عملیات مقایسه

برابر است

این عملیات برای مقایسه دو عملوند برای برابری در نظر گرفته شده است. مثلا:

Sales.Contractor = Sales.NomenclatureMainSupplier

نا برابر

این عملیات برای مقایسه دو عملوند از نظر نابرابری در نظر گرفته شده است. مثلا:

فروش ، پیمانکار<>Sales.NomenclatureMainSupplier

کمتر

این عملیات برای بررسی این است که عملوند اول کمتر از دوم است. مثلا:

SalesCurrent.Amount< ПродажиПрошлые.Сумма

بیشتر

این عملیات به منظور بررسی بزرگتر بودن عملوند اول از دوم است. مثلا:

SalesCurrent.Total> SalesPast.Amount

کمتر یا مساوی

این عملیات برای بررسی اینکه عملوند اول کمتر یا مساوی دوم است طراحی شده است. مثلا:

SalesCurrent.Amount<= ПродажиПрошлые.Сумма

بیشتر یا مساوی

این عملیات برای بررسی این است که عملوند اول بزرگتر یا مساوی دوم است. مثلا:

SalesCurrent.Amount> = SalesPast.Amount

عملیات ب

این عملیات وجود یک مقدار در لیست مقادیر منتقل شده را بررسی می کند. در صورت یافتن مقدار ، نتیجه عملیات True و در غیر این صورت False خواهد بود. مثلا:

مورد B (و مورد 1 ، و مورد 2)

عملیات بررسی وجود مقدار در یک مجموعه داده

عملیات وجود مقدار در مجموعه داده های مشخص شده را بررسی می کند. مجموعه داده اعتبارسنجی باید شامل یک قسمت باشد. مثلا:

فروش. طرف مقابل به طرف مقابل

عملیات بررسی مقدار برای NULL

اگر مقدار NULL باشد این عمل True برمی گرداند. مثلا:

Sales.Contractor IS NULL

عملیات بررسی مقدار نابرابری NULL

اگر مقدار NULL نباشد این عمل True برمی گرداند. مثلا:

فروش پیمانکار NULL نیست

عملیات منطقی

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

عملیات NOT

اگر عملوند False False باشد و اگر عملوند آن True باشد Fallen عمل نمی کند. مثلا:

NOT Document.Consignee = Document.Shipper

عملیات AND

اگر هر دو عملوند True باشند ، عملگر AND و اگر یکی از عملوندها False باشد ، False را برمی گرداند. مثلا:

Document.Consignee = Document.Shipper AND Document.Consignee = & Counterparty

یا عملیات

عملكرد OR در صورتي كه يكي از عملوندها True باشد و اگر هر دو عملوند False باشند False برمي گردد. مثلا:

Document.Consignee = Document.Carrier OR Document.Consignee = & Counterparty

توابع کلی

توابع تجمعی برخی از اقدامات را روی یک مجموعه داده انجام می دهند.

جمع

تابع مجموع مجموع مقادیر عبارت منتقل شده به آن را به عنوان آرگومان برای تمام پرونده های جزئی محاسبه می کند. مثلا:

مبلغ (Sales.AmountTurnover)

تعداد

تابع Count تعداد مقادیر غیر تهی را محاسبه می کند. مثلا:

تعداد (فروش. پیمانکار)

تعداد مختلف

این تابع تعداد مقادیر متمایز را محاسبه می کند. مثلا:

تعداد (فروش مختلف. پیمانکار)

بیشترین

تابع می شود حداکثر مقدار... مثلا:

حداکثر (ترازو. مقدار)

کمترین

تابع حداقل مقدار را دریافت می کند. مثلا:

حداقل (ترازو. مقدار)

میانگین

این تابع میانگین مقادیر غیر NULL را دریافت می کند. مثلا:

میانگین (موجودی. مقدار)

سایر عملیات

عملیات SELECT

Operation Select برای انتخاب یکی از چندین مقدار در شرایطی که شرایط خاصی برآورده شده است ، طراحی شده است. مثلا:

انتخاب وقتی مقدار> 1000 سپس مقدار دیگر 0 پایان

قوانین مقایسه دو مقدار

اگر انواع مقادیر مقایسه شده با یکدیگر متفاوت باشند ، رابطه بین مقادیر بر اساس اولویت انواع تعیین می شود:

  • NULL (کمترین) ؛
  • بولی ؛
  • عدد؛
  • تاریخ ؛
  • خط ؛
  • انواع مرجع

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

اگر انواع داده ها مطابقت داشته باشند ، مقادیر مطابق قوانین زیر مقایسه می شوند:

  • نوع بولی دارای مقدار TRUE بیشتر از مقدار FALSE است.
  • نوع شماره دارای قوانین معمول مقایسه اعداد است.
  • نوع Date دارای تاریخهای قبلی کمتر از تاریخهای بعدی است.
  • برای نوع String - مقایسه رشته ها مطابق با مشخصات ملی تعیین شده پایگاه داده ؛
  • انواع مرجع بر اساس مقادیر آنها (تعداد رکورد و غیره) مقایسه می شوند.

کار با مقدار NULL

هر عملیاتی که در آن مقدار یکی از عملوندها NULL باشد منجر به NULL می شود.

استثنائاتی وجود دارد:

  • عملیات AND تنها در صورتی NULL باز می گردد که هیچ یک از عملوندها False نباشد.
  • عملكرد OR فقط در صورتي كه هيچ يك از عملوندها True نباشد NULL باز مي گرداند.

اولویت های عملیات

عملیات دارای اولویت های زیر است (خط اول کمترین اولویت را دارد):

  • B IS NULL نیست NULL؛
  • =, <>, <=, <, >=, >;
  • دودویی +، دودویی -؛
  • *, /, %;
  • Unary +، ​​Unary -.

ترکیب داده ها توابع زبان بیان سیستم

محاسبه

تابع محاسبه برای ارزیابی عبارت در زمینه برخی گروه بندی ها طراحی شده است. عملکرد دارای پارامترهای زیر است:

  • اصطلاح. String را تایپ کنید. شامل یک عبارت محاسبه شده است.
  • گروه بندی. String را تایپ کنید. حاوی نام گروه بندی است که در متن آن عبارت مورد ارزیابی قرار می گیرد. اگر یک رشته خالی به عنوان نام گروه بندی استفاده شود ، محاسبه در زمینه گروه بندی فعلی انجام می شود. اگر رشته GeneralTotal به عنوان نام گروه بندی استفاده شود ، محاسبه در زمینه کل کل انجام می شود. در غیر این صورت ، محاسبه در زمینه گروه والدین با همان نام انجام می شود. مثلا:
مبلغ (Sales.SumTurnover) / محاسبه ("مبلغ (Sales.SumTurnover)" ، "TotalTotal")

که در این مثالدر نتیجه ، نسبت مبلغ مربوط به قسمت "Sales.SumTurnover" رکورد گروه بندی را به مجموع همان فیلد در کل طرح بدست می آورید.

مرحله

این عملکرد برای به دست آوردن سطح ضبط فعلی در نظر گرفته شده است.

مرحله()

شماره شماره

شماره دنباله بعدی را بدست آورید.

شماره سفارش ()

NumberOrderInGroup

عدد متوالی بعدی را در گروه بندی فعلی برمی گرداند.

NumberOrderInGrouping ()

قالب بندی

رشته فرمت شده مقدار ارسال شده را دریافت کنید.

رشته قالب مطابق با تنظیم شده است رشته قالب 1C: سازمانی.

مولفه های:

  • معنی ؛
  • قالب بندی رشته

قالب (فاکتورها. SumDoc ، "NPT = 2")

شروع دوره

مولفه های:

    • دقیقه
    • روز ؛
    • یک هفته؛
    • ماه
    • ربع؛
    • دهه ؛
    • نصف سال.

شروع دوره (تاریخ زمان (2002 ، 10 ، 12 ، 10 ، 15 ، 34) ، "ماه")

نتیجه:

01.10.2002 0:00:00

پایان دوره

این تابع برای استخراج یک تاریخ خاص از یک تاریخ معین طراحی شده است.

مولفه های:

  • تاریخ. نوع تاریخ تاریخ مشخص شده ؛
  • نوع دوره. String را تایپ کنید. حاوی یکی از مقادیر زیر است:
    • دقیقه
    • روز ؛
    • یک هفته؛
    • ماه
    • ربع؛
    • دهه ؛
    • نصف سال.

EndPeriod (DateTime (2002 ، 10 ، 12 ، 10 ، 15 ، 34) ، "هفته")

نتیجه:

13.10.2002 23:59:59

افزودن به تاریخ

این تابع برای افزودن مقدار خاصی به تاریخ در نظر گرفته شده است.

مولفه های:

  • نوع بزرگنمایی. String را تایپ کنید. حاوی یکی از مقادیر زیر است:
    • دقیقه
    • روز ؛
    • یک هفته؛
    • ماه
    • ربع؛
    • دهه ؛
    • نصف سال.
  • ارزش - به چه میزان تاریخ باید افزایش یابد. شماره تایپ کنید. بخش کسری نادیده گرفته می شود.

افزودن به تاریخ (DateTime (2002 ، 10 ، 12 ، 10 ، 15 ، 34) ، "ماه" ، 1)

نتیجه:

12.11.2002 10:15:34

تفاوت تاریخ

این تابع به منظور ایجاد تفاوت بین دو تاریخ طراحی شده است.

مولفه های:

  • اصطلاح. نوع تاریخ تاریخ اصلی ؛
  • اصطلاح. نوع تاریخ تاریخ تفریق ؛
  • نوع تفاوت String را تایپ کنید. حاوی یکی از مقادیر زیر است:
    • دومین؛
    • دقیقه
    • روز ؛
    • ماه
    • ربع؛

DIFFERENCE (DATE TIME (2002، 10، 12، 10، 15، 34)، DATE TIME (2002، 10، 14، 9، 18، 06)، "DAY")

نتیجه:

زیر رشته

این تابع برای استخراج یک زیر رشته از یک رشته طراحی شده است.

مولفه های:

  • خط. String را تایپ کنید. رشته ای که از آن می توان زیر رشته را استخراج کرد.
  • موقعیت شماره تایپ کنید. موقعیت کاراکتری که زیر رشته ای که باید از رشته استخراج شود شروع می شود.
  • طول شماره تایپ کنید. طول زیر رشته را انتخاب کنید.

SUBSTRATE (پیمانکاران ، آدرس 1 ، 4)

طول خط

این تابع برای تعیین طول یک رشته طراحی شده است.

پارامتر:

  • خط. String را تایپ کنید. رشته ای که باید در طول مشخص شود.

رشته (حسابها. آدرس)

سال

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

پارامتر:

  • تاریخ. نوع تاریخ تاریخ تعیین سال.

YEAR (تاریخ فاکتور)

ربع

این تابع در نظر گرفته شده است که یک عدد یک چهارم را از مقدار نوع Date استخراج کند. عدد چهارم معمولاً در محدوده 1 تا 4 است.

پارامتر

  • تاریخ. نوع تاریخ تاریخ تعیین سه ماهه
QUARTER (تاریخ ارسال)

ماه

این تابع به منظور استخراج تعداد ماه از مقدار نوع تاریخ است. تعداد ماهها معمولاً بین 1 تا 12 است.

  • تاریخ. نوع تاریخ تاریخ تعیین ماه.
ماه (تاریخ فاکتور)

روز سال

این تابع به منظور بدست آوردن روز سال از مقداری از نوع تاریخ است. معمولاً روز سال در محدوده 1 تا 365 (366) است.

  • تاریخ. نوع تاریخ تاریخی که تا آن روز سال تعیین می شود.
روز سال (تاریخ فاکتور)

روز

این تابع در نظر گرفته شده است تا روز ماه را از مقداری از نوع Date دریافت کند. معمولاً روز ماه بین 1 تا 31 است.

  • تاریخ. نوع تاریخ تاریخی که تا آن روز ماه تعیین می شود.
DAY (تاریخ فاکتور)

یک هفته

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

  • تاریخ. نوع تاریخ تاریخ تعیین تعداد هفته.
هفته (تاریخ فاکتور)

روز هفته

این تابع برای بدست آوردن روز هفته از مقداری از نوع Date در نظر گرفته شده است. روز هفته به طور معمول بین 1 (دوشنبه) و 7 (یکشنبه) است.

  • تاریخ. نوع تاریخ تاریخی که روز هفته در آن تعیین می شود.
روز هفته (تاریخ فاکتور)

ساعت

این تابع در نظر گرفته شده است تا ساعت روز را از مقدار نوع تاریخ بدست آورد. ساعت روز از 0 تا 23 متغیر است.

  • تاریخ. نوع تاریخ تاریخی که ساعت روز در آن تعیین می شود.
HOUR (تاریخ فاکتور)

دقیقه

این تابع برای بدست آوردن دقیقه ساعت از مقدار نوع تاریخ است. دقیقه ساعت از 0 تا 59 متغیر است.

  • تاریخ. نوع تاریخ تاریخی که دقیقه ساعت در آن تعیین می شود.
MINUTE (تاریخ فاکتور)

دومین

این تابع به منظور بدست آوردن ثانیه از مقدار از نوع تاریخ است. ثانیه ثانیه از 0 تا 59 متغیر است.

  • تاریخ. نوع تاریخ تاریخ تعیین ثانیه های دقیقه
SECOND (تاریخ فاکتور)

بیان

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

مولفه های:

  • عبارت قابل تبدیل ؛
  • نشان نوع String را تایپ کنید. شامل رشته ای از نوع است. به عنوان مثال ، "شماره" ، "رشته" و غیره. جز انواع اولیه رشته داده شدهممکن است شامل نام جدول باشد. در این مورد ، سعی می شود به یک مرجع به جدول مشخص شده اشاره شود.

اکسپرس (Data.Propps1 ، "Number (10.3)")

بله خالی

اگر مقدار پارامتر اول NULL باشد ، این تابع مقدار پارامتر دوم را برمی گرداند.

در غیر این صورت ، مقدار پارامتر اول بازگردانده می شود.

YesNULL (مبلغ (Sales.SumTurnover) ، 0)

توابع ماژول متداول

بیان موتور ترکیب داده ها می تواند شامل تماس با توابع جهانی باشد ماژول های رایجپیکربندی برای فراخوانی چنین توابع نیازی به نحو اضافی نیست.

در این مثال ، تابع "نام اختصاری" از ماژول پیکربندی عمومی فراخوانی می شود.

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

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

EvaluateExpressionاین یک تابع ACS نسبتاً پیچیده است و مثالهای کاربرد آن در اطلاعات مرجع کمیاب است. این مقاله نمونه هایی را مورد بحث قرار می دهد که مطمئناً برای هر توسعه دهنده مفید خواهد بود:

  1. مجموع تجمعی در گروه بندی ؛
  2. مجموع در حال اجرا در یک crosstab ؛
  3. بدست آوردن مقدار قبلی ؛
  4. خروجی PM در یک خط

1. دریافت شاخص به صورت تجمعی

بیایید تعداد محصولات را به صورت تجمعی در سطح گروه بندی بدست آوریم. برای انجام این کار ، یک میدان محاسبه شده ایجاد می کنیم (شکل 1 را ببینید).
در برگه "منابع" ، تابع را برای قسمت محاسبه شده تنظیم کنید:
محاسبه عبارت ("Sum (AmountTurnover)" ، "First" ، "Current")
که تعداد محصولات از اولین رکورد تا فعلی را جمع بندی می کند (شکل 2 را ببینید).

اگر می خواهید تعداد کالاها را در مجموع تجمعی در سطح سوابق دقیق دریافت کنید ، تابع CalculateExpression برای قسمت محاسبه شده در برگه "زمینه های محاسبه شده" تنظیم شده است (شکل 3 را ببینید).
بسته به سطح به دست آوردن مجموع تجمعی ، ما یک گروه بندی ایجاد می کنیم (شکل 4 را ببینید): در سطح منابع - گروه بندی بر اساس کالاها ، در سطح DZ - گروه بندی سوابق دقیق.
شکل 4. گروه بندی های گزارش با مجموع تجمعی

2. بدست آوردن مقدار اندیکاتور از خط قبلی

بیایید نرخ ارز تاریخ و تاریخ قبلی را دریافت کنیم. برای انجام این کار ، یک میدان محاسبه شده ایجاد کنید و عبارت زیر را در قسمت عبارت بنویسید (شکل 5 را ببینید):
محاسبه بیان (دوره ، قبلی ، قبلی)
که ارزش قبلی نرخ ارز را برای خط فعلی، آخرین پارامتر تابع ، بازیابی اطلاعات را محدود می کند.
از آنجا که ما در سطح سوابق دقیق کار می کنیم ، مستقیماً به برگه "تنظیمات" بروید و یک گروه - سوابق دقیق ایجاد کنید.

3. بدست آوردن اندیکاتور در مجموع تجمعی در یک برگه متقاطع

بیایید تعداد کالاها را به صورت تجمعی در زمینه دوره بدست آوریم. برای انجام این کار ، یک میدان محاسبه شده ایجاد می کنیم (شکل 1 را ببینید). در برگه "منابع" ، برای یک زمینه محاسبه شده ، عبارت زیر را مشخص می کنیم (شکل 6 را ببینید):
محاسبه عبارت ("مجموع (تعداد گردش)" ، "دوره" ، "اول" ، "فعلی")
که در سطح گروه بندی ، مقدار کالاها را در بازه بین خط اول تا خط فعلی در چارچوب دوره برای هر مورد محاسبه می کند.
در برگه "تنظیمات" ، جدولی ایجاد کنید که بر اساس مورد در یک ردیف و بر اساس نقطه در یک ستون گروه بندی شده است (شکل 7 را ببینید).

4. خروجی داده های بخش جداول در یک خط

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

با توجه به انتشار آینده 8.2.14 ، سعی می کنم برخی از عملکردهای جدید سیستم ترکیب داده ها را شرح دهم.

برای سهولت ویرایش ، طرح ترکیب داده ها را ترجیحاً در یک گزارش خارجی باز کنید.

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

1. یک درخواست در ACS تنظیم کنید.

2. پیکربندی زمینه های محاسبه شده در ACS

3. تنظیم ترکیب داده ها را در برگه تنظیمات انجام دهید

4. راه اندازی 1C Enterprise 8.2.14. گزارش را باز می کنیم. شکل می گیریم ، به دست می آوریم.

شرح عملکردهای جدید خود:

1. تاریخ کنونی ()

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

2. بیان محاسبه ()

نحو:

ارزیابی بیان (،)

شرح:

این تابع برای ارزیابی یک عبارت در زمینه برخی گروه بندی ها طراحی شده است.

عملکرد انتخاب گروه ها را در نظر می گیرد ، اما انتخاب های سلسله مراتبی را در نظر نمی گیرد.

در انتخاب گروه این گروه بندی ، تابع نمی تواند برای گروه بندی اعمال شود. به عنوان مثال ، در انتخاب گروه بندی Nomenclature ، نمی توانید از عبارت استفاده کنید CalculateExpress ("Sum (SumTurnover)" ، "TotalTotal")> 1000... اما از چنین عبارتی می توان در انتخاب سلسله مراتبی استفاده کرد.

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

هنگام محاسبه عبارات فاصله برای کل بزرگ (پارامتر گروه بندی روی General Total تنظیم می شود) ، فرض بر این است که هیچ سوابق برای محاسبه داده های دقیق و محاسبه توابع جمع وجود ندارد.

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

مولفه های

یک نوع: خط... عبارت برای ارزیابی

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

مثلا:

مبلغ (میزان فروش Sales.Turnover) / محاسبه ("Amount (Sales.Turnover Amount)" ، "TotalTotal")

در این مثال ، نتیجه نسبت مجموع بر میدان خواهد بود Sales.AmountTurnoverگروه بندی سوابق در مجموع همان زمینه در کل طرح.

یک نوع: خط... پارامتر می تواند مقادیر زیر را داشته باشد:

· نتیجه کلی- عبارت برای همه سوابق گروه بندی ارزیابی می شود.

· سلسله مراتب- این عبارت برای سابقه سلسله مراتبی والدین ، ​​در صورت وجود ، و برای کل گروه بندی ، اگر هیچ سابقه سلسله مراتبی والدین وجود ندارد ، ارزیابی می شود.

· گروه بندی- عبارت برای رکورد گروه فعلی گروه بندی ارزیابی می شود.

· GroupingNonResource- هنگام محاسبه یک تابع برای رکورد گروه توسط منابع ، عبارت برای اولین رکورد گروه از گروه بندی اصلی محاسبه می شود.

هنگام محاسبه تابع EvaluateExpression () با معنی GroupingNonResourceبرای رکوردهای گروهی که بر اساس منابع گروه بندی نشده اند ، تابع به همان صورتی محاسبه می شود که اگر مقدار پارامتر برابر مقدار باشد محاسبه می شود. گروه بندی.

آهنگساز قالب ترکیب داده ، هنگام ایجاد قالب ترکیب داده ، هنگام نمایش منبع-زمینه ای که گروه بندی در قالب انجام می شود ، یک عبارت محاسبه شده با استفاده از تابع را قرار می دهد EvaluateExpression () ، پارامتر را مشخص می کند GroupingNonResource... برای بقیه منابع ، عبارات منظم منابع بر اساس منابع گروه بندی می شوند.

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

· اولین

· آخر

· قبلی

· بعدی (بعدی)

· جاری

· محدود کردن ارزش(BoundaryValue) محدود کردن ارزش

یک نوع: خط... نشان می دهد که قطعه ای که در آن عملکردهای کلی عبارت را ارزیابی می کند ، در کدام رکورد ادامه یابد. مقدار می تواند یکی از موارد زیر باشد:

· اولین... شما باید اولین رکورد گروه بندی را بدست آورید. بعد از کلمه در داخل پرانتز ، می توانید عبارتی را مشخص کنید که نتیجه آن از ابتدای گروه بندی به عنوان افست استفاده می شود. مقدار حاصل باید یک عدد صحیح بزرگتر از صفر باشد. به عنوان مثال ، اول (3) - گرفتن سومین رکورد از ابتدای گروه بندی.

اگر اولین رکورد خارج از محدوده گروه بندی باشد ، در نظر گرفته می شود که هیچ رکوردی وجود ندارد. به عنوان مثال ، اگر 3 رکورد وجود داشته باشد ، و شما می خواهید اولین (4) را دریافت کنید ، در نظر گرفته می شود که هیچ رکوردی وجود ندارد.

· آخر... شما باید آخرین رکورد گروه بندی را دریافت کنید. یک عبارت را می توان بعد از کلمه داخل پرانتز مشخص کرد ، که نتیجه آن به عنوان یک افست از پایان گروه بندی استفاده می شود. مقدار حاصل باید یک عدد صحیح بزرگتر از صفر باشد. به عنوان مثال ، Last (3) - گرفتن سومین رکورد از پایان گروه بندی.

اگر آخرین رکورد خارج از محدوده گروه بندی باشد ، در نظر گرفته می شود که هیچ رکوردی وجود ندارد. به عنوان مثال ، اگر 3 رکورد وجود داشته باشد ، و شما می خواهید آخرین (4) را دریافت کنید ، در نظر گرفته می شود که هیچ رکوردی وجود ندارد.

· قبلی... شما باید رکورد گروه بندی قبلی را بدست آورید. یک عبارت را می توان بعد از کلمه در داخل پرانتز مشخص کرد ، که نتیجه آن به عنوان یک جبران از رکورد گروه بندی فعلی استفاده می شود. به عنوان مثال ، قبلی (2) - قبلی را از رکورد قبلی دریافت کنید.

اگر رکورد قبلی فراتر از گروه بندی باشد (برای مثال ، برای رکورد گروه بندی دوم باید قبلی (3) را دریافت کنید ، سپس اولین رکورد گروه بندی بدست می آید.

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

· بعدی (بعدی)... شما باید رکورد گروه بندی بعدی را دریافت کنید. یک عبارت را می توان بعد از کلمه در داخل پرانتز مشخص کرد ، که نتیجه آن بعنوان جبران کننده از رکورد گروه بندی فعلی مورد استفاده قرار می گیرد. به عنوان مثال ، Next (2) - بعدی را از رکورد بعدی دریافت کنید.

اگر رکورد بعدی از گروه بندی خارج شود ، در نظر گرفته می شود که هیچ رکوردی وجود ندارد. به عنوان مثال ، اگر 3 رکورد وجود داشته باشد و Next () برای رکورد سوم دریافت شود ، در نظر گرفته می شود که هیچ رکوردی وجود ندارد.

هنگامی که رکورد بعدی برای کل گروه بندی دریافت می شود ، در نظر گرفته می شود که هیچ رکوردی وجود ندارد.

· جاری... شما باید رکورد فعلی را دریافت کنید.

هنگام جمع آوری کل گروه بندی ، اولین رکورد به دست می آید.

· محدود کردن ارزش(BoundaryValue)... نیاز به دریافت یک رکورد با مقدار مشخص شده. بعد از کلمه محدود کردن ارزشدر براکت ها باید عبارتی را مشخص کنید که مقدار آن می خواهید یک قطعه را شروع کنید ، اولین فیلد ترتیب.

به عنوان یک رکورد ، اولین رکورد به دست می آید که مقدار فیلد سفارش آن بیشتر یا مساوی مقدار تعیین شده است. به عنوان مثال ، اگر فیلد Period به عنوان فیلد سفارش استفاده می شود و دارای مقادیر 01/01/2010 ، 01/02/2010 ، 01/03/2010 است و می خواهید دریافت کنید ConstrainingValue (DateTime (2010 ، 1 ، 15))، سپس یک رکورد با تاریخ 02/01/2010 دریافت خواهید کرد.

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

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

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

· بطور جداگانهنشان می دهد که از دنباله ای از رکوردهای مرتب شده برای تعریف رکوردهای قبلی و بعدی استفاده می شود. مقدار پیش فرض.

· با یکدیگرنشان می دهد که رکوردهای قبلی و بعدی بر اساس مقادیر ترتیب عبارات تعیین می شوند.

به عنوان مثال ، اگر ترتیب حاصله براساس تاریخ مرتب شود:

تاریخ نام و نام خانوادگی معنی
1 01 ژانویه 2001

ایوانف م.

10
2 02 ژانویه 2001 پتروف اس. 20
3 03 ژانویه 2001 سیدوروف آر. 30
4 04 ژانویه 2001 پتروف اس. 40

بطور جداگانه، سپس:

ورودی قبلی ورودی 3 ورودی 2 خواهد بود.

جاری ، جاری(به ترتیب ، پارامترها شروع کنیدو پایان) ، سپس برای رکورد 2 این قطعه شامل یک رکورد 2 خواهد بود. عبارت مساوی 20 خواهد بود.

اگر مقدار پارامتر باشد با یکدیگر، سپس:

ورودی قبلی ورودی 3 ورودی 1 خواهد بود.

§ اگر قطعه محاسبه شده به صورت تعریف شده باشد جاری ، جاری(به ترتیب ، پارامترها شروع کنیدو پایان) ، سپس برای رکورد 2 این قطعه شامل رکوردهای 2 و 3 خواهد بود محاسبه عبارت ("مجموع (مقدار)" ، جاری ، جاری)برابر 50 خواهد بود.

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

محاسبه عبارت ("مجموع (SumTurnover)" ، "اول" ، "فعلی")

اگر می خواهید مقدار گروه بندی را در خط قبلی بدست آورید ، می توانید از عبارت زیر استفاده کنید:

ارزیابی بیان (دوره ، قبلی)

لیست جدیدکارکرد:

EvaluateExpressionGroupedArray(,) -

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

EvaluateExpressionGroupedValuesTable(,) -

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

ارزش پر شده() - اگر مقدار متفاوت از مقدار باشد مقدار True را برمی گرداند از این نوعبه طور پیش فرض ، غیر NULL ، غیر null ، غیر تعریف شده است. برای مقادیر بولی ، یک چک تهی انجام می شود. برای رشته ها ، بررسی عدم وجود نویسه های غیرفضا انجام می شود

قالب بندی(،) - رشته فرمت شده مقدار ارسال شده را دریافت کنید. رشته قالب مطابق رشته قالب سیستم 1C: Enterprise تنظیم شده است.

زیر رشته(،،) - این تابع برای استخراج یک زیر رشته از یک رشته طراحی شده است.

طول خط() - تابع برای تعیین طول رشته طراحی شده است. پارامتر یک عبارت نوع رشته است

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

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

ایجاد گزارش در 1C از طریق ACS

فرایند تهیه گزارش با استفاده از ACS را می توان به مراحل زیر تقسیم کرد:

  1. ایجاد یک درخواست. درخواست را می توان به صورت دستی نوشت یا می توانید بدون کد برنامه با استفاده از رابط کاربری مناسب انجام دهید.
  2. سفارشی سازی گزارش زمینه ها ، مجموع ها ، گروه بندی ها ، پارامترها ، طراحی گزارش انتخاب شده اند.
  3. پس از آن ، ما فقط باید گزارش حاصله را به هر شکل موجود به پیکربندی متصل کنیم.

علیرغم توانایی کاربران برای سفارشی سازی گزارشات در ACS ، آنها باید از طریق تنظیم کننده ایجاد شوند.

بیایید نمونه ای از ایجاد را در نظر بگیریم گزارش خارجیدر SKD:


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

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

قابلیت های ACS

شرایطی وجود دارد که ما گزارشی تهیه کردیم ، و سپس یک کاربر می آید و می خواهد تهیه کند بازبینی جزیی، تجدید نظر جزیی... به عنوان مثال ، SKU ها را به جای نام اقلام نمایش دهید. ACS به کاربران این امکان را می دهد تا خودشان با استفاده از دکمه "More" - "Change variant ..." چنین پیشرفت هایی را انجام دهند.


پنجره باز شده مشابه پنجره تنظیمات در گزارش در تنظیم کننده است و همچنین عملکردهای مشابهی دارد. برای حل مشکل ، کاربر باید به برگه "Fields" رفته و قسمت "Nomenclature" را تغییر دهد. این قسمت برای ویرایش با دوبار کلیک باز می شود و دکمه "انتخاب ..." در دسترس قرار می گیرد.


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


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


مکانیزم 1C: Enterprise 8.3 ACS همچنین دارای قابلیت های پیشرفته ای برای توسعه دهندگان است. هنگام تهیه گزارش ، ما فقط از 2 زبانه استفاده کردیم - "مجموعه داده" و "تنظیمات" ، اما تعداد بیشتری از آنها در ACS وجود دارد. برای استفاده از همه عملکردهای سیستم ترکیب داده ها ، باید بدانید که چرا به هر یک از برگه ها نیاز است:

  1. مجموعه داده ها - همه سeriesالات مربوط به ایجاد گزارش در اینجا ذکر شده است.
  2. پیوندهای داده - برای ایجاد پیوند بین درخواست های مختلف از برگه اول استفاده می شود.
  3. زمینه های محاسبه شده - لیستی از فیلدهای اضافه شده از درخواست نیست. بیشتر اوقات در مواردی استفاده می شود که بر اساس مقادیر چندین فیلد ، باید 1 مقدار را از یک پرس و جو بدست آورید.
  4. منابع در 1C ، به اصطلاح زمینه هایی که باید نتایج آن را بدانید. منابع از عملیات مختلف حسابداری - جمع ، مقدار ، حداکثر و سایر موارد پشتیبانی می کنند.
  5. مولفه های. در صورتی مورد استفاده قرار می گیرد که برای ایجاد گزارش ، لازم باشد کاربر داده های خاصی را وارد کند - برای مثال تاریخ ، بخش یا موارد ،
  6. چیدمان ها طراحی شده برای مواردی که کاربران می خواهند گزارش طراحی منحصر به فرد را مشاهده کنند. یک مکان جداگانه برای امضا یا قسمت بالایی جدید گزارش ایجاد کنید - همه اینها را می توان در اینجا انجام داد.
  7. طرحواره های تو در تو زمانی لازم است که گزارش شما حاوی داده های گزارش های دیگر باشد.
  8. تنظیمات. این بخش فیلدهای نمایش داده شده ، گروه بندی ها را پیکربندی می کند ظاهرگزارش.


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