ورود

View Full Version : چاپ ردیفهای خالی در گزارش



احمد رایان
پنج شنبه 10 آذر 1384, 03:51 صبح
با سلام خدمت دوستان
چطور میشه ردیفهای خالی چاپ کرد؟
(من اطلاعات رو داخل یک جدول می ریزم و بعد گزارش می گیرم حالا می خوام که اگه کاربر مثلا تا ردیف 10 اطلاعات وارد کرد گزارش من تا ردیف 18 همینطور خالی چاپ کنه (این اطلاعات داخل یک جدول چاپ میشه) چون قالب کار اینطوریه)
متشکرم

PalizeSoftware
پنج شنبه 10 آذر 1384, 14:56 عصر
خطوط عمودی رو می‌تونید بسط بدید تا پایین صفحه بیاد، حتی اگر رکوری وجود نداشته باشه.
برای خطوط افقی باید فکر کنم بعد بهت بگم

احمد رایان
جمعه 11 آذر 1384, 02:46 صبح
پالیز جان سلام
من خطوط عمودی رو تا پایین صفحه هم کشیدم اما خطوط افقی رو همونطور که گفتید چاپ نمی کنه . منتظر جوابتون می مونم .
متشکرم

meh_secure
جمعه 11 آذر 1384, 18:03 عصر
فکر می کنم با این کار جواب بگیرید.
یه گروپ اضافه تر ایجاد کنید و در هدر یا فوتر اون یه خط افقی رسم کنید

احمد رایان
شنبه 12 آذر 1384, 03:21 صبح
فکر می کنم با این کار جواب بگیرید.
یه گروپ اضافه تر ایجاد کنید و در هدر یا فوتر اون یه خط افقی رسم کنید

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

meh_secure
شنبه 12 آذر 1384, 18:10 عصر
والله منم هدسی گفتم.
مطمئنا اگه روش کار کنید به نتیجه می رسید

PalizeSoftware
شنبه 12 آذر 1384, 19:07 عصر
راهی براش نیست، مطمئمن باشید.
البته اگه شما داده‌ها رو توی جدول موقتی بریزید و به محاسبه تعداد رکوردهایی که در صفحه چاپ می‌شه، می‌تونی خودت رکوردهای خالی انتهای بانک اضافه کنی تا در کریستال بصورت ردیف‌های خالی نمایان بشه.

احمد رایان
یک شنبه 13 آذر 1384, 02:46 صبح
راهی براش نیست، مطمئمن باشید.
البته اگه شما داده‌ها رو توی جدول موقتی بریزید و به محاسبه تعداد رکوردهایی که در صفحه چاپ می‌شه، می‌تونی خودت رکوردهای خالی انتهای بانک اضافه کنی تا در کریستال بصورت ردیف‌های خالی نمایان بشه.

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

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

PalizeSoftware
یک شنبه 13 آذر 1384, 10:36 صبح
احمد جان اگه فقط خطوط عمودی رو چاپ کنی، گزارش هم جالب از آب درمیاد.
اینکه از تو بخوان همه فاکتور رو چاپ کنی، باید دلیلی داشته باشه(که به نظر من بی دلیل هست) والا در بیشتر مواقع بعنوان برنامه‌نویس تو تصمیم بگیر چطوری کار رو تحویل بدی چون فکر می‌کنند خمره رنگرزی است!!

meh_secure
دوشنبه 14 آذر 1384, 21:22 عصر
بهتره به فکر طراحی یک گزارش استاندارد باشی.
درست نمیگم؟

احمد رایان
سه شنبه 15 آذر 1384, 02:56 صبح
دوستان عزیز
برنامه ای که من دارم می نویسم یک کلینیک چشم پزشکی است . که کارش ثبت گزارش ماهانه داخل یک لیست است که باید برای وزارت بفرسته. این لیست یک لیست است که در اون 19 ردیف ثابت داره و من باید دقیقا مثل اون لیست براشون چاپ کنم . حالا ممکنه کاربر من (یا همون کارفرما) بخواهد 10 ردیف رو از اسامی پر کنه 9 ردیف دیگه باید خود بخود خالی چاپ بشه . تا شکل اصلی فرم در بیاد و الا وزارتخانه اصلا اون فرم رو قبول نمیکنه .
همین.
البته تازه هنوز به مشکلاتم اضافه شد. که این کارفرما فرمودند که باید در انتهای هرصفحه جمع اون صفحه رو داشته باشم و در انتهای تمام صفحات جمع کل رو .
توی یک تاپیک در این مورد بحث شد. اما جواب خوبی بهش داده نشد.



بهتره به فکر طراحی یک گزارش استاندارد باشی.
درست نمیگم؟

منظورتون رو دقیقا نمی فهمم . یعنی چی استاندارد؟

PalizeSoftware
سه شنبه 15 آذر 1384, 11:11 صبح
کارفرما فرمودند که باید در انتهای هرصفحه جمع اون صفحه رو داشته باشم و در انتهای تمام صفحات جمع کل رو .
توی یک تاپیک در این مورد بحث شد. اما جواب خوبی بهش داده نشد.
این تاپیک رو هم دیدی؟
http://www.barnamenevis.org/forum/showthread.php?t=32678

احمد رایان
چهارشنبه 16 آذر 1384, 04:21 صبح
سلام
تمام دستوراتی رو که توی اون تاپیک اومده بود رو موبه مو اجرا کردم .
متغیر دوم رو boolean در نظر می گیره با همان فرمول
متغیر t1 و فرمول :Shared numberVar t_sum := 0;
متغیر t2 و فرمول :
Shared numberVar t_sum ;
t_sum=t_sum+{MyPrint.AndosKopi}; که AndosKopi نام فیلد مورد نظر است.
متغیر t3 و فرمول :
Shared numberVar t_sum;
t_sum;
که متاسفانه جواب این متغیر 0 است . در ضمن دوتای اول مخفی هستند و در قسمت header و Details هرکدام قرار دارند.
از راهنمایی هاتون سپاسگزارم.

شاپرک
چهارشنبه 01 تیر 1390, 11:31 صبح
ميدونم تاپيك مربوط به سال 84 ميشه! اما
چون تاپيك به نتيجه نرسيده بود و براي اينكه دوستان ديگه كه اين مشكل رو دارن و به اين تاپيك مراجعه ميكنند جواب بگيرن من راه حل خودم رو ميگم :

اگر مثلا ميخواهيد 10 رديف ثابت در گزارش داشته باشيد و مثلا 4 رديف اطلاعات داريد يعني 6 رديف خالي ميخواهيد چاپ بشه:
10 تا report footer به گزارش اضافه كنيد و مثلا يك خط راست به محتواي اونا اضافه كنيد.
Selection Expert مربوط به Footer اول رو انتخاب كنيد و در قسمت Suppress-No Drill Down كد زير رو تايپ كنيد:
if RecordNumber mod 10 < 1 then false else true
Selection Expert مربوط به Footer دوم رو انتخاب كنيد و ....
if RecordNumber mod 10 < 2 then false else true
.
.
.
if RecordNumber mod 10 < 10 then false else true

حالا گزارش رو ببينيد.