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

زبان بیان سیستم ترکیب داده (1Cv8). دریافت قیمت تاریخ سند در یک درخواست نحوه تنظیم تاریخ جاری در SKD

SKD 1C مخفف Data Composition System است. SKD 1C یک روش جدید برای نوشتن گزارش در 1C است که به کاربر این امکان را می دهد تا گزارش را به طور کامل شخصی سازی کند.

نقطه ضعف SKD 1C این است که تنظیمات آن کاملاً پیچیده است و همه کاربران به سرعت آنها را یاد نمی گیرند.

نوشتن گزارش های ACS به توانایی کار با کوئری ها در 1C نیاز دارد که در مورد آن بحث کردیم.

فناوری ایجاد گزارش SKD 1C چیست:

  • یک درخواست 1C به 1C SKD بنویسید که جمع آوری داده را فراهم می کند
  • نقش فیلدها را در SKD 1C مشخص کنید (فیلدهای محاسبه شده، منابع)
  • تنظیمات پیش فرض 1C SKD را وارد کنید.

کاربر این فرصت را دارد که بسیاری از تنظیمات را به دلخواه تغییر دهد.

فناوری ایجاد گزارش در مورد فناوری های قبلی چیست:

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

همانطور که می بینید، SKD 1C یک مزیت قابل توجه هم برای کاربر و هم برای برنامه نویس دارد:

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

در تمام پیکربندی‌های جدید 1C، ​​همه گزارش‌ها فقط در 1C SKD استفاده خواهند شد.

بیایید ببینیم چگونه از ابتدا یک گزارش در مورد SKD 1C ایجاد کنید.

ایجاد یک گزارش SKD 1C

در پیکربندی، روی دکمه فایل جدید (منو File/New) کلیک کنید.

نوع فایل گزارش جدید را انتخاب کنید.

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

بیایید طرح اولیه SKD 1C را ایجاد کنیم.

درخواستی برای گزارش SKD 1C ایجاد کنید

می تواند منابع داده زیادی برای SKD 1C وجود داشته باشد. به عنوان مثال، برای استفاده از دو پرس و جو مجزا، ابتدا «مجموعه داده - اتحادیه» و سپس چند پرس و جو را اضافه کنید.

در مثال ما از یک پرس و جو ساده استفاده خواهیم کرد.

بیایید یک درخواست برای به دست آوردن داده ها را ترسیم کنیم.

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

در نتیجه ایجاد درخواست، SKD 1C لیستی از فیلدهای موجود برای استفاده ایجاد می کند و آنها را با نام های پیش فرض پر می کند.

اگر نام ناخوشایند است، می توانید آن را در اینجا تغییر دهید.

لطفاً توجه داشته باشید که ما از پارامتر &StartDate در درخواست استفاده کردیم. در SKD 1C یک پارامتر (تاریخ) پیش فرض به نام &Period وجود دارد و می توانید از آن استفاده کنید.

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

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

تنظیمات SKD 1C

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

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

تنظیمات اولیه در تب تنظیمات انجام می شود:


بیایید آن را در حالت Enterprise باز کنیم. لطفا توجه داشته باشید که ما هیچ برنامه نویسی، رسم اشکال و غیره انجام ندادیم. برای تنظیم پارامتر، روی دکمه تنظیمات کلیک کنید.

کاربر تقریباً همان شکل تنظیمات را می بیند که برنامه نویس.

Voila. گزارش کار می کند.

تنظیمات SKD 1C

تمام تنظیمات گزارش SKD 1C با کلیک بر روی دکمه تنظیمات انجام می شود. حداقل در قالب پیش فرض. این امکان وجود دارد که خودتان فرم گزارش SKD 1C را ایجاد کنید و سپس تنظیمات را به صورت مستقل به سایر فرم‌های ترسیم شده توسط برنامه‌نویس منتقل کنید.

بیایید Warehouse را از ستون ها به ردیف ها بکشیم.

بیایید آیتم را به انبار بکشیم.

روی OK کلیک کنید و گزارش را ایجاد کنید. هورا - ما فقط نحوه عملکرد گزارش را در حالت برنامه نویسی بدون برنامه نویسی تغییر دادیم.

روی Rows (یا هر یک از فیلدها) کلیک راست کرده و New Grouping را انتخاب کنید.

قسمت Warehouse را باز کنید و یکی از فیلدهای آن را انتخاب کنید، برای مثال نوع Warehouse.

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

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

روی گروه بندی ما (Warehouse/Item) کلیک چپ کرده و آن را به یک گروه بندی جدید (نوع انبار) بکشید.

نتیجه تنظیمات ما

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

لطفاً توجه داشته باشید که تنظیمات را می توان برای کل گزارش (گزارش انتخاب شده) یا برای یک ردیف خاص از فیلدها (یک ردیف را انتخاب کنید، برای مثال نامگذاری، و تنظیمات: غیر نامگذاری را انتخاب کنید).

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

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

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

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

تحت اللفظی

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

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

خط

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

"رشته واقعی"

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

مثلا:

” تحت اللفظی “در گیومه”””

عدد

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

10.5 200

تاریخ

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

مثلا:

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

بولی

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

معنی

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

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

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

یگانه -

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

فروش.تعداد

Unary +

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

فروش.تعداد

دودویی -

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

ResidualsAndTurnovers.InitialRemaining – RemainingsAndTurnovers.FinalResidualsRemainingsAndTurnovers.InitialRemaining - 100 400 – 357

باینری +

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

RemainingsAndTurnover.InitialRemaining + RemainingAndTurnover.Turnover ResiduesAndTurnover.InitialRemaining + 100 400 + 357

کار کنید

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

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

بخش

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

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

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

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

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

عملیات رشته

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

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

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

پسندیدن

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

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

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

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

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

مثلا قالب

"%ABV[abvg]\_abv%" نویسه خاص "\"

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

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

برابر است

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

Sales.Counterparty = Sales.NomenclatureMainSupplier

نا برابر

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

فروش. طرف مقابل<>Sales.NomenclatureMainSupplier

کمتر

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

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

بیشتر

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

SalesCurrent.Sum > SalesPast.Sum

کمتر یا مساوی

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

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

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

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

SalesCurrent.Amount >= SalesPast.Amount

عملیات B

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

مورد B (&محصول1، &محصول2)

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

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

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

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

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

Sales.Counterparty IS NULL است

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

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

Sales.Counterparty باطل نیست

عملیات منطقی

عملیات منطقی عباراتی از نوع Boolean را به عنوان عملوند می پذیرد.

عملیات نه

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

NOT Document.Consignee = Document.Consignor

عملیات I

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

Document. Consigner = Document. Consignor AND Document. Consigner = &Counterparty

یا عملیات

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

Document.Consignee = Document.Consignor OR Document.Consignee = &Counterparty

توابع جمع

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

مجموع

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

Amount (Sales.AmountTurnover)

تعداد

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

مقدار (فروش. طرف مقابل)

تعداد مختلف

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

مقدار (فروش های مختلف. طرف مقابل)

بیشترین

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

حداکثر (باقی مانده. مقدار)

کمترین

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

حداقل (باقی مانده. مقدار)

میانگین

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

میانگین (باقی مانده. مقدار)

سایر عملیات

عملیات SELECT

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

When Amount > 1000 سپس Amount Otherwise 0 End را انتخاب کنید

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

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

  • 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 را تایپ کنید. شامل نام گروهی است که عبارت باید در زمینه آن ارزیابی شود. اگر یک رشته خالی به عنوان نام گروه بندی استفاده شود، محاسبه در زمینه گروه بندی فعلی انجام می شود. اگر رشته GrandTotal به عنوان نام گروه استفاده شود، محاسبه در زمینه کل کل انجام می شود. در غیر این صورت، محاسبه در زمینه گروه مادر با همین نام انجام می شود. مثلا:
جمع (Sales.SumTurnover) / محاسبه ("Sum(Sales.SumTurnover)"، "Total")

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

مرحله

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

مرحله()

NumberInOrder

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

NumberByOrder()

NumberInOrderInGrouping

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

NumberByOrderInGroup()

قالب

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

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

گزینه ها:

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

قالب (مقدار فاکتورها. سند، "NPV=2")

شروع دوره

گزینه ها:

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

StartPeriod (DateTime (2002, 10, 12, 10, 15, 34), "Month")

نتیجه:

01.10.2002 0:00:00

پایان دوره

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

گزینه ها:

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

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

نتیجه:

13.10.2002 23:59:59

AddToDate

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

گزینه ها:

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

AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Month", 1)

نتیجه:

12.11.2002 10:15:34

تفاوت تاریخ

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

گزینه ها:

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

DATEDIFFERENCE(DATETIME(2002، 10، 12، 10، 15، 34)، DATETIME(2002، 10، 14، 9، 18، 06)، "DAY")

نتیجه:

رشته فرعی

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

گزینه ها:

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

SUBSTRING(Accounts.Address, 1, 4)

طول خط

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

پارامتر:

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

خط (Counterparties. Address)

سال

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

پارامتر:

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

YEAR (هزینه. تاریخ)

ربع

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

پارامتر

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

ماه

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

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

روز سال

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

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

روز

این تابع برای بدست آوردن روز ماه از مقدار نوع 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)")

IsNull

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

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

YesNULL(مبلغ (فروش. مقدار گردش)، 0)

توابع ماژول های رایج

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

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

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

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

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

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

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

ExampleRequest = درخواست جدید;
مثال Request.Text = "
|انتخاب کنید
| AdvanceReportAttachedFiles.Link
|از
| Directory.AdvanceReportAttachedFilesAS AdvanceReportAttachedFiles
| کجا
| AdvanceReportAttachedFiles.Date< &ТекДата»;
مثال Request.SetParameter("CurrentDate", CurrentDate());

تاریخ سفارشی

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

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

این مثال تمام فایل های پیوست شده به گزارش های هزینه را تا پایان سال گذشته 2016 بازیابی می کند. در این راستا، ساعت، دقیقه و ثانیه را برای مقایسه نقطه زمانی "31 دسامبر 2016 23:59:59" نشان خواهیم داد.

انتخاب کنید
AdvanceReportAttachedFiles.Link
از جانب
Directory.AdvanceReportAttachedFiles AS AdvanceReportAttachedFiles
جایی که
AdvanceReportAttachedFiles.Date< ДАТАВРЕМЯ(2016, 12, 31, 23, 59, 59)

تاریخ خالی

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

به عنوان دانشجو وارد سایت شوید

سیستم ترکیب داده 1C 8.3 برای مبتدیان: اولین گزارش در مورد SKD

اگر مقدمه این ماژول را نخوانده اید، لطفاً آن را بخوانید: .

برای تکمیل دروس شما نیاز دارید 1C 8.3 (نه پایین تر 8.3.13.1644 ) .

اگر قبلاً نسخه 8.3 1C را نصب کرده اید، از آن استفاده کنید. اگر نه، نسخه آموزشی را که 1C به طور خاص برای اهداف آموزشی تولید می کند، دانلود و نصب کنید: .

میانبر زیر باید روی دسکتاپ شما ظاهر شود:

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

اگر آن را حذف کردید، دوباره با استفاده از زیر دانلود کنید، آن را از بسته بندی خارج کرده و به لیست پایگاه داده ها اضافه کنید.

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

هدف گذاری

هدف این درس- گزارشی ایجاد کنید که در حالت کاربر، لیستی از مشتریان را با فیلدهای زیر نمایش دهد:

  • نام
  • کف
  • رنگ مورد علاقه مشتری

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

برای ایجاد چنین گزارشی در 1C، کاربر باید پایگاه داده را در حالت کاربر راه اندازی کند، این فایل را باز کرده و روی دکمه "Generate" کلیک کنید.

برو!

ایجاد گزارش

ما پیکربندی را برای پایگاه داده Gastronom راه اندازی می کنیم:

از منوی اصلی، "File" -> "New..." را انتخاب کنید:

"گزارش خارجی" را انتخاب کنید:

ایجاد نمودار طرح بندی داده ها در داخل گزارش

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

طراح ایجاد طرحواره شروع به کار کرده است. ما با نام پیش فرض موافقیم" طرحواره چیدمان BasicData"و دکمه را فشار دهید" آماده":

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

نیازی به ترس نیست - واقعاً فرصت های زیادی در اینجا وجود دارد، اما ما به همه آنها نیاز نداریم. مخصوصا در درس اول.

اکنون ما روی نشانک هستیم " مجموعه داده ها"ما آنجا می مانیم."

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

سیستم ترکیب داده (به اختصار DCS) از ما می خواهد داده ها،که به کاربر نمایش خواهد داد.

آسانترین راه - درخواست بنویسبه پایگاه در مدرسه ما یاد گرفتیم که درخواست ها را بنویسیم و درک کنیم - بنابراین من از شما انتظار دارم که مهارت های مناسب را داشته باشید.

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

وظیفه ما نوشتن متن درخواست در این قسمت است. آیا هنوز فراموش کرده اید که چگونه این کار را انجام دهید؟

من به شما یک اشاره می کنم:

در این کوئری سه فیلد (" نام", "کف"و" رنگ مورد علاقه") از جدول" دایرکتوری. مشتریان".

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

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

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

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

اینطور معلوم شد:

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

اینطور معلوم شد:

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

روی دکمه "OK" کلیک کنید تا از سازنده پرس و جو خارج شوید و ببینید که متن پرس و جو به طور خودکار به قسمت "پرس و جو" اضافه می شود.

علاوه بر این، بر اساس متن درخواست، خود 1C نام فیلدهایی (منطقه بالای درخواست) را که توسط طرح ترکیب داده استفاده می شود، بیرون کشید:

اکنون که درخواستی را جمع آوری کرده ایم، ACS می داند که چگونه داده ها را برای گزارش به دست آورد.

تنظیم ارائه داده ها

به نوعی باقی می ماند این داده ها را تجسم کنیدبرای کاربر در قالب یک فرم چاپی. و اینجاست که ACS می تواند معجزه کند!

برای ایجاد چنین معجزه ای، بیایید به برگه " تنظیماتو روی دکمه طراح تنظیمات کلیک کنید ( عصای جادویی):

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

در پنجره بعدی، فیلدهایی را که باید در لیست نمایش داده شوند (با کشیدن) انتخاب کنید (همه موارد موجود را بکشید: " رنگ مورد علاقه", "نام"و" کف"):

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

طراح تنظیمات بسته شد و مورد " ورودی های تفصیلی":

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

گزارش را به صورت فایل ذخیره کنید

باز کردن آیتم منوی اصلی " فایل"->"صرفه جویی":

من آن را در دسکتاپ خود با نام "ذخیره خواهم کرد درس 1":

بررسی گزارش در حالت کاربر

در نهایت، اجازه دهید پیکربندی را ببندیم و در حالت کاربر به پایگاه داده خود برویم:

نام کاربری "Administrator"، بدون رمز عبور:

از طریق منو، مورد را انتخاب کنید " فایل"->"باز کن...":

و فایل گزارش را مشخص کنید (من آن را با نام "Lesson1.erf" در دسکتاپ ذخیره کردم:

فرم گزارش باز شد، روی دکمه "کلیک کنید" فرم":

آماده! در اینجا لیستی از مشتریان، رنگ و جنسیت مورد علاقه آنها قابل چاپ است:

فرم قابل چاپ را می توان به راحتی چاپ کرد. برای انجام این کار، فقط آیتم منو را انتخاب کنید " فایل"->"مهر...":

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

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

به عنوان دانشجو وارد سایت شوید

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

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

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

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

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

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

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

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

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

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

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

2. COMPUTEEXPRESSION()

نحو:

CalculateExpression(,)

شرح:

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

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

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

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

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

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

گزینه ها

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

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

مثلا:

Sum(Sales.SumTurnover)/Calculate("Sum(Sales.SumTurnover)"، "Total")

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

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

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

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

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

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

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

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

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

· اولین

· آخرین (آخرین)

· قبلی

· بعدی (بعدی)

· جاری

· LimitingValue(BoundaryValue) LimitingValue

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

تاریخ نام و نام خانوادگی معنی
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 خواهد بود CalculateExpression("Sum(Value)", Current, Current)برابر 50 خواهد بود.

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

CalculateExpression("Sum(SumTurnover)"، "First"، "Current")

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

CalculateExpression ("نرخ"، "قبلی")

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

CalculateExpressionWithGroupArray(,) -

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

CalculateExpressionWithGroupValueTable(,) -

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

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

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

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

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

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

بهترین مقالات در این زمینه