PDA

View Full Version : سوال: ایجاد Database سالی و مالی به صورت اتوماتیک



davidrobert
پنج شنبه 06 اسفند 1394, 12:38 عصر
سلام دوستان من میخوام دیتابیس سالی و مالی ایجاد کنم اتوماتیک با ADO یعنی سیستم بر حسب سالی جاری جدید دیتابیس ایجاد بشه در اسکیول سرور و همچنین بشه ارتباط پیدا کنیم بر هر دیتابیس سالی قبل و همین طور دیتابیس جاری به وسیله کامبوباکس ممنون میشم کمک کنید به صورت شبکه قصد دارم این کار رو کنم.

ali_md110
پنج شنبه 06 اسفند 1394, 15:46 عصر
سلام
معمولا در سیستم های مالی منابع و داده های مشترک تا پایان عمر نرم افزار در یک دیتابیس هستند وفقط ممکنه داده هایی که مربوط به یک مقطع خاص باشند و قابل حذف هستن به یک دیتابیس دیگه انتقال داده بشه
بنظر من ایجاد دیتابیس اسکیول سرور به ازای هر سال مالی کار صحیحی نیست ولی شما مبتونید با ef و روش code first اون جادو بگنید و هر جور دلتون بخاد با دیتابیس کار بکنید

davidrobert
پنج شنبه 06 اسفند 1394, 16:01 عصر
سلام
معمولا در سیستم های مالی منابع و داده های مشترک تا پایان عمر نرم افزار در یک دیتابیس هستند وفقط ممکنه داده هایی که مربوط به یک مقطع خاص باشند و قابل حذف هستن به یک دیتابیس دیگه انتقال داده بشه
بنظر من ایجاد دیتابیس اسکیول سرور به ازای هر سال مالی کار صحیحی نیست ولی شما مبتونید با ef و روش code first اون جادو بگنید و هر جور دلتون بخاد با دیتابیس کار بکنید

ممنون بابت جوابتان من بخاطر زیاد شدن اطلاعات میخوام یه دیتابیس خالی ایجاد کنم چون تکنولوژی ای اف یه خورده برنامه رو سنگین و کند میکنه میخوام از ADO استفاده کنم چون با ای ایف یه مدت کار کردم چند ماه با ای اف کار کردم ولی بررسی کردم ایراد ای اف و لینکیو رو دیدم بخاطر همین ADO تصمیم گرفتم انجام بدم ولی دیتابی جدید رو بسازم که خالی باشه ولی به دیتابیس قبلی که اطلاعات داره وصل بشم.

ali_md110
پنج شنبه 06 اسفند 1394, 16:26 عصر
داده های مالی بهم دیگه ربط دارند و ممکنه یک سند مالی طی یک دوره تسویه نشده باشه ولی مانده این سند به سال بعدی منتقل بشه برای ردیابی این سند طی سالهای قبل نیاز به دستابی به سال مالی قبلی هست که این خودش هزینه های کدنویسی و دیگه داره ضمنا دادهای مشترک مثلا عناوین کالا ها و پرسنل به ازای هرسال باید برای سال جدید کپی برداری کنید

در ضمن ef برای برنامه نویسان خیلی انعطاف داره و ارزش استفاده رو داره
در ضمن عبارت لامیدا در ef یک سری دستورات تولید و تبدیل به اسکیول استاندارد تولید میشه که ممکنه در حالت عادی یک برنامه نویس T SQL نتونه اون دستورات را اینجوری بهینه بنویسه

khokhan
پنج شنبه 06 اسفند 1394, 16:37 عصر
داده های مالی بهم دیگه ربط دارند و ممکنه یک سند مالی طی یک دوره تسویه نشده باشه ولی مانده این سند به سال بعدی منتقل بشه برای ردیابی این سند طی سالهای قبل نیاز به دستابی به سال مالی قبلی هست که این خودش هزینه های کدنویسی و دیگه داره ضمنا دادهای مشترک مثلا عناوین کالا ها و پرسنل به ازای هرسال باید برای سال جدید کپی برداری کنید

در ضمن ef برای برنامه نویسان خیلی انعطاف داره و ارزش استفاده رو داره
در ضمن عبارت لامیدا در ef یک سری دستورات تولید و تبدیل به اسکیول استاندارد تولید میشه که ممکنه در حالت عادی یک برنامه نویس T SQL نتونه اون دستورات را اینجوری بهینه بنویسه
دقیقا !!!!!
فرمایشات آقای ali_md110 درسته سال مالی بایستی درون برنامه مدیریت بشه و امکان باز گشت به سالهای ماضی وجود داشته باشه

mojtaba0912433
جمعه 07 اسفند 1394, 05:39 صبح
سلام دوستان من میخوام دیتابیس سالی و مالی ایجاد کنم اتوماتیک با ADO یعنی سیستم بر حسب سالی جاری جدید دیتابیس ایجاد بشه در اسکیول سرور و همچنین بشه ارتباط پیدا کنیم بر هر دیتابیس سالی قبل و همین طور دیتابیس جاری به وسیله کامبوباکس ممنون میشم کمک کنید به صورت شبکه قسط دارم این کار رو کنم.

دقیقا همینطورهودر مورد ایجاد دیتابیس خالی یا گزینه سال مالی در جداول زیاد بحث شده،به نطر میرسه بهترین روش ایجاد یک دیتابیس برای هر سال مالی و انتقال داده های دائمی به سال بعد هست

davidrobert
جمعه 07 اسفند 1394, 14:57 عصر
داده های مالی بهم دیگه ربط دارند و ممکنه یک سند مالی طی یک دوره تسویه نشده باشه ولی مانده این سند به سال بعدی منتقل بشه برای ردیابی این سند طی سالهای قبل نیاز به دستابی به سال مالی قبلی هست که این خودش هزینه های کدنویسی و دیگه داره ضمنا دادهای مشترک مثلا عناوین کالا ها و پرسنل به ازای هرسال باید برای سال جدید کپی برداری کنید

در ضمن ef برای برنامه نویسان خیلی انعطاف داره و ارزش استفاده رو داره
در ضمن عبارت لامیدا در ef یک سری دستورات تولید و تبدیل به اسکیول استاندارد تولید میشه که ممکنه در حالت عادی یک برنامه نویس T SQL نتونه اون دستورات را اینجوری بهینه بنویسه

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

ali_md110
شنبه 08 اسفند 1394, 03:31 صبح
بین دیتابیسها چگونه ارتباط قسط دارید؟
تعریف کلید خارجی بین دیتابیسهای مختلف مجاز و قابل ارتباط دهی نیست
در ضمن ارتباط بین موجودیتهای چند دیتابیس مختلف بوسیله کد دردرسرهای خودش داره و جهت نرمال سازی پایگاه ها مشکلات زیادی دارید
هر اندازه هم تعداد رکوردهای شما بالا بره ب نظر من ارزش جداسازی دیتابیسها رو نداره
چون با اندیس گذاری و سایر تکنیکهای دیگه میشه سرعت بالاتری بدست اورد

davidrobert
شنبه 08 اسفند 1394, 07:53 صبح
اسم جدوال ها که عوض نمیشه ثابت هستش فقط اسم دیتابیس عوض میشه که اون هم setting برنامه فراخونی میشه که اسم دیتابیس بر حسب سال انتخاب و سریع با دادن اسم دیتابیس دیتابیس قدیم ریخته میشه و کل برنامه با دیتابیس قدیم یا جدید اطلاعاتش ظاهر میشه

ali_md110
شنبه 08 اسفند 1394, 10:24 صبح
منظور من ریختن یا واکشی اطلاعات دیتابیس قدیم نیست
برنامه شما افزونگی داده زیاد داره
اگر مشخصات یک نفر تغییر پیدا کنه باید توی همه سالها اون رو اعمال کرد
بعدش فرض کنید دیتابیس A و جدول Customers شامل مشخصات مشتریان شماست
و یک دیتایس دیگه داریم بنام B و جدول Trans شامل تراکنشهای مشتری هست
باید یک کلید خارجی و اصلی بین این دو جدول قرار بدیم و ارتباط اون ها رو بر قرار کنیم
که شما چجوری اینکار رو میکنید؟

davidrobert
شنبه 08 اسفند 1394, 11:59 صبح
منظور من ریختن یا واکشی اطلاعات دیتابیس قدیم نیست
برنامه شما افزونگی داده زیاد داره
اگر مشخصات یک نفر تغییر پیدا کنه باید توی همه سالها اون رو اعمال کرد
بعدش فرض کنید دیتابیس A و جدول Customers شامل مشخصات مشتریان شماست
و یک دیتایس دیگه داریم بنام B و جدول Trans شامل تراکنشهای مشتری هست
باید یک کلید خارجی و اصلی بین این دو جدول قرار بدیم و ارتباط اون ها رو بر قرار کنیم
که شما چجوری اینکار رو میکنید؟


دوست عزیز چیزی گفتی که من کم اوردم با استادم صحبت کردم تصمیم گرفتم با یک دیتابیس این کار رو انجام بدم

vB.N3T
شنبه 08 اسفند 1394, 12:26 عصر
سلام دوستان
منم یک سوال دارم در رابطه با سال مالی .از ایجاد کننده تاپیگ و بقیه دوستان پاسخگو ممنون و معذرت من وسط پست های شما پست دادم
در برنامه من مدیر برای هر ماه از سال مبلغی رو ثبت میکنه و تعداد 64 نفر باید هر ماه اون مبلغ رو پرداخت کنن
من برای این کار یه جدول گذاشتم که تاریخ و مبلغ رو میگیره و ثبت میکنه .ینی تا 10 سال هم وارد کنه مشکلی نیست
و در برنامم برای گزارشگیری و بقیه کار ها
به طور مثال اگر مدیر بخواهد از 3 سال گذشته گزارشی تهیه کنه
اومدم قسمت سال رو در کموباکس ریختم
و وقی که مثلا سال 94 رو انتخاب میکنه کل اطلاعات ک در سال 93 برای اون قسمت ثبت شده میاره
سوالم اینه ایا این روش خوبه یا من برای هر سال یه دیتا بیس جدا بزارم ؟

حسین.کاظمی
شنبه 08 اسفند 1394, 14:25 عصر
سلام به همه برنامه نویسان
موضوع تاپیک نسبتا قدیمی است ولی تا الان یکی از بزرگترین مشکلات برنامه نویسان بشمار می رود خصوصاً برنامه های حسابداری و مالی .....خب هرکسی هم اومده با توجه به تجربه خود و راهنمایی های دیگران یه معماری یا طرحی را پیاده سازی کردند؛ و گفتم بد نیست که منم تجربه ام را با شما دوستان در میان بزارم:چشمک:
من در یکی از برنامه هام اومدم از این روش استفاده کردم که توی بانکم یک جدول مربوط به سال با دوتا فیلد ماه و سال گذاشتم مثلا
ماه سال
اسفند 94
بعد اومدم توی هر جدولی یک فیلد مربوط به سال و ماه گذاشتم و به این جدول جوین هستند.......حالا برای گزارشگیری ها و ویو هام با استفاده از این جوین و فیلد ها گزارش و .... را به کاربر نشون میدم و در بعضی فرم ها هم اومدم این دو تا را جدا کردم و نشون کاربر میدم ؛ آهان اینم بگم وقتی ساعت 00:00 آخرین روز ماه شد یک رکورد بنام ماه جدید و سال جاری یا جدید ایجاد میشه و همون ماه هم بصورت پیش فرض در فرم ها است....و برای فیلتر کردن و .... هم خودم راضی ام از این روش چون خیلی مانور میشه روش داد.....

139318
نمیدونم روشم شاید قدیمی یا اصلا جالب نباشه ولی تا الان کارمو راه انداخته:لبخند:
موفق باشید

Mahmoud Zaad
شنبه 08 اسفند 1394, 15:14 عصر
سلام به همه برنامه نویسان
موضوع تاپیک نسبتا قدیمی است ولی تا الان یکی از بزرگترین مشکلات برنامه نویسان بشمار می رود خصوصاً برنامه های حسابداری و مالی .....خب هرکسی هم اومده با توجه به تجربه خود و راهنمایی های دیگران یه معماری یا طرحی را پیاده سازی کردند؛ و گفتم بد نیست که منم تجربه ام را با شما دوستان در میان بزارم:چشمک:
من در یکی از برنامه هام اومدم از این روش استفاده کردم که توی بانکم یک جدول مربوط به سال با دوتا فیلد ماه و سال گذاشتم مثلا
ماه سال
اسفند 94
بعد اومدم توی هر جدولی یک فیلد مربوط به سال و ماه گذاشتم و به این جدول جوین هستند.......حالا برای گزارشگیری ها و ویو هام با استفاده از این جوین و فیلد ها گزارش و .... را به کاربر نشون میدم و در بعضی فرم ها هم اومدم این دو تا را جدا کردم و نشون کاربر میدم ؛ آهان اینم بگم وقتی ساعت 00:00 آخرین روز ماه شد یک رکورد بنام ماه جدید و سال جاری یا جدید ایجاد میشه و همون ماه هم بصورت پیش فرض در فرم ها است....و برای فیلتر کردن و .... هم خودم راضی ام از این روش چون خیلی مانور میشه روش داد.....

139318
نمیدونم روشم شاید قدیمی یا اصلا جالب نباشه ولی تا الان کارمو راه انداخته:لبخند:
موفق باشید


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

ali_md110
شنبه 08 اسفند 1394, 15:28 عصر
سلام دوستان
منم یک سوال دارم در رابطه با سال مالی .از ایجاد کننده تاپیگ و بقیه دوستان پاسخگو ممنون و معذرت من وسط پست های شما پست دادم
در برنامه من مدیر برای هر ماه از سال مبلغی رو ثبت میکنه و تعداد 64 نفر باید هر ماه اون مبلغ رو پرداخت کنن
من برای این کار یه جدول گذاشتم که تاریخ و مبلغ رو میگیره و ثبت میکنه .ینی تا 10 سال هم وارد کنه مشکلی نیست
و در برنامم برای گزارشگیری و بقیه کار ها
به طور مثال اگر مدیر بخواهد از 3 سال گذشته گزارشی تهیه کنه
اومدم قسمت سال رو در کموباکس ریختم
و وقی که مثلا سال 94 رو انتخاب میکنه کل اطلاعات ک در سال 93 برای اون قسمت ثبت شده میاره
سوالم اینه ایا این روش خوبه یا من برای هر سال یه دیتا بیس جدا بزارم ؟
دوست من سال مالی معنای دیگری داره
قبل از نوشتن برتامه مالی کمی مظالعه حسابداری داشته باشید مثل حسابداری مالی و خرید و فروش
سال مالی یک بازه زمانی است معمولا بین 6 ماه تا یک سال که فعالیتهای یک بنگاه توی این مدت انجام میشه و پایان دوره باید حسابها رسیدگی بشه و حسابهای موقت بسته و صفر بشن و حسابهای دائمی یه سال بعد منتقل بشه
روش شما صحیح نیست

vB.N3T
شنبه 08 اسفند 1394, 19:18 عصر
روش من کجاش مشکل داره بر طرف کنم ؟ من سال حسابم رو در اخر سال 0 نمیکنم و از اون ی بالانس مالی میگیرم.اگه توضیحات بیشتر نیازه بدم.
ممنون میشم مشکل رو بگی اونجا ک گفتید صحیح نیست

ali_md110
یک شنبه 09 اسفند 1394, 02:46 صبح
روش من کجاش مشکل داره بر طرف کنم ؟ من سال حسابم رو در اخر سال 0 نمیکنم و از اون ی بالانس مالی میگیرم.اگه توضیحات بیشتر نیازه بدم.
ممنون میشم مشکل رو بگی اونجا ک گفتید صحیح نیست
این قسمت گفته هاتون با سال مالی مغایرت داره



من برای این کار یه جدول گذاشتم که تاریخ و مبلغ رو میگیره و ثبت میکنه .ینی تا 10 سال هم وارد کنه مشکلی نیست


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