ورود

View Full Version : چاپ اطلاعات



parnian.H
پنج شنبه 03 آبان 1386, 11:40 صبح
مشکلی که پیش امده اینه که گاهی 16 ردیف اطلاعات در یک صفحه صفحه چاپ میکته و جمع کل را در صفحه دوم و گاهی 15 ردیف را در صفحه اول و جمع کل را در صفحه بعد در حالی که سایز تمام ردیف ها با هم برابر است.برای حل مشکل تنظیمات خاصی باید انجام دهم.

sm
جمعه 04 آبان 1386, 11:53 صبح
اینجور که من از صحبتهای شما برداشت کردم مشکل در طراحیتونه!
شما باید جمع صفحه تون رو توی page Footer گزارش قرار بدین تا اتوماتیک تنظیم بشه.

موفق باشید

parnian.H
یک شنبه 06 آبان 1386, 23:28 عصر
خیلی ممنون مشکل از طراحی بود که حل شد.اما چه جوری میتوانم فرمولی ایجاد کنم که وقتی تعداد ردیف ها به 16 رسید در هر صفحه 8 ردیف چاپ کند.

sm
دوشنبه 07 آبان 1386, 07:08 صبح
شما میتونین با استفاده از فرمول نویسی خود کریستال این کار رو انجام بدین :
http://barnamenevis.org/forum/showthread.php?t=73814

موفق باشید

parnian.H
دوشنبه 07 آبان 1386, 12:37 عصر
از راهنماییتون ممنون اما مشکلم کاملا حل نشده .ببینید من در قسمت report footer جمع کل را قرار داده ام و تنظیم کرده ام که در هر صفحه 15 ردیف چاپ شود اما اگر ردیف ها 15 باشد 15 ردیف را در یک صفحه و جمع کل را در صفحه بعد چاپ میکند .چه جوری می توانم تنظیم کنم که وقتی دقیقا 15 ردیف دارم همه اطلاعات را در یک صفحه چاپ کند ؟

sm
سه شنبه 08 آبان 1386, 07:27 صبح
خوب چطور تنظیم کردین که 15 سطری باشه ؟ کدش رو بزارین اینجا
تنظیمات مربوط به Align کاغذتون رو چک کنین و فضاهای اضافی گزارش رو هم ببینین.

موفق باشید

parnian.H
سه شنبه 08 آبان 1386, 08:23 صبح
با همان فرمولی که شما لینکش را فرستادین تنظیم کردم که در هر صفحه حداکثر 15 ردیف چاپ کند.در next page after نوشتم

if recordNumbe mod 15=0 then true
حالا میخواهم این شرط را هم برایم انجام دهد که :

if RecordNumber =15 then false
مشکل اینجاس که هر کدام از این شرط ها اگر به تنهایی در این common باشند درست کار میکنند اما با هم خیر.چه راه حلی پیشنهاد میکنید.جمع کل را مجبورم در Report Footer قرار دهم.فضای کافی در کاغذ وجود دارد.

sm
سه شنبه 08 آبان 1386, 10:53 صبح
مشکل اینجاست که اگه دقیقا 15 سطر داشته باشه، Report Footer رو نمایش میده ولی یه صفحه خالی هم ایجاد میکنه... درست متوجه شدم ؟

اینو امتحان کنین ببینین جواب میده ؟


if recordnumber = 15 then false
else if recordnumber mod 15 = 0 then true


موفق باشید

parnian.H
سه شنبه 08 آبان 1386, 14:23 عصر
بله دقیقا مشکل این است که برای 15 ردیف 2 صفحه چاپ میکند که صفحه دوم فقط شامل هدر و report footer است.
کدی که نوشتید را امتحان کرده بودم فقط وقتی 15 ردیف داشته باشم درست کار میکند(if اول) اما اگر 16 ردیف داشته باشم طبق کد باید 15 تا را در صفحه اول و ردیف آخر ر در صفحه بعد چاپ کند اما 16 تا را در 1 صفحه چاپ میکند و باز جمع(report footer) را صفحه بعد میبرد .در صورتی که جای دستورات if را با هم عوض کنم این بار برای 15 ردیف درست کار نمی کند .

کد زیر را هم امتحان کردم اما باز بای 16 ریف جواب نمی دهد.

if recordnumber mod 15=0 and recordnumber>15 then true
else if recordnumber=15 then false

sm
چهارشنبه 09 آبان 1386, 06:55 صبح
این چطوره ؟


if recordnumber mod 15 = 1 then true

یعنی اگه 16 سطر بود یه صفحه باز کنه. و این کد رو توی New Page Before قرار بدین.

موفق باشید

parnian.H
چهارشنبه 09 آبان 1386, 09:06 صبح
مشکل برای تعداد ردیف های مضرب 15 وجود دارد با فرمول if recordnumber=15 then false
مشکل را برای 15 ردیف حل کرده ایم اما مثلا 30 ردیف که داشته باشیم باز هم صفحه آخر با report footer و هدر چاپ می شود.

sm
چهارشنبه 09 آبان 1386, 09:52 صبح
شما کدهای قبلی رو حذف کنین و این کد رو بزارین توی New Page After :


if recordnumber mod 15 = 1 then true


موفق باشید

parnian.H
چهارشنبه 09 آبان 1386, 22:40 عصر
با این کد ردیف اول را در یک صفحه میزند و از ردیف 2 به بعد در صفحه های بعدی مثلا برای 16 ردیف , ردیف اول را در صفحه اول و از ردیف 2 تا 16 را در صفحه دوم و report footer و هدر را در صفحه سوم!