ورود

View Full Version : برنامه حسابداري صندوقهاي خانوادگي



rahro
شنبه 28 اسفند 1389, 12:47 عصر
سلام
چندي پيش بنا به تقاضاي يکي از ارگانها - براي صندوق رفاه پرسنلي مي بايست برنامه اي طراحي کنم که اون برنامه رو طوري بسط دادم که در تمامي صندوقهاي خانوادگي بشه ازش استفاده کرد . اين برنامه اين توانايها رو داراست.
1- قابل اجرا بر روی اکثر سیستم عاملها علی الخصوص ویندوز ایکس پی و ویندوز هفت
2- تحت شبکه
3- امکان تعریف کاربران و تعین سطوح دسترسی
4- تنظمیات مخصوص کدینگ سرفصلها در حد کل و معین
5- ثبت اسناد واریز ماهیانه و گروه بندی و تعریف زیر مجموعه برای ثبت آسان و سریع
6- تشکیل کارت اقساط و تعریف انواع وامها با فرمول کارمزد
7- امکان جستجو در اسناد
8- امکان تعریف کنترل اسناد نسبت به هر یک از حسابها
9- تعریف دامنه کنترل نسبت به هریک از حسابها
10- بازبینی و حذف و اصلاح و چاپ تمامی اسناد ثبت شده
11- اعلام موجودی هر شخص و زیر گروه مربوطه
12- مانده گیری سرفصلهای حسابداری
13- دفتر معین حساب و دفتر کل
14 - تراز کل و معین
15- دفتر روزانه کل و میعن
16 - گزارش ریز اقساط و ماهیانه های معوق بر اساس هر یک از گروه و یا بصورت کلی
17- قرعه کشی راندوم
18- گزارش بازرسي ثبت اسناد و گزارش ورود و خروج کاربران
19- گزارش حساب سود و زيان تا يک تاريخ خاص
20 - گزارش اولويت اعطاء تسهيلات اعضاء
21- گزارش کنترل تسهيلات با اسناد روز
و قابلیتهای ویژه دیگر...
----------------------------------
توضيحات خاص:
قبل از اجراي نرم افزار از تنظيمات زبان فارسي سيستم خودتون مطمئن باشيد - براي تنظيم اون به کنترل پانل ويندوز خود برويد و از گزينه
Regional and language اقدام به تنظيم زبان فارسي کنيد
براي اجراي اين نرم افزار نياز به تنظيم هيچ يک از تنظيماتي مخصوصي که کاربران فاکس آنرا در محيط ويندور انجام ميدهند نيست

براي تايپ فارسي نيازي به زدن کليدهاي ترکيبي shift+ alt نيست و اگر در تايپ مشکلي داشتيد ابتدا کنترل کنيد که حالت زبان سيستم En باشد

اگر خواستيد به انگليسي مطلبي رو تايپ کنين از ترکيب کليدهاي Ctrl+insert استفاده کنين

از آنجايي که برنامه هلپ (راهنما) ندارد به نکات ذيل توجه کنين:
1- اينکه رمز ورود به برنامه کاربري 2 و رمز 2 ميباشد
در صندوقهاي خانوادگي معمولا چندين نفر با مشارکت هم اقدام به ايجاد صندوق مي نمايند تمامي اعضاء ماهيانه مبلغي رو به عنوان ماهيانه عضويت به صندوق واريز ميکنند تا از تجمع آن هر ماه به يک و يا چند نفر از اعضاء (با توجه به نقدينگي صندوق) وام اعطاء گردد .
لذا ممکن است در ابتدا صندوق شما 20 نفر عضو داشته باشد و در آينده بيشتر . پس در گروه بندي شما ميتوانيد يک گروه را تعريف و مشخص کنيد که اين گروه ماهيانه چه مبلغي رو به عنوان حق عضويت به صندوق پرداخت ميکند سيستم بر اساس تاريخ تشکيل اين گروه اقدام به محاسبه ماهيانه معوق اعضاء ميکند .
پس
2- يک گروه تعريف کنيد و تاريخ تشکيل گروه و مبلغي که اين گروه براي واريز ماهيانه در ماه به صندوق پرداخت ميکند را مشخص کنيد
3- با توجه به اينکه در سيستم سعي شده که کاربر را مجبور نکرد تا از کدينگ پيش فرض سيستم تبعيت کند در قسمت اطلاعات پايه کدينگ در منوي (اطلاعات پايه ) رفته و تنظيمات پيش فرض خود را تنظيم کنيد .
در اطلاعات پايه بعضي از سرفصلهاي اصلي سيستم معرفي گرديده است مثلا سيستم مشخص کرده که کد حسابداري کل براي تعريف اعضاء (پس انداز اعضاء) کد 61 ميباشد شما ميتوانيد اين کد رو به دلخواه خود تغيير بدين تا در هنگام ثبت کدينگ سيستم از کد شما تبعيت کند . اگر هنوز اين توضيح برايتان نامفهوم است از دستکاري اين قسمت پرهيز کنيد و براي توضيحات بيشتر با خودم مشورت کنيد
4- به قسمت ثبت کدينگ رفته و کد صندوق وجوه نقد و بانک واريز وجوه نقد خود را معرفي کنيد .
به عنوان مثال بعد از تايپ کد 11 به عنوان کد صندوق شما ميتوانيد نام معين خود را وارد کرد و اقدام به ثبت کد خود نمائيد.
مستحضريد که صندوق و بانکها جز حسابهاي دائمي و داراي ماهيت بدهکارند . فقط در موقع ثبت کد بانک از شما سوال ميشود که آيا مايلبد محدود کنترل اسناد اين حساب فعال باشد يا خير ؟
اين به اين معنيست که سيستم در حين ثبت اسناد از ورود شماره سند تکراري به اين حساب در سال جاري جلوگيري بعمل بياورد يا خير ؟
5- اگر اعضاء صندوق شما در مجموعه هاي مختلف ميباشند مثلا شما و مامان و باباي شما در يک مجموعه حضور داريد که در ابتداي ماه کل ماهيانه و اقساط وام خود يکجا به صندوق واريز ميکنيد توصيه ميشود آنها را در يک مجموعه تعريف کنيد تا در هنگام ثبت اسناد از کد مجموعه استفاده کرده و در ثبت اسناد شما تسريع بعمل آيد و همچنين از ساير گزارشات سيستم که در قالب يک مجموعه تعريف شده است استفاده ببريد
6- در تعريف اعضاء اقدام به تعريف اعضاء کنيد ميتوانيد در انتخاب تصوير ، تصويري از نمونه امضاء شخص يا عکس شخص قرار دهيد فقط خاطرتان باشد قبل از هرچيز در مديريت سيستم در قسمت تنظيم مسير تصوير اعضاء مسير پيش فرض خود را تنظيم کنيد.
7- حالا شما ميتوانيد اقدام به ثبت اسناد حسابداري خود کنيد اگر مشکلي داشتيد حتما در ميان بگذاريد .
*------------------
دوستان ميتونن براي نمونه از اين برنامه بصورت آزمايشي استفاده کنند .

لينک دريافت:
http://master-mobtaker.blogfa.com/

دوستان خوشحال ميشم نقطه نظرات ؛ و پيشنهادات و ... شما رو در خصوص اين برنامه جويا بشم.

پيشاپيش سال خوبي براي همه ي شما دوستان آرزومندم .

rahro
شنبه 28 اسفند 1389, 14:48 عصر
شايد در نگاه اول بعضي از امکانات در برنامه مشاهده نشه ، مخصوصا اين امکانات که يک برنامه نويس خيلي روشون مانور ميده
1- ريپير کردن جداول
2- بازسازي ايندکس فايلها
از ديدگاه من گذاشتن اين دو امکانات در منوي برنامه بطوريکه هميشه در دسترس کاربر باشه کاري عبس و بيهوده است چرا اينکه در صورتيکه برنامه بخاد تحت شبکه اجرا شه و يا برنامه به مشکل برخورد کنه کاربر به هيچ وجه نميتونه وارد برنامه شه تا از اين امکانات استفاده کنه و يا بازسازي ايندکس فايلها در محيط شبکه در جريان کار کاربران اختلال به وجود مياره .
و اگر هم بخواهيم برنامه اي جانبي براي اينکار بنويسم نقاط ضعف خودشو داره .
من 4 موردي که فکر ميکردم براي نرم افزار نياز است رو به روش خاصي در برنامه اضافه کردم که اون چهار مورد به شرح ذيل است :
الف - بازسازي ايندکس جدوال
ب - ترميم جداول ديتابيس
پ - کنترل فيلدهاي ديتابيس
ت - کنترل جداول ديتابيس

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

برنامه در محله اول اجرا ، قبل از اينکه ديتابس رو باز کنه چند تا فايل رو کنترل ميکنه که در مسير برنامه وجود داشته باشن. يکي از اون فايلها ، فايل IND.BAT هستش اگر کاربر از منوي سرويس گزينه بازسازي فايلها رو زده باشه اين فايل حذف ميشه و سيستم در هنگام ورود چون اين فايل رو پيدا نميکنه با باز کردن فرم مخصوص اين گزينه اقدام به بازسازي فايلها ميکنه و بعد از اتمام اين فايل رو مجددا ميسازه.

ب:
اگر نياز باشه جداول ريپير شوند بايد فايل RJD.txt در مسير نصب برنامه حذف شود .

پ :
گاهي موارد پيش مياد که شما بعد از ارائه يک ورژن جديد بعضي از فيلدهاي ديتابيس خود را تغيير داده ايد و يا فيلدي جديدي رو به يکي از جداولتون اضافه کرده ايد . من مشخصات کامل تمامي جداول رو به در يک جدول آزاد ذخيره ميکنم و بعد از ارائه برنامه جديد و نصب برنامه و فراخواني بکاپ اطلاعات گذشته - چون فايل مربوط به کنترل اين قسمت رو در فايل ستاپ نگذاشتم و اين فايل در مسير نصب وجود ندارد سيستم اقدام به چکاپ ديتابيس ميکنه و تغييرات مربوطه رو انجام ميده .

ت :
بعضي مواقع نيز شما جدول جديدي به برنامه خودتون اضافه کردين که ميخواهيد اين جدول به ديتابيس کساني که قبلا از اين برنامه استفاده ميکردن و اکنون ميخان از ورژن جديد استفاده کنند اضافه کنيد و يا در بعضي مواقع پيش مياد که نيازه کنترل کنين که آيا تمامي جداول به ديتابيس اتصال دارند يا خير ، با حذف فايل مربوطه از مسير نصب برنامه اينکار توسط سيستم انجام ميشه .

البته روش کنترل به ترتيب
1- ريپير کردن جداول
2- ايندکس جداول
3- کنترل جداول ديتابيس
4- کنترل فيلدهاي ديتابيس
ميباشد. يکي از مزيتهاي استفاده از اين روش اينه که انجام اين کارها قيل از باز کردن ديتابيس صورت ميگيره و از بسياري از خطاهايي که ممکنه با باز کردن ديتابيس صورت بگيره جلوگيري بعمل ميآد.

خوب بهتره نگاهي به برنامه بکنيد و نظرتون رو بگيد.
موفق باشين

Esikhoob
یک شنبه 07 فروردین 1390, 11:30 صبح
با سلام

با تشکر از برنامه خوبتان - هم ظاهر قشنگی داشت هم ساده بود و موضوع جالبی هم داشت (صندوق خانوادگی).
من خودم در شرکت توانآسا کار پشتیبانی نرمافزار "سیستم مکانیزه برای تعاونیهای مصرف" نوشته شده با VFP را بر عهده دارم ، نمیدانم اسم این شرکت را شنیده اید یانه؟ چون بعضی چیزهای برنامه اتان شبیه برنامه ما بود مثلا:
- استفاده نکردن از تایپ فارسی windows و به جای آن تایپ فارسی اختصاصی برنامه.
- استفاده از کد های سر فصل (جالب است که ما هم برای صندوق از 11 استفاده میکنیم)
نمیخواهم ادعای حقوقی کرده باشم ، خواهش میکنم اشتباه نکنید ، خوب برنامه ما با برنامه شما فرق هایی هم دارد.

چون برنامه اتان را به صورت آزمایشی گذاشتید اجرا کنیم ، من هم برایتان مجانی چند اشکال را مینویسم ، تا تشکر کرده باشم:
- صفحه F1 (معرفی برنامه) ، در صورت زدن F1 به زیر صفحه ورودی اول برنامه میرود.
- در ثبت سند مرکب با ثبت هر ردیف ، دکمه "ثبت" بسته میشود که بازکردنش با دکمه "بعدی" است ، اما با موس هم میشود رفت و اولین خانه یعنی "کد سر فصل" را تغییر داد و با چند بار کلیک کردن و وررفتن ، کادرهای بعد هم خالی میشود و شبیه حالتی است که انگار میخواهیم ردیف جدید را وارد کنیم ، در حالی که دکمه "ثبت" بسته است. . . . . همینطور موقع dblclick روی یک ردیفgrid (برای ویرایش) که باز هم دکمه "ثبت" بسته است!
-

یک سئوال هم دارم:
- در برنامه برداشت از حساب هم "شماره ثبت" وجود دارد و هم "شماره سند" ، در این برنامه "شماره سند" به چه درد میخورد ؟ ( البته این را زیاد جدی نگیر ، چون کمی به سیستم حسابداری برنامه مربوط میشود و اینکه معنی کلمه سند در برنامه شما چیست ، که من الان زیاد دنبالش نیستم ، چون شما این قسمت را زیاد توضیح ندادید)

rahro
دوشنبه 08 فروردین 1390, 06:57 صبح
سلام
ممنونم از شما بخاطر اظهار نظرتون ، قبل از اينکه پاسخ بعضي از سوالات شما را بدهم بايد عرض کنم که جاي شکي نيست که برنامه باگهايي داره که بايد گرفته بشه ولي جالب اينکه تا اکنون که چيزي بالغ بر 40 روز از انتشار اون ميگذره کسي به اين موارد اشاره نکرده بود .
بحرحال از شما متشکرم و مطمئنا سريعا رفعشون ميکنم .
1- من قبلا در داس از توابع فارسي پارس پندار براي فارسي نوشتن استفاده ميکردم . حق النصاف در داس شرکت پارس پندار فوق العاده عمل کرده بود و برنامه نويسي با توابعش هيچ نقصي نداشت بعد از کوچ به ويژوال فاکس موضوعاتي از قبيل تغيير تنظيمات ويندوز و گزارشات اون منو آْزار ميداد لذا با مراوده اي که با همان شرکت داشتم تصميم گرفتم از توابع ويندوز اون استفاده کنم هر چند نقاط ضعف خودش رو داره ولي ميشه تحملش کرد.
2- من در يک موسسه مالي کار ميکنم ، چون برابر با کدينگ پيش فرض بانک مرکزي کد صندوق ابتدايش با 11 ست و براي من الگو شده من در تنظيمات پايه کدينگ پيش فرض از اون استفاده کردم ولي کاربر مجبور نيست از اين کد استفاده کنه. شما ميتونيد قبل از تعريف کدينگ - در تنظيمات پايه کدينگ هر کدي که تمايل داريد را به عنوان کد کل سرفصل صندوق و يا وام و ... معرفي کنين.
3- در خصوص سوالتون : در سيستم مالي شماره ثبت به رديف ثبت هاي اسناد اتلاق ميشه و معمولا به دو صورت انجام ميشه ، يا در ابتداي سال مالي از شماره يک شروع و با شماره ايکس ختم ميشه و يا در ابتداي روز با شماره يک شروع و با شماره ايکس ختم ميشه و کاربر دخل و تصرفي در تغيير اين شماره نداره ولي شماره سند به سريال اسناد اتلاق ميشه . مثل شماره چک و شماره فاکتور و شماره رسيد نقدي و ...

باز اينکه برنامه راهنماي فارسي به همراه نداشت عذر ميخام . آخه گذاشتم بعد از اتمام دروه (رفع نواقص و ايجاد خواسته ها کاربراني که باهاش کار ميکنند در محدوده ء مشخص ) در نيمه دوم اين ماه راهنماي فارسيش را شروع و به برنامه پيوست کنم .
بازهم از شما بخاطر نظرات و انتقادات خوبتان تشکر ميکنم
ارادتمند مبتکر (رهرو)

imanabidi
دوشنبه 08 فروردین 1390, 20:56 عصر
دوست عزیز ، این پارسپندار ، بجز تایپ فارسی در textbox ، دیگه چه کار میکنه ؟

rahro
سه شنبه 09 فروردین 1390, 06:41 صبح
توابع پارس پندار براي ويژوال فاکس 3 طراحي شده است و بيشتر توابع اون در زمان حال کارايي ندارد .
البته اگر بتوني با کلاسهاي ويژوال فاکس کار کني ميتوني از برخي از اونها استفاده مفيد ببري ولي در کل همانطور که در پست قبلي عرض کردم من فقط از اونها اونهم بيشتر براي معضلاتي که ذکر شد استفاده ميکنم.

Esikhoob
چهارشنبه 10 فروردین 1390, 19:03 عصر
برنامه فعلی شرکت ما ، از کد پیج ایران سیستم استفاده میکنه ، و الان اشکالاتی هم داره ، مثلا نمیتونیم یک حرف را در وسط عبارت تایپ شده اضافه کنم.

برنامه شما در تایپ فارسی هم کدپیج ایران سیستم را داره و هم میشه وسط عبارت قبلی را اصلاح کرد.
من میخواهم که این کلاسهای (توابع) شما را داشته باشم.
البته میدونم که پولی بوده ، ولی من روی اینترنت گشتم ، مثل اینکه شرکتش جمع شده.

rahro
پنج شنبه 11 فروردین 1390, 10:54 صبح
نه چيز خاصي نداره - قبلا دوستان توابع اش رو تو انجمن گذاشتن .
براي فارسي تابع LTORLIB.FLL که پيوست نرم افزار هستش هم ميتوني استفاده کني .
روش کار اينطوره که بايد در اونت Valid و When اين عبارات رو بگذاري

when => =ltor_on(3)
valid => =ltor_off()


البته اين به شرطيه که کنترل سورس تکست باکس شما به فيلد جدول وصل باشه ولي اگر اينطور نبود بايد براش يک کلاس بنويسي.
هلپ راهنماش رو پيوست گذاشتم اون رو بايد فونتهاي ايران سيستم بخوني .

Esikhoob
شنبه 13 فروردین 1390, 22:08 عصر
با تشکر از شما
من توانستم از طریق ControlSource textbox ، همان طور که شما نوشتید ، این fll را به کار بیندازم.
ولی برای بدون ControlSource ، فکر میکنم به بقیه فایلهای راهنماش نیاز است.( به راهنمای اصلی ، چون اینکی اضافات به ورژن 5 پارس پندار بود)
من طبق همین راهنما که برایم فرستادید در InteractiveChange textbox ، برنامه ای نوشتم که ن:

if _PARSUPDT_
OLDCURPOS=this.SelStart
this.Value=FIELDVAL()
this.SelStart=OLDCURPOS+_PARSMOVE_
this.Sellength=0
endif
ولی فاکس پرو نه تابع FIELDVAL() c را پیداکرد نه متغییر های _PARSUPDT و نه اونیکی را.
فکر میکنم علاوه بر :
SET LIBRARY TO "C:\Program Files (x86)\Mobtaker\LTORLIB.fll"
به دستور دیگری تو مایه های init یا start نیاز است.

rahro
سه شنبه 16 فروردین 1390, 07:41 صبح
سلام
من اصلا از فارسي راست به چپ در پروژه ام استفاده نکردم ولي آنچه مهمه اينه شما بجاي تابع کتابخانه RTOLLIB.FLL تابع LTORLIB.FLL را فراخواني کرده ايد.!

Esikhoob
سه شنبه 16 فروردین 1390, 19:13 عصر
واقعا ببخشید
ولی فقط LTORLIB.FLL توی فولدر برنامه اتان هست.
و فایل FLL دیگری اونجا وجود ندارد.

rahro
چهارشنبه 17 فروردین 1390, 06:49 صبح
اگر ممکنه آدرس ايميلتون را برام پيام خصوصي کنين تا براتون بفرستم