نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی پرتال اطلاعاتی
  • خانه
  • بررسی ها
  • فیلدهای محاسبه شده در توابع ckd 1s 8.3. توابع زبان بیان سیستم ترکیب داده ها

فیلدهای محاسبه شده در توابع ckd 1s 8.3. توابع زبان بیان سیستم ترکیب داده ها

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


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

بر این اساس، اکنون لازم است مجموع گروه بندی های فوق ("انبارها"، "انواع انبارها") و کل کل محاسبه شود.
برای این کار از تابع استفاده کنید EvaluateGroupExpressionArray:
محاسبه بیان بر اساس گروه آرایه (EVALEXPRESSIONWITHGROUPARRAY)
نحو:
EvaluateGroupExpressionArray (,)
شرح:
تابع آرایه ای را برمی گرداند که هر عنصر آن حاوی نتیجه ارزیابی عبارتی است که باید توسط فیلد مشخص شده گروه بندی شود.
سازنده layout، هنگام تولید طرح، پارامترهای تابع را به شرایط فیلدهای طرح بندی ترکیب داده ها تبدیل می کند. به عنوان مثال، قسمت Account به Dataset.Contractor تبدیل می شود.
هنگام ایجاد عباراتی برای نمایش یک فیلد سفارشی، که عبارت آن فقط حاوی تابع EvaluateArrayWithGroupArray () است، سازنده layout عبارت نمایش داده شده را تولید می کند تا اطلاعات نمایش داده شده مرتب شوند. به عنوان مثال، برای یک فیلد سفارشی با عبارت:

CalculateExpressionWithGroupingArray ("Sum (SumTurnover)"، "Counterparty")
آهنگساز layout عبارت زیر را برای خروجی ایجاد می کند:

اتصال ردیف ها (آرایه (Arrange (EvaluateExpressionWith GroupingValuesTable ("نمایش (Sum (Dataset.SumTurnover))، Sum (Dataset.SumTurnover)"، "Dataset.Contractor")، "2")))

گزینه ها:

نوع: رشته عبارت برای ارزیابی. یک رشته، به عنوان مثال، Amount (AmountTurnover).

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

نوع: رشته عبارتی که انتخاب اعمال شده روی رکوردهای جزئیات را توصیف می کند. عبارت از استفاده از توابع جمع پشتیبانی نمی کند. مثلا Delete Mark = False.

نوع: رشته عبارتی که فیلتر اعمال شده روی رکوردهای گروه را توصیف می کند. به عنوان مثال، Sum (SumTurnover)> & Parameter1.
مثال:

حداکثر (CalculateExpressionWithGroupArray ("Sum (SumTurnover)"، "Counterparty"));

شرح مفصلی از نحو تابع را می توان در http://its.1c.ru/db/v837doc#bookmark:dev:TI000000582 یافت.
حال برای محاسبه، فیلد «Order» را با مقادیر مختلف «Calculate by ...» با استفاده از عبارات زیر کپی می کنیم، توجه داشته باشید که در هر سطح بالاتر، مقادیر سطوح زیر گروه بندی ها هستند. استفاده شده.

در نتیجه، ساختار زیر را دریافت می کنیم:

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

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

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

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

به معنای واقعی کلمه

عبارات می توانند حاوی لفظ باشند. لفظی از انواع زیر ممکن است:

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

خط

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

"رشته واقعی"

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

مثلا:

"للفظی" "در نقل قول" ""

عدد

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

10.5 200

تاریخ

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

مثلا:

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

بولی

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

معنی

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

مقدار (نوع حساب. فعال)

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

یگانه -

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

فروش.تعداد

Unary +

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

فروش.تعداد

دودویی -

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

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

باینری +

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

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

کار کنید

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

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

بخش

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

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

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

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

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

عملیات رشته

الحاق (باینری +)

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

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

پسندیدن

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

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

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

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

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

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

"% ABC [abvg] \ _ abc%" SPECIAL SYMBOL "\"

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

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

برابر است

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

Sales.Contractor = Sales.NomenclatureMainSupplier

نا برابر

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

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

کوچکتر

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

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

بیشتر

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

SalesCurrent.Total> SalesPast.Amount

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

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

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

بیشتر یا برابر

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

SalesCurrent.Amount> = SalesPast.Amount

عملیات B

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

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

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

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

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

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

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

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

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

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

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

عملیات منطقی

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

عملیات نه

اگر عملوند آن False باشد، عملیات True و اگر عملوند آن True باشد، False را برنمی‌گرداند. مثلا:

NOT Document.Consignee = Document.Shipper

عملیات و

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

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

یا عملیات

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

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

توابع مجموع

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

مجموع

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

مقدار (Sales.SumTurnover)

تعداد

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

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

تعداد مختلف

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

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

بیشترین

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

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

کمترین

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

حداقل (موجودی. مقدار)

میانگین

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

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

سایر عملیات

عملیات SELECT

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

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

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

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

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

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

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

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

کار با مقادیر NULL

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

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

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

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

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

  • B IS NULL IS NOT NULL;
  • =, <>, <=, <, >=, >;
  • باینری +، باینری -;
  • *, /, %;
  • Unary +، ​​Unary -.

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

محاسبه

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

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

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

مرحله

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

مرحله()

شماره سفارش

شماره دنباله بعدی را دریافت کنید.

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

NumberOrderInGroup

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

NumberOrderInGrouping ()

فرمت

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

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

گزینه ها:

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

قالب (Invoices.SumDoc، "NPT = 2")

شروع دوره

گزینه ها:

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

شروع دوره (DateTime (2002، 10، 12، 10، 15، 34)، "ماه")

نتیجه:

01.10.2002 0:00:00

پایان دوره

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

گزینه ها:

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

EndPeriod (DateTime (2002، 10، 12، 10، 15، 34)، "Week")

نتیجه:

13.10.2002 23:59:59

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

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

گزینه ها:

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

افزودن به تاریخ (DateTime (2002، 10، 12، 10، 15، 34)، "Month"، 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 (Contractors. Address, 1, 4)

طول خط

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

پارامتر:

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

رشته (Accounts.Address)

سال

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

پارامتر:

  • تاریخ. تاریخ را تایپ کنید. تاریخی که در آن سال تعیین می شود.

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

ربع

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

پارامتر

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

ماه

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

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

روز سال

این تابع برای دریافت روز سال از مقداری از نوع Date طراحی شده است. روز سال معمولاً در محدوده 1 تا 365 (366) است.

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

روز

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

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

یک هفته

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

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

روز هفته

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

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

ساعت

این تابع برای دریافت ساعت روز از مقداری از نوع Date طراحی شده است. ساعت روز از 0 تا 23 متغیر است.

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

دقیقه

این تابع برای دریافت دقیقه یک ساعت از مقداری از نوع Date در نظر گرفته شده است. دقیقه ساعت از 0 تا 59 متغیر است.

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

دومین

این تابع برای دریافت یک ثانیه از یک دقیقه از مقداری از نوع Date در نظر گرفته شده است. ثانیه از یک دقیقه از 0 تا 59 متغیر است.

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

بیان

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

گزینه ها:

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

Express (Data.Props1، "Number (10.3)")

بله نول

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

شرح خود توابع جدید:

1. تاریخ فعلی ()

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

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

نحو:

ارزیابی بیان (<Выражение>, <Группировка>, <ОбластьВычисления>, <Начало>, <Конец>, <Сортировка>, <ИерархическаяСортировка>, <ОбработкаОдинаковыхЗначенийПорядка>)

شرح:

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

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

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

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

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

سازنده layout، هنگام تولید عبارتی برای تابع EvaluateExpression، اگر عبارت ترتیبی حاوی فیلدهایی باشد که در گروه بندی نمی توان از آنها استفاده کرد، تابع EvaluateExpression را با NULL جایگزین می کند.

گزینه ها

<Выражение>

نوع: رشته عبارت برای ارزیابی.

<Группировка>

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

مثلا:

مبلغ (Sales.SumTurnover) / محاسبه ("مبلغ (Sales.SumTurnover)"، "TotalTotal")

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

<ОбластьВычисления>

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

  • GeneralTotal - عبارت برای تمام رکوردهای گروه بندی ارزیابی می شود.
  • سلسله مراتب - عبارت برای رکورد سلسله مراتبی والد، در صورت وجود، و برای کل گروه بندی، اگر رکورد سلسله مراتبی والد وجود نداشته باشد، ارزیابی می شود.
  • گروه بندی - عبارت برای رکورد گروه بندی فعلی ارزیابی می شود.
  • GroupingNoResource - هنگام محاسبه یک تابع برای رکورد گروه بر اساس منابع، عبارت برای اولین رکورد گروه از گروه بندی اصلی محاسبه می شود.

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

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

<Начало>

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

<Конец>

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

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

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

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

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

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

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

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

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

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

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

  • جاری (جاری). شما باید رکورد فعلی را بدست آورید.

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

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

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

<Сортировка>

نوع: رشته فهرستی از عبارات جدا شده با کاما که قوانین دسته بندی را توصیف می کند. اگر مشخص نشده باشد، ترتیب به همان روشی انجام می شود که برای گروه بندی که عبارت برای آن ارزیابی می شود. بعد از هر عبارت، می‌توانید کلیدواژه Ascending (برای ترتیب صعودی)، Descending (برای ترتیب نزولی) و Auto-ordering (برای مرتب‌سازی فیلدهای ارجاع‌شده بر اساس فیلدی‌هایی که می‌خواهید شی ارجاع داده شده را مرتب کنید) را مشخص کنید. کلمه Auto-Arrange را می توان هم با Ascending و هم با Descending استفاده کرد.

<ИерархическаяСортировка>

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

<ОбработкаОдинаковыхЗначенийПорядка>

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

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

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

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

اگر مقدار پارامتر جدا باشد، آنگاه:

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

اگر قطعه محاسبه شده به صورت Current، Current (به ترتیب پارامترهای Start و End) تعریف شود، برای رکورد 2 این قطعه شامل یک رکورد 2 خواهد بود. برابر 20 باشد.

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

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

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

هنگام تعیین مقدار پارامتر برابر با Together، در پارامترهای Start و End، نمی توانید برای موقعیت های First، Last، Previous، Next یک افست تعیین کنید.

محاسبه عبارت ("Sum (SumTurnover)"، "First"، "Current")

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

EvaluateExpression ("دوره"، "قبلی")

فهرست کنید جدیدکارکرد:

EvaluateExpressionGroupedArray(<Выражение>, <ВыражениеПолейГруппировки>, <ОтборЗаписей>, <ОтборГруппировок>) –

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

EvaluateExpressionGroupedValuesTable(<Выражения>, <ВыражениеПолейГруппировки>, <ОтборЗаписей>, <ОтборГруппировок>) –

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

ValueFilled(<Выражение>) - اگر مقدار با مقدار پیش فرض نوع داده شده، غیر از NULL، غیر از یک مرجع خالی، غیر از Undefined متفاوت باشد، مقدار True را برمی گرداند. برای مقادیر بولی، یک بررسی تهی انجام می شود. برای رشته ها، بررسی عدم وجود کاراکترهای بدون فاصله سفید انجام می شود

فرمت(<Выражение>, <Форматная строка>) - رشته فرمت شده مقدار ارسال شده را دریافت کنید. رشته قالب مطابق با رشته قالب سیستم 1C: Enterprise تنظیم شده است.

رشته فرعی(<Выражение>, <Начальные символ>, <ДлинаПодстроки>) - این تابع برای استخراج یک زیر رشته از یک رشته طراحی شده است.

طول خط(<Выражение>) - تابع برای تعیین طول رشته طراحی شده است. پارامتر یک عبارت از نوع رشته است

خط(<Выражение>) - اگر آرایه ای به عنوان پارامتر ارسال شود، تابع رشته ای را برمی گرداند که حاوی نمایش رشته ای از تمام عناصر آرایه است که با نمادها از هم جدا شده اند. ". اگر جدول مقادیر به‌عنوان پارامتر ارسال شود، تابع رشته‌ای حاوی نمایش‌های رشته‌ای از تمام ردیف‌های جدول مقادیر را برمی‌گرداند و نمایش‌های سلولی هر ردیف با «; "، و رشته ها - با یک کاراکتر تغذیه خط. اگر هر عنصری دارای نمایش رشته خالی باشد، رشته به جای نمایش آن نمایش داده می شود<Пустое значение>.

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

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

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

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

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

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


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

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

قابلیت های ACS

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


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


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


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


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

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


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

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

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

1. دریافت نشانگر در مجموع تجمعی

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

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

2. گرفتن مقدار نشانگر از خط قبل

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

3. دریافت نشانگر در مجموع تجمعی در یک زبانه متقاطع

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

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

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

مقالات مرتبط برتر