PDA

View Full Version : سوال: درک شماره سند در برنامه حساب داری



arman_Delta2002
چهارشنبه 15 شهریور 1391, 12:47 عصر
سلام به همه چند وقتی هست که یک برنامه حساب داری خوب رو دارم مینویسم بیشتر بدرد مغازه داری میخواره تا حسابداری

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

مشکل از اینجا شروع میشه که واسه فاکتور فروش و فاکتور خرید و حتی چیزای دیگه یک فیلد هست به نام شماره سند که این شماره سند تکراری نیست !!! یعنی وقتی یک سند رو در فاکتور خرید ثبت میکنیم به شماره 6 در فاکتور فورش شماره سند پیش فرض 7 هست و یا در قسمت های دیگر حساب داری که شماره سند میخوره !!!
این رو به چه روشی باید پیاده سازی کرد؟ برنامم بی نهایت فاکتور فروش یا خرید رو میتونه هم زمان ایجاد کنه آیا باعث تداخل میشه روش شما؟

programerinfonet
پنج شنبه 16 شهریور 1391, 11:34 صبح
اولأ مگه تحت شبکه است که می تونه همزمان هم خرید ثبت کنه و هم فروش ؟
دومأ شما یک جدول در نظر بگیر با دو فیلد عدد
که هر عمل خرید و فروش و دریافت و پرداخ ثبت می کنی شماره سند رو از این جدول بخونه و بعد شماره فاکتور رو در فیلد دوم ذخیره کنه

arman_Delta2002
جمعه 17 شهریور 1391, 12:15 عصر
بله میتونه برنامم تحت شبکه هم باشه الانش چند تا فرم فاکتور فروش رو میشه هم زمان ایجاد و ثبت کرد !

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

GGRRSS_2
جمعه 17 شهریور 1391, 21:51 عصر
سلام
من را ببخشيد تصوير اشتباه بود
معمول بر اين است كه اطلاعات سالهاي مالي را در تیبلهاي جداگانه ذخيره ميشود
روش پيشنهادي من
يك تیبل سريال نامبر درست كنيد فيلد اول را سال و فيلد دوم را شماره فاكتور فيلد سوم شماره حواله و فيلد چهارم شماره فيش و...
هنگامي كه سال مالي جديد را فعال ميكنيد ميتوانيد شماره شروع را هم تعيين كنيد0

arman_Delta2002
جمعه 17 شهریور 1391, 22:16 عصر
سلام
تصوير زير را ببين

I Cant see every tink?!!!

arman_Delta2002
شنبه 18 شهریور 1391, 18:37 عصر
روش پیاده سازی من به این صورت است که یک تیبل جدا شامل ایدی شماره سند بدهکار بستانکار توضیحات است
که فرزند دفتر مالی است و قبل از زدن شماره فاکتور یک ردیف ایجاد وشماره سند جدید درش ریخته میشه و بعد فاکتور فروش ساخته مقدار اخرین ردیف ایجاد شده رو بش میدم

dataking
شنبه 18 شهریور 1391, 22:59 عصر
سلام
يك جدول ايجاد كنيد و پس از ثبت هر سند ( فاكتور خريد - فروش - پيش فاكتور - بركشت از فروش - برگشت از خريد - سند هزينه و خلاصه...راستي اينها را گفتم يعني حسابداري حاليمه :لبخند:)تو اون جدول يه فيلد بنام سند اصلي و يا هر چي بايد داشته باشي و يك ركورد ايجاد كني براي اينكه دبل كيت نشه (تكراري) مي توني يك واحد به آخرين ركورد اضافه كني
دوستت دارم - مي دونم دوستان همه چيز را گفته بودن - اشتباه كردم .ببخشيد - راحل حل هاي بهتري هم هست موفق باشيد

arman_Delta2002
یک شنبه 19 شهریور 1391, 17:18 عصر
سلام
يك جدول ايجاد كنيد و پس از ثبت هر سند ( فاكتور خريد - فروش - پيش فاكتور - بركشت از فروش - برگشت از خريد - سند هزينه و خلاصه...راستي اينها را گفتم يعني حسابداري حاليمه :لبخند:)تو اون جدول يه فيلد بنام سند اصلي و يا هر چي بايد داشته باشي و يك ركورد ايجاد كني براي اينكه دبل كيت نشه (تكراري) مي توني يك واحد به آخرين ركورد اضافه كني
دوستت دارم - مي دونم دوستان همه چيز را گفته بودن - اشتباه كردم .ببخشيد - راحل حل هاي بهتري هم هست موفق باشيد
جالب بود حمون راه حل خودم رو فرمودن متشکرم پس مسیری که میرم درسته.

FastCode
دوشنبه 20 شهریور 1391, 17:17 عصر
آفرین به روش خودم.اصلاً شماره سند ندارم.
شماره سند برای سالهای 1200 تا 1370 بود که دفتر حساب استفاده میشد.
کنار دفتر یه شماره ردیف بود.
چون در یادداشت ها و حسابهای مرتبط خیلی بهش اشاره میشد مهم شد.
۲۰ ساله که دیگه بهش نیازی نیست.چون ما الان چند تا چیز دیگه داریم به اسم idnetitiy و uuid و ...

arman_Delta2002
دوشنبه 20 شهریور 1391, 17:20 عصر
جالب شد میشه بیشتر توضیح بدین؟ idnetitiy و uuid و ...

FastCode
دوشنبه 20 شهریور 1391, 20:28 عصر
جالب شد میشه بیشتر توضیح بدین؟ idnetitiy و uuid و ...
identity همون primary key و index هستن
uuid هم مخفف ه unique identifier ه

چرا کاربرای سایت چند وقته انگلیسی میبینن تعجب میکنن؟
میتونید گوگل کنید.

dataking
دوشنبه 20 شهریور 1391, 23:56 عصر
با سلام
FastCode عزيز مطمئنن شما چيزهاي زيادي مي داني ولي ... دانستن شما دليل ناداني بقيه نيست سعي كنيد حدفتان روشن باشد شما مي خواهيد بقيه را تمسخر كنيد يا ... من از پست هاي شما مطالب زيادي ياد گرفته ام ولي اخلاقت را دوست ندارم هميشه پرخاش مي كني و اين در شان معلوماتت نيست موفق مويد و خوش اخلاق باشيد

FastCode
سه شنبه 21 شهریور 1391, 01:21 صبح
با سلام
FastCode عزيز مطمئنن شما چيزهاي زيادي مي داني ولي ... دانستن شما دليل ناداني بقيه نيست سعي كنيد حدفتان روشن باشد شما مي خواهيد بقيه را تمسخر كنيد يا ... من از پست هاي شما مطالب زيادي ياد گرفته ام ولي اخلاقت را دوست ندارم هميشه پرخاش مي كني و اين در شان معلوماتت نيست موفق مويد و خوش اخلاق باشيد
یعنی الان شما اگر uuid رو search کنی گوگل http://en.wikipedia.org/wiki/Universally_unique_identifier رو اول نمیاره؟
واقعاً بعضی وقتها دیگه باید قاطی کرد.تا من دو تا کلمه اینگلیسی میگم همه میگن توضیح بده.آقا بلد نیستی برو اول انگلیسی بخون بعد بیا پست بده
همه مراجع میگن
RWLS
Reading
Writing
Listening
Speaking
(روی جلد همه ی کتابهای دوره ی راهنمایی و دبیرستان هست)
اول خوندن یاد بگیرید بعد کد بنویسید
این دیگه فکر نمیکنم خیلی سخت باشه
اگر هم کسی فکر میکنه اینگلیسی نمیفهمده داره وقت خودشه توی برنامه نویسی هدر میده
هر کس مخالفه همینجا میتونه هر چی از دهنش در میاد به من بگه

arman_Delta2002
سه شنبه 21 شهریور 1391, 10:59 صبح
عزیز من من میدونستم چی نوشتین فقط موندم تو شماره سند چه کاربردی داره ؟! فیلد ID رو نمیشه ویرایش کرد!! یا تکراری گزاشت وقتی نوعش primary key

شما درست سوال رو متوجه نشده بودین
شماره ثنت اگر به گفته شما از رده خارج شده باشه که هیچ ولی اگر در برنامه حسابداری باشه میشه گفت که برنامه کامل تره

در کل اگه شما ساختار تیبل های من رو ببینین دیگه نظرتون در باره یک برنامه نویس آماتور عوض میشه حدود 60 تیبل در یک برنامه حسابداری که مانند تار های یک عنکبوت به هم متصل است و به صورت فشرده دیاگرام آن بر روی 2 برگه آ3 چسبیده به هم چاپ شده!! و به تنهایی دارم میسازمش و حدود 3 سال دارم روش کار میکنم سیستم کیوسک و بارکد خان تحت شبکه گزارش سیمولار گرید Dev باز شدن درب صندوق پول که به صورت usb به کامپوتر متصل است. فکر میکنین ستایت های ایرانی میتونن نحوه ساخت یک کلید که توسط USB و با برنامه نویسی هست رو از پایه به مردم یاد بدن ؟! هر کاری هم کنن باز IC اون و وسایلش خارجی !!! پس انگلیسی میدونم که تونستم این قسمت رو از سایت های خارجی یاد بگیرم و بسازم دوست عزیز.فقط فرم فاکتور فروشم 16 تا تیبل رو در کمتر از 3 ثانیه با 260 تا شیع و 5000 خط کد نویسیش باز میکنه!! البته فاکتور فروش جامع اون.
پس هر کسی که سوالی از شما میپرسه آماتور نیست عزیزم . فقط بخش تنظیمات برنامه حسابداریم بالای 400 تا شیع رو در فرمش جا داده!!! تمام این ها رو به تنهایی مدیریت و کد نویسی میکنم پس آماتور نیستم .
نمیخوام به رخ بکشم این کار ها رو ولی بدونین که یک جواب اشتباه داده شده. و کارتون درست نبوده

FastCode
سه شنبه 21 شهریور 1391, 13:01 عصر
مشکل من شما یا پستتون یا سوالتون نیست
من مدتیه که دارم این رفتار رو میبینم و واقعاً سیر نزولی دانش برام موضوع جالبی نیست.

این برنامه ای که نوشتید احتمالاً خیلی خوبه.من هم الان حوصله برنامه به رخ کشیدن رو ندارم.

پس بزارید uuid رو توضیح بدم
کار خیلی ساده ای که شما میتونید بکنید اینه که همه ی اطلاعاتی که سند حساب میشن(فاکتور, چک, ...) یک uuid داشته باشن و برای ارجا به سند از uuid استفاده کنید.همین.چیز خیلی پیچیده ای نیست.
اگر OO کار کرده باشید خیلی راحت پیاده سازی میشه.اگر با DataSet و یا EF و کار کرده باشید فکر نمیکنم کار راحتی باشه.
جداولتون اینطوری میشه
Sale:
ID
UUID
...

ChequeRecord:
UUID
ChequeID
Order
...


اگر بتونید یک جدول به این شکل پیاده کنید,در خیلی از گزارشات میتونید از join های سنگین پرهیز کنید.
خودتون باید اول مطمئن بشید که این کار به نفعتون ه یا به ضررتون.راه حلش benchmark ه و اندازه گیری زمان مورد نیاز برای تغییر کد.
با توجه به اینکه سه سال روی این برنامه کار کردید فکر نمیکنم دیگه امکانش باشه.ولی تغییرات ه بالا رو فکر میکنم هنوز هم بتونید بدید.
Transaction:
UUID
Date
SourceAccount
DestinationAccount
...

arman_Delta2002
سه شنبه 21 شهریور 1391, 13:36 عصر
ممنون از توضیحات ارزندتون من با دیتا ست کار میکنم و جدول شما رو هم پیاده سازی کردم با تشکر از توجه شما .