bs project report
TRANSCRIPT
1
گروه مهندسي كاويپمرت -دادکشنه مهندسي
رپ وژ ه كا رشنا سي
سیستم امور مالي
عطیه شبان –اراهی دهندگان : مهدهی ذبیحي
استاد راهنما
دكتر محسن كا اه ني
بهمن 1390
2
: چکیده
بوده است. در واقع یکپارچه امور مالی سیستم هدف این پروژه طراحی قسمت هایی از
ایجاد و هدف اصلیند ، ه اطراحی شدسدف حسابداری این قسمت ها برای زیر سیستم بخش
برای مکانیزه کردن این سیستم سعی . می باشد و مدیریت گزارشات امور مالی امکانی برای ثبت
و تهیه شده است تا با استفاده از سدف ) سیستم های دانشگاه فردوسی ( به عنوان زیر ساخت
تعدادی ماژول تحت وب که در هریک از پورتال های خاص منظوره سدف نصب می شود بخشی
را پیاده سازی کرد. امور مالیازسیستم
, Html , Data Store , EXT , Event Listener ,Combobox سدف –کلید واژه
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 ................................................................................... : ستمیس یها یازمندین
4
20 ......................................................................... : ستمیس یساز ادهیپ یمعرف -3-3
20 ................................................................. :یسراسر و یمحل کننده ارسال بخش
27 ........................................................ :واحدها به کننده ارسال یها بخش انتساب
35 .................................................................................. :یسراسر و یمحل اسناد
39 .................................................................... :واحدها به یسراسر اسناد انتساب
44 ...................................................................... :یسراسر و یمحل مدارک بخش
48 .............................................................................. : واحدها به مدارک انتساب
54 ....................................................................................................... :ها بانک
57 ................................................................................ : یبانک شعب یها حساب
62 ........................................................................................ : شعب یها حساب
68 ................................................................................................... : کد سطوح
72 ................................................................................. :یمال دوره هر کدحساب
75 ................................................................... : یمحل و یسراسر یها چک دسته
81 ..................................................................... : واحدها به ها چک دسته انتساب
5
85 ............................................................................................. : واحدها فیتعر
91 ............................................................................................... : امضاها فیتعر
6
فصل اول
مقدهم
7
مقدمه : -1
گامی مهم EXT استفاده شده است. EXT بستهبرای طراحی زیر سیستم امور مالی از
برای مستندکامل همراه با بستهیک کهتحت وب محسوب می شود. چهار چوب های کاری برای
را برنامه های کابردیهنگام ساخت model-view-controllerجهت استفاده از معماری ,طراحان
طیف گسترده ای از رابط کاربری ارائه می دهد که از جمله ان می EXTدر اختیار قرار می دهد.
و ... اشاره کرد. Grid, Tree, Forms, Menusتوان به انواع
EXTدر یانواع رابط کاربر( 1شکل
بهینه سازی و گسترش و نوشتن برنامه ها سهولت یافته ,با استفاده از معماری نرم افزاری جدید
را java script ,است. عالوه بر این می توان با استفاده از نرم افزارهای ارائه شده همراه ان
سفارشی کرد.
طراحی که در EXTبه صورت اجمالی معرفی شده و به قابلیت های EXTدر فصل دوم
بیان می گردد. EXTو نحوه راه اندازی زیر سیستم امور مالی استفاده شده است اشاره خواهد شد.
می پردازیم. در فصل سوم نیز به معرفی بخش هایی از زیر سیستم امور مالی که طراحی شده است
8
پایگاه داده استفاده شده و ,واسط کاربری هر یک ,در این فصل ماژول های زیر سیستم مربوطه
( زیر سیستم امور مالی ذکر خواهند شد.use caseجداول مربوطه و موارد کاربردی )
ن دانست. همچنین اجزای پیش فرض آ طراحی مولفه هایرا می توان در EXT JSقدرت اصلی
ن به راحتی قابل گسترش می باشند.آ
9
فصل دوم
EXT با آشنایي
10
در طراحی سیستم : EXTملزومات -2
EXT این توانمندی را به ما می دهد که مستقل از مرورگر مورد استفاده ی کاربر به
به EXTشیا در عالوه بر این امورد نظر بپردازیم. برنامه های کاربردی تحت وبراحتی به طراحی
د.نهر زبانی قابل نمایش می باش
EXT به راحتی می تواند بلکه یک کتابخانه برای جاوا اسکریپت محسوب نمی شود. تنها
می مدیریت رخداددر کنار سایر کتابخانه های جاوا اسکریپت کار کند. تعامل با کاربر به صورت
پاسخ به کلیک ماوس و یا دنبال کردن تغییرات در مرورگر از ,باشد. و شامل پاسخ به کلید زدن ها
سایز پنجره یا فونت و ... می باشد. ارتباط با سرور به صورت پس زمینه ای و بدون قبیل تغییر
انجام می شود. این خصوصیت اجازه می دهد درخواست به یا از وب تجدید کردن صفحه احتیاج به
.صورت گیردن بازخورد آو پردازش همزمان Ajaxسرور همراه با استفاده از
عمل مخصوص است که می تواند از سمت کاربر باشد. همانند در اصل یک Eventیک رخداد یا
هر بار اوردن اشاره گر ماوس یا بردن ان از . Ajaxیا پاسخ به یک فراخوانی مولفهکلیک کردن یک
به هر یک Event Listenerامکان افزودن یک EXTاست. در رخداددر اصل یک المانروی یک
از اجزا وجود دارد. که در صورت اجرای یک رخداد چندین بالک کد به اجرا در می اید. این
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 فیلد دیگری که باید مقدار دهی شود می گیرد. ,تامین می کند
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) .
13
این است که می توان اطالعات ان را به صورت سمت کاربر مرتب سازی Gridیکی از خصوصیات
کرد که بسیار سریع تر و ساده تر می باشد.
ک فایل خارجی باشد. نوع فایل می تواند برگرفته از ی ,نمایش داده می شود Gridاطالعاتی که در
JSON ,XML و یا فایلPHP .باشد که هر یک تنظیمات مربوط به خود را دارند
در مکان های مختلف تعریف کرد. Listenerهم می توان یک Gridبرای EXTمانند سایر اجزای
’Column Model‘به صورت Listenerگوش دهیم Column Activityمثال اگر بخواهیم به یک
عکس العمل ,درخواست شود ’Selection Model‘درخواست می کنیم. در صورتی که به صورت
انجام می شود. Gridمناسب در صورت انتخاب یک سطر از
هم می توان یک نوار ابزار مناسب اضافه کرد و در آن چند المان Gridبه EXTمانند سایر اجزای
نمایش داده می شود Gridویرایش و حذف اطالعاتی که در ,مثل دکمه جهت اضافه کردن
یک کادر تبادلی مناسب باز می شود ,استفاده کرد. در صورت فشردن دکمه مورد نظر از نوار ابزار
ا ویرایش توسط فیلدهای ان از کاربر گرفته می شود.و اطالعات الزم جهت اضافه کردن ی
14
2-3- EXT Forms :
FormPanel هایEXT خیلی شبیه فرم هایHtml است. و فیلدهایForm را شامل
ارایه ای از المان هایی است که درون آن قرار می گیرد و هر المان دارای Formمی شود. در واقع
کند.است که نوع آن را مشخص می Xtypeیک
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اضافه کردن
قابلیت خوانایی خوب است. واسط با
16
فصل سوم
معرفي سیستم
17
سیستم:طرح کلی محیط -3
3این سیستم به عنوان زیرسیستمی از سیستم سدف تعریف می شود . سیستم دارای
به صورت و مدیر مالی دانشگاه کاربر اصلی می باشد که مدیر سیتم مالی و حسابدار هر دانشکده
مستقیم از طریق سیستم اتوماسیون اداری به ماژول مربوطه متصل می شوند .
-client) که سیستم سدف یک سیستم مشتری وکارگزار . الزم به ذکر استتحت وب می باشد
server ) .است
در شکل زیر نمایی کلی از سیستم قابل مشاهده است .
ستمیس طیمح یطرح کل( 2شکل
18
موارد کاربرد سیستم گزارشات مالی : -3-1
یمال گزارشات ستمیس use case ( 3شکل
19
معرفی سیستم : -3-2
مشخصات فنی سیستم :
طراحی EXTاین سیستم به صورت تعدادی ماژول بر اساس زیرساخت سدف و به زبان
خواهد بود. mysqlشد . بانک اطالعاتی مورد استفاده خواهد
روابط خارجی :
ماژول طراحی شده با قسمت هایی از سیستم سدف در ارتباط است و برای ورود به این
کاربر باید ابتدا با استفاده از شناسه و رمز عبور به سیستم ماژول و مشاهده امکانات مربوط به آن
اتوماسیون اداری دسترسی پیدا کرده است .و در صفحه اصلی وی ، لینکی برای دسترسی به این
صفحه قرار خواهد گرفت .
: نیازمندی های سیستم
اظ ماژول طراحی شده باید با زیرساخت سدف )سیستم های دا نشگاه فردوسی( از لح
پیاده سازی و شکل ظاهری سازگاری کامل داشته باشد.,تکنولوژی ,نحو ,ساختاری
اما نیاز ,اگر چه که در هر یک از این ماژول ها کار جداگانه ای برای کاربر خاصی انجام می دهند
است که تمام آنها به صورت یک پارچه و هماهنگ کار کنند.
20
برای کاربر مربوطه تا حد ممکن ساده باشد و نیاز به ول هاونیز باید کارکردن با هر کدام از ماژ
دوره آموزشی خاصی یا توضیح مفصل نداشته باشد.
سیستم : پیاده سازی معرفی -3-3
بخش ارسال کننده محلی و سراسری:
جهت تعریف بخش های ارسال کننده محلی و از "بخش ارسال کننده محلی"از لینک
جهت تعریف بخش های ارسال کننده سراسری استفاده می "بخش ارسال کننده سراسری"لینک
توضیحاتی که در ادامه خواهد امد در مورد هم ,شود. با توجه به شباهت ساختاری این دو لینک
ری و هم محلی صدق می کند.بخش ارسال کننده سراس
هدف فراهم اوردن امکانی جهت نمایش نام بخش های ارسال کننده محلی و وضعیت فعال بودن
,امکان درج بخشی جدید ,بخش ها است.از جمله امکاناتی که در اختیار کاربر قرار میگیرد
دهای جستجو و حذف اطالعات است. بنابراین باید از جدول ترسیم شده فیل ,ویرایش
ConsignSectionDesc وConsignSectionIsActive .مورد استفاده قرار گیرد
را در شاخه زیر قرار داده و سپس از طریق یک ConsignSection.phpباید فایل :نحوه نصب
Browser .انرا اجرا کنیم
Sadaf > finance > financeN > Accountancy > ConsignSections
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
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 = 'بخش های ارسال کننده ;
حذف و جستجو را در ,ویرایش ,نیاز به گریدی است که امکانات درج مشخصات فنی سیستم :
اختیار کاربر قرار دهد.در شکل زیر نمایی از این گرید به تصویر کشیده شده است.
23
بخش ارسال کننده دیگر( 4شکل
می توان بخش ارسال کننده محلی یا سراسری جدیدی "درج"با فشردن دکمه : درج داده جدید
با توجه به اینکه کاربر امکان ایجاد بخش ارسال کننده محلی یا سراسری جدید و تعیین ایجاد کرد.
Radio Boxبرای گرفتن نام بخش و از یک Text Field وضعیت فعال بودن ان را دارد از یک
در صورتیکه کاربر نام بخش ارسال کننده مورد نظر برای برای تعیین وضعیت استفاده شده است.
درج را وارد نکند به او پیامی نمایش داده شده و از وی خواسته می شود اطالعات را کامل کند. در
ل در نظر گرفته می شود.غیرفعا ,وضعیت بخش نیز صورت عدم انتخاب وضعیت
بخش ارسال کننده جدیددرج ( 5شکل
24
کاربر با انتخاب یک سطر دلخواه و زدن ,در گرید نمایش داده شده : حذف ردیف انتخاب شده
نمایش داده شده سطر مورد نظر را dialog Boxاز "OK"و سپس انتخاب , "حذف"دکمه ی
حذف کند.
پیامی به کاربر نمایش داده می شود. ,در صورت عدم انتخاب سطر
بخش مربوطهحذف ( 6شکل
1حذف ( 7شکل
25
,در گرید اختصاص داده شده به تعریف بخش های محلی و سراسری : ویرایش ردیف انتخابی
به تغییر سطر موردنظر بپردازد. "ویرایش"کاربر می تواند با انتخاب یک سطر دلخواه و زدن دکمه
یت فعال بودن ان را تغییر دهد.م بخش ارسال کننده مربوطه یا وضعو نا
( ویرایش بخش انتخابی 8شکل
دیگر در این امکان جستجوی ردیف ها بر اساس یک فیلد انتخابی از سوی کاربر امکانی : جستجو
گرید است. جستجو می تواند بر اساس نام یا وضعیت فعال بودن بخش بخش ها انجام شود.
با انتخاب تعداد سطرهای کاربر می تواند ,در صورتی که نتیجه جستجو از یک صفحه بیشتر باشد
. البته نمایش داده ها در هر صفحه را به میل خود تغییر دهد ,دلخواه برای نمایش در هر گرید
این امکان که بتوان تعداد سطرهای نمایشی در گرید جاری را تغییر ,همانطور که پیشتر اشاره شد
از خصوصیات ثابت گریدهای این سیستم است. ,داد
26
جستجو( 9شکل
جستجو( 10شکل
نتیجه این جستجو به صورت زیر نمایش داده می شود.
( نتیجه جستجو 11شکل
27
باید اضافه کرد که در هنگام درج و یا ویرایش در صورتیکه کاربر نام بخش ارسال کننده جدید و یا
کاربر ”Ok“تغییر یافته را وارد نکند پیام زیر به وی نمایش داده می شود.در صورت زدن دکمه
را در اختیار داشته و نام موردنظر را وارد کند. Dialog Boxقادر خواهد بود همپنان
12شکل
انتساب بخش های ارسال کننده به واحدها:
از این لینک جهت انتساب بخش های ارسال کننده الزاما سراسری به خصوصیات سیستم :
استفاده می شود.در سیستم واحدهای موجود
همچنین به کاربر این اجازه داده می شود که برای یک سند چندین دوره مالی یا واحد در نظر
گیرد.
را در شاخه زیر قرار داده و سپس از طریق ConsignSectionUnits.phpباید فایل :نحوه نصب
انرا اجرا کنیم. Browserیک
Sadaf > finance > financeN > Accountancy > ConsignSectionUnit
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 ' کد دوره مالی برای بخش ارسال کننده عمومی',
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 = ' های ارسال کننده سراسری به واحدهاانتساب بخش '
حذف و جستجو را در ,ویرایش ,نیاز به گریدی است که امکانات درج مشخصات فنی سیستم :
فراهم اوردن امکانی است تا کاربر بتواند برای هر ,هدف از ساخت این گرید اختیار کاربر قرار دهد.
بخش ارسال کننده سراسری دلخواه دوره مالی و واحدی در نظر گیرد.
30
انتساب بخش ارسال کننده به واحدها دیگر( 13شکل
تعبیه شده است که بخش ارسال comboBoxنمایش داده شده سه عدد dialog Boxدر درج :
از ان قسمت انتخاب ,نام دانشکده مورد نظرو دوره مالی تعریف شده برای بخش ,کننده سراسری
خواهد شد.
Combo box های به کار رفته در این گرید, این امکان را دارند که کاربر تنها با درج یک یا چند
ا وف هستند رحرف از هر قسمت دلخواه داده ی موردنظر, کلیه داده هایی که قابل تطبیق با ان حر
ببیند و بر حسب نیاز یکی را انتخاب کند. combo box ه شده توسطدر لیست نمایش داد
( فشردن دکمه ایجاد جهت درج داده جدید 14شکل
31
( درج داده های جدید15شکل
( درج داده های جدید16شکل
مالی بخش می تواند نام واحد یا دوره "ویرایش"کاربر با انتخاب یک سطر و زدن دکمه : ویرایش
پیامی به وی نمایش ,در صورت عدم انتخاب نام بخش مربوطه ارسال کننده انتخابی را تغییر دهد.
همچنان نمایش داده شده باقی می ماند تا کاربر یا از ویرایش سطر dialog boxداده می شود. و
عدم انتخاب مربوطه منصرف شود یا نام بخش ارسال کننده مورد نظر را انتخاب کند. در صورت
های مربوطه تغییر رنگ داده می شوند تا از combo box ,ها combo boxدوره مالی یا واحد از
درج ناقص جلوگیری شود.
32
شیرایو( 17شکل
ها در صورت عدم انتخاب شدن cobox( نمایشی از 18شکل
شده در سیستم را رویت و می تواند کلیه دوره های تعریف "دوره"در شکل زیر کاربر با تایپ واژه
یکی را به دلخواه برگزیند.
33
ها combo box( نمایشی از نحوه انتخاب 19شکل
و کاربر قادر پیام زیر نمایش داده می شود ,با انتخاب ردیف مورد نظر و زدن دکمه حذف : حذف
به حذف سطر مورد نظر است.
20شکل
ارسال کننده سراسری و دوره مالی و واحد مربوط به با توجه به اینکه در گرید نام بخش : جستجو
امکان جستجو بر اساس هر یک از انها میسر خواهد بود. با انتخاب ,ان بخش نمایش داده می شود
کلیه ,و فشردن دکمه جستجو "جستجو بر اساس"فیلد دلخواه و نوشتن مقدار دلخواه در قسمت
داده های مورد نظر به نمایش در خواهد امد.
34
( جستجوی بخش ارسال کننده مربوطه 21شکل
می توان تعداد سطرهای قابل نمایش در هر صفحه گرید را نیز دلخواه تعیین کرد:
22شکل
کاهش داد: 5می توان تعداد سطرهای نمایشی در هر صفحه را به 5با انتخاب عدد
35
23شکل
اسناد محلی و سراسری:
میتوان اسناد دلخواه را "اسناد سراسری"و "اسناد محلی"در دو لینک خصوصیات سیستم :
تعریف کرد.
مرورگررا در شاخه زیر قرار داده و سپس از طریق یک explanations.phpباید فایل : نحوه نصب
انرا اجرا کنیم.
Sadaf > finance > financeN > Accountancy > explanations
استفاده کرده و به فیلدهای explanationsاین قسمت ها از جدولی به نام : explanationsجدول
ExplanationId , ExplanationDesc وExplanationIsActive دسترسی دارند. برای هر سند
شرح یا همان نام سند و وضعیت جاری سند اعم از فعال و غیرفعال ,یک شماره شناسایی یکتا
بودن را تعیین می کنیم. این خصیصه ها در همین گرید توسط کاربر قابل تعیین و تغییر و رویت
است.
ExplanationUnitId وExplanationPeriodId دو فیلد دیگر این جدول هستند که به عنوان
در اینجا استفاده می شوند و دوره مالی و واحد اسناد را periodsو unitsکلید خارجی از جداول
همانند انچه در قسمت تعریف بخش های ارسال کننده شرح داده شد فیلدهای .تعریف می کنند
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 ' ا شرح فعال استیآ ',
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=' های برگهشرح '
حذف و جستجو را در ,ویرایش ,نیاز به گریدی است که امکانات درج مشخصات فنی سیستم :
اختیار کاربر قرار دهد.
کننده بخش های ارسال کننده سراسری و محلی گریدهای این دو قسمت مشابه گریدهای تعریف
در شکل زیر نمایی از این گرید به تصویر کشیده شده و همان امکانات را ارایه می دهند.بوده
است.
38
( مدارک محلی 24شکل
ویرایش و جستجو مشابه انچه قبال در بخش های ارسال کننده محلی و سراسری ,حذف ,درج
عمل خواهند کرد. ,گفته شد
در هنگام درج و یا ویرایش در صورتیکه کاربر نام سند جدید و یا تغییر یافته را وارد نکند پیام زیر
Dialogکاربر قادر خواهد بود همپنان ”Ok“به وی نمایش داده می شود.در صورت زدن دکمه
Box تمام گریدهای ساخته شده را در اختیار داشته و نام موردنظر را وارد کند.این امکان برای
تعبیه شده است.
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
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
مشخصات فنی سیستم :
41
حذف و جستجو را در اختیار کاربر قرار ,ویرایش ,نیاز به گریدی است که امکانات درج
ر ساختاری مشابه گرید های قبل است.دهد. کلیه خصوصیات این گرید از نظ
درج :
dialogامکان درج سطری جدید در گرید فراهم می شود. در "ایجاد"با زدن دکمه
box دوره مالی و واحد مورد نظر برای ان سند را ,نمایش داده شده می توان نام سند مربوطه
انتخاب کرد.
( انتساب مدرک به واحدها 26شکل
های نمایش داده combo boxدر صورتیکه کاربر از حداقل یکی از ,همانطور که قبال اشاره شد
تغییر combo boxحاشیه , استفاده نکند dialog boxدر دوره مالی و یا واحد مربوطه شده
رنگ داده شده و از درج اطالعات ناقص در گرید جلوگیری می شود.
42
27شکل
ویرایش :
اطالعات را ویرایش نمود. می توان "ویرایش"سطر موردنظر و فشردن دکمه با انتخاب
( ویرایش سطر مربوطه 28شکل
جستجو :
43
در اینجا نیز کاربر باید بتواند بر اساس کلیه اطالعاتی که در گرید نمایش داده می شود
حدها میسر است.دوره های مالی و وا ,امکان جستجو بر اساس نام اسنادبه جستجو بپردازد.پس
( جستجو در گرید29شکل
در صورتیکه نتیجه جستجو از اندازه جاری نمایش داده شده ی گرید بیشتر باشد می توان با تغییر
ظاهر مطلوبی از گرید به دست اورد. ,تعداد سطرهای قابل نمایش
نتیجه جستجو) 30شکل
: حذف ردیف انتخاب شده
44
و , "حذف"کاربر با انتخاب یک سطر دلخواه و زدن دکمه ی ,در گرید نمایش داده شده
نمایش داده شده سطر مورد نظر را حذف کند. dialog Boxاز "OK"سپس انتخاب
پیامی به کاربر نمایش داده می شود. ,همانطور که اشاره شد در صورت عدم انتخاب سطر
بخش مدارک محلی و سراسری:
ده از این لینک ها میتوان مدرک های محلی و سراسری را با استفا خصوصیات سیستم :
تعریف کرد.
: نحوه نصب
انرا Browserرا در شاخه زیر قرار داده و سپس از طریق یک evidences.phpباید فایل
اجرا کنیم.
Sadaf > finance > financeN > Accountancy > evidences
: evidences جدول
بوده و فیلدهای زیر از ان در این بخش evidencesمورد استفاده در این قسمت جدول
به کار می رود:
EvidencesId, EvidencesDesc, EvidencesIsActive.
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'
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شکل
47
( گرید مدارک سراسری 32شکل
این امکانات مشابه سایر حذف و ویرایش تعبیه شده است. ,در گرید استفاده شده امکانات درج
گریدهای نمایش داده شده تا به اینجاست.برای مثال جهت درج داریم:
: درج داده جدید
نمایش dialog boxم می شود. در امکان درج سطری جدید در گرید فراه "ایجاد"با زدن دکمه
داده شده می توان نام مدرک مربوطه و وضعیت فعال بودن مدرک را تعیین کرد.
(ایجاد مدرک جدید 33شکل
48
در صورت عدم وارد کردن نام مدرک مربوطه در حین درج یا ویرایش پیام زیر به نمایش در می
اید:
(خطای مربوطه 34شکل
همانند قسمت تعریف بخش های ارسال کننده سراسری و محلی یا تعریف ویرایش و جستجو نیز
اسناد است.
: انتساب مدارک به واحدها
از این لینک جهت انتساب مدارک الزاما سراسری به واحدهای خصوصیات سیستم :
موجود در سیستم استفاده می شود.
چندین دوره مالی یا واحد در نظر همچنین به کاربر این اجازه داده می شود که برای یک مدرک
گیرد.
:نحوه نصب
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 'کد واحد برای نوع مدرک عمومی',
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
مشخصات فنی سیستم :
حذف و جستجو را در اختیار کاربر قرار ,ویرایش ,نیاز به گریدی است که امکانات درج
ای قبل است.دهد. کلیه خصوصیات این گرید از نظر ساختاری مشابه گرید ه
51
( انتساب مدارک به واحدها 35شکل
: درج داده جدید
,تعبیه شده است که نام مدرک combo box نمایش داده شده سه عدد dialog Boxدر
و دوره مالی تعریف شده برای مدرک از ان قسمت انتخاب خواهد شد. مورد نظر واحدنام
ها در صورت عدم انتخاب شدن combo box( نمایی از 36شکل
: ویرایش
52
می تواند نام واحد یا دوره مالی مدرک "ویرایش"کاربر با انتخاب یک سطر و زدن دکمه
پیامی به وی نمایش داده می ,انتخابی را تغییر دهد. در صورت عدم انتخاب نام بخش مربوطه
همچنان نمایش داده شده باقی می ماند تا کاربر یا از ویرایش سطر مربوطه dialog boxشود. و
منصرف شود یا نام مدرک مورد نظر را انتخاب کند. در صورت عدم انتخاب دوره مالی یا واحد از
combo box ها, combo box های مربوطه تغییر رنگ داده می شوند تا از درج ناقص جلوگیری
شود.
ش( ویرای37شکل
53
( ویرایش 38شکل
در گرید زیر نام مدرک از سوی کاربر اتخاب نشده است بنابراین پیامی به نمایش در خواهد امد:
پیام زیر نمایش داده می شود و کاربر قادر ,با انتخاب ردیف مورد نظر و زدن دکمه حذف حذف:
سطر را حذف کنیم.قادر خواهیم بود " OK"به حذف سطر مورد نظر است. بعد از زدن دکمه
امکان جستجوی ردیف ها بر اساس یک فیلد انتخابی از سوی کاربر امکانی است که در جستجو :
تمام گریدها وجود دارد.
( جستجو39شکل
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`)
55
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8
COLLATE=utf8_persian_ci
COMMENT='بانک ها '
همان طور که اشاره شد فقط نام بانک از کاربر گرفته می شود. مشخصات فنی سیستم :
dialog box های گرید این لینک تنها از یکtext field کنند. جهت گرفتن نام بانک استفاده می
( بانک ها 40شکل
: درج
56
( درج بانک جدید 41شکل
مسلما تنها الزم است نام بانک مورد ویرایش قرار گیرد : ویرایش
( ویرایش 42شکل
در شکل زیر کاربر ردیفی را جهت ویرایش انتخاب اما نام بانک را وارد نکرده است:
ویرایش )43شکل
57
می شود:پیام زیر نمایش داده پس
44شکل
حساب های شعب بانکی :
از این لینک جهت تعریف حساب های شعب بانک های موجود در خصوصیات سیستم :
سیستم استفاده می شود.
را در شاخه زیر قرار داده و سپس از طریق یک BankBranches.phpباید فایل :نحوه نصب
Browser .انرا اجرا کنیم
Sadaf > finance > financeN > Accountancy > BankBranches
: BankBranches جدول
CREATE TABLE `accountancy`.`BankBranches` (
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 ' ؟آیا شعبه فعال است ',
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شکل
60
dialog Boxامکان درج سطری جدید در گرید فراهم می شود. در "ایجاد"با زدن دکمه درج :
تعبیه شده است که نام بانک مربوط به هر شعبه تعریف شده برای را تعیین combo box عددیک
از کاربر گرفته می شود. text fieldکد شعبه و ادرس شعبه بوسیله ,میکند. نام شعبه
اطالعات جدید ( درج46شکل
( انتخاب نام بانک 47شکل
می تواند اطالعات شعبه انتخابی را "ویرایش" کاربر با انتخاب یک سطر و زدن دکمه ویرایش :
تغییر دهد.
61
( ویرایش48شکل
کاربر با انتخاب یک سطر دلخواه و زدن دکمه ی ,در گرید نمایش داده شده حذف :
نمایش داده شده سطر مورد نظر را حذف کند. dialog Boxاز "OK"و سپس انتخاب , "حذف"
پیامی به کاربر نمایش داده می شود. ,ز در صورت عدم انتخاب سطرمانند سایر گریدها در اینجا نی
امکان جستجوی ردیف ها بر اساس یک فیلد انتخابی از سوی کاربر امکانی جستجو :
نام و یا ادرس ان انجام ,کد شعبه ,دیگر در این گرید است. جستجو می تواند بر اساس نام بانک
شود.
کاربر می تواند با انتخاب تعداد سطرهای ,در صورتی که نتیجه جستجو از یک صفحه بیشتر باشد
نمایش داده ها در هر صفحه را به میل خود تغییر دهد. ,دلخواه برای نمایش در هر گرید
62
( جستجو 49شکل
حساب های شعب :
عریف شده و امکان در ایت لینک کلیه ی حساب های شعب بانکی ت خصوصیات سیستم :
تغییر یا جستجوی انها وجود دارد.به عالوه حساب های شعب به صورت سراسری یا محلی تعریف
می شوند.
را در شاخه زیر قرار داده و سپس از طریق یک BranchAccount.phpباید فایل : نحوه نصب
Browser .انرا اجرا کنیم
Sadaf > finance > financeN > Accountancy > BranchAccount
BranchAccount جدول مورد استفاده در این قسمت سیستم : BranchAccount جدول
است.
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 'کد حساب در شعبه',
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`)
65
) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8
COLLATE=utf8_persian_ci ROW_FORMAT=DYNAMIC
COMMENT=' های شعبات بانکحساب '
حذف و جستجو را در ,ویرایش ,نیاز به گریدی است که امکانات درج خصوصیات فنی سیستم :
کد حساب و وضعیت فعال یا غیرفعال ,نام و نوع حساب ,اختیار کاربر قرار دهد. باید بتوان شعبه
سیبا و جم است. پس ,جاری ,بودن هر حساب را تعیین کرد.هر حساب دارای چهار نوع پس انداز
می تواند یکی از این چهار نوع ,فعال یا غیرفعال بودن ,هر حساب عالوه بر سراسری یا محلی بودن
را داشته باشد.
ویر کشیده شده است.در شکل زیر نمایی از این گرید به تص
( گرید حساب های محلی شعب50شکل
در صورتیکه کاربر وضعیت فعال بودن حساب را تعیین ,همانطور که در شکل زیر دیده می شود
پیش فرض غیرفعال برای ان حساب انتخاب خواهد شد. ,نکند
66
حساب های محلی شعب دیگر( 51شکل
کد و نوع حساب و همچنین شعبه مربوط به , تعیین نامامکان ایجاد یک حساب جدید و درج :
وضعیت ان غیرفعال ,حساب وجود دارد.در صورت عدم انتخاب وضعیت فعال بودن حساب مربوطه
ثبت خواهد شد.
حساب محلی جدیددرج ( 52شکل
را می تواند اطالعات حساب انتخابی "ویرایش"کاربر با انتخاب یک سطر و زدن دکمه ویرایش :
پیامی به وی نمایش داده ,تغییر دهد. در اینجا نیز در صورت عدم انتخاب شعبه حساب مربوطه
67
همچنان نمایش داده شده باقی می ماند تا کاربر یا از ویرایش سطر dialog boxمی شود. و
مربوطه منصرف شود یا شعبه حساب مورد نظر را انتخاب کند.
عبحساب های محلی ش شیرایو( 54شکل
پیام زیر نمایش داده می شود و کاربر قادر ,با انتخاب ردیف مورد نظر و زدن دکمه حذف حذف :
به حذف سطر مورد نظر است.
اخطار حذف امیپ(55شکل
شعبه و وضعیت فعال بودن هر حساب نمایش ,کد ,نوع ,با توجه به اینکه در گرید نام جستجو :
امکان جستجو بر اساس هر یک از انها میسر خواهد بود. با انتخاب فیلد دلخواه و ,داده می شود
68
کلیه داده های ,و فشردن دکمه جستجو "جستجو بر اساس"نوشتن مقدار دلخواه در قسمت
مورد نظر به نمایش در خواهد امد.
ی حساب های محلی شعبجستجو( 56شکل
سطوح کد :
هدف فراهم اوردن امکانی جهت تعریف سطوح کد در سیستم و خصوصیات سیستم :
امکان ,وضعیت فعال بودن هر سطح کد است.از جمله امکاناتی که در اختیار کاربر قرار میگیرد
,جستجو و حذف اطالعات است. هر سطح عالوه بر نام و وضعیت ,ویرایش ,درج سطح جدید
قسمت تعیین نمی شود. دارای نوع نیز هست. البته نوع سطوح در این
را در شاخه زیر قرار داده و سپس از طریق یک AccountCodeLevels.phpباید فایل : نحوه نصب
Browser .انرا اجرا کنیم
Sadaf > finance > financeN > Accountancy > AccountCodeLevels
: AccountCodeLevels جدول
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='سطوح کد حساب'
حذف و جستجو را در ,ویرایش ,نیاز به گریدی است که امکانات درج مشخصات فنی سیستم :
اختیار کاربر قرار دهد.
در شکل زیر نمایی از این گرید به تصویر کشیده شده است.
70
سطوح کد حساب دیگر( 57شکل
می توان سطح کد جدیدی ایجاد کرد. "درج"با فشردن دکمه : درج داده جدید
با توجه به اینکه کاربر امکان ایجاد سطح کد جدید و تعیین وضعیت فعال بودن ان را دارد از یک
Text Field برای گرفتن نام سطح و از یکRadio Box .برای تعیین وضعیت استفاده شده است
در صورتیکه کاربر نام سطح مورد نظر برای درج را وارد نکند به او پیامی نمایش داده شده و از وی
,خواسته می شود اطالعات را کامل کند. در صورت عدم انتخاب وضعیت نیز وضعیت سطح
غیرفعال در نظر گرفته می شود.
جدید سطح کد حسابدرج ( 58شکل
کاربر می تواند با ,در گرید اختصاص داده شده به تعریف سطوح کد : ویرایش ردیف انتخابی
به تغییر سطر موردنظر بپردازد. و نام سطح "ویرایش"انتخاب یک سطر دلخواه و زدن دکمه
مربوطه یا وضعیت فعال بودن ان را تغییر دهد.
71
سطوح کد حساب شیرایو( 59شکل
جستجوی ردیف ها بر اساس یک فیلد انتخابی از سوی کاربر امکانی دیگر در این امکان جستجو:
گرید است. جستجو می تواند بر اساس نام یا وضعیت فعال بودن سطوح انجام شود.
کاربر می تواند با انتخاب ,در اینجا نیز در صورتی که نتیجه جستجو از یک صفحه بیشتر باشد
نمایش داده ها در هر صفحه را به میل خود ,مایش در هر گرید تعداد سطرهای دلخواه برای ن
تغییر دهد.
ی سطوح کد حسابجستجو( 60شکل
72
کاربر با انتخاب یک سطر دلخواه و زدن ,در گرید نمایش داده شده : حذف ردیف انتخاب شده
نظر را نمایش داده شده سطر مورد dialog Boxاز "OK"و سپس انتخاب , "حذف"دکمه ی
حذف کند.
کدحساب هر دوره مالی:
میتوان periodsدر این قسمت برای هر دوره مالی موجود در جدول مشخصات سیستم :
چندین کد حساب تعریف و برای کد حساب های هر دوره ترتیبی یکتا نیز مشخص کرد. البته
ترتیب های اشاره شده در این گرید تعریف نمی شوند.
را در شاخه زیر قرار داده و سپس از AccountCodeLevelPeriods.phpفایل باید : نحوه نصب
انرا اجرا کنیم. Browserطریق یک
Sadaf > finance > financeN > Accountancy > AccountCodeLevelPeriods
,AccountCodeLevels جداول الزم در این قسمت :AccountCodeLevelPeriods جدول
Accounts, periods AccountCodeLevelPeriod .می باشد
دارای فیلدهای به شرح زیر است: AccountCodeLevelPeriodsجدول
UniqueId, CodeLevelId, CodeLevelPeriodId, CodeLevelOrder,
CodeLevelHasNature.
73
CodeLevelHasNature فیلدهاینشان می دهد ایا کدحساب دوره مالی موجودیت دارد یا نه.
CodeLevelId, CodeLevelPeriodId کلیدهای خارجی از جدولAccountCodeLevels و
periods .می باشند CodeLevelOrder فیلدی است که ترتیب اختصاص داده شده به هر یک از
سطوح کد را تعیین می کند. اما در این گرید تعریف نخواهد شد.
حذف و جستجو را در ,ویرایش ,که امکانات درج نیاز به گریدی است مشخصات فنی سیستم :
اختیار کاربر قرار دهد.
در شکل زیر نمایی از این گرید به تصویر کشیده شده است.
کدهای حساب هر دوره مالی دیگر( 61شکل
dialog boxامکان درج سطری جدید در گرید فراهم می شود. در "ایجاد"با زدن دکمه : درج
نمایش داده شده می توان نام دوره مالی دلخواه و سطح کد مورد نظر برای ان دوره را انتخاب کرد
استفاده می شود. Combo Boxپس برای هر یک از یک عدد
74
کدهای حساب هر دوره مالی دیگر( 62شکل
این گرید دارای امکان ویرایش نمی باشد. : ویرایش
پیام زیر نمایش داده می شود و کاربر قادر ,با انتخاب ردیف مورد نظر و زدن دکمه حذف حذف :
به حذف سطر مورد نظر است.
اخطار حذف امیپ( 63شکل
,با توجه به اینکه در گرید نام دوره مالی وسطح کد مربوط به ان نمایش داده می شود جستجو :
امکان جستجو بر اساس هر یک از انها میسر خواهد بود. با انتخاب فیلد دلخواه و نوشتن مقدار
75
کلیه داده های مورد نظر به ,و فشردن دکمه جستجو "جستجو بر اساس"دلخواه در قسمت
نمایش در خواهد امد.
ی کدهای حساب هر دوره مالیجستجو( 64شکل
: دسته چک های سراسری و محلی
جهت تعریف چک های محلی و از "دسته چک محلی"از لینک خصوصیات سیستم :
,جهت تعریف چک های سراسری استفاده می شود. شماره سریال "دسته چک سراسری"لینک
کمترین شماره و بیشترین شماره دسته چک و وضعیت فعال بودن از اطالعاتی است که برای کاربر
ابل رویت و تغییر و قابل جستجو است.نمایش داده می شود. و توسط وی ق
را در شاخه زیر قرار داده و سپس از طریق AccountChequeBooks.phpباید فایل :نحوه نصب
انرا اجرا کنیم. Browserیک
Sadaf > finance > financeN > Accountancy > AccountChequeBooks
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'
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کلید خارجی از جداول
78
همانند انچه در قسمت تعریف بخش های ارسال کننده شرح داده شد .دچک را تعریف می کنن
در پیاده سازی دسته چک های محلی ChequeBookPeriodIdو ChequeBookUnitIdفیلدهای
و در پیاده سازی دسته چک های سراسری به صورت زیر مقدارخواهند گرفت: NULLمقدار
ChequeBookPeriodId برابر شمارهsession ری فعال در سیستم و جاChequeBookUnitId
خواهند گرفت. شماره سریال دسته چک و کمترین و بیشترین 1مقداری ثابت و پیش فرض مثال
عالوه شماره چک هر دسته چک از دیگر اطالعاتی است که برای هر دسته چک نگهداری می شود.
بوده و AccountCodeLevelsکلید خارجی از جدول ChequeBookBranchAccountIdبر این
برای هر دسته چک کد حساب دسته چک در شعبه مربوط به ان دسته چک را تعیین می کند.
های مربوط به dialog boxدر کلیه ,با توجه به توضیحات داده شده مشخصات فنی سیستم :
شماره چک کترین و بیشترین ,برای گرفتن شماره سریال text fieldعدد 3درج و ویرایش به
نیز جهت گرفتن کدحساب در شعبه دسته چک combo boxدسته چک نیازمندیم. و یک عدد
می خواهیم.
79
تعریف دسته چک های مربوط به هر حساب شعبه بانکی دیگر( 65شکل
امکان درج سطری جدید در گرید فراهم می شود. همان طور که اشاره "ایجاد"با زدن دکمه : درج
تعبیه شده است که کد حساب در شعبه تعریف شده combo box یک عدد dialog Boxشد در
بیشترین و کمترین شماره چک دسته چک ,برای دسته چک را تعیین میکند. شماره سریال
در اینجا نیز در صورتیکه کاربر ,از کاربر گرفته می شود. مثل لینک های قبل text fieldبوسیله
وضعیت پیش فرض غیرفعال ثبت خواهد شد. ,ا تعیین نکندوضعیت فعال بودن دسته چک ر
دسته چک جدیددرج ( 66شکل
80
می تواند اطالعات دسته چک انتخابی "ویرایش"کاربر با انتخاب یک سطر و زدن دکمه : ویرایش
پیامی ,را تغییر دهد. در اینجا نیز در صورت عدم انتخاب کد حساب در شعبه دسته چک مربوطه
همچنان نمایش داده شده باقی می ماند تا کاربر یا از dialog boxبه وی نمایش داده می شود. و
ویرایش سطر مربوطه منصرف شود یا کد حساب دسته چک مورد نظر را انتخاب کند.
دسته چک ها شیرایو( 67شکل
امکان جستجوی ردیف ها بر اساس یک فیلد انتخابی از سوی کاربر امکانی دیگر در این جستجو:
کمترین و ,کد حساب در شعبه ,گرید است. جستجو می تواند بر اساس شماره سریال دسته چک
یا بیشترین شماره دسته چک و وضعیت فعال یا غیرفعال بودن ان انجام شود.
کاربر می تواند با انتخاب تعداد سطرهای ,صفحه بیشتر باشد در صورتی که نتیجه جستجو از یک
نمایش داده ها در هر صفحه را به میل خود تغییر دهد. البته ,دلخواه برای نمایش در هر گرید
81
این امکان که بتوان تعداد سطرهای نمایشی در گرید جاری را تغییر ,همانطور که پیشتر اشاره شد
های این سیستم است.از خصوصیات ثابت گرید ,داد
جستجوی دسته چک های مربوط به هر حساب شعبه بانک( 68شکل
: به واحدها دسته چک هاانتساب
از این لینک جهت انتساب دسته چک های تعریف شده به واحدها خصوصیات سیستم :
استفاده می شود.
را در شاخه زیر قرار داده و سپس از AccountChequeBookUnits.phpباید فایل : نحوه نصب
انرا اجرا کنیم. Browserطریق یک
Sadaf > finance > financeN > Accountancy > AccountChequeBookUnits
جهت انتساب دسته چک های سراسری به واحدها از این لینک استفاده شده مشخصات سیستم :
ود.استفاده می ش AccountChequeBookUnitsاست.جدول
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`)
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شکل
مشخصات فنی سیستم :
84
شماره سریال دسته چک و نام واحد و دوره مالی از کاربر گرفته می شود : درج
درج دسته چک جدید( 70شکل
: ویرایش
بروز رسانی دسته چک ها( 71شکل
نام واحد و دوره مالی میسر ,این امکان بر اساس فیلدهای سماره سریال دسته چک : جستجو
است.
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
حذف و جستجو را در ,ویرایش ,است که امکانات درجنیاز به گریدی مشخصات فنی سیستم :
اختیار کاربر قرار دهد. کلیه خصوصیات این گرید از نظر ساختاری مشابه گرید های قبل است.
86
لیست "تعریف شده ی Tabواسط این قسمت دارای دو ,همانطور که در شکل دیده می شود
است. "تعریف واحدها"و "واحدها
تعریف واحدها جهت ایجاد یک Tabجهت نمایش واحدهای تعریف شده و از لیست واحدها Tabاز
دوم به کاربر Tabصفحه مربوط به "ایجاد"واحد جدید استفاده می شود. یعنی با زدن دکمه
نمایش داده می شود.
دوم مثل سایر گریدهای توضیح داده Tabاز صفحه "حذف"و "ویرایش"دو دکمه دیگر یعنی
د کرد.شده کار خواهن
( گرید تعریف واحدها 73شکل
87
دوم امده و کلیه اطالعات الزم برای Tabهمانطور که اشاره شد با زدن دکمه ایجاد کاربر به درج :
ایجاد واحد جدید به وی نمایش داده می شود.
مربوط به واحد حسابداری دارای Check box ,در شکل زیر در صورت انتخاب واحد حسابداری
با توجه به ,اعتبار نیز به حالت فعال در خواهد امد. کد واحد نیز به صورت اتوماتیک با هر ایجاد
یک واحد افزایش می یابد. ,اخرین مقدار فیلد مرتبطش در جدول
تعریف واحد جدید( 74شکل
کلیه اطالعات سطر انتخاب ,با انتخاب سطر مربوط برای ویرایش و زدن دکمه ویرایش ویرایش :
دوم نمایش داده شده و کاربر می تواند اطالعات دلخواه خود را تغییر دهد. Tabشده در
88
کد واحد سطر مربوطه نمایش داده می شود. و ,در این حالت مسلم است در قسمت کد واحد
ه تغییر کد واحد می تواند انرا تغییر دهد. اما نمی تواند اخرین مقدار جاری کاربر در صورت تمایل ب
کد واحد در جدول را ببیند.
( ویرایش 75شکل
89
( ویرایش 76شکل
و , "حذف"کاربر با انتخاب یک سطر دلخواه و زدن دکمه ی ,در گرید نمایش داده شده حذف :
نمایش داده شده سطر مورد نظر را حذف کند. dialog Boxاز "OK"سپس انتخاب
پیامی به کاربر نمایش داده می شود. ,در صورت عدم انتخاب سطر
90
حذف( 77شکل
امکان جستجو بر ,با توجه به اینکه در گرید اطالعات مربوط به هر واحد نمایش داده می شود
اساس هر یک از فیلدهای کد واحد و نام واحد میسر خواهد بود. با انتخاب فیلد دلخواه و نوشتن
کلیه داده های مورد نظر به ,و فشردن دکمه جستجو "جستجو بر اساس"مقدار دلخواه در قسمت
نمایش در خواهد امد.
91
( جستجو : 78شکل
تعریف امضاها :
از این لینک جهت تعریف امضاها استفاده میشود. انواع گزارش که برای آنها خصوصیات سیستم :
تاییدیه ها میباشد . در اینجا نیاز به گریدی ,چک ها,حواله ها,امضا تعریف میشود شامل برگه ها
حذف و جستجو را در اختیار کاربر قرار دهد. کلیه خصوصیات این ,ویرایش ,است که امکانات درج
گرید از نظر ساختاری مشابه گرید های قبل است.
انرا Browserرا در شاخه زیر قرار داده و سپس از طریق یک Signs.phpباید فایل : نحوه نصب
.اجرا کنیم
Sadaf > finance > financeN > Accountancy > Signs
هر دسته امضا شامل اولویت میباشند.این اولویت ها مرتب بوده وبه صورت : Signs جدول
تا تعداد امضاها تعریف میشود.و در طول عمل درج و حذف مرتب باقی میمانند.فیلد 1صعودی از
است . SignOrderمربوط به اولویت ها
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 'آیا امضاء فعال است؟',
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 مثل سایرین های به کار رفته در این گرید, این امکان را دارند که کاربر تنها با درج
یک یا چند حرف از هر قسمت دلخواه داده ی موردنظر, کلیه داده هایی که قابل تطبیق با ان
94
ببیند و بر حسب نیاز یکی را comboBoxحروف هستند را در لیست نمایش داده شده توسط
انتخاب کند.
( امضاها 78شکل
خطای زیر نمایش داده ,در صورتیکه درهنگام درج یا ویرایش اولویت صحیح وارد نشود :ویرایش
میشود. اولویت تعریف شده برای امضاها قابل ویرایش نیست.
95
( ویرایش 79شکل
شود.خطای پایین نمایش داده می,در صورتیکه درهنگام درج یا ویرایش اطالعات کامل وارد نشود
( پیام اخطار در صورت کامل نبودن اطالعات ویرایش 80شکل
دکمه حذف مانند سایر گریدها عمل خواهد کرد. :حذف
96
( حذف 81شکل
بع :منا
www.sencha.com/
www.w3schools.com/
Learning Ext JS written by Shea Frederick.....Colin Ramsay.....Steve
'Cutter' Blades