استفاده از توابع پارامتریک در طراحی گزارشات چاپی تدبیر-بخش دومتذکر: به لحاظ نیاز به آشنایی با SQL، نحوۀ طراحی گزارشات چاپی تدبیر و همینطور آشنایی با مفاهیم تحلیل و طراحی پایگاه دادهها، بحث این نوشته؛ زیرساختی و مخاطب آن -بیشتر- مدیران فنی سیستم مالی تدبیر و نمایندگان و کارکنان بخشهای استقرار و پشتیبانی شرکت پردازش موازی سامان هستند. کاربری عادی نرمافزارهای تدبیر نیازی به یادگیری این مفاهیم ندارد.
ادامه مطلب از (استفاده از توابع پارامتریک در طراحی گزارشات چاپی تدبیر-بخش اول)
صورت مسئلۀ مثال بعدی ما این است:
میخواهیم در چاپ فاکتور فروش، به ازای هر سطر اقلام کالا، مبلغ اضافات فاکتور فروش، بر اساس نسبتِ مبلغ کل سطر؛ به جمع کل مبلغ همۀ سطرها تسهیم شده، به عنوان «اضافات سطر» نمایش داده شود.
فرضاً اگر اضافات کل فاکتور فروش ما 10000 ریال است و در سطر اول از کالای شماره 1 با قیمت واحد 10000 ریال 10 عدد و در سطر دوم از کالای شماره 2 با قیمت واحد 25000 ریال 6 عدد داریم (جمع مبلغ کالاها: 10000*10+25000*6 = 250000) اضافات سطر کالای شماره 1 برابر نسبت (250000)/(10*10000)=0.4 ضرب در اضافات کل (10000) و برابر با 4000 ریال و با همین محاسبه اضافات سطر کالای شماره 2 برابر 6000 ریال خواهد بود. تصویر زیر گزارش چاپی پیشفرض را برای مثال یاد شده نمایش میدهد.

همچنان که از صورت مسئله مشخص است پیشنیاز نمایش چنین اطلاعاتی در گزارش چاپی آن است که بتوانیم «سهم اضافات هر سطر» را با توجه به سناریوی تسهیم تعیین شده محاسبه کنیم. برای این کار ابتدا از طریق منوی «امکانات»، فرمان «گزارشات پارامتریک» را اجرا کرده، با استفاده از کلید ترکیبی Alt+E پنجرۀ «موجودیتهای تعریف شده» را باز میکنیم. از کمبوی «سیستم» عنوان «خرید و فروش» و از کمبوی «نوع» عنوان «عملیات» را انتخاب میکنیم. از فهرست موجودیتهای قابل انتخاب روی «فاکتور فروش» دو بار کلیک میکنیم تا فهرست موجودیتهای وابسته به آن را مشاهده کنیم.

ردیف «ریز اقلام فاکتور فروش» را انتخاب و سپس کلیک راست کرده و فرمان «ایجاد کپی از موجودیت ردیف جاری» را اجرا میکنیم (علت این کار آن است که سیستم اجازۀ تغییر موجودیتهای سیستمی -یعنی آن دسته از موجودیتها که در ستون «ردیف» آنها نماد «قفل» نمایش داده میشود- را نمیدهد و ما برای حل مسئلۀ خودمان نیاز داریم فیلد محاسباتی اضافات سطر را به موجودیت «ریز اقلام فاکتور فروش» اضافه کنیم، با ایجاد کپی -چون کپی یک موجودیت سیستمی یک موجودیت کاربری است- سیستم اجازۀ اصلاح آن را میدهد و میتوانیم از آن استفاده کنیم).

فرمان ایجاد کپی، موجودیت «کپی ریز اقلام فاکتور فروش» را با نما (VIEW در SQL)ی کپی شدهاش (با نام پیشفرض UD___TPRSalesFactorArticleView__ ) میسازد. ما برای اضافه کردن فیلد محاسباتی مورد نظرمان از طریق Microsoft SQL Server Management Studio به سراغ دیتابیس شرکت رفته و VIEWی مورد نظر را پیدا کرده آن را برای ویرایش باز میکنیم.

عبارت محاسباتی مورد نظر ما برای محاسبۀ اضافات سطر چیزی شبیه شکل زیر است. آن را به صورت یک فیلد جدید (اضافات سطر) به نمای موجودیت جدید اضافه کرده و آن را ذخیره میکنیم (به نسبت کد پیشفرض، الیاس spa برای جدول اصلی نما یعنی __SPArticle__ تعریف شده تا تداخل با عبارت داخلی برطرف شود).

به محیط تدبیر باز میگردیم، ردیف «کپی ریز اقلام فاکتور فروش» را انتخاب کرده، روی دکمۀ «فیلدها» کلیک میکنیم. در پنجرۀ «فیلدهای موجودیت» روی دکمۀ «ایجاد نما» کلیک میکنیم.



دوشنبه 30 اردیبهشت 1392
حمیدرضا محمدی کارشناس نرم افزار 
شرکت پردازش موازی سامان
این مطلب ادامه دارد… (
استفاده از توابع پارامتریک در طراحی گزارشات چاپی تدبیر-بخش سوم)