PDA

View Full Version : سوال: محاسبه یک عملیات خاص برای هر سطر



mohammad-gh
سه شنبه 17 اردیبهشت 1387, 13:20 عصر
با سلام
من در گزارش گیری نیاز به محاسبه ای خاص برای هر سطر دارم که بایستی از سطر قبل اطلاعاتی داشته باشم.
من این کار رو در نرم افزار حسابداری هلو دیدم که یک گزارش گیری حسابداری است، طرز کار این محاسبه بدین صورت است که در هر سطر ،محاسبه ای بر مبنای بدهکار یا بستانکار بودن النجام می شود که با باقیمانده سطر قبل جمع یا کسر می شود .
سوال من روی همین باقیمانده سطر قبل است که نمیدا نم به چه شکلی از آن در محاسبه ریاضی استفاده کنم چون تمام محاسبات ریاضی کریستال ریپورت با فیلدها و سطرهای فعلی کار می کنند.
عکس این گزارش را هم ضمیمه می کنم.

Moslemu
پنج شنبه 19 اردیبهشت 1387, 09:06 صبح
سلام.
به نظر میاد که اگر این کارو در بانک اطلاعاتی انجام بدید خیلی بهتر باشه؛ چرا که هم دقتش بالاتره و هم اینکه در موقع گزارش گیری خیلی وقت صرف نمیشه.
اما اگه بخواید توی کریستال ریپورت این کار رو انجام بدید هم راهی وجود داره:
توسط Previous (Field name)//Field that needed میشه به مقدار فیلد در رکورد قبلی دسترسی داشت.

mohammad-gh
پنج شنبه 19 اردیبهشت 1387, 10:56 صبح
با سلام وتشکر از توجه شما اما در مورد راهنمایی شما


به نظر میاد که اگر این کارو در بانک اطلاعاتی انجام بدید خیلی بهتر .
من خیلی دوست دارم که محاسباتی رو رو اطلاعات جدول انجام بدم و بعد انها رو به عنوان datatable یا datasat به کزارش ربط بدهم اما نمی دانم چطور می شه برای هر سطر جدول ابتدا این کار رو کرد و بعد به گزارش فرستاد


توسط Previous (Field name)//Field that needed میشه به مقدار فیلد در رکورد قبلی دسترسی داشت.
من field that needed رو پیدا نکردم تا ازش استفاده کنم ، خواهشا این رو هم در نظر بگیرید که من از داخل خود vs20005 گزارش تهیه می کنم.

Moslemu
پنج شنبه 19 اردیبهشت 1387, 13:16 عصر
اگر منظورتون اینه که چطوری محاسبات انجام بدید و توی جدول ذخیره کنید که خیلی راحته.
اگر راجع به چگونگی اتصال بانک اطلاعاتی تون به گزارش مشکل دارید هم خیلی راجع به اون توی این بخش صحبت شده.

اما راجع به //field that needed هم باید بگم که یه comment یا توضیحه. اصلاً نیاز نیست. شما فقط با همون Previous(Field name) کار کنید کارتون راه میفته.

راستی vs20005 هم اومده؟!

mohammad-gh
پنج شنبه 26 اردیبهشت 1387, 10:50 صبح
متاسفانه من دستور صریح این کار رو پیدا نکردم. یا شاید هم نمی دونم کجا باید استفاده اش کنم.
لطفا یه کم بیشتر راهنمایی کنید

Moslemu
پنج شنبه 26 اردیبهشت 1387, 21:34 عصر
دستور صريح كدوم كار؟
كدوم دستور رو بايد كجا استفاده كنيد؟
در چه مورد راهنمايي كنم؟

mohammad-gh
شنبه 28 اردیبهشت 1387, 12:06 عصر
آقا مثل اینکه عصبانیتون کردم .
منظور من اینه که در کجای طراحی گزارش تعیین کنم که چنین کاری بکنه:مقدار یک رکورد سطر فعلی را با توجه به بدهکار یا بستانکار بودنش با جمع سطر قبل جمع یا تفریق کنه.

Moslemu
یک شنبه 29 اردیبهشت 1387, 06:09 صبح
اي بابا!
آدم نمي‌تونه 3تاسؤالم بپرسه؟
يعني اگه كسي 3تا سؤال پشت سر هم پرسيد عصباني شده؟
نه! فقط اينكه پست قبليتونو نفهميدم.

شما بايد يه Formula Field تهيه كنيد و توي اون اين كد رو بنويسيد.
فكر ميكنم با توجه به ساختار اين گزارش، اينطوري جواب بگيريد:
اگر كسي بستانكار نباشه مقدار بدهكاري رو با مقدار فعلي فيلد باقيمانده جمع كنيد.(حتي اگه بدهكاري صفر باشه!) در غير اين صورت مقدار بستانكاري رو از فيلد باقيمانده كم كنيد.

mohammad-gh
دوشنبه 06 خرداد 1387, 13:38 عصر
متاسفانه من نتونستم چطوری این کار رو در قسمت فرمولا بنویسم .
کاری هم که به نظرم رسید می شه کرد این بود که بگم : اگر بدهکار بزرگتر از صفر باشد، بدهکار با جمع قبلی جمع در غیر اینصورت بستانکار از جمع قبلی کسر شود.

mohammad-gh
چهارشنبه 22 خرداد 1387, 10:45 صبح
لطفا اساتید کمک کنند ، چون در بخش کریستال هم کسی کمک نکرد.

mohammad-gh
یک شنبه 26 خرداد 1387, 14:15 عصر
بابا کمک کنید ، یه دستور formula یعنی اینقدر سخته

parsavb
یک شنبه 26 خرداد 1387, 14:57 عصر
دوست عزیز چرا از آرایه ها استفاده نمی کنید ، آرایه ها می توانند تمام نیاز شما رو برطرف کنند و حتی امکانات بیشتری رو هم براتون فراهم کنند

ali_md110
دوشنبه 27 خرداد 1387, 03:40 صبح
دو ست عزیز یه مثال برات نوشتم امیدوارم گارت رو راه بندازه
در ضمن توصیه میکنم محاسبات ریاضی رو توی بانک برنامه انجام ندی
این مثال جستجو بین دو تاریخه هم توی لیست ویو نمایش داده میشه هم کریستال
اگر کریستال به بانک برنامه ایراد گرفت مسیر دیتابیس اونو هر جایی که برنامه رو کپی کردی بده
E:\ali\project\CRYSTAL REPORT این مسیر برنامه توی کامپیوتر منه اگه ایراد گرفت همپنین مسیری بساز
و پروژه رو کپی کن اونجا
اگر برنامه رو با خو.net2005 کامپایل و پروژه نصب ساختی دیگه توی هرکامپیوتری با هر مسیری نصب کنی جواب میده

اگه راهنمایی خواستید در خدمتم

mohammad-gh
دوشنبه 27 خرداد 1387, 11:55 صبح
عالی بود آقا علی
چیزی نمی توانم بگویم جز اینکه ، بی نهایت ممنون

ali_md110
دوشنبه 27 خرداد 1387, 13:11 عصر
هدف کمک به همدیگه جهت ارتقای علمی و برنامه نویس هستش