12. Provider از نوع موجودیت سیستم
Provider از نوع SystemicEntity برای ساخت منبع داده مستقیم از موجودیتهای داخلی GraphBPMS استفاده میشود.
در این مسیر بهجای اینکه توسعهدهنده نام جدول و همه ستونها را از ابتدا دستی بنویسد، ابتدا موجودیت سیستم را انتخاب میکند،
سپس فیلدهای مورد نیاز را مشخص میکند و GraphBPMS Query متناظر را تولید میکند.
12.1. چرخه ساخت Provider از موجودیت سیستم
- نوع منبع داده را روی «موجودیت سیستم» قرار دهید و عنوان Provider را مشخص کنید.
- از لیست موجودیتها، Form یا SubForm مورد نظر را انتخاب کنید.
- فیلدهایی را که باید در خروجی Provider وجود داشته باشند انتخاب کنید.
- در صورت نیاز، برای هر ستون نام خروجی/Alias مناسب تعیین کنید.
- در تب «تنظیم شرط» میتوان شرط مورد نیاز برای Query را تعریف کرد.
- Query تولیدشده را در مرحله تست اجرا کنید و خروجی را بررسی کنید.
- در صفحه جزئیات نهایی، Query، فیلدها و تنظیمات Provider را مرور و سپس ذخیره کنید.
12.2. انتخاب موجودیت و کنترل دسترسی
در گام «انتخاب موجودیت»، نام موجودیت، نوع موجودیت و نام جدول فیزیکی آن نمایش داده میشود. این مرحله صرفاً یک Browser عمومی از همه فرمهای سامانه نیست؛ داده لیست با دسترسی کاربر جاری محدود میشود. در نتیجه فقط فرمها و SubFormهایی که کاربر اجازه دسترسی به آنها را دارد قابل انتخاب هستند.
12.3. انتخاب فیلدها
پس از انتخاب موجودیت، فهرست فیلدها نمایش داده میشود. در این لیست علاوه بر نام فیزیکی Field،
عنوان فیلد و نوع آن نیز قابل مشاهده است. با Checkbox هر ردیف مشخص میشود که آن ستون وارد خروجی Provider بشود یا خیر.
فیلد Id و سایر فیلدهای فرم در همین مرحله قابل انتخاب هستند.
12.4. تنظیم نام ستون و Alias
برای هر فیلد یک تنظیم مستقل در دسترس است. از طریق آیکون تنظیمات کنار فیلد میتوان «نام ستون» خروجی را تغییر داد. این نام همان Aliasی است که در Query تولیدشده استفاده میشود و در مرحله Test/Result نیز بهعنوان نام ستون دیده خواهد شد. Aliasهای خروجی باید معنیدار، غیرخالی و در مجموعه خروجی یکتا باشند.
[GB_resumeformme].[Id] AS [RecordId]
12.5. تنظیم شرط
Wizard علاوه بر انتخاب فیلدها، تب «تنظیم شرط» نیز دارد. از این بخش میتوان شرطهای Query را بدون نوشتن مستقیم کل Query تعریف کرد. اگر شرط به Parameter وابسته باشد، پارامترهای تولیدشده در مراحل بعدی Provider در بخش Parameters ظاهر میشوند.
12.6. Test Query و بررسی خروجی
پس از تولید Query، مرحله Test برای بررسی عملی نتیجه وجود دارد. اگر Query پارامتر ورودی نداشته باشد، UI این موضوع را اعلام میکند. نتیجه تست بهصورت Grid نمایش داده میشود و نام ستونهای خروجی همان Aliasهایی هستند که در مرحله انتخاب/تنظیم Field تعیین شدهاند.
12.7. ستونهای سیستمی و فیلدهای ویژه
در کنار فیلدهای معمول Form/SubForm، بسته به موجودیت انتخابشده ستونهای سیستمی نیز میتوانند در Query نهایی حضور داشته باشند. نمونههای رایج در Providerهای موجودیت سیستم عبارتاند از:
| ستون | کاربرد |
|---|---|
Id | شناسه رکورد موجودیت |
RegDate | تاریخ ثبت رکورد |
FK_UserId | کاربر مرتبط با ثبت رکورد |
FK_OrganizationId | سازمان مرتبط |
FK_RoleId | نقش مرتبط |
LastModifiedDate | زمان آخرین ویرایش |
LastModifiedFK_UserId | کاربر آخرین ویرایش |
LastModifiedFK_OrganizationId | سازمان آخرین ویرایش |
LastModifiedFK_RoleId | نقش آخرین ویرایش |
12.8. تاریخ، Selective و فیلدهای سیستمی نمایشی
در Query نهایی میتوان برای Date Fieldها خروجی مناسب تولید کرد و برای فیلدهای Selective یا فیلدهای سیستمی مرتبط با User/Role/Organization خروجی قابلنمایش ایجاد کرد. در Selective، خروجی ممکن است شامل Value/Key و Title/Text باشد و در فیلدهای سیستمی نیز عنوان یا نام قابلخواندن موجودیت مرتبط در خروجی قرار گیرد.