PDA

View Full Version : مبتدی: فرم صدور سند حسابداری چه جوری باشه خوبه؟



swallow.pa
جمعه 12 اسفند 1390, 18:51 عصر
سلام به همه
روش اول :
ذخیره اطلاعات:
توی قسمت صدور سند برنامه حسابداری می می خواهم این شگرد رو پیاده سازی کنم
کاربر در قسمت صدور سند سه تا تکست باکس کد کل معین و تفصیل رو داره که وارد می کنه و نهایتا یک تکست باکس برای شرح قلم هر ردیف سند و یا مبلغ بدهکار و بستانکار
------------------------------
بعد از ذخیره اون اطلاعات توی گریدی که پایین هست نمایش داده میشه

اصلاح اطلاعات:
کاربر روی گرید و ردیف مورد نظر کلیک می کنه و اطلاعات توی تکستهائی که بصورت بالاست نمایش داده می شود و رکورد رو اطلاح می کنه
-------------------------------------------
حذف اطلاعات :
کاربر روی گرید و ردیف مورد نظر کلیک کرده و اون رو حذف می کنه


روش دوم:
استفاده از گرید جانوس
که کلیه عملیاتها توی اون انجام میشه ایجاد - اصلاح - و حذف
که البته این روش رو من بلد نیستم یعنی با گرید جانوس کار نکردم

روش سوم:
پیشنهاد شما دوستان؟؟؟؟؟؟؟؟؟؟


لطفا کمک کنید متشکرم

فرید نجفلو
جمعه 12 اسفند 1390, 19:33 عصر
روش دوم:
استفاده از گرید جانوس
که کلیه عملیاتها توی اون انجام میشه ایجاد - اصلاح - و حذف
که البته این روش رو من بلد نیستم یعنی با گرید جانوس کار نکردم



چون من هم باهاش کار نکردم ازش رد می شم

اما روش اول:
روش بدی نیست فقط چندتا توصیه:
یادتون باشه سند دو نوع توضیحات داره:
1-توضح کل سند
2-توضیح هر ردیف از آرتیکل ها

شماره سند رو در پایگاه داده به عنوان کلید اصلی انتخاب نکنید:
ممکنه شما فکر کنید چون شماره سند منحصر به فرد و غیر تکراریه برای کلید بودن عالیه!
ولی یکی از امکانات برنامتون باید این باشه که سند های موجود رو دوباره از روی تاریخ ثبت مرتب کنه (عوض شدن شماره ها!)
و اگه شماره سند کلید باشه یعنی فاجعه!!!
پس شما یک فیلد به عنوان ID با نوع Auto Number(البته در اکسس و در بقیه هم متناظر این) و هرجا خواستید به سند رفرنس بدید یا رابطه بدید از این استفاده کنید

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

اگه موارد دیگه یادم اومد می فرستم

swallow.pa
جمعه 12 اسفند 1390, 19:48 عصر
چون من هم باهاش کار نکردم ازش رد می شم

اما روش اول:
روش بدی نیست فقط چندتا توصیه:
یادتون باشه سند دو نوع توضیحات داره:
1-توضح کل سند
2-توضیح هر ردیف از آرتیکل ها

شماره سند رو در پایگاه داده به عنوان کلید اصلی انتخاب نکنید:
ممکنه شما فکر کنید چون شماره سند منحصر به فرد و غیر تکراریه برای کلید بودن عالیه!
ولی یکی از امکانات برنامتون باید این باشه که سند های موجود رو دوباره از روی تاریخ ثبت مرتب کنه (عوض شدن شماره ها!)
و اگه شماره سند کلید باشه یعنی فاجعه!!!
پس شما یک فیلد به عنوان ID با نوع Auto Number(البته در اکسس و در بقیه هم متناظر این) و هرجا خواستید به سند رفرنس بدید یا رابطه بدید از این استفاده کنید

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

اگه موارد دیگه یادم اومد می فرستم
آقا نجفلو از شما سپاسگذارم
می خواستم روش ثبت اسناد توسط شما رو بدونم که به چه طریقی این کار رو انجام می دید
متشکرم

فرید نجفلو
جمعه 12 اسفند 1390, 20:41 عصر
می خواستم روش ثبت اسناد توسط شما رو بدونم که به چه طریقی این کار رو انجام می دید
متشکرم
اگه فرم ثبت سند رو می گید منم تقزیبا از همچین روشی استفاده می منم
اگه روش ثبت در پایگاه داده منظورتونه من از ترکیب اجرای دستورات در ADO.NET و LINQtoSQL به همراه شئی DataSet استفاده می کنم
و یادتون نره از همین ابتدای کار شئی گرایی یادتون نره یعنی واسه هر چیز یک کلاس( یک کلاس برای سند ، یک کلاس برای کل و ...)
اگه منظورتون چیزه دیگه ای متاسفانه من متوجه نشدم
برای بخش پشتیبان گیری هم تو تاپیک این تاپیک (http://barnamenevis.org/showthread.php?327660)با سورس گذاشتم

swallow.pa
جمعه 12 اسفند 1390, 20:53 عصر
اگه فرم ثبت سند رو می گید منم تقزیبا از همچین روشی استفاده می منم
اگه روش ثبت در پایگاه داده منظورتونه من از ترکیب اجرای دستورات در ADO.NET و LINQtoSQL به همراه شئی DataSet استفاده می کنم
و یادتون نره از همین ابتدای کار شئی گرایی یادتون نره یعنی واسه هر چیز یک کلاس( یک کلاس برای سند ، یک کلاس برای کل و ...)
اگه منظورتون چیزه دیگه ای متاسفانه من متوجه نشدم
برای بخش پشتیبان گیری هم تو تاپیک این تاپیک (http://barnamenevis.org/showthread.php?327660)با سورس گذاشتم
باز هم ممنون
بیشترین منظور من در رابطه با روش اول توی پست اول بود
اما با توجه به نکات جدیدی که گفتید چند سوال دیگه برام پیش اومد:
1- آیا LINQtoSQL واقعا لازمه چون من براحتی رکورد ها رو ذخیره و فرخوانی و اصلاح و ... می کنم چه لزومی هست که از LINQtoSQL استفاده کنم {البته بلد هم نیستم}
2- یکی از آرزوهای من مبحث شی گرائی بوده که متاسفانه تا بحال نتونستم اونو عملی کنم میشه بعنوان پایه شی گرائی توی یکی از حسابها کل یا معین یا سند یا هرچیزی که خودتون می دونید توضیح بدید
3- آیا شما از روش اول توی پست اول استفاده می کنید
4- کاربرد پشتیبان بدون دستورات sql چیه می شه توضیح بدید
متشکرم

فرید نجفلو
جمعه 12 اسفند 1390, 21:08 عصر
- آیا LINQtoSQL واقعا لازمه چون من براحتی رکورد ها رو ذخیره و فرخوانی و اصلاح و ... می کنم چه لزومی هست که از LINQtoSQL استفاده کنم {البته بلد هم نیستم}

نخیر استفاده از هیچ تنکنولوژی اجباری نیست!!! شما می تونید حتی وقتی فرودگاه کنارتون هست یه مسیر 1000 کیلومتری رو با اتوبوس برید و هیشکی هم نمی تونه چیزی بهتون بگه ولی ...!!!

LinqToSql یعنی شما کارتون می شه شئی گرا و از شر دستورات Sql هم خلاص می شید
و حتی گاهی با اون کاری انجام می دید که با SQL باید عرقتون دربیاد
ولی ناگفته نماند که این روش به تنهایی کفاف نمی ده و واسه همین گفتم ترکیب
و یه مورد دیگه در سرعت رد و بدل کردنه که این روش در مقابل روش سنتی کم میاره(تجربه شخصی بنده)

یه مثال دیگه: من تازه گیا یه برنامه کوچیک با پایگاه داده اکسس نوشتم که از DataSet استفاده کردم نکته قابل توجه اینکه داخل کد های اون نمی تونید یک خط دستور SQL پیدا کنید!

بقیه در پست بعدی:اشتباه:

فرید نجفلو
جمعه 12 اسفند 1390, 21:36 عصر
3- آیا شما از روش اول توی پست اول استفاده می کنید


بله تقریبا با چیزایه دیگه که بسته به نیازم بودند


- کاربرد پشتیبان بدون دستورات sql چیه می شه توضیح بدید
پس تاپیک رو خوب نگاه نکردین
یعنی باز همون شئی گرایی
دیگه از دستور سنتی Backup Database و Restore Database استفاده نکردم!
موارد استفاده از SQL هم جهت جلو گیری از خطا ها و عدم بی پباتی و شکنندگی عملیاته





2- یکی از آرزوهای من مبحث شی گرائی بوده که متاسفانه تا بحال نتونستم اونو عملی کنم میشه بعنوان پایه شی گرائی توی یکی از حسابها کل یا معین یا سند یا هرچیزی که خودتون می دونید توضیح بدید

ببینید منظورم اینکه شما باید کار های هر چیز رو در یک کلاس جدا قرار بدید(با استلاح کپسوله کنید)
برفرض مثال وقتی شما می خواهید یک معین ایجاد کنید دیگه نمی یاید همه جا از دستور SQL استفاده کنید(INsert Into ...)
شما یه متد تو کلاس معین می نویسید و از اون استفاده می کنید مثلا

Moins.ADD(MoinName,ParentKollCode,...)
Moins.Delete(MoinCode)

به این صورت شما از شئی گرایی استفاده کردید
کدنویسیتون راحتره
خوانایی داره
تحت کنترله
قابل استفاده مجدده
و...

توصیه:
شما تو کلاس هاتون باید تعدادی از اینترفیس ها پیاده کنید
نمونه:

IDisposable
IEnumerable
IQueryable
IComparable
IEqualityComparer


و غیره
البته استفاده از اینها بسته به نیاز و دانش شماست


او دوباره تاکید می کنم وقتی شما از LINQ to SQL استفاده کنید 90 درصد کارها رو براتون انجام می ده
خودش کلاس رو می سازه چند ده تا متد واستون ایجاد و چند تا اینترفیس پیاده و از چند خصوصیت (Attribut) کمک می گیره که حتی بعضی هاشون رو من متوجه نشدم!

علی فتحی
چهارشنبه 30 اردیبهشت 1394, 22:37 عصر
منم در نحوه ثبت سند جدی با مشکل برخورد کردم. ارتباط بین جدول کل -معین و تنفضیل و سند حسابداری رو برقرار کردم . برای ساخت تراز ازمایشی -ترازنامه و سند مشکلی وجود نداره .فقط در نحوه ثبت .یا واضحتر ارسال اطلاعات به جدول سند مشکل و جود داره.
اما دلیل: اگر تمام کلها معین داشته و تمام معین ها تفضیل داشته باشند خب مشکلی نیست اخرین کد موجود رو از تفضیل میگیریم و به سند ارسال میکنیم حالا بدهکار باشه یا بستانکار
ولی گاهی حساب کل مستقل هستش و مقدار معین نداره یا معینهایی وجود داره که اصلا تفضیل نداره .
در این موارد چ کار میشه کرد.؟

اگر تمایل دارین نمونه هم اینجا هست.


http://barnamenevis.org/showthread.php?454620-%D8%AD%D8%B3%D8%A7%D8%A8%D8%AF%D8%A7%D8%B1%DB%8C-%DA%A9%D9%84-%D9%85%D8%B9%DB%8C%D9%86-%D8%AA%D9%81%D8%B6%DB%8C%D9%84-%D8%B3%D9%86%D8%AF&highlight=%D9%85%D8%B9%DB%8C%D9%86

علی فتحی
پنج شنبه 31 اردیبهشت 1394, 00:20 صبح
http://forum.exceliran.com/showthread.php/4741-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AA%D9%87%DB%8C%D9%87-%DB%8C%DA%A9-%D8%B3%D9%86%D8%AF-%D8%AD%D8%B3%D8%A7%D8%A8%D8%AF%D8%A7%D8%B1%DB%8C-%D8%B3%D8%A7%D8%AF%D9%87