bs project report

96
1 ي س ند مهه ا د- ي كا س ند مه روه گ ي س نا ش وژ ه كا ر ي ل ور ما م م ا تیس س ي بیح ذ هد مدگان : ن ه د ا ار بان ش ه عطی ما هن ا تاد ر س ا ي ن ن كا سح م ر كت د ن بهم1390

Upload: imam-reza-international-university

Post on 25-Jan-2017

29 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: BS project report

1

گروه مهندسي كاويپمرت -دادکشنه مهندسي

رپ وژ ه كا رشنا سي

سیستم امور مالي

عطیه شبان –اراهی دهندگان : مهدهی ذبیحي

استاد راهنما

دكتر محسن كا اه ني

بهمن 1390

Page 2: BS project report

2

: چکیده

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

ایجاد و هدف اصلیند ، ه اطراحی شدسدف حسابداری این قسمت ها برای زیر سیستم بخش

برای مکانیزه کردن این سیستم سعی . می باشد و مدیریت گزارشات امور مالی امکانی برای ثبت

و تهیه شده است تا با استفاده از سدف ) سیستم های دانشگاه فردوسی ( به عنوان زیر ساخت

تعدادی ماژول تحت وب که در هریک از پورتال های خاص منظوره سدف نصب می شود بخشی

را پیاده سازی کرد. امور مالیازسیستم

, Html , Data Store , EXT , Event Listener ,Combobox سدف –کلید واژه

Page 3: BS project report

3

فهرست مطالب:

7 .............................................................................................................. : مقدمه -1

10 .......................................................................... : ستمیس یطراح در EXT ملزومات -2

2-1- ComboBox ........................................................................................... 11

2-2- Grid: ..................................................................................................... 12

2-3- EXT Forms :........................................................................................ 14

EXT : ..................................................................................... 15 یانداز راه -2-4

17 ...................................................................................... :ستمیس طیمح یکل طرح -3

18 ............................................................ : یمال گزارشات ستمیس کاربرد موارد -3-1

19 ......................................................................................... : ستمیس یمعرف -3-2

19 .................................................................................. : ستمیس یفن مشخصات

19 ............................................................................................... : یخارج روابط

19 ................................................................................... : ستمیس یها یازمندین

Page 4: BS project report

4

20 ......................................................................... : ستمیس یساز ادهیپ یمعرف -3-3

20 ................................................................. :یسراسر و یمحل کننده ارسال بخش

27 ........................................................ :واحدها به کننده ارسال یها بخش انتساب

35 .................................................................................. :یسراسر و یمحل اسناد

39 .................................................................... :واحدها به یسراسر اسناد انتساب

44 ...................................................................... :یسراسر و یمحل مدارک بخش

48 .............................................................................. : واحدها به مدارک انتساب

54 ....................................................................................................... :ها بانک

57 ................................................................................ : یبانک شعب یها حساب

62 ........................................................................................ : شعب یها حساب

68 ................................................................................................... : کد سطوح

72 ................................................................................. :یمال دوره هر کدحساب

75 ................................................................... : یمحل و یسراسر یها چک دسته

81 ..................................................................... : واحدها به ها چک دسته انتساب

Page 5: BS project report

5

85 ............................................................................................. : واحدها فیتعر

91 ............................................................................................... : امضاها فیتعر

Page 6: BS project report

6

فصل اول

مقدهم

Page 7: BS project report

7

مقدمه : -1

گامی مهم EXT استفاده شده است. EXT بستهبرای طراحی زیر سیستم امور مالی از

برای مستندکامل همراه با بستهیک کهتحت وب محسوب می شود. چهار چوب های کاری برای

را برنامه های کابردیهنگام ساخت model-view-controllerجهت استفاده از معماری ,طراحان

طیف گسترده ای از رابط کاربری ارائه می دهد که از جمله ان می EXTدر اختیار قرار می دهد.

و ... اشاره کرد. Grid, Tree, Forms, Menusتوان به انواع

EXTدر یانواع رابط کاربر( 1شکل

بهینه سازی و گسترش و نوشتن برنامه ها سهولت یافته ,با استفاده از معماری نرم افزاری جدید

را java script ,است. عالوه بر این می توان با استفاده از نرم افزارهای ارائه شده همراه ان

سفارشی کرد.

طراحی که در EXTبه صورت اجمالی معرفی شده و به قابلیت های EXTدر فصل دوم

بیان می گردد. EXTو نحوه راه اندازی زیر سیستم امور مالی استفاده شده است اشاره خواهد شد.

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

Page 8: BS project report

8

پایگاه داده استفاده شده و ,واسط کاربری هر یک ,در این فصل ماژول های زیر سیستم مربوطه

( زیر سیستم امور مالی ذکر خواهند شد.use caseجداول مربوطه و موارد کاربردی )

ن دانست. همچنین اجزای پیش فرض آ طراحی مولفه هایرا می توان در EXT JSقدرت اصلی

ن به راحتی قابل گسترش می باشند.آ

Page 9: BS project report

9

فصل دوم

EXT با آشنایي

Page 10: BS project report

10

در طراحی سیستم : EXTملزومات -2

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

به EXTشیا در عالوه بر این امورد نظر بپردازیم. برنامه های کاربردی تحت وبراحتی به طراحی

د.نهر زبانی قابل نمایش می باش

EXT به راحتی می تواند بلکه یک کتابخانه برای جاوا اسکریپت محسوب نمی شود. تنها

می مدیریت رخداددر کنار سایر کتابخانه های جاوا اسکریپت کار کند. تعامل با کاربر به صورت

پاسخ به کلیک ماوس و یا دنبال کردن تغییرات در مرورگر از ,باشد. و شامل پاسخ به کلید زدن ها

سایز پنجره یا فونت و ... می باشد. ارتباط با سرور به صورت پس زمینه ای و بدون قبیل تغییر

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

.صورت گیردن بازخورد آو پردازش همزمان Ajaxسرور همراه با استفاده از

عمل مخصوص است که می تواند از سمت کاربر باشد. همانند در اصل یک Eventیک رخداد یا

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

به هر یک Event Listenerامکان افزودن یک EXTاست. در رخداددر اصل یک المانروی یک

از اجزا وجود دارد. که در صورت اجرای یک رخداد چندین بالک کد به اجرا در می اید. این

Page 11: BS project report

11

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

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

خواهیم داشت که در طراحی سیستم جاری EXTزایی از در این قسمت اشاره ای اجمالی بر اج

استفاده می شود.

2-1- ComboBox

ComboBox همان یاselect ( که در زبان عالمت گذاری ابر متن هاhtml می )

می که یک المان پر استفاده در فرم ها ,نیز شناخته می شود drop-down menuبا نام ,شناسیم

ی دهد که از صفحه کلید کمتر استفاده کند.مباشد. و این امکان را به کاربر

Data Store ذخیره اطالعاتی که قرار است در برایCombo Box نمایش در بیاید استفاده می به

وجود دارد که هر Data Storeشود. که می توان آن را به صورت محلی نیز ساخت. چندین نوع

از دستور استفاده با Data Storeساخت یک ع در شرایطی خاص استفاده می شود. نو

Ext.data.SimpleStore .می باشد

تعریف می ‘ Combo‘مربوط به آن را برابر ComboBox , Xtypeبرای ساخت یک

باید مقدار تعریف شده قرار می دهیم. پارامتر مهم دیگری که Storeرا برابر نام Storeکنیم و فیلد

را با توجه به منبعی که داده ها را ’remote‘یا ’local‘است که دو مقدار mode ,دهی شود

است که مشخص display field فیلد دیگری که باید مقدار دهی شود می گیرد. ,تامین می کند

Page 12: BS project report

12

برابر را modeاگر فیلد نمایش داده شود. comboدر Storeمی کند کدام فیلد از اطالعات

‘remote’ قرار می دهیمData Store .باید بداند چه فرمتی از داده ها را به عنوان ورودی می گیرد

autoمورد استفاده در طراحی به صورت comboBoxقابل توضیح می باشد که

Complement لیستی از کلمات موجود که ,است و با زدن یک حرف از هر قسمت کلمه موردنظر

آن را انتخاب و با کلیک بر روی کلمه مورد نظر سپس ن حرف را دارند نمایش داده می شوند. آ

لیست به صورت خودکار جمع می شود.

2-2- Grid:

شبیه یک صفحه گسترده است که از دو قسمت سطر و ستون تشکیل شده Gridهر

. Storeو Grid paneدو جز الزم است : Gridبرای نمایش اطالعات است.

Store: به عنوان حافظه پایگاه داده استفاده می شود و دنباله ای از اطالعات که قرار است نمایش

نگهداری می کند. شود راداده

Grid panel: راهی برای نمایش اطالعات ذخیره شده درData Store .را فراهم می کند

Dataذخیره شود. انواع Data Storeراه اندازی داده هایی است که قرار است در ,اولین قدم

Store ها که درEXT موجود اند عبارت اند ازJSON, XML,Simple (Array) .

Page 13: BS project report

13

این است که می توان اطالعات ان را به صورت سمت کاربر مرتب سازی Gridیکی از خصوصیات

کرد که بسیار سریع تر و ساده تر می باشد.

ک فایل خارجی باشد. نوع فایل می تواند برگرفته از ی ,نمایش داده می شود Gridاطالعاتی که در

JSON ,XML و یا فایلPHP .باشد که هر یک تنظیمات مربوط به خود را دارند

در مکان های مختلف تعریف کرد. Listenerهم می توان یک Gridبرای EXTمانند سایر اجزای

’Column Model‘به صورت Listenerگوش دهیم Column Activityمثال اگر بخواهیم به یک

عکس العمل ,درخواست شود ’Selection Model‘درخواست می کنیم. در صورتی که به صورت

انجام می شود. Gridمناسب در صورت انتخاب یک سطر از

هم می توان یک نوار ابزار مناسب اضافه کرد و در آن چند المان Gridبه EXTمانند سایر اجزای

نمایش داده می شود Gridویرایش و حذف اطالعاتی که در ,مثل دکمه جهت اضافه کردن

یک کادر تبادلی مناسب باز می شود ,استفاده کرد. در صورت فشردن دکمه مورد نظر از نوار ابزار

ا ویرایش توسط فیلدهای ان از کاربر گرفته می شود.و اطالعات الزم جهت اضافه کردن ی

Page 14: BS project report

14

2-3- EXT Forms :

FormPanel هایEXT خیلی شبیه فرم هایHtml است. و فیلدهایForm را شامل

ارایه ای از المان هایی است که درون آن قرار می گیرد و هر المان دارای Formمی شود. در واقع

کند.است که نوع آن را مشخص می Xtypeیک

Page 15: BS project report

15

: EXTراه اندازی -2-4

است که از EXT SDK(Software Development Kid) تنها چیزی که الزم است بسته

پس از گرفتن می باشد. EXTدانلود می کنیم و شامل مثال ها و ابزار الزم برای اجرای EXT سایت

SDK می کنیم.کپی wwwRootآن را در مسیر ,و خارج کردن ان از حالت فشرده SDKفایل

است که هر آن چه برای اضافه کردن نیاز داریم شامل می شود. قبل از EXT JS شامل یک نسخه از

داشته EXTباید یک ارجاع به فایل های کتابخانه ,را در صفحات خود استفاده کنیم EXT آن که

html سر آیند کدباشیم. همانند انچه در قطعه کد زیر است باید مسیر فایل های زیر را در قسمت

.قرار دهیم

Ext_all.css اصلیفایل شامل ExtCss است.

Ext_base.js شامل Ext adaptor باشد. می

Ext_all_debug.js یا Ext_all.js اصلیفایل که Ext library .است

بعد از htmlرا با اضافه کردن یک فایل اغازگر در سرایند فایل EXTپس از آن می توانیم کدهای

شروع شده و در کل دارای کتابخانه و یک ’EXT‘با EXTاجرا کنیم. تمام اجزای Extاضافه کردن

قابلیت خوانایی خوب است. واسط با

Page 16: BS project report

16

فصل سوم

معرفي سیستم

Page 17: BS project report

17

سیستم:طرح کلی محیط -3

3این سیستم به عنوان زیرسیستمی از سیستم سدف تعریف می شود . سیستم دارای

به صورت و مدیر مالی دانشگاه کاربر اصلی می باشد که مدیر سیتم مالی و حسابدار هر دانشکده

مستقیم از طریق سیستم اتوماسیون اداری به ماژول مربوطه متصل می شوند .

-client) که سیستم سدف یک سیستم مشتری وکارگزار . الزم به ذکر استتحت وب می باشد

server ) .است

در شکل زیر نمایی کلی از سیستم قابل مشاهده است .

ستمیس طیمح یطرح کل( 2شکل

Page 18: BS project report

18

موارد کاربرد سیستم گزارشات مالی : -3-1

یمال گزارشات ستمیس use case ( 3شکل

Page 19: BS project report

19

معرفی سیستم : -3-2

مشخصات فنی سیستم :

طراحی EXTاین سیستم به صورت تعدادی ماژول بر اساس زیرساخت سدف و به زبان

خواهد بود. mysqlشد . بانک اطالعاتی مورد استفاده خواهد

روابط خارجی :

ماژول طراحی شده با قسمت هایی از سیستم سدف در ارتباط است و برای ورود به این

کاربر باید ابتدا با استفاده از شناسه و رمز عبور به سیستم ماژول و مشاهده امکانات مربوط به آن

اتوماسیون اداری دسترسی پیدا کرده است .و در صفحه اصلی وی ، لینکی برای دسترسی به این

صفحه قرار خواهد گرفت .

: نیازمندی های سیستم

اظ ماژول طراحی شده باید با زیرساخت سدف )سیستم های دا نشگاه فردوسی( از لح

پیاده سازی و شکل ظاهری سازگاری کامل داشته باشد.,تکنولوژی ,نحو ,ساختاری

اما نیاز ,اگر چه که در هر یک از این ماژول ها کار جداگانه ای برای کاربر خاصی انجام می دهند

است که تمام آنها به صورت یک پارچه و هماهنگ کار کنند.

Page 20: BS project report

20

برای کاربر مربوطه تا حد ممکن ساده باشد و نیاز به ول هاونیز باید کارکردن با هر کدام از ماژ

دوره آموزشی خاصی یا توضیح مفصل نداشته باشد.

سیستم : پیاده سازی معرفی -3-3

بخش ارسال کننده محلی و سراسری:

جهت تعریف بخش های ارسال کننده محلی و از "بخش ارسال کننده محلی"از لینک

جهت تعریف بخش های ارسال کننده سراسری استفاده می "بخش ارسال کننده سراسری"لینک

توضیحاتی که در ادامه خواهد امد در مورد هم ,شود. با توجه به شباهت ساختاری این دو لینک

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

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

,امکان درج بخشی جدید ,بخش ها است.از جمله امکاناتی که در اختیار کاربر قرار میگیرد

دهای جستجو و حذف اطالعات است. بنابراین باید از جدول ترسیم شده فیل ,ویرایش

ConsignSectionDesc وConsignSectionIsActive .مورد استفاده قرار گیرد

را در شاخه زیر قرار داده و سپس از طریق یک ConsignSection.phpباید فایل :نحوه نصب

Browser .انرا اجرا کنیم

Sadaf > finance > financeN > Accountancy > ConsignSections

Page 21: BS project report

21

بوده و ConsignSectionsجدول مورد استفاده در این قسمت ها : ConsignSectionجدول

, ConsignSectionId در این بخش ها به کار می رود: ,نآفیلدهای زیر از

ConsignSectionDesc ConsignSectionIsActive.

شرح یا همان نام بخش و وضعیت جاری ,برای هر بخش ارسال کننده یک شماره شناسایی یکتا

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

تعیین و تغییر و رویت است.

در پیاده سازی بخش ارسال ConsignSectionUnitIdو ConsignSectionPeriodIdفیلدهای

سازی بخش ارسال کننده سراسری به صورت زیر و در پیاده NULLکننده محلی مقدار

مقدارخواهند گرفت:

ConsignSectionPeriodId برابر شمارهsession جاری فعال در سیستم وConsignSectionUnit

خواهند گرفت. 1مقداری ثابت و پیش فرض مثال

الح خواهند این مقادیر اص" انتساب بخش های ارسال کننده به واحدها "در پیاده سازی لینک

شد.

CREATE TABLE `accountancy`.`ConsignSections` (

`ConsignSectionId` int(10) unsigned NOT NULL auto_increment

COMMENT 'کد یکتای بخش ارسال کننده ',

`ConsignSectionDesc` varchar(80) collate utf8_persian_ci NOT NULL

Page 22: BS project report

22

default ' '

COMMENT ' کننده شرح بخش ارسال ',

`ConsignSectionIsActive` enum('YES','NO') collate utf8_persian_ci

default 'YES'

COMMENT 'آیا بخش ارسال کننده فعال است',

`ConsignSectionUnitId` int(10) unsigned default '0'

COMMENT ' ارسال کنندهکد واحد برای این بخش ',

`ConsignSectionPeriodId` int(10) unsigned default '0'

COMMENT 'کد دوره مالی برای این بخش ارسال کننده',

`ConsignSectionGlobalityStatus` enum('GLOBAL','LOCAL') collate

utf8_persian_ci default 'GLOBAL'

COMMENT ' ی بودن بخش ارسال کنندهسراسری یا محل ',

PRIMARY KEY USING BTREE (`ConsignSectionId`),

UNIQUE KEY `consignSectionLUnitId` USING BTREE

(`ConsignSectionUnitId`,`ConsignSectionPeriodId`,`ConsignSectionDesc`))

ENGINE = InnoDB AUTO_INCREMENT = 50 DEFAULT CHARSET = utf8

COLLATE = utf8_persian_ci ROW_FORMAT=DYNAMIC

COMMENT = 'بخش های ارسال کننده ;

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

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

Page 23: BS project report

23

بخش ارسال کننده دیگر( 4شکل

می توان بخش ارسال کننده محلی یا سراسری جدیدی "درج"با فشردن دکمه : درج داده جدید

با توجه به اینکه کاربر امکان ایجاد بخش ارسال کننده محلی یا سراسری جدید و تعیین ایجاد کرد.

Radio Boxبرای گرفتن نام بخش و از یک Text Field وضعیت فعال بودن ان را دارد از یک

در صورتیکه کاربر نام بخش ارسال کننده مورد نظر برای برای تعیین وضعیت استفاده شده است.

درج را وارد نکند به او پیامی نمایش داده شده و از وی خواسته می شود اطالعات را کامل کند. در

ل در نظر گرفته می شود.غیرفعا ,وضعیت بخش نیز صورت عدم انتخاب وضعیت

بخش ارسال کننده جدیددرج ( 5شکل

Page 24: BS project report

24

کاربر با انتخاب یک سطر دلخواه و زدن ,در گرید نمایش داده شده : حذف ردیف انتخاب شده

نمایش داده شده سطر مورد نظر را dialog Boxاز "OK"و سپس انتخاب , "حذف"دکمه ی

حذف کند.

پیامی به کاربر نمایش داده می شود. ,در صورت عدم انتخاب سطر

بخش مربوطهحذف ( 6شکل

1حذف ( 7شکل

Page 25: BS project report

25

,در گرید اختصاص داده شده به تعریف بخش های محلی و سراسری : ویرایش ردیف انتخابی

به تغییر سطر موردنظر بپردازد. "ویرایش"کاربر می تواند با انتخاب یک سطر دلخواه و زدن دکمه

یت فعال بودن ان را تغییر دهد.م بخش ارسال کننده مربوطه یا وضعو نا

( ویرایش بخش انتخابی 8شکل

دیگر در این امکان جستجوی ردیف ها بر اساس یک فیلد انتخابی از سوی کاربر امکانی : جستجو

گرید است. جستجو می تواند بر اساس نام یا وضعیت فعال بودن بخش بخش ها انجام شود.

با انتخاب تعداد سطرهای کاربر می تواند ,در صورتی که نتیجه جستجو از یک صفحه بیشتر باشد

. البته نمایش داده ها در هر صفحه را به میل خود تغییر دهد ,دلخواه برای نمایش در هر گرید

این امکان که بتوان تعداد سطرهای نمایشی در گرید جاری را تغییر ,همانطور که پیشتر اشاره شد

از خصوصیات ثابت گریدهای این سیستم است. ,داد

Page 26: BS project report

26

جستجو( 9شکل

جستجو( 10شکل

نتیجه این جستجو به صورت زیر نمایش داده می شود.

( نتیجه جستجو 11شکل

Page 27: BS project report

27

باید اضافه کرد که در هنگام درج و یا ویرایش در صورتیکه کاربر نام بخش ارسال کننده جدید و یا

کاربر ”Ok“تغییر یافته را وارد نکند پیام زیر به وی نمایش داده می شود.در صورت زدن دکمه

را در اختیار داشته و نام موردنظر را وارد کند. Dialog Boxقادر خواهد بود همپنان

12شکل

انتساب بخش های ارسال کننده به واحدها:

از این لینک جهت انتساب بخش های ارسال کننده الزاما سراسری به خصوصیات سیستم :

استفاده می شود.در سیستم واحدهای موجود

همچنین به کاربر این اجازه داده می شود که برای یک سند چندین دوره مالی یا واحد در نظر

گیرد.

را در شاخه زیر قرار داده و سپس از طریق ConsignSectionUnits.phpباید فایل :نحوه نصب

انرا اجرا کنیم. Browserیک

Sadaf > finance > financeN > Accountancy > ConsignSectionUnit

Page 28: BS project report

28

از جداولی که مکررا در طراحی گریدها مورد استفاده هستند : ConsignSectionUnitsجدول

را نام برد.در قسمت های توضیح داده شده مخصوصا در لینک های unitsو periodsمیتوان

از این دو جدول کلیدهایی به unitsانتساب دهنده موجودیت های مختلف به واحدها یا همان

صورت خارجی در سایر جداول داریم.

است.این جدول دارای ConsignSectionUnits د استفاده در این قسمت سیستمجدول مور

است. , ConsignSectionUnitId UniqueId , ConsignSectionPeriodIdفیلدهای

ConsignSectionId کلید خارجی از جدولConsignSections است. که به کمک ان می توان

دسترسی قرار داد. بخش های سراسری تعریف شده را مورد

ConsignSectionUnitId و ConsignSectionPeriodId خارجی از جداول کلیدهایperiods,

units .هستند که به وسیله این دو کلید می توان به دوره های مالی و واحدها دسترسی پیدا کرد

CREATE TABLE `accountancy`.`ConsignSectionUnits` (

`UniqueId` int(10) unsigned NOT NULL auto_increment

COMMENT 'کد یکتای رابطه',

`ConsignSectionId` int(10) unsigned default NULL,

`ConsignSectionUnitId` int(10) unsigned default NULL

COMMENT 'کد واحد برای بخش ارسال کننده عمومی',

`ConsignSectionPeriodId` int(10) unsigned default NULL

COMMENT ' کد دوره مالی برای بخش ارسال کننده عمومی',

Page 29: BS project report

29

PRIMARY KEY (`UniqueId`), UNIQUE KEY `CSDId`

(`ConsignSectionUnitId`,`ConsignSectionPeriodId`,`ConsignSectionId`),

KEY `ConsignSectionId` (`ConsignSectionId`),

KEY `ConsignSectionUnitId` (`ConsignSectionUnitId`),

KEY `ConsignSectionPeriodId` (`ConsignSectionPeriodId`),

CONSTRAINT `ConsignSectionUnits_ibfk_1` FOREIGN KEY (`ConsignSectionId`)

REFERENCES `ConsignSections` (`ConsignSectionId`),

CONSTRAINT `ConsignSectionUnits_ibfk_2` FOREIGN KEY

(`ConsignSectionUnitId`) REFERENCES `units` (`UnitId`), CONSTRAINT

`ConsignSectionUnits_ibfk_3` FOREIGN KEY

(`ConsignSectionPeriodId`) REFERENCES `periods` (`PeriodId`)

) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8 COLLATE =

utf8_persian_ci

COMMENT = ' های ارسال کننده سراسری به واحدهاانتساب بخش '

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

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

بخش ارسال کننده سراسری دلخواه دوره مالی و واحدی در نظر گیرد.

Page 30: BS project report

30

انتساب بخش ارسال کننده به واحدها دیگر( 13شکل

تعبیه شده است که بخش ارسال comboBoxنمایش داده شده سه عدد dialog Boxدر درج :

از ان قسمت انتخاب ,نام دانشکده مورد نظرو دوره مالی تعریف شده برای بخش ,کننده سراسری

خواهد شد.

Combo box های به کار رفته در این گرید, این امکان را دارند که کاربر تنها با درج یک یا چند

ا وف هستند رحرف از هر قسمت دلخواه داده ی موردنظر, کلیه داده هایی که قابل تطبیق با ان حر

ببیند و بر حسب نیاز یکی را انتخاب کند. combo box ه شده توسطدر لیست نمایش داد

( فشردن دکمه ایجاد جهت درج داده جدید 14شکل

Page 31: BS project report

31

( درج داده های جدید15شکل

( درج داده های جدید16شکل

مالی بخش می تواند نام واحد یا دوره "ویرایش"کاربر با انتخاب یک سطر و زدن دکمه : ویرایش

پیامی به وی نمایش ,در صورت عدم انتخاب نام بخش مربوطه ارسال کننده انتخابی را تغییر دهد.

همچنان نمایش داده شده باقی می ماند تا کاربر یا از ویرایش سطر dialog boxداده می شود. و

عدم انتخاب مربوطه منصرف شود یا نام بخش ارسال کننده مورد نظر را انتخاب کند. در صورت

های مربوطه تغییر رنگ داده می شوند تا از combo box ,ها combo boxدوره مالی یا واحد از

درج ناقص جلوگیری شود.

Page 32: BS project report

32

شیرایو( 17شکل

ها در صورت عدم انتخاب شدن cobox( نمایشی از 18شکل

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

یکی را به دلخواه برگزیند.

Page 33: BS project report

33

ها combo box( نمایشی از نحوه انتخاب 19شکل

و کاربر قادر پیام زیر نمایش داده می شود ,با انتخاب ردیف مورد نظر و زدن دکمه حذف : حذف

به حذف سطر مورد نظر است.

20شکل

ارسال کننده سراسری و دوره مالی و واحد مربوط به با توجه به اینکه در گرید نام بخش : جستجو

امکان جستجو بر اساس هر یک از انها میسر خواهد بود. با انتخاب ,ان بخش نمایش داده می شود

کلیه ,و فشردن دکمه جستجو "جستجو بر اساس"فیلد دلخواه و نوشتن مقدار دلخواه در قسمت

داده های مورد نظر به نمایش در خواهد امد.

Page 34: BS project report

34

( جستجوی بخش ارسال کننده مربوطه 21شکل

می توان تعداد سطرهای قابل نمایش در هر صفحه گرید را نیز دلخواه تعیین کرد:

22شکل

کاهش داد: 5می توان تعداد سطرهای نمایشی در هر صفحه را به 5با انتخاب عدد

Page 35: BS project report

35

23شکل

اسناد محلی و سراسری:

میتوان اسناد دلخواه را "اسناد سراسری"و "اسناد محلی"در دو لینک خصوصیات سیستم :

تعریف کرد.

مرورگررا در شاخه زیر قرار داده و سپس از طریق یک explanations.phpباید فایل : نحوه نصب

انرا اجرا کنیم.

Sadaf > finance > financeN > Accountancy > explanations

استفاده کرده و به فیلدهای explanationsاین قسمت ها از جدولی به نام : explanationsجدول

ExplanationId , ExplanationDesc وExplanationIsActive دسترسی دارند. برای هر سند

شرح یا همان نام سند و وضعیت جاری سند اعم از فعال و غیرفعال ,یک شماره شناسایی یکتا

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

است.

ExplanationUnitId وExplanationPeriodId دو فیلد دیگر این جدول هستند که به عنوان

در اینجا استفاده می شوند و دوره مالی و واحد اسناد را periodsو unitsکلید خارجی از جداول

همانند انچه در قسمت تعریف بخش های ارسال کننده شرح داده شد فیلدهای .تعریف می کنند

Page 36: BS project report

36

ConsignSectionPeriodId وConsignSectionUnitId در پیاده سازی اسناد محلی مقدار

NULL به صورت زیر مقدارخواهند گرفت: و در پیاده سازی اسناد سراسری

ExplanationPeriodId برابر شمارهsession جاری فعال در سیستم وExplanationUnitId

خواهند گرفت. عالوه بر این موجودیت های این جدول از دو 1مقداری ثابت و پیش فرض مثال

به نام یا حواله خواهند بود. بنابراین فیلدی ”ORDER“یا سند و ”DOC“نوع

ExplanationType اسناد "وجود دارد که نوع داده موجود را تعیین خواهد کرد. لینک های

را دستکاری می کنند. ”DOC“فقط داده های نوع "اسناد محلی"و "سراسری

عالوه بر این موجودیت ها می توانند .ضعیت فعال یا غیر فعال داشته باشند که این خصیصه در

بر قابل تعیین و تغییر و رویت است.همین گرید توسط کار

CREATE TABLE `accountancy`.`explanations` (

`ExplanationId` int(10) unsigned NOT NULL auto_increment

COMMENT 'کد یکتای شرح ',

`ExplanationDesc` varchar(80) collate utf8_persian_ci NOT NULL default ' ’

COMMENT 'شرح ',

`ExplanationType` enum('DOC','ORDER') collate utf8_persian_ci default 'DOC'

COMMENT 'نوع شرح که برای برگه است یا برای حواله',

`ExplanationIsActive` enum('YES','NO') collate utf8_persian_ci default 'YES'

COMMENT ' ا شرح فعال استیآ ',

Page 37: BS project report

37

`ExplanationUnitId` int(10) unsigned default '0'

COMMENT 'کد واحد برای این شرح برگه',

`ExplanationPeriodId` int(10) unsigned default '0'

COMMENT 'کد دوره مالی برای این شرح برگه',

`ExplanationGlobalityStatus` enum('GLOBAL','LOCAL') collate utf8_persian_ci

default 'GLOBAL'

COMMENT 'سراسری یا محلی بودن شرح برگه',

PRIMARY KEY USING BTREE (`ExplanationId`),

UNIQUE KEY `ExplanationLUnitId`

(`ExplanationUnitId`,`ExplanationPeriodId`,`ExplanationType`,`ExplanationDesc`)

) ENGINE = InnoDB AUTO_INCREMENT = 64 DEFAULT CHARSET = utf8

COLLATE = utf8_persian_ci ROW_FORMAT = DYNAMIC

COMMENT=' های برگهشرح '

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

اختیار کاربر قرار دهد.

کننده بخش های ارسال کننده سراسری و محلی گریدهای این دو قسمت مشابه گریدهای تعریف

در شکل زیر نمایی از این گرید به تصویر کشیده شده و همان امکانات را ارایه می دهند.بوده

است.

Page 38: BS project report

38

( مدارک محلی 24شکل

ویرایش و جستجو مشابه انچه قبال در بخش های ارسال کننده محلی و سراسری ,حذف ,درج

عمل خواهند کرد. ,گفته شد

در هنگام درج و یا ویرایش در صورتیکه کاربر نام سند جدید و یا تغییر یافته را وارد نکند پیام زیر

Dialogکاربر قادر خواهد بود همپنان ”Ok“به وی نمایش داده می شود.در صورت زدن دکمه

Box تمام گریدهای ساخته شده را در اختیار داشته و نام موردنظر را وارد کند.این امکان برای

تعبیه شده است.

Page 39: BS project report

39

( نمایشی از گرید به هنگام درج یا ویرایش اطالعات 25شکل

انتساب اسناد سراسری به واحدها:

از این لینک جهت تعیین دوره های مالی و واحدهای اسناد استفاده می شود. خصوصیات سیستم :

برای هر سند می توان چندین دوره مالی و یا واحد تعریف کرد.

نحوه نصب :

انرا Browserیک طریقرا در شاخه زیر قرار داده و سپس از ExplanationUnits.phpباید فایل

اجرا کنیم.

Sadaf > finance > financeN > Accountancy > ExplanationUnits

: ExplanationUnits جدول

استفاده می شود.که دارای ExplanationUnitsجهت انتساب اسناد سراسری به واحدها از جدول

فیلدهای زیر است:

ExplanationPeriodId, ExplanationId. UniqueId, ExplanationUnitId,

ExplanationId کلید خارجی از جدولexplanations است.که بااستفاده از ان میتوان برای هر

سند سراسری دوره مالی و نام واحد مربوطه را تعیین کرد.

CREATE TABLE `accountancy`.`ExplanationUnits` (

`UniqueId` int(10) unsigned NOT NULL auto_increment

Page 40: BS project report

40

COMMENT 'کد یکتای رابطه',

`ExplanationId` int(10) unsigned default NULL,

`ExplanationUnitId` int(10) unsigned default NULL

COMMENT 'کد واحد برای شرح عمومی',

`ExplanationPeriodId` int(10) unsigned default NULL

COMMENT ' کد دوره مالی برای شرح عمومی',

PRIMARY KEY (`UniqueId`), UNIQUE KEY `CSDId`

(`ExplanationUnitId`,`ExplanationPeriodId`,`ExplanationId`),

KEY `ExplanationId` (`ExplanationId`),

KEY `ExplanationUnitId` (`ExplanationUnitId`),

KEY `ExplanationPeriodId` (`ExplanationPeriodId`), CONSTRAINT

`ExplanationUnits_ibfk_2` FOREIGN KEY

(`ExplanationUnitId`) REFERENCES `units` (`UnitId`), CONSTRAINT

`ExplanationUnits_ibfk_3` FOREIGN KEY

(`ExplanationPeriodId`) REFERENCES `periods` (`PeriodId`),

CONSTRAINT `ExplanationUnits_ibfk_4` FOREIGN KEY (`ExplanationId`)

REFERENCES `explanations` (`ExplanationId`))

ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8

COLLATE=utf8_persian_ci

مشخصات فنی سیستم :

Page 41: BS project report

41

حذف و جستجو را در اختیار کاربر قرار ,ویرایش ,نیاز به گریدی است که امکانات درج

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

درج :

dialogامکان درج سطری جدید در گرید فراهم می شود. در "ایجاد"با زدن دکمه

box دوره مالی و واحد مورد نظر برای ان سند را ,نمایش داده شده می توان نام سند مربوطه

انتخاب کرد.

( انتساب مدرک به واحدها 26شکل

های نمایش داده combo boxدر صورتیکه کاربر از حداقل یکی از ,همانطور که قبال اشاره شد

تغییر combo boxحاشیه , استفاده نکند dialog boxدر دوره مالی و یا واحد مربوطه شده

رنگ داده شده و از درج اطالعات ناقص در گرید جلوگیری می شود.

Page 42: BS project report

42

27شکل

ویرایش :

اطالعات را ویرایش نمود. می توان "ویرایش"سطر موردنظر و فشردن دکمه با انتخاب

( ویرایش سطر مربوطه 28شکل

جستجو :

Page 43: BS project report

43

در اینجا نیز کاربر باید بتواند بر اساس کلیه اطالعاتی که در گرید نمایش داده می شود

حدها میسر است.دوره های مالی و وا ,امکان جستجو بر اساس نام اسنادبه جستجو بپردازد.پس

( جستجو در گرید29شکل

در صورتیکه نتیجه جستجو از اندازه جاری نمایش داده شده ی گرید بیشتر باشد می توان با تغییر

ظاهر مطلوبی از گرید به دست اورد. ,تعداد سطرهای قابل نمایش

نتیجه جستجو) 30شکل

: حذف ردیف انتخاب شده

Page 44: BS project report

44

و , "حذف"کاربر با انتخاب یک سطر دلخواه و زدن دکمه ی ,در گرید نمایش داده شده

نمایش داده شده سطر مورد نظر را حذف کند. dialog Boxاز "OK"سپس انتخاب

پیامی به کاربر نمایش داده می شود. ,همانطور که اشاره شد در صورت عدم انتخاب سطر

بخش مدارک محلی و سراسری:

ده از این لینک ها میتوان مدرک های محلی و سراسری را با استفا خصوصیات سیستم :

تعریف کرد.

: نحوه نصب

انرا Browserرا در شاخه زیر قرار داده و سپس از طریق یک evidences.phpباید فایل

اجرا کنیم.

Sadaf > finance > financeN > Accountancy > evidences

: evidences جدول

بوده و فیلدهای زیر از ان در این بخش evidencesمورد استفاده در این قسمت جدول

به کار می رود:

EvidencesId, EvidencesDesc, EvidencesIsActive.

Page 45: BS project report

45

دو فیلد دیگر این جدول هستند که EvidencePeriodIdو EvidenceUnitId در این قسمت نیز

در اینجا استفاده می شوند و دوره مالی و واحد periodsو unitsبه عنوان کلید خارجی از جداول

همانند انچه در قسمت تعریف اسناد شرح داده شد در اینجا نیز .مدارک را تعریف می کنند

EvidencePeriodId برابر شمارهsession جاری فعال در سیستم وEvidenceUnitId مقداری

ر این موجودیت ها می توانند .ضعیت فعال یا غیر خواهند گرفت. عالوه ب 1ثابت و پیش فرض مثال

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

CREATE TABLE `accountancy`.`evidences` (

`EvidenceId` int(10) unsigned NOT NULL auto_increment

COMMENT 'کد یکتای نوع مدرک ',

`EvidenceDesc` varchar(80) collate utf8_persian_ci NOT NULL default ' '

COMMENT 'شرح نوع مدرک',

`EvidenceIsActive` enum('YES','NO') collate utf8_persian_ci default 'YES'

COMMENT 'آیا نوع مدرک فعال است',

`EvidenceUnitId` int(10) unsigned default '0'

COMMENT 'کد واحد برای این نوع مدرک',

`EvidencePeriodId` int(10) unsigned default '0'

COMMENT 'کد دوره مالی برای این نوع مدرک',

`EvidenceGlobalityStatus` enum('GLOBAL','LOCAL') collate utf8_persian_ci default

'GLOBAL'

Page 46: BS project report

46

COMMENT ' نوع مدرک سراسری یا محلی بودن ',

PRIMARY KEY USING BTREE (`EvidenceId`),

UNIQUE KEY `EvidenceUnitId` USING BTREE

(`EvidenceUnitId`,`EvidencePeriodId`,`EvidenceDesc`)

) ENGINE=InnoDB AUTO_INCREMENT=61 DEFAULT CHARSET=utf8

COLLATE=utf8_persian_ci ROW_FORMAT=DYNAMIC

COMMENT=' مدارک ضمیمه برگه انواع '

مشخصات فنی سیستم :

"مدارک سراسری "جهت تعریف مدارک محلی و از لینک "مدارک محلی "از لینک

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

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

مدارک محلی( گرید 31شکل

Page 47: BS project report

47

( گرید مدارک سراسری 32شکل

این امکانات مشابه سایر حذف و ویرایش تعبیه شده است. ,در گرید استفاده شده امکانات درج

گریدهای نمایش داده شده تا به اینجاست.برای مثال جهت درج داریم:

: درج داده جدید

نمایش dialog boxم می شود. در امکان درج سطری جدید در گرید فراه "ایجاد"با زدن دکمه

داده شده می توان نام مدرک مربوطه و وضعیت فعال بودن مدرک را تعیین کرد.

(ایجاد مدرک جدید 33شکل

Page 48: BS project report

48

در صورت عدم وارد کردن نام مدرک مربوطه در حین درج یا ویرایش پیام زیر به نمایش در می

اید:

(خطای مربوطه 34شکل

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

اسناد است.

: انتساب مدارک به واحدها

از این لینک جهت انتساب مدارک الزاما سراسری به واحدهای خصوصیات سیستم :

موجود در سیستم استفاده می شود.

چندین دوره مالی یا واحد در نظر همچنین به کاربر این اجازه داده می شود که برای یک مدرک

گیرد.

:نحوه نصب

Page 49: BS project report

49

را در شاخه زیر قرار داده و سپس از طریق یک EvidenceUnits.phpباید فایل

Browser .انرا اجرا کنیم

Sadaf > finance > financeN > Accountancy > EvidenceUnits

: EvidenceUnits جدول

است.این جدول دارای EvidenceUnits سیستمجدول مورد استفاده در این قسمت

است.EvidencePeriodId و EvidenceUnitIdو , UniqueId EvidenceIdفیلدهای

EvidenceId کلید خارجی از جدولevidences است. که به کمک ان می توان مدارک سراسری

کلیدهای EvidencePeriodIdو EvidenceUnitId تعریف شده را مورد دسترسی قرار داد.

هستند که به وسیله این دو کلید می توان به دوره های مالی و periods, unitsخارجی از جداول

واحدها دسترسی پیدا کرد.

CREATE TABLE `accountancy`.`EvidenceUnits` (

`UniqueId` int(10) unsigned NOT NULL auto_increment

COMMENT 'کد یکتای رابطه',

`EvidenceId` int(10) unsigned default NULL

COMMENT 'کد نوع مدرک عمومی',

`EvidenceUnitId` int(10) unsigned default NULL

COMMENT 'کد واحد برای نوع مدرک عمومی',

Page 50: BS project report

50

`EvidencePeriodId` int(10) unsigned default NULL

COMMENT ' میکد دوره مالی برای نوع مدرک عمو ',

PRIMARY KEY (`UniqueId`),

UNIQUE KEY `CSDId` (`EvidenceUnitId`,`EvidencePeriodId`,`EvidenceId`),

KEY `EvidenceId` (`EvidenceId`),

KEY `EvidenceUnitId` (`EvidenceUnitId`),

KEY `EvidencePeriodId` (`EvidencePeriodId`),

CONSTRAINT `EvidenceUnits_ibfk_1` FOREIGN KEY (`EvidenceId`) REFERENCES

`evidences` (`EvidenceId`),

CONSTRAINT `EvidenceUnits_ibfk_2` FOREIGN KEY (`EvidenceUnitId`)

REFERENCES `units` (`UnitId`),

CONSTRAINT `EvidenceUnits_ibfk_3` FOREIGN KEY (`EvidencePeriodId`)

REFERENCES `periods` (`PeriodId`)

) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8

COLLATE=utf8_persian_ci

مشخصات فنی سیستم :

حذف و جستجو را در اختیار کاربر قرار ,ویرایش ,نیاز به گریدی است که امکانات درج

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

Page 51: BS project report

51

( انتساب مدارک به واحدها 35شکل

: درج داده جدید

,تعبیه شده است که نام مدرک combo box نمایش داده شده سه عدد dialog Boxدر

و دوره مالی تعریف شده برای مدرک از ان قسمت انتخاب خواهد شد. مورد نظر واحدنام

ها در صورت عدم انتخاب شدن combo box( نمایی از 36شکل

: ویرایش

Page 52: BS project report

52

می تواند نام واحد یا دوره مالی مدرک "ویرایش"کاربر با انتخاب یک سطر و زدن دکمه

پیامی به وی نمایش داده می ,انتخابی را تغییر دهد. در صورت عدم انتخاب نام بخش مربوطه

همچنان نمایش داده شده باقی می ماند تا کاربر یا از ویرایش سطر مربوطه dialog boxشود. و

منصرف شود یا نام مدرک مورد نظر را انتخاب کند. در صورت عدم انتخاب دوره مالی یا واحد از

combo box ها, combo box های مربوطه تغییر رنگ داده می شوند تا از درج ناقص جلوگیری

شود.

ش( ویرای37شکل

Page 53: BS project report

53

( ویرایش 38شکل

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

پیام زیر نمایش داده می شود و کاربر قادر ,با انتخاب ردیف مورد نظر و زدن دکمه حذف حذف:

سطر را حذف کنیم.قادر خواهیم بود " OK"به حذف سطر مورد نظر است. بعد از زدن دکمه

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

تمام گریدها وجود دارد.

( جستجو39شکل

Page 54: BS project report

54

بانک ها:

با استفاده از این لینک ها میتوان مدرک های محلی و سراسری را خصوصیات سیستم :

تعریف کرد. لینک تعریف بانک ها ساده ترین لینک است چرا که تنها کافی است نامی برای بانک

در این قسمت تعریف می گردد ,های قابل دسترس کاربران

انرا Browserاز طریق یک را در شاخه زیر قرار داده و سپس banks.phpباید فایل : نحوه نصب

اجرا کنیم.

Sadaf > finance > financeN > Accountancy > banks

بوده و فیلدهای زیر از ان در این banksجدول مورد استفاده در این قسمت : banks جدول

بخش به کار می رود:

bankId, bank Name.

CREATE TABLE `accountancy`.`banks` (

`BankId` int(10) unsigned NOT NULL auto_increment

COMMENT 'کد یکتای بانک',

`BankName` varchar(80) collate utf8_persian_ci NOT NULL

COMMENT 'نام بانک',

PRIMARY KEY USING BTREE (`BankId`),

UNIQUE KEY `CSDId` (`BankName`)

Page 55: BS project report

55

) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8

COLLATE=utf8_persian_ci

COMMENT='بانک ها '

همان طور که اشاره شد فقط نام بانک از کاربر گرفته می شود. مشخصات فنی سیستم :

dialog box های گرید این لینک تنها از یکtext field کنند. جهت گرفتن نام بانک استفاده می

( بانک ها 40شکل

: درج

Page 56: BS project report

56

( درج بانک جدید 41شکل

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

( ویرایش 42شکل

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

ویرایش )43شکل

Page 57: BS project report

57

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

44شکل

حساب های شعب بانکی :

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

سیستم استفاده می شود.

را در شاخه زیر قرار داده و سپس از طریق یک BankBranches.phpباید فایل :نحوه نصب

Browser .انرا اجرا کنیم

Sadaf > finance > financeN > Accountancy > BankBranches

: BankBranches جدول

CREATE TABLE `accountancy`.`BankBranches` (

Page 58: BS project report

58

`BranchId` int(10) unsigned NOT NULL auto_increment

COMMENT 'کد یکتای شعبه',

`BankId` int(10) unsigned NOT NULL COMMENT 'کد بانک شعبه',

`BranchName` varchar(80) collate utf8_persian_ci NOT NULL

COMMENT 'نام شعبه',

`BranchCode` varchar(15) collate utf8_persian_ci NOT NULL

COMMENT 'کد شعبه',

`BranchAddress` varchar(80) collate utf8_persian_ci NOT NULL

COMMENT 'آدرس شعبه',

`BranchTelNo` char(11) collate utf8_persian_ci default NULL

COMMENT 'تلفن شعبه',

`BranchUnitId` int(10) unsigned NOT NULL default '0'

COMMENT 'کد واحد برای شعبه متمرکز',

`BranchPeriodId` int(10) unsigned NOT NULL default '0'

COMMENT ' متمرکزکد دوره مالی برای شعبه ',

`BranchGlobalityStatus` enum('GLOBAL','LOCAL') character set utf8 NOT NULL

default 'GLOBAL'

COMMENT 'متمرکز یا نامتمرکز بودن شعبه',

`BranchIsActive` enum('YES','NO') character set utf8 NOT NULL default 'YES'

COMMENT ' ؟آیا شعبه فعال است ',

Page 59: BS project report

59

PRIMARY KEY (`BranchId`),

UNIQUE KEY `CSDId1` (`BankId`,`BranchName`),

UNIQUE KEY `CSDId2` (`BankId`,`BranchCode`),

KEY `BankId` (`BankId`),

CONSTRAINT `BankBranches_ibfk_1` FOREIGN KEY (`BankId`) REFERENCES

`banks` (`BankId`)

) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8

COLLATE=utf8_persian_ci

COMMENT=' های بانکشعبه '

ادرس و کد شعبه تعریف شده برای هر ,نیاز به گریدی است که نام خصوصیات فنی سیستم :

بانک را نمایش دهد. طبیعتا برای هر شعبه در لینکی دیگر امکان تعریف دوره های مالی و

واحدهای مربوط به هر شعبه سراسری بانکی را داریم.

45شکل

Page 60: BS project report

60

dialog Boxامکان درج سطری جدید در گرید فراهم می شود. در "ایجاد"با زدن دکمه درج :

تعبیه شده است که نام بانک مربوط به هر شعبه تعریف شده برای را تعیین combo box عددیک

از کاربر گرفته می شود. text fieldکد شعبه و ادرس شعبه بوسیله ,میکند. نام شعبه

اطالعات جدید ( درج46شکل

( انتخاب نام بانک 47شکل

می تواند اطالعات شعبه انتخابی را "ویرایش" کاربر با انتخاب یک سطر و زدن دکمه ویرایش :

تغییر دهد.

Page 61: BS project report

61

( ویرایش48شکل

کاربر با انتخاب یک سطر دلخواه و زدن دکمه ی ,در گرید نمایش داده شده حذف :

نمایش داده شده سطر مورد نظر را حذف کند. dialog Boxاز "OK"و سپس انتخاب , "حذف"

پیامی به کاربر نمایش داده می شود. ,ز در صورت عدم انتخاب سطرمانند سایر گریدها در اینجا نی

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

نام و یا ادرس ان انجام ,کد شعبه ,دیگر در این گرید است. جستجو می تواند بر اساس نام بانک

شود.

کاربر می تواند با انتخاب تعداد سطرهای ,در صورتی که نتیجه جستجو از یک صفحه بیشتر باشد

نمایش داده ها در هر صفحه را به میل خود تغییر دهد. ,دلخواه برای نمایش در هر گرید

Page 62: BS project report

62

( جستجو 49شکل

حساب های شعب :

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

تغییر یا جستجوی انها وجود دارد.به عالوه حساب های شعب به صورت سراسری یا محلی تعریف

می شوند.

را در شاخه زیر قرار داده و سپس از طریق یک BranchAccount.phpباید فایل : نحوه نصب

Browser .انرا اجرا کنیم

Sadaf > finance > financeN > Accountancy > BranchAccount

BranchAccount جدول مورد استفاده در این قسمت سیستم : BranchAccount جدول

است.

Page 63: BS project report

63

BranchId کلید خارجی از جدولBranches است. که به کمک ان می توان شعبات تعریف شده

کلیدهای BranchAccountPeriodIdو BranchAccountUnitId را مورد دسترسی قرار داد.

هستند که به وسیله این دو کلید می توان به دوره های مالی و periods, unitsخارجی از جداول

در BranchAccountPeriodIdو BranchAccountUnitIdفیلدهای واحدها دسترسی پیدا کرد.

و در پیاده سازی حساب های سراسری به NULLپیاده سازی بخش ارسال کننده محلی مقدار

ت زیر مقدارخواهند گرفت:صور

BranchAccountPeriodId برابر شمارهsession جاری فعال در سیستم و

BranchAccountUnitId خواهند گرفت. 1مقداری ثابت و پیش فرض مثال

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

CREATE TABLE `accountancy`.`BranchAccounts` (

`BranchAccountId` int(10) unsigned NOT NULL auto_increment

COMMENT 'کد یکتای حساب در شعبه',

`BranchId` int(10) unsigned NOT NULL

COMMENT ' ای که حساب در آن استکد یکتای شعبه ',

`BranchAccountDesc` varchar(80) collate utf8_persian_ci NOT NULL default ' '

COMMENT 'شرح حساب در شعبه',

`BranchAccountCode` varchar(50) collate utf8_persian_ci NOT NULL default ' '

COMMENT 'کد حساب در شعبه',

Page 64: BS project report

64

`BranchAccountSHABANo` char(26) collate utf8_persian_ci default NULL

COMMENT ' اره شبا برای حسابشم ',

`BranchAccountType`

enum('JARI','SIBA','JAM','PASANDAZ','SEPORDE','SEPORDE_VIGE','SEPORDE_KU

TAH','SEPORDE_BOLAND') collate utf8_persian_ci default 'JARI'

COMMENT 'نوع حساب در شعبه',

`BranchAccountIsActive` enum('YES','NO') collate utf8_persian_ci default 'YES'

COMMENT 'آیا این حساب شعبه فعال است؟',

`BranchAccountUnitId` int(10) unsigned default '0'

COMMENT 'کد واحد برای این حساب در شعبه',

`BranchAccountPeriodId` int(10) unsigned default '0'

COMMENT ' در شعبهکد دوره مالی برای این حساب ',

`BranchAccountGlobalityStatus` enum('GLOBAL','LOCAL') collate utf8_persian_ci

default 'GLOBAL'

COMMENT 'سراسری یا محلی بودن حساب شعبه',

PRIMARY KEY USING BTREE (`BranchAccountId`),

UNIQUE KEY `BranchAccountLUnitId` USING BTREE

(`BranchAccountUnitId`,`BranchAccountPeriodId`,`BranchAccountCode`),

KEY `BranchId` (`BranchId`),

CONSTRAINT `BranchAccounts_ibfk_1` FOREIGN KEY (`BranchId`) REFERENCES

`BankBranches` (`BranchId`)

Page 65: BS project report

65

) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8

COLLATE=utf8_persian_ci ROW_FORMAT=DYNAMIC

COMMENT=' های شعبات بانکحساب '

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

کد حساب و وضعیت فعال یا غیرفعال ,نام و نوع حساب ,اختیار کاربر قرار دهد. باید بتوان شعبه

سیبا و جم است. پس ,جاری ,بودن هر حساب را تعیین کرد.هر حساب دارای چهار نوع پس انداز

می تواند یکی از این چهار نوع ,فعال یا غیرفعال بودن ,هر حساب عالوه بر سراسری یا محلی بودن

را داشته باشد.

ویر کشیده شده است.در شکل زیر نمایی از این گرید به تص

( گرید حساب های محلی شعب50شکل

در صورتیکه کاربر وضعیت فعال بودن حساب را تعیین ,همانطور که در شکل زیر دیده می شود

پیش فرض غیرفعال برای ان حساب انتخاب خواهد شد. ,نکند

Page 66: BS project report

66

حساب های محلی شعب دیگر( 51شکل

کد و نوع حساب و همچنین شعبه مربوط به , تعیین نامامکان ایجاد یک حساب جدید و درج :

وضعیت ان غیرفعال ,حساب وجود دارد.در صورت عدم انتخاب وضعیت فعال بودن حساب مربوطه

ثبت خواهد شد.

حساب محلی جدیددرج ( 52شکل

را می تواند اطالعات حساب انتخابی "ویرایش"کاربر با انتخاب یک سطر و زدن دکمه ویرایش :

پیامی به وی نمایش داده ,تغییر دهد. در اینجا نیز در صورت عدم انتخاب شعبه حساب مربوطه

Page 67: BS project report

67

همچنان نمایش داده شده باقی می ماند تا کاربر یا از ویرایش سطر dialog boxمی شود. و

مربوطه منصرف شود یا شعبه حساب مورد نظر را انتخاب کند.

عبحساب های محلی ش شیرایو( 54شکل

پیام زیر نمایش داده می شود و کاربر قادر ,با انتخاب ردیف مورد نظر و زدن دکمه حذف حذف :

به حذف سطر مورد نظر است.

اخطار حذف امیپ(55شکل

شعبه و وضعیت فعال بودن هر حساب نمایش ,کد ,نوع ,با توجه به اینکه در گرید نام جستجو :

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

Page 68: BS project report

68

کلیه داده های ,و فشردن دکمه جستجو "جستجو بر اساس"نوشتن مقدار دلخواه در قسمت

مورد نظر به نمایش در خواهد امد.

ی حساب های محلی شعبجستجو( 56شکل

سطوح کد :

هدف فراهم اوردن امکانی جهت تعریف سطوح کد در سیستم و خصوصیات سیستم :

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

,جستجو و حذف اطالعات است. هر سطح عالوه بر نام و وضعیت ,ویرایش ,درج سطح جدید

قسمت تعیین نمی شود. دارای نوع نیز هست. البته نوع سطوح در این

را در شاخه زیر قرار داده و سپس از طریق یک AccountCodeLevels.phpباید فایل : نحوه نصب

Browser .انرا اجرا کنیم

Sadaf > finance > financeN > Accountancy > AccountCodeLevels

: AccountCodeLevels جدول

Page 69: BS project report

69

CREATE TABLE `accountancy`.`AccountCodeLevels` (

`CodeLevelId` int(10) unsigned NOT NULL auto_increment,

`CodeLevelType` enum('COST_CODE','CREDIT_CODE','COST_CENTER_CODE')

character set utf8 NOT NULL default 'COST_CODE'

COMMENT ' ؟این سطح برای ساختار چه کدینگی است ',

`CodeLevelTitle` varchar(80) collate utf8_persian_ci default NULL,

`CodeLevelIsActive` enum('YES','NO') collate utf8_persian_ci default 'YES',

PRIMARY KEY (`CodeLevelId`),

UNIQUE KEY `CSDId2` USING BTREE (`CodeLevelType`,`CodeLevelTitle`)

) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8

COLLATE=utf8_persian_ci

COMMENT='سطوح کد حساب'

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

اختیار کاربر قرار دهد.

در شکل زیر نمایی از این گرید به تصویر کشیده شده است.

Page 70: BS project report

70

سطوح کد حساب دیگر( 57شکل

می توان سطح کد جدیدی ایجاد کرد. "درج"با فشردن دکمه : درج داده جدید

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

Text Field برای گرفتن نام سطح و از یکRadio Box .برای تعیین وضعیت استفاده شده است

در صورتیکه کاربر نام سطح مورد نظر برای درج را وارد نکند به او پیامی نمایش داده شده و از وی

,خواسته می شود اطالعات را کامل کند. در صورت عدم انتخاب وضعیت نیز وضعیت سطح

غیرفعال در نظر گرفته می شود.

جدید سطح کد حسابدرج ( 58شکل

کاربر می تواند با ,در گرید اختصاص داده شده به تعریف سطوح کد : ویرایش ردیف انتخابی

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

مربوطه یا وضعیت فعال بودن ان را تغییر دهد.

Page 71: BS project report

71

سطوح کد حساب شیرایو( 59شکل

جستجوی ردیف ها بر اساس یک فیلد انتخابی از سوی کاربر امکانی دیگر در این امکان جستجو:

گرید است. جستجو می تواند بر اساس نام یا وضعیت فعال بودن سطوح انجام شود.

کاربر می تواند با انتخاب ,در اینجا نیز در صورتی که نتیجه جستجو از یک صفحه بیشتر باشد

نمایش داده ها در هر صفحه را به میل خود ,مایش در هر گرید تعداد سطرهای دلخواه برای ن

تغییر دهد.

ی سطوح کد حسابجستجو( 60شکل

Page 72: BS project report

72

کاربر با انتخاب یک سطر دلخواه و زدن ,در گرید نمایش داده شده : حذف ردیف انتخاب شده

نظر را نمایش داده شده سطر مورد dialog Boxاز "OK"و سپس انتخاب , "حذف"دکمه ی

حذف کند.

کدحساب هر دوره مالی:

میتوان periodsدر این قسمت برای هر دوره مالی موجود در جدول مشخصات سیستم :

چندین کد حساب تعریف و برای کد حساب های هر دوره ترتیبی یکتا نیز مشخص کرد. البته

ترتیب های اشاره شده در این گرید تعریف نمی شوند.

را در شاخه زیر قرار داده و سپس از AccountCodeLevelPeriods.phpفایل باید : نحوه نصب

انرا اجرا کنیم. Browserطریق یک

Sadaf > finance > financeN > Accountancy > AccountCodeLevelPeriods

,AccountCodeLevels جداول الزم در این قسمت :AccountCodeLevelPeriods جدول

Accounts, periods AccountCodeLevelPeriod .می باشد

دارای فیلدهای به شرح زیر است: AccountCodeLevelPeriodsجدول

UniqueId, CodeLevelId, CodeLevelPeriodId, CodeLevelOrder,

CodeLevelHasNature.

Page 73: BS project report

73

CodeLevelHasNature فیلدهاینشان می دهد ایا کدحساب دوره مالی موجودیت دارد یا نه.

CodeLevelId, CodeLevelPeriodId کلیدهای خارجی از جدولAccountCodeLevels و

periods .می باشند CodeLevelOrder فیلدی است که ترتیب اختصاص داده شده به هر یک از

سطوح کد را تعیین می کند. اما در این گرید تعریف نخواهد شد.

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

اختیار کاربر قرار دهد.

در شکل زیر نمایی از این گرید به تصویر کشیده شده است.

کدهای حساب هر دوره مالی دیگر( 61شکل

dialog boxامکان درج سطری جدید در گرید فراهم می شود. در "ایجاد"با زدن دکمه : درج

نمایش داده شده می توان نام دوره مالی دلخواه و سطح کد مورد نظر برای ان دوره را انتخاب کرد

استفاده می شود. Combo Boxپس برای هر یک از یک عدد

Page 74: BS project report

74

کدهای حساب هر دوره مالی دیگر( 62شکل

این گرید دارای امکان ویرایش نمی باشد. : ویرایش

پیام زیر نمایش داده می شود و کاربر قادر ,با انتخاب ردیف مورد نظر و زدن دکمه حذف حذف :

به حذف سطر مورد نظر است.

اخطار حذف امیپ( 63شکل

,با توجه به اینکه در گرید نام دوره مالی وسطح کد مربوط به ان نمایش داده می شود جستجو :

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

Page 75: BS project report

75

کلیه داده های مورد نظر به ,و فشردن دکمه جستجو "جستجو بر اساس"دلخواه در قسمت

نمایش در خواهد امد.

ی کدهای حساب هر دوره مالیجستجو( 64شکل

: دسته چک های سراسری و محلی

جهت تعریف چک های محلی و از "دسته چک محلی"از لینک خصوصیات سیستم :

,جهت تعریف چک های سراسری استفاده می شود. شماره سریال "دسته چک سراسری"لینک

کمترین شماره و بیشترین شماره دسته چک و وضعیت فعال بودن از اطالعاتی است که برای کاربر

ابل رویت و تغییر و قابل جستجو است.نمایش داده می شود. و توسط وی ق

را در شاخه زیر قرار داده و سپس از طریق AccountChequeBooks.phpباید فایل :نحوه نصب

انرا اجرا کنیم. Browserیک

Sadaf > finance > financeN > Accountancy > AccountChequeBooks

Page 76: BS project report

76

جدول مورد استفاده در این قسمت ها : AccountChequeBooks جدول

AccountChequeBooks بوده است.

CREATE TABLE `accountancy`.`AccountChequeBooks` (

`ChequeBookId` int(10) unsigned NOT NULL auto_increment

COMMENT 'کد یکتای دسته چک',

`ChequeBookBranchAccountId` int(10) unsigned default NULL

COMMENT 'کد حساب در شعبه برای این دسته چک',

`ChequeBookSerialNo` varchar(50) collate utf8_persian_ci NOT NULL default ' '

COMMENT 'شماره سریال دسته چک',

`ChequeBookMinNo` int(10) unsigned default NULL

COMMENT ' ماره چک در این دسته چککمترین ش ',

`ChequeBookMaxNo` int(10) unsigned default NULL

COMMENT 'بیشترین شماره چک در این دسته چک',

`ChequeBookIsActive` enum('YES','NO') collate utf8_persian_ci default 'YES'

COMMENT ' ؟آیا این حساب شعبه فعال است ',

`ChequeBookUnitId` int(10) unsigned default '0'

COMMENT 'کد واحد برای این دسته چک',

`ChequeBookPeriodId` int(10) unsigned default '0'

Page 77: BS project report

77

COMMENT 'کد دوره مالی برای این دسته چک',

`ChequeBookGlobalityStatus` enum('GLOBAL','LOCAL') collate utf8_persian_ci

default 'GLOBAL'

COMMENT 'سراسری یا محلی بودن دسته چک',

PRIMARY KEY USING BTREE (`ChequeBookId`),

UNIQUE KEY `ChequeBookLUnitId` USING BTREE

(`ChequeBookUnitId`,`ChequeBookPeriodId`,`ChequeBookSerialNo`)

) ENGINE=InnoDB AUTO_INCREMENT=45 DEFAULT CHARSET=utf8

COLLATE=utf8_persian_ci

COMMENT = 'تعریف دسته چکهای مربوط به هر حساب شعبه بانک '

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

ChequeBookId, ChequeBookBranchAccountId, ChequeBookSerialNo,

ChequeBookMinNo, ChequeBookMaxNo, ChequeBookIsActive,

ChequeBookUnitId, ChequeBookPeriodId,ChequeBookBranchAccountId.

شرح یا همان نام دسته چک و وضعیت جاری چک ,برای هر دسته چک یک شماره شناسایی یکتا

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

تعیین و تغییر و رویت است.

ChequeBookUnitId وChequeBookPeriodId دو فیلد دیگر این جدول هستند که به عنوان

در اینجا استفاده می شوند و دوره مالی و واحد دسته periodsو unitsکلید خارجی از جداول

Page 78: BS project report

78

همانند انچه در قسمت تعریف بخش های ارسال کننده شرح داده شد .دچک را تعریف می کنن

در پیاده سازی دسته چک های محلی ChequeBookPeriodIdو ChequeBookUnitIdفیلدهای

و در پیاده سازی دسته چک های سراسری به صورت زیر مقدارخواهند گرفت: NULLمقدار

ChequeBookPeriodId برابر شمارهsession ری فعال در سیستم و جاChequeBookUnitId

خواهند گرفت. شماره سریال دسته چک و کمترین و بیشترین 1مقداری ثابت و پیش فرض مثال

عالوه شماره چک هر دسته چک از دیگر اطالعاتی است که برای هر دسته چک نگهداری می شود.

بوده و AccountCodeLevelsکلید خارجی از جدول ChequeBookBranchAccountIdبر این

برای هر دسته چک کد حساب دسته چک در شعبه مربوط به ان دسته چک را تعیین می کند.

های مربوط به dialog boxدر کلیه ,با توجه به توضیحات داده شده مشخصات فنی سیستم :

شماره چک کترین و بیشترین ,برای گرفتن شماره سریال text fieldعدد 3درج و ویرایش به

نیز جهت گرفتن کدحساب در شعبه دسته چک combo boxدسته چک نیازمندیم. و یک عدد

می خواهیم.

Page 79: BS project report

79

تعریف دسته چک های مربوط به هر حساب شعبه بانکی دیگر( 65شکل

امکان درج سطری جدید در گرید فراهم می شود. همان طور که اشاره "ایجاد"با زدن دکمه : درج

تعبیه شده است که کد حساب در شعبه تعریف شده combo box یک عدد dialog Boxشد در

بیشترین و کمترین شماره چک دسته چک ,برای دسته چک را تعیین میکند. شماره سریال

در اینجا نیز در صورتیکه کاربر ,از کاربر گرفته می شود. مثل لینک های قبل text fieldبوسیله

وضعیت پیش فرض غیرفعال ثبت خواهد شد. ,ا تعیین نکندوضعیت فعال بودن دسته چک ر

دسته چک جدیددرج ( 66شکل

Page 80: BS project report

80

می تواند اطالعات دسته چک انتخابی "ویرایش"کاربر با انتخاب یک سطر و زدن دکمه : ویرایش

پیامی ,را تغییر دهد. در اینجا نیز در صورت عدم انتخاب کد حساب در شعبه دسته چک مربوطه

همچنان نمایش داده شده باقی می ماند تا کاربر یا از dialog boxبه وی نمایش داده می شود. و

ویرایش سطر مربوطه منصرف شود یا کد حساب دسته چک مورد نظر را انتخاب کند.

دسته چک ها شیرایو( 67شکل

امکان جستجوی ردیف ها بر اساس یک فیلد انتخابی از سوی کاربر امکانی دیگر در این جستجو:

کمترین و ,کد حساب در شعبه ,گرید است. جستجو می تواند بر اساس شماره سریال دسته چک

یا بیشترین شماره دسته چک و وضعیت فعال یا غیرفعال بودن ان انجام شود.

کاربر می تواند با انتخاب تعداد سطرهای ,صفحه بیشتر باشد در صورتی که نتیجه جستجو از یک

نمایش داده ها در هر صفحه را به میل خود تغییر دهد. البته ,دلخواه برای نمایش در هر گرید

Page 81: BS project report

81

این امکان که بتوان تعداد سطرهای نمایشی در گرید جاری را تغییر ,همانطور که پیشتر اشاره شد

های این سیستم است.از خصوصیات ثابت گرید ,داد

جستجوی دسته چک های مربوط به هر حساب شعبه بانک( 68شکل

: به واحدها دسته چک هاانتساب

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

استفاده می شود.

را در شاخه زیر قرار داده و سپس از AccountChequeBookUnits.phpباید فایل : نحوه نصب

انرا اجرا کنیم. Browserطریق یک

Sadaf > finance > financeN > Accountancy > AccountChequeBookUnits

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

ود.استفاده می ش AccountChequeBookUnitsاست.جدول

Page 82: BS project report

82

CREATE TABLE `accountancy`.`AccountChequeBookUnits` (

`UniqueId` int(10) unsigned NOT NULL auto_increment

COMMENT 'کد یکتای رابطه',

`ChequeBookId` int(10) unsigned default NULL

COMMENT 'کد دسته چک',

`ChequeBookUnitId` int(10) unsigned default NULL

COMMENT 'کد واحد برای دسته چک',

`ChequeBookPeriodId` int(10) unsigned default NULL

COMMENT ' کد دوره مالی برای دسته چک',

PRIMARY KEY (`UniqueId`), UNIQUE KEY `CSDId`

(`ChequeBookUnitId`,`ChequeBookPeriodId`,`ChequeBookId`),

KEY `ChequeBookId` (`ChequeBookId`),

KEY `ChequeBookUnitId` (`ChequeBookUnitId`),

KEY `ChequeBookPeriodId` (`ChequeBookPeriodId`),

CONSTRAINT `ChequeBookUnits_ibfk_1` FOREIGN KEY (`ChequeBookId`)

REFERENCES `AccountChequeBooks` (`ChequeBookId`),

CONSTRAINT `ChequeBookUnits_ibfk_2` FOREIGN KEY (`ChequeBookUnitId`)

REFERENCES `units` (`UnitId`),

CONSTRAINT `ChequeBookUnits_ibfk_3` FOREIGN KEY (`ChequeBookPeriodId`)

REFERENCES `periods` (`PeriodId`)

Page 83: BS project report

83

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8

COLLATE=utf8_persian_ci

COMMENT = 'انتساب دسته چک های سراسری به واحدها '

همانطور که نشان داده شده است که جدول فوق دارای فیلدهای زیر است:

ChequeBookPeriodId, ChequeBookId UniqueId, ChequeBookUnitId,

ChequeBookId کلید خارجی از جدولAccountChequeBooks است.که بااستفاده از ان میتوان

برای هر دسته چک سراسری دوره مالی و نام واحد مربوطه را تعیین کرد.

ChequeBookPeriodId وChequeBookUnitId کلیدهای خارجی از جداولperiods, units

وان به دوره های مالی و واحدها دسترسی پیدا کردهستند که به وسیله این دو کلید می ت

انتساب دسته چک های سراسری به واحدها دیگر(69شکل

مشخصات فنی سیستم :

Page 84: BS project report

84

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

درج دسته چک جدید( 70شکل

: ویرایش

بروز رسانی دسته چک ها( 71شکل

نام واحد و دوره مالی میسر ,این امکان بر اساس فیلدهای سماره سریال دسته چک : جستجو

است.

Page 85: BS project report

85

انتساب دسته چک های سراسری به واحدها دیگر( 72شکل

تعریف واحدها :

از این لینک جهت تعریف واحدهای موجود در سیستم استفاده می خصوصیات سیستم :

ایجاد و ویرایش و حذف واحدها به کاربران داده می شود. , شود.و امکان نمایش

Browserرا در شاخه زیر قرار داده و سپس از طریق یک AccUnits.phpباید فایل : نحوه نصب

انرا اجرا کنیم.

Sadaf > finance > financeN > Accountancy > AccUnits

مربوطه به شرح زیر است :از کدها مشخص است که فیلدهای جدول : AccUnits جدول

UnitId , UnitName , UnitNameShowed, HasCredit, IsSub1Unit, IsRelatedUnit

IsAccUnit, IsStoreUnit , IsTransferUnit ,UnitStatus , MainUnitId ,

GoodsUnitCode ,SalaryUnitCode , IsCompoundUnit

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

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

Page 86: BS project report

86

لیست "تعریف شده ی Tabواسط این قسمت دارای دو ,همانطور که در شکل دیده می شود

است. "تعریف واحدها"و "واحدها

تعریف واحدها جهت ایجاد یک Tabجهت نمایش واحدهای تعریف شده و از لیست واحدها Tabاز

دوم به کاربر Tabصفحه مربوط به "ایجاد"واحد جدید استفاده می شود. یعنی با زدن دکمه

نمایش داده می شود.

دوم مثل سایر گریدهای توضیح داده Tabاز صفحه "حذف"و "ویرایش"دو دکمه دیگر یعنی

د کرد.شده کار خواهن

( گرید تعریف واحدها 73شکل

Page 87: BS project report

87

دوم امده و کلیه اطالعات الزم برای Tabهمانطور که اشاره شد با زدن دکمه ایجاد کاربر به درج :

ایجاد واحد جدید به وی نمایش داده می شود.

مربوط به واحد حسابداری دارای Check box ,در شکل زیر در صورت انتخاب واحد حسابداری

با توجه به ,اعتبار نیز به حالت فعال در خواهد امد. کد واحد نیز به صورت اتوماتیک با هر ایجاد

یک واحد افزایش می یابد. ,اخرین مقدار فیلد مرتبطش در جدول

تعریف واحد جدید( 74شکل

کلیه اطالعات سطر انتخاب ,با انتخاب سطر مربوط برای ویرایش و زدن دکمه ویرایش ویرایش :

دوم نمایش داده شده و کاربر می تواند اطالعات دلخواه خود را تغییر دهد. Tabشده در

Page 88: BS project report

88

کد واحد سطر مربوطه نمایش داده می شود. و ,در این حالت مسلم است در قسمت کد واحد

ه تغییر کد واحد می تواند انرا تغییر دهد. اما نمی تواند اخرین مقدار جاری کاربر در صورت تمایل ب

کد واحد در جدول را ببیند.

( ویرایش 75شکل

Page 89: BS project report

89

( ویرایش 76شکل

و , "حذف"کاربر با انتخاب یک سطر دلخواه و زدن دکمه ی ,در گرید نمایش داده شده حذف :

نمایش داده شده سطر مورد نظر را حذف کند. dialog Boxاز "OK"سپس انتخاب

پیامی به کاربر نمایش داده می شود. ,در صورت عدم انتخاب سطر

Page 90: BS project report

90

حذف( 77شکل

امکان جستجو بر ,با توجه به اینکه در گرید اطالعات مربوط به هر واحد نمایش داده می شود

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

کلیه داده های مورد نظر به ,و فشردن دکمه جستجو "جستجو بر اساس"مقدار دلخواه در قسمت

نمایش در خواهد امد.

Page 91: BS project report

91

( جستجو : 78شکل

تعریف امضاها :

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

تاییدیه ها میباشد . در اینجا نیاز به گریدی ,چک ها,حواله ها,امضا تعریف میشود شامل برگه ها

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

گرید از نظر ساختاری مشابه گرید های قبل است.

انرا Browserرا در شاخه زیر قرار داده و سپس از طریق یک Signs.phpباید فایل : نحوه نصب

.اجرا کنیم

Sadaf > finance > financeN > Accountancy > Signs

هر دسته امضا شامل اولویت میباشند.این اولویت ها مرتب بوده وبه صورت : Signs جدول

تا تعداد امضاها تعریف میشود.و در طول عمل درج و حذف مرتب باقی میمانند.فیلد 1صعودی از

است . SignOrderمربوط به اولویت ها

Page 92: BS project report

92

کد نوع ,کد یکتای امضای واحد ,کد یکتای امضا,هر امضا دارای مشخصات کد دوره مالی

نام و سمت امضا کننده و اینکه امضا فعال هست یا نه... و اطالعات مربوط به ,اولویت امضا,گزارش

که دارای فیلدهای زیر میباشد ذخیره میشود. Signامضاها در جدول

SiqnId, SignUnitId, SignPeriodId ,SignRequestId ,SignOrder,

SignSpecialName,SignSpecialPosition,SignIsActive.

CREATE TABLE `accountancy`.`signs` (

`SignId` int(10) unsigned NOT NULL auto_increment

COMMENT 'کد یکتای امضا',

`SignUnitId` int(10) unsigned NOT NULL COMMENT 'کد یکتای واحد امضا',

`SignPeriodId` int(10) unsigned NOT NULL COMMENT 'کد یکتای دوره مالی امضا',

`SignReportId` int(10) unsigned default NULL COMMENT 'کد نوع گزارش',

`SignOrder` tinyint(3) unsigned default NULL COMMENT 'ترتیب امضا',

`SignerSpecialName` varchar(80) collate utf8_persian_ci default NULL

COMMENT 'نام امضاء کننده خاص این گزارش',

`SignerSpecialPosition` varchar(80) collate utf8_persian_ci default NULL

COMMENT 'سمت امضاء کننده خاص این گزارش',

`SignIsActive` enum('YES','NO') collate utf8_persian_ci default 'YES'

COMMENT 'آیا امضاء فعال است؟',

Page 93: BS project report

93

PRIMARY KEY (`SignId`),

KEY `signReportId` (`SignReportId`),

KEY `FKSignPeriodId` (`SignPeriodId`),

KEY `FKSignUnitId` (`SignUnitId`),

CONSTRAINT `Sign_Period` FOREIGN KEY (`SignPeriodId`) REFERENCES

`periods` (`PeriodId`),

CONSTRAINT `Sign_Unit` FOREIGN KEY (`SignUnitId`) REFERENCES `units`

(`UnitId`)

) ENGINE=InnoDB AUTO_INCREMENT=56 DEFAULT CHARSET=utf8

COLLATE=utf8_persian_ci

COMMENT='امضاء گزارشات'

SignRequestId برگه و تاییدیه بودن ان را تعیین می کند. ,چک ,شناسه نوع امضا بوده و حواله

,تعبیه شده است که نوع گزارش combo boxنمایش داده شده سه عدد dialog Boxدر :درج

.نام واحد مورد نظرو دوره مالی تعریف شده برای ان را تعیین می کنند

.

ComboBox مثل سایرین های به کار رفته در این گرید, این امکان را دارند که کاربر تنها با درج

یک یا چند حرف از هر قسمت دلخواه داده ی موردنظر, کلیه داده هایی که قابل تطبیق با ان

Page 94: BS project report

94

ببیند و بر حسب نیاز یکی را comboBoxحروف هستند را در لیست نمایش داده شده توسط

انتخاب کند.

( امضاها 78شکل

خطای زیر نمایش داده ,در صورتیکه درهنگام درج یا ویرایش اولویت صحیح وارد نشود :ویرایش

میشود. اولویت تعریف شده برای امضاها قابل ویرایش نیست.

Page 95: BS project report

95

( ویرایش 79شکل

شود.خطای پایین نمایش داده می,در صورتیکه درهنگام درج یا ویرایش اطالعات کامل وارد نشود

( پیام اخطار در صورت کامل نبودن اطالعات ویرایش 80شکل

دکمه حذف مانند سایر گریدها عمل خواهد کرد. :حذف

Page 96: BS project report

96

( حذف 81شکل

بع :منا

www.sencha.com/

www.w3schools.com/

Learning Ext JS written by Shea Frederick.....Colin Ramsay.....Steve

'Cutter' Blades