PDA

View Full Version : گفتگو: نحوه ایجاد دفتر معین



Dr.Bronx
چهارشنبه 13 آبان 1388, 20:32 عصر
سلام خدمت دوستان عزیز برنامه نویس
این تاپیک به جهت نحوه ایجاد دفتر معین در یک برنامه حسابداری ( یکی از بخشهای سیستم حقوق و دستمزد ) می باشد.

1- نحوه ثبت در بانک اطلاعاتی.
به طور مثال چطور باید ثبت بشه . بعضی ها می گن بهتره توی دو تا تیبل متفاوت ثبت بشه
یعنی اینکه دریافت در یک تیبل و پرداخت در یک تیبل دیگه.
نظر شما چیه ؟ خوبی ها و بدی ها.

2- نحوه نمایش دفتر معین
آیا بهتر اینه که ما از این جداول یا جدول کوئری تهیه کنیم و یا از همون تیبل ها استفاده کنیم.

متشکر می شم این موضوع رو به سرانجام برسونیم .

با تشکر.

tdkhakpur
چهارشنبه 13 آبان 1388, 21:57 عصر
بعضی ها می گن بهتره توی دو تا تیبل متفاوت ثبت بشه
یعنی اینکه دریافت در یک تیبل و پرداخت در یک تیبل دیگه.

راه براي رسيدن به هدف از نظر برنامه نويسي زياده ولي بهتره مشخصات هر سه دفتر را داخل يك جدول جاي بديد تا اسم حساب هم از داخل آن تيبل بدست بياد.
و كليد اصل را روي اين سه فيلد يعني كل - معين - تفضيلي قرار بديد.
ركوردي جزو كل محسوب خواهد شد كه معين و تفضيلي آن صفر باشد.
ركوردي معين خواهد بود كه تفصيلي آن صفر باشد. لذا براي جستجو كافيست اين مقادير براي يافتن ركورد قيد شود.

آیا بهتر اینه که ما از این جداول یا جدول کوئری تهیه کنیم و یا از همون تیبل ها استفاده کنیم.

در مورد اين مطلب شما بستگي به گزارشي دارد كه شما از سيستم ميگيريد ولي اگر هر سه دفتر داخل يك تيبل قرار داده شود كوئري هم آسان خواهد شد..

Dr.Bronx
چهارشنبه 13 آبان 1388, 23:04 عصر
خوب خوشبختانه ما نیازی به دفتر کل نداریم
به طور مثال فرظ کنید از آقای y ما مبلغ 100.000 ریال رو دریافت کردم.
سپس به آقای x مبلغ 50.000 ریال رو پرداخت کردیم.

حالا شما می گین همه اینها در یک جدول ثبت بشه ؟

یعنی یک جدول داشته باشیم مانند :

کد مشتری
نام مشتری
مبلغ دریافتی
مبلغ پرداختی
شرح حساب
مانده
تشخیص

بعد اگر دریافت بود که فیلد مبلغ دریافتی پر بشه و اگر پرداخت هم بود که مبلغ پرداختی.
بعد بیایم هر موقع خواستیم گزارش معین یک شخص رو نگاه کنیم
بگیم بیا فقط اونهایی رو نشون بده که کد مشتری اونها برابر با x هست

حالا سوالی که پیش میاد .
مانده رو چطور حساب کنیم چون هر سطر مانده مربوط به خودش و همچنین یک رکورد قبل تر از خودش رو داره.

و اینکه تشخیص چگونه است ؟ تا جایی که اطلاع دارم
اگر جمع ستون بدهکار از ستون بستانکار بیشتر بود تشخیص = بدهکار (بد )
اگر جمع ستون بستانکار از ستون بدهکار بیشتر بود تشخیص = بستانکار ( بس )
و اگر جمع هر دو ستون با هم برابر بود تشخیص = تسویه (تس )

متشکر از شما که دراین گفتگو شرکت می کنید.
موفق و موید باشید.

tdkhakpur
پنج شنبه 14 آبان 1388, 12:58 عصر
خب با اين ساختار و فيلدهايي را كه براي حسابرس خودتان ايجاد كرديد حتما مشكل خواهيد داشت.



کد مشتری
نام مشتری
مبلغ دریافتی
مبلغ پرداختی
شرح حساب
مانده
تشخیص

شما بايد به تيبل فوق يك فيلد به اسم شماره سند را هم قيد كنيد و هر دريافتي و پرداختي را داخل سند هاي جدا ذخيره كنيد من منظورم از يك جدول اين بود كه براي تمام حسابها يك جدول تعبيه بشود و اين جدول- تراز حسابها را داخل خود نگهداري كند نه خود سند هاي دريافتي و يا پرداختي را.
اين هم ساختار پيشنهادي.


ش دفتر معين
ش تفصيلي
ش سند
شرح سند
مبلغ سند
و اين ساختار براي حسابها


ش دفتر معين
ش دفتر تفصيلي
شرح حساب
مبلغ بدهكاري
مبلغ بستانكاري
مانده --->> نشان خواهد داد شخص حقيقي و حقوقي بدهكار هست با بستانكار

Dr.Bronx
شنبه 16 آبان 1388, 11:12 صبح
متشکر از شما
خوب شما میگید که ما بییام دو تا جدول داشته باشیم مثلا به نام های

Tbl_Daryaft
با ساختار


شماره سند
کد مشتری
نام مشتری
مبلغ دریافتی
شرح حساب

و
Tbl_Pardakht
با ساختار


شماره سند
کد مشتری
نام مشتری
مبلغ دریافتی
شرح حساب



خوب زمانی که اینها ثبت شدند . ما باید یک دفتر معین هم داشته باشیم که از کوئری استفاده می کنیم
و اونجا با این ساختار هست


کد مشتری
نام مشتری
شرح حساب
مبلغ دریافتی
مبلغ پرداختی
مانده حساب
تشخیص

خوب تا همین قسمت بحث رو نگه داریم
آیا این ساختاری که من گفتم ممکنه دچار ایراداتی هم باشه ؟
آیا اصلا درست هست این ساختار؟
اگر نه چگونه ساختاری بهتر است.؟

متشکر از شما .
موفق و موید باشید./

tdkhakpur
شنبه 16 آبان 1388, 11:27 صبح
نه ببينيد آنچه را كه شما در ذهن داريد نتيجه خواهد داد ولي در اينده از نظر تحليل كاري شما را دچار مشكل خواهد كرد
شما احتياجي نيست كه براي دريافت و پرداخت دو جدول بسازيد يك جدول كافيست.

شما براي ايجاد يك بانك حسابداري احتياج به حساب اشخاص داريد(حقوقي يا حقيقي)كه ساختار آن بدين شكل هست.
AccTable ساختار حسابها


شماره سرفصل معين
شماره سرفصل تفصيلي
شرح حساب
مبلغ دريافتي كل
مبلغ پرداختي كل
و ساير موارد ديگر ازجمله تاريخ و غيره

در فوق شماره سرفصل معين و تفصيلي همان شماره مشتري ميباشد.(اين استاندار حسابداريست)

DocTabel ساختار جدول اسناد


شماره سند
شماره سرفصل معين
شماره سرفصل تفصيلي
مبلغ پرداختي
مبلغ دريافتي
و ساير موارد ديگر ازجمله كه مهمترين تاريخ است قرار داده شود.

در فوق شماره سند يك شماره واحد هست كه تكراري نيست و شماره سرفصل معين و تفصيلي همان شماره هاي استخراج شده از تيبل AccTable ميباشد.
در ابتداي كار شما بايد تيبل AccTable‌را كه مربوط به شرح شحابها و خود حسابهاست تعريف كنيدو بعد در جدول DocTable براي هر كدام از حسابها سند بزنديد و مبلغ دريافتي و پرداختي در سند را در فيلد مربوطه اضافه كنيد.و در آخر با يك شماره سند غير تكرار سند را ذخيره كنيد.(شماره سندو شماره معين و تفصيلي كليد اصلي بانك شماست.)