Mục lục
Trang
Lời nói đầu 1
Chương I : Giới thiệu tổng quan
I.1 Giới thiệu đề tài 2
I.2 Tổng quan về tình hình nghiên cứu .3
I.3 Hiện trạng ứng dụng . 3
I.3.1 Những khó khăn trong hướng dẫn thực hành kế toán . .3
I.3.2 Hiện trạng tin học . .4
I.3.3 Mục tiêu thực hiện của đề tài .4
Chương II : Cơ sở lý thuyết
II.1 Hệ thống quản lý công nợ 5
II.1.1 Khái niệm quản lý công nợ .5
II.1.2 Khái niệm mô phỏng 5
II.1.3 Quy trình quản lý công nợ .5
II.2 Xác định yêu cầu .8
II.2.1 Yêu cầu chức năng nghiệp vụ . .8
a) Nghiệp vụ quản lý tình huống . 8
b) Các nghiệp vụ trong quy trình quản lý công nợ .9
II.2.2 Yêu cầu chức năng hệ thống 14
II.2.3 Yêu cầu phi chức năng 14
II.3 Công nghệ sử dụng . .15
II.3.1 Ngôn ngữ lập trình VB.Net 15
II.3.2 Hệ quản trị cơ sở dữ liệu SQL Developer Edition 2005 .15
II.3.3 Công nghệ Flash và ngôn ngữ lập trình Action script 2.0 . 17
Chương III : Phân tích thiết kế hệ thống
III.1 Phân tích thiết kế hệ thống ở mức quan niệm .18
III.1.1 Thành phần dữ liệu mức quan niệm 21
a) Mô tả thực thể 21
b) Mô tả mối kết hợp .28
c) Mô hình thực thể kết hợp . 34
III.1.2 Thành phần xử lý ở mức quan niệm 35
III.2 Phân tích thiết kế hệ thống ở mức logic . 40
III.2.1 Thành phần dữ liệu ở mức logic . .40
III.2.2 Ràng buộc toàn vẹn trên 1 quan hệ 42
a) Ràng buộc khóa chính .42
b) Ràng buộc miền giá trị 46
III.2.3 Ràng buộc toàn vẹn trên nhiều quan hệ .49
a) Ràng buộc tồn tại .49
b) Ràng buộc liên thuộc tính, liên quan hệ 53
III.2.4 Thành phần xử lý ở mức logic .55
III.3 Phân tích thiết kế hệ thống ở mức vật lý .60
III.3.1 Thành phần dữ liệu mức vật lý . 60
a) Mô tả các bảng 60
b) Mô tả các mối kết hợp . 65
c) Mô hình vật lý 70
III.3.2 Thành phần xử lý ở mức vật lý 71
a) Những đoạn code chính 71
b) Thành phần giao diện ở mức vật lý 86
Chương IV : Giới thiệu sản phẩm
IV.1 Các chức năng quản lý tình huống của chương trình .93
IV.2 Thực hành mô phỏng quy trình quản lý công nợ .94
IV.2.1 Giao diện của chương trình 94
IV.2.2 Các chức năng chính của chương trình .95
a) Quy trình quản lý công nợ 95
b) Chức năng nhận biết và kiểm tra việc lập báo
cáo trong khi thực hành .97
c) Các chức năng trợ giúp và hướng dẫn 97
Kết luận 98
Danh mục tài liệu tham khảo 100
Phụ Lục : Các mẫu biểu xuất hiện trong quy trình quản lý công nợ .101
1
Lời nói đầu
Nhận thức được vai trò quan trọng của công nghệ thông tin trong nền kinh tế tri
thức với nhân tố nguồn nhân lực đóng vai trò trọng tâm. Trong thời đại bùng nổ công
nghệ thông tin ngày nay, không thể đo lường hết phạm vi ứng dụng công nghệ thông
tin cũng như hiệu quả vào mọi lĩnh vực của đời sống, nhất là đối với các hoạt động
quản lý kinh doanh. Trong đó hoạt động kế toán là một nhu cầu không thể thiếu trong
bất kỳ công ty hay cơ quan nào.
Nhu cầu về nguồn nhân lực kế toán là một nhu cầu quan trọng nhưng hiện nay
cung đang vượt cầu. Chính vì thế các công ty đang tìm kiếm nguồn nhân lực chất
lượng và có nhiều kinh nghiệm. Đó chính là cái khó lớn nhất cho các sinh viên chuyên
ngành kế toán sắp ra trường, chưa có nhiều điều kiện thực tập, chưa được tiếp xúc với
môi trường làm việc thực tế. Chính vì thế họ không có nhiều kinh nghiệm để đáp ứng
được nhu cầu của các Công ty, cơ quan hiện nay. Đồng thời việc tìm kiếm một nơi để
sinh viên có thể thực tập trước khi ra trường là một vấn đề khó khăn với cả sinh viên
lẫn nhà trường. Trong khi số lượng sinh viên khá đông như bây giờ thì số lượng các
công ty, doanh nghiệp trên địa bàn và các khu vực lân cận vẫn chưa đáp ứng được vấn
đề cung cấp một nơi thực tập cho sinh viên.
Mục đích xây dựng phòng thực hành mô phỏng kế toán cũng không nằm ngoài
mục tiêu trên. Bên cạnh đó việc đào tạo được những cử nhân kinh tế chuyên ngành Kế
toán phù hợp yêu cầu của nền kinh tế thị trường, có năng lực hoạt động, giỏi về
chuyên môn, năng động sáng tạo trong công việc, được xã hội thừa nhận, thực sự là
một thách thức lớn đối với các trường đại học nói chung và Đại Học Lạc Hồng nói
riêng.
Với việc xây dựng chương trình Phòng thực hành mô phỏng kế toán và cụ thể là
quy trình quản lý công nợ sẽ góp phần giải quyết được bài toán về đào tạo và truyền
đạt kinh nghiệm làm việc thực tế cho sinh viên chuyên ngành kế toán về các hoạt động
quản lý công nợ của các công ty, doanh nghiệp. Đồng thời góp phần nâng cao trình độ
của sinh viên, giúp sinh viên không bỡ ngỡ với môi trường làm việc thực tế sau này.
2
Chương I : Giới thiệu tổng quan
I.1 Giới thiệu đề tài
Hiện nay sinh viên ngành kế toán ra trường đi làm việc thường phải mất không
dưới 6 tháng mới tiếp nhận được phần mềm kế toán đang sử dụng trong các doanh
nghiệp. Trong các trường đại học, kế toán thường chỉ được dạy bằng lý thuyết, thực
hành trên máy chỉ thực hiện vào năm cuối và trên các phần mềm ít được nâng cấp. Số
lượng sinh viên quá đông so với máy tính trang bị nên dường như không có hiệu quả.
Cụ thể tại trường Đại học Lạc Hồng, phòng thực hành máy tính với số lượng máy có
hạn, nhưng phải dạy cho hơn vài ngàn sinh viên chính quy/năm . Đó là chỉ tính mỗi
khoa kế toán. Khi đi thực tập, sinh viên có 6 tháng tiếp cận thực tế nhưng hầu hết các
doanh nghiệp đều ít cho sinh viên tìm hiểu hoạt động tài chính kế toán của công ty mà
sinh viên chỉ được giao làm những công việc không đúng với chuyên môn của mình.
Đồng thời với tình hình sinh viên khá đông như hiện nay thì việc tìm kiếm một nơi để
sinh viên thực tập là một vấn đề không đơn giản.
Việc không có nhiều cơ hội tiếp xúc với môi trường làm việc thực tế do số
lượng sinh viên chuyên ngành kế toán ngày càng nhiều mà số lượng đơn vị thực tập
dành cho sinh viên không phát triển tương xứng. Đó là một trở ngại vô cùng lớn với
sinh viên và nhà trường, để giải quyết tình trạng học của sinh viên ngành kế toán như
hiện nay cũng như tạo cho sinh viên một môi trường làm việc mà trong đó có đầy đủ
các tình huống thường thấy trong công việc, góp phần nâng cao khả năng xử lý tình
huống, áp dụng được các kiến thức đã học vào công việc cụ thể, giảm bớt sự nhàm
chán đơn điệu trong việc học, giúp cho giáo viên truyền đạt kiến thức dưới hình thức
phong phú hơn, đồng thời cũng góp phần làm giảm gánh nặng của nhà trường và
sinh viên trong việc tìm kiếm nơi thực tập. Đảm bảo sinh viên được thực tập đúng với
những gì mình đã học trong một môi trường làm việc ảo được mô phỏng sát với thực
tế. Đồng thời giúp sinh viên không còn bỡ ngỡ khi bước vào làm việc tại một Công ty
thật sự.
Bên cạnh đó công việc quản lý công nợ là một nghiệp vụ không thể thiếu trong
bất kỳ công ty hay doanh nghiệp nào. Việc nắm bắt được các công việc mà một nhân
viên kế toán công nợ phải làm là một yếu tố cần có cho bất kỳ sinh viên chuyên ngành
kế toán khi đi làm việc. Sinh viên có thể áp dụng những kiến thức về các công việc đó
để áp dụng vào thực tế, giúp sinh viên không gặp nhiều khó khăn, bỡ ngỡ khi làm việc
thực tế.
Dự án phòng thực hành mô phỏng kế toán mà cụ thể là quy trình kế toán quản
lý công nợ sẽ được xây dựng với mục tiêu chính là đem thực tế vào trường học. Đào
tạo những kỹ năng chuyên về quản lý công nợ cho sinh viên ngành kế toán. Qua đó
góp phần vào công tác đào tạo của nhà trường, đào tạo ra những sinh viên có chất
lượng cao, đáp ứng được các nhu cầu xã hội. Và cụ thể hơn sẽ trang bị cho các sinh
viên những kiến thức làm việc thực tế của một nhân viên kế toán về quản lý công nợ,
một nghiệp vụ không thể thiếu trong bất kỳ công ty nào, đảm bảo nâng cao khả năng
tìm kiếm nơi làm việc và các kỹ năng làm việc thực tế của sinh viên.
3
I.2 Tổng quan về tình hình nghiên cứu
Hiện nay các chương trình liên quan đến lĩnh vực kế toán tồn tại trên thị trường
khá nhiều, phục vụ cho nhiều mục đích khác nhau nhưng chủ yếu tập trung trong lĩnh
vực kinh doanh. Trên thị trường vẫn chưa có nhiều sản phẩm phục vụ cho mục đích
giảng dạy kế toán. Các chương trình mô phỏng các công việc kế toán hiện nay rất ít.
Có thể nói đây là một lĩnh vực khá mới mẻ nhưng mang lại hiệu quả thực tiễn khá lớn.
Góp phần nâng cao chất lượng đào tạo của các trường đối với sinh viên chuyên ngành
kế toán.
Tiên phong trong việc xây dựng chương trình mô phỏng các quy trình kế toán
ứng dụng vào công tác giảng dạy có thể đề cập đến Trường Đại học Văn Lang. Trường
đã đưa vào hoạt động mô phỏng tài chính kế toán từ năm 2003 với mục đích đưa thực
tiễn vào trường học. Giúp sinh viên tiếp xúc với công việc kế toán như thật trước khi
đi thực tập tại các công ty.
Mô phỏng kế toán là một trong những môn học hiện đại nhất của Khoa Kế toán
của trường Đại học Văn Lang. Tại phòng mô phỏng, sinh viên năm cuối có thể thực
hiện tất cả các thao tác, công việc của một nhân viên kế toán, tài chính thực thụ như:
kế toán trưởng, kế toán chi phí, kế toán tổng hợp của công ty. Điều này giúp sinh
viên tích lũy kiến thức chuyên môn và kỹ năng cần thiết để tự tin vào làm việc chính
thức tại các doanh nghiệp sau khi ra trường.
Khoa tài chính - kế toán đã thiết lập phòng chuyên đề như một công ty và các
sinh viên trở thành . kế toán của công ty này. Mô hình chia sinh viên thành nhiều
nhóm, mỗi nhóm như một công ty được trang bị bốn máy tính nối mạng với nhau.
Trong đó các sinh viên đóng vai trò như nhân viên phòng kế toán: kế toán trưởng, kế
toán tổng hợp, kế toán chi tiết (tiền mặt, thanh toán .).
Tài chính - kế toán là một ngành khá nhạy cảm vì liên quan tới chứng từ sổ sách
của công ty. Chương trình mô phỏng là một hình thức kết hợp giữa lý thuyết và thực
hành để sinh viên có điều kiện tiếp xúc với thực tế và có cơ hội làm việc như thật, đáp
ứng yêu cầu học và hành. Đặc biệt, với mô hình này sinh viên thật sự được tiếp xúc
với những chứng từ mới và được các kế toán trưởng, các chuyên gia - được mời từ các
doanh nghiệp - trực tiếp hướng dẫn.
Với những lợi ích mà việc đưa vào sử dụng phòng thực hành mô phỏng kế toán
cho các sinh viên đem lại càng minh chứng tầm quan trọng của việc xây dựng chương
trình. Qua đó chúng tôi cần phải cố gắng thật nhiều để chương trình có thể hoàn thiện
và đưa vào sử dụng , góp phần giải quyết phần nào bài toán về đào tạo nguồn nhân lực
của nhà trường.
I.3 Hiện trạng ứng dụng
I.3.1 Những khó khăn trong hướng dẫn thực hành kế toán
Hiện nay do vẫn chưa có một chương trình nào giúp sinh viên thực hành được
những công việc của kế toán như thực tế cho nên những sinh viên ngành kế toán hầu
hết đều thiếu kinh nghiệm làm việc thực tiễn. Trên nhà trường các sinh viên chỉ được
thực hành các phần mềm kế toán phổ biến, đó là các công việc dường như đã đi vào
4
chi tiết quá sâu, sinh viên không thể hình dung một cách tổng quát các công việc mà
nhân viên kế toán phải làm gì ngoài việc chỉ biết định khoản hay tính toán sổ sách.
Thậm chí sinh viên không phân biệt được công việc nào làm trước, công việc nào làm
sau hay muốn lập báo cáo này phải lấy dữ liệu ở đâu.
Chính vì những điều đó khi vào các doanh nghiệp, công ty thật sự không ít sinh
viên cảm thấy bỡ ngỡ trước những công việc được giao. Các doanh nghiệp thường
phải tốn khá nhiều thời gian để đào tạo lại các nghiệp vụ chính cho sinh viên. Thêm
vào đó thời gian thực tập của sinh viên kéo dài nhưng không mang lại hiệu quả, bởi
trên thực tế rất nhiều sinh viên khi đi thưc tập không được giao những công việc liên
quan đến chuyên ngành. Những bài báo cáo thực tập nhiều khi chỉ là sự sao chép của
những thế hệ khác nhau, thiếu sự tìm tòi, sáng tạo.
Sinh viên chưa nắm được các công việc của kế toán, cụ thể là kế toán quản lý
công nợ như thế nào, gồm các chứng từ, sổ sách hay biểu mẫu nào. Thời điểm phải
làm các báo cáo, trình tự lập các báo cáo, sinh viên chưa được tiếp xúc nhiều với các
loại chứng từ và cách thức lập báo cáo. Tất cả những gì sinh viên được học trên ghế
nhà trường là các công việc định khoản và các lý thuyết về kế toán được truyền đạt
chưa được sinh động, rất khó để cho sinh viên hình dung cụ thể những công việc đó
như thế nào. Việc tạo ra một chương trình giải quyết các vấn đề trên là một giải pháp
thiết thực với tình trạng hiện nay.
I.3.2 Hiện trạng tin học
Chương trình mô phỏng quy trình kế toán công nợ chạy trên nền .Net
Framework 2.0 . Chương trình sử dụng hệ quản trị cơ sở dữ liệu SQL server 2005 và
Flash 8 trở lên.Với điều kiện như vậy thì chương trình hoàn toàn có thể được cài đặt và
chạy tốt tại các hệ thống phòng máy có cấu hình tương đối .
Theo khảo sát thì với cấu hình hiện tại thì tất cả các phòng máy của Trường Đại
Học Lạc Hồng - Nơi áp dụng chương trình vào việc thực hành - hoàn toàn có thể đáp
ứng được yêu cầu hệ thống của chương trình.
I.3.3 Mục tiêu thực hiện của đề tài
Dự án phòng thực hành mô phỏng kế toán mà cụ thể là quy trình kế toán quản
lý công nợ sẽ được xây dựng với các mục tiêu sau :
· Xây dựng một phần mềm mô phỏng đầy đủ các bước trong quy trình kế toán
công nợ .
· Giúp sinh viên kế toán hiểu rõ về các bước trong quy trình quản lý công nợ,
biết cách nhận biết các chứng từ và có khả năng lập được các báo cáo xuất
hiện trong quy trình.
· Đánh giá được khả năng của sinh viên trong quá trình thực hành.
· Áp dụng phần mềm mô phỏng này vào công tác giảng dạy và kiểm tra
115 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2522 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Xây dựng chương trình mô phỏng quy trình quản lý công nợ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
)>=0
+ Bối cảnh : ChiTietCongNo
+ Tầm ảnh hưởng :
T X S
ChiTietCongNo + - +( CTCN_ Co)
* R26 : ChiTietDKThu. SoTien >= 0
+ Biểu diễn :
"h Î ChiTietDKThu SoTien>=0
+ Bối cảnh : ChiTietDKThu
+ Tầm ảnh hưởng :
T X S
ChiTietDKThu + - +( SoTien)
* R27 : ChiTietDKTra. SoTien >= 0
+ Biểu diễn :
"h Î ChiTietDKTra SoTien>=0
+ Bối cảnh : ChiTietDKTra
+ Tầm ảnh hưởng :
T X S
ChiTietDKTra + - +( SoTien)
* R28 : ChiTietPhaiThu. SoTienPhatSinh >= 0
+ Biểu diễn :
"h Î ChiTietPhaiThu SoTienPhatSinh >=0
+ Bối cảnh : ChiTietPhaiThu
+ Tầm ảnh hưởng :
T X S
ChiTietPhaiThu + - +( SoTienPhatSinh )
* R29 : ChiTietPhaiThu. SoTienDaThu >= 0
+ Biểu diễn :
"h Î ChiTietPhaiThu SoTienDaThu >=0
+ Bối cảnh : ChiTietPhaiThu
+ Tầm ảnh hưởng :
T X S
ChiTietPhaiThu + - +( SoTienDaThu)
48
* R30 : ChiTietPhaiThu. SoTienConPhaiThu >= 0
+ Biểu diễn :
"h Î ChiTietPhaiThu SoTienConPhaiThu >=0
+ Bối cảnh : ChiTietPhaiThu
+ Tầm ảnh hưởng :
T X S
ChiTietPhaiThu + - +( SoTienConPhaiThu)
* R31 : ChiTietPhaiTra. SoTienPhatSinh >= 0
+ Biểu diễn :
"h Î ChiTietPhaiTra SoTienPhatSinh >=0
+ Bối cảnh : ChiTietPhaiTra
+ Tầm ảnh hưởng :
T X S
ChiTietPhaiTra + - +( SoTienPhatSinh)
* R32 : ChiTietPhaiTra. SoTienDaTra >= 0
+ Biểu diễn :
"h Î ChiTietPhaiTra SoTienDaTra >=0
+ Bối cảnh : ChiTietPhaiTra
+ Tầm ảnh hưởng :
T X S
ChiTietPhaiTra + - +( SoTienDaTra)
* R33 : ChiTietPhaiTra. SoTienConPhaiTra >= 0
+ Biểu diễn :
"h Î ChiTietPhaiTra SoTienConPhaiTra >=0
+ Bối cảnh : ChiTietPhaiTra
+ Tầm ảnh hưởng :
T X S
ChiTietPhaiTra + - +( SoTienConPhaiTra)
* R34 : HopDong. TongTienHD >= 0
+ Biểu diễn :
"h Î HopDong TongTienHD >=0
+ Bối cảnh : HopDong
+ Tầm ảnh hưởng :
T X S
HopDong + - +( TongTienHD)
49
III.2.3 Ràng buộc toàn vẹn trên nhiều quan hệ
a) Ràng buộc tồn tại
* R35 : DeBai.MaDB tồn tại trong BaoCaoDuKienPhaiThu
+ Biểu diễn :
BaoCaoDuKienPhaiThu [MaDB] Í DeBai [MaDB]
+ Bối cảnh : DeBai, BaoCaoDuKienPhaiThu
+ Tầm ảnh hưởng :
T X S
DeBai + - +(MaDB)
BaoCaoDuKienPhaiThu - + +
* R36: DeBai.MaDB tồn tại trong BaoCaoDuKienPhaiTra
+ Biểu diễn :
BaoCaoDuKienPhaiTra [MaDB] Í DeBai [MaDB]
+ Bối cảnh : DeBai, BaoCaoDuKienPhaiTra
+ Tầm ảnh hưởng :
T X S
DeBai + - +(MaDB)
BaoCaoDuKienPhaiTra - + +
* R37: DeBai.MaDB tồn tại trong BaoCaoPhaiThu
+ Biểu diễn :
BaoCaoPhaiThu [MaDB] Í DeBai [MaDB]
+ Bối cảnh : DeBai, BaoCaoPhaiThu
+ Tầm ảnh hưởng :
T X S
DeBai + - +(MaDB)
BaoCaoPhaiThu - + +
* R38: DeBai.MaDB tồn tại trong BaoCaoPhaiTra
+ Biểu diễn :
BaoCaoPhaiTra [MaDB] Í DeBai [MaDB]
+ Bối cảnh : DeBai, BaoCaoPhaiTra
+ Tầm ảnh hưởng :
T X S
DeBai + - +(MaDB)
BaoCaoPhaiTra - + +
* R39: DeBai.MaDB tồn tại trong SoCongNo
+ Biểu diễn :
SoCongNo [MaDB] Í DeBai [MaDB]
+ Bối cảnh : DeBai, SoCongNo
+ Tầm ảnh hưởng :
T X S
50
DeBai + - +(MaDB)
SoCongNo - + +
* R40: DeBai.MaDB tồn tại trong DeBai_HopDong
+ Biểu diễn :
DeBai_HopDong [MaDB] Í DeBai [MaDB]
+ Bối cảnh : DeBai, DeBai_HopDong
+ Tầm ảnh hưởng :
T X S
DeBai + - +(MaDB)
DeBai_HopDong - + +
* R41: ChucDanh.MaCD tồn tại trong BieuMau
+ Biểu diễn :
BieuMau [MaDB] Í ChucDanh [MaCD]
+ Bối cảnh : ChucDanh, BieuMau
+ Tầm ảnh hưởng :
T X S
ChucDanh + - +(MaCD)
BieuMau - + +
* R42: HopDong.MaHD tồn tại trong BieuMau
+ Biểu diễn :
BieuMau [MaHD] Í HopDong [MaHD]
+ Bối cảnh : HopDong, BieuMau
+ Tầm ảnh hưởng :
T X S
HopDong + - +( MaHD)
BieuMau - + +
* R43: LoaiBieuMau.MaLoai tồn tại trong BieuMau
+ Biểu diễn :
BieuMau [MaLoai] Í LoaiBieuMau [MaLoai]
+ Bối cảnh : LoaiBieuMau, BieuMau
+ Tầm ảnh hưởng :
T X S
LoaiBieuMau + - +( MaLoai)
BieuMau - + +
* R44: SoCongNo. MaCN tồn tại trong ChiTietCongNo
+ Biểu diễn :
ChiTietCongNo [MaCN] Í SoCongNo [MaCN]
+ Bối cảnh : SoCongNo, ChiTietCongNo
+ Tầm ảnh hưởng :
T X S
SoCongNo + - +( MaCN)
ChiTietCongNo - + +
51
* R45: BaoCaoDuKienPhaiThu. MaDKThu tồn tại trong ChiTietDKThu
+ Biểu diễn :
ChiTietDKThu [MaDKThu] Í BaoCaoDuKienPhaiThu [MaDKThu]
+ Bối cảnh : BaoCaoDuKienPhaiThu, ChiTietDKThu
+ Tầm ảnh hưởng :
T X S
BaoCaoDuKienPhaiThu + - +( MaDKThu)
ChiTietDKThu - + +
* R46: BaoCaoDuKienPhaiTra. MaDKTra tồn tại trong ChiTietDKTra
+ Biểu diễn :
ChiTietDKTra [MaDKTra] Í BaoCaoDuKienPhaiTra [MaDKTra]
+ Bối cảnh : BaoCaoDuKienPhaiTra, ChiTietDKTra
+ Tầm ảnh hưởng :
T X S
BaoCaoDuKienPhaiTra + - +( MaDKTra)
ChiTietDKTra - + +
* R47: BaoCaoPhaiThu. MaCNPTh tồn tại trong ChiTietPhaiThu
+ Biểu diễn :
ChiTietPhaiThu [MaCNPTh] Í BaoCaoPhaiThu [MaCNPTh]
+ Bối cảnh : BaoCaoPhaiThu, ChiTietPhaiThu
+ Tầm ảnh hưởng :
T X S
BaoCaoPhaiThu + - +( MaCNPTh)
ChiTietPhaiThu - + +
* R48 : BaoCaoPhaiTra. MaCNPT tồn tại trong ChiTietPhaiTra
+ Biểu diễn :
ChiTietPhaiTra [MaCNPT] Í BaoCaoPhaiTra [MaCNPT]
+ Bối cảnh : BaoCaoPhaiTra, ChiTietPhaiTra
+ Tầm ảnh hưởng :
T X S
BaoCaoPhaiTra + - +( MaCNPT)
ChiTietPhaiTra - + +
* R49 : GiaoVien. MaGV tồn tại trong DeBai
+ Biểu diễn :
DeBai [MaGV] Í GiaoVien [MaGV]
+ Bối cảnh : GiaoVien, DeBai
+ Tầm ảnh hưởng :
T X S
GiaoVien + - +( MaGV)
DeBai - + +
52
* R50 : KhachHang. MaKH tồn tại trong HopDong
+ Biểu diễn :
HopDong [MaKH] Í KhachHang [MaKH]
+ Bối cảnh : KhachHang, HopDong
+ Tầm ảnh hưởng :
T X S
KhachHang + - +( MaKH)
HopDong - + +
* R51: KhachHang. MaKH tồn tại trong SoCongNo
+ Biểu diễn :
SoCongNo [MaKH] Í KhachHang [MaKH]
+ Bối cảnh : KhachHang, SoCongNo
+ Tầm ảnh hưởng :
T X S
KhachHang + - +( MaKH)
SoCongNo - + +
* R52: HopDong. MaHD tồn tại trong DeBai_HopDong
+ Biểu diễn :
DeBai_HopDong [MaHD ] Í HopDong [MaHD ]
+ Bối cảnh : HopDong, DeBai_HopDong
+ Tầm ảnh hưởng :
T X S
HopDong + - +( MaHD )
DeBai_HopDong - + +
* R53 : BieuMau. MaBM tồn tại trong ChiTietBieuMau
+ Biểu diễn :
ChiTietBieuMau [MaBM ] Í BieuMau [MaBM ]
+ Bối cảnh : BieuMau, ChiTietBieuMau
+ Tầm ảnh hưởng :
T X S
BieuMau + - +( MaBM )
ChiTietBieuMau - + +
* R54 : DuLieu. MaDL tồn tại trong ChiTietBieuMau
+ Biểu diễn :
ChiTietBieuMau [MaDL ] Í DuLieu [MaDL ]
+ Bối cảnh : DuLieu, ChiTietBieuMau
+ Tầm ảnh hưởng :
T X S
DuLieu + - +( MaDL )
ChiTietBieuMau - + +
53
b) Ràng buộc liên thuộc tính, liên quan hệ
* R55: BaoCaoDuKienPhaiThu. NgayLap >= SoCongNo.CN_NgayLap
+ Biểu diễn :
"h Î BaoCaoDuKienPhaiThu & k Î SoCongNo → h. NgayLap >= k. CN_NgayLap
+ Bối cảnh : BaoCaoDuKienPhaiThu, SoCongNo
+ Tầm ảnh hưởng :
T X S
BaoCaoDuKienPhaiThu + - +( NgayLap)
SoCongNo - + +( CN_NgayLap)
* R56: BaoCaoDuKienPhaiTra. NgayLap >= SoCongNo.CN_NgayLap
+ Biểu diễn :
"h Î BaoCaoDuKienPhaiTra & k Î SoCongNo → h. NgayLap >= k. CN_NgayLap
+ Bối cảnh : BaoCaoDuKienPhaiTra, SoCongNo
+ Tầm ảnh hưởng :
T X S
BaoCaoDuKienPhaiTra + - +( NgayLap)
SoCongNo - + +( CN_NgayLap)
* R57: BaoCaoPhaiThu. NgayLap >= BaoCaoDuKienPhaiThu. NgayLap
+ Biểu diễn :
"h Î BaoCaoPhaiThu & k Î BaoCaoDuKienPhaiThu → h. NgayLap >= k. NgayLap
+ Bối cảnh : BaoCaoPhaiThu, BaoCaoDuKienPhaiThu
+ Tầm ảnh hưởng :
T X S
BaoCaoPhaiThu + - +( NgayLap)
BaoCaoDuKienPhaiThu - + +( NgayLap)
* R58: BaoCaoPhaiTra. NgayLap >= BaoCaoDuKienPhaiTra. NgayLap
+ Biểu diễn :
"h Î BaoCaoPhaiTra & k Î BaoCaoDuKienPhaiTra → h. NgayLap >= k. NgayLap
+ Bối cảnh : BaoCaoPhaiTra, BaoCaoDuKienPhaiTra
+ Tầm ảnh hưởng :
T X S
BaoCaoPhaiTra + - +( NgayLap)
BaoCaoDuKienPhaiTra - + +( NgayLap)
* R59: SoCongNo. CN_NgayLap >= DeBai. NgayLamViec
+ Biểu diễn :
"h Î SoCongNo & k Î DeBai → h. CN_NgayLap >= k. NgayLamViec
+ Bối cảnh : SoCongNo, DeBai
+ Tầm ảnh hưởng :
T X S
SoCongNo + - +( CN_NgayLap)
DeBai - + +( NgayLamViec)
54
* R60: BaoCaoDuKienPhaiThu. TongCong >= ChiTietCongNo. CTCN_ConLai
+ Biểu diễn :
"h Î BaoCaoDuKienPhaiThu & k Î ChiTietCongNo → h. TongCong >= k.
CTCN_ConLai
+ Bối cảnh : BaoCaoDuKienPhaiThu, ChiTietCongNo
+ Tầm ảnh hưởng :
T X S
BaoCaoDuKienPhaiThu + - +( TongCong)
ChiTietCongNo - + +( CTCN_ConLai)
* R60: BaoCaoDuKienPhaiTra. TongCong >= ChiTietCongNo. CTCN_ConLai
+ Biểu diễn :
"h Î BaoCaoDuKienPhaiTra & k Î ChiTietCongNo → h. TongCong >= k.
CTCN_ConLai
+ Bối cảnh : BaoCaoDusKienPhaiTra, ChiTietCongNo
+ Tầm ảnh hưởng :
T X S
BaoCaoDuKienPhaiTra + - +( TongCong)
ChiTietCongNo - + +( CTCN_ConLai)
* R61: BaoCaoPhaiThu. TongCong >= ChiTietCongNo. CTCN_ConLai
+ Biểu diễn :
"h Î BaoCaoPhaiThu & k Î ChiTietCongNo → h. TongCong >= k. CTCN_ConLai
+ Bối cảnh : BaoCaoPhaiThu, ChiTietCongNo
+ Tầm ảnh hưởng :
T X S
BaoCaoPhaiThu + - +( TongCong)
ChiTietCongNo - + +( CTCN_ConLai)
* R62: BaoCaoPhaiTra. TongCong >= ChiTietCongNo. CTCN_ConLai
+ Biểu diễn :
"h Î BaoCaoPhaiTra & k Î ChiTietCongNo → h. TongCong >= k. CTCN_ConLai
+ Bối cảnh : BaoCaoPhaiTra, ChiTietCongNo
+ Tầm ảnh hưởng :
T X S
BaoCaoPhaiTra + - +( TongCong)
ChiTietCongNo - + +( CTCN_ConLai)
55
III.2.4 Thành phần xử lý ở mức logic
Biểu đồ 3.12 : Xử lý cho việc quản lý tình huống của giáo viên
TT hợp lệ
TT Ko hợp lệ
Bắt đầu
Giáo viên
Đăng nhập
Đăng nhập lại
Vào màn hình quản lý
tình huống
Thêm mới tình
huống
Chỉnh sửa nội
dung tình huống
Xóa tình huống
56
Biểu đồ 3.13 : Xử lý cho việc thêm mới tình huống
Bắt đầu
Thêm mới tình
huống
Tạo nội dung
tình huống
Thêm hợp đồng
có sẳn vào tình
huống
Thêm mới
hợp đồng
Tạo nội dung
cho hợp đồng
Lập các chứng từ đi
kèm theo hợp đồng
Lập các sổ chi tiết
công nợ cho các
khách hàng
Lập kế hoạch thu chi
Lập báo cáo công
nợ phải thu và phải
trả
Kết thúc
57
Biểu đồ 3.14 : Xử lý cho việc chỉnh sửa tình huống ,thêm hợp đồng mới vào tình
huống
Thêm hợp đồng
vào tình huống đã
có
Lập chứng từ đi kèm
với hợp đồng mới
Cập nhật sổ chi tiết công
nợ cho khách hàng thuộc
hợp đồng vừa tạo
Cập nhật kế hoạch thu
hoặc kế hoạch chi
Cập nhật báo cáo
công nợ phải thu
hoặc phải trả
Kết thúc
Bắt đầu
58
Biểu đồ 3.15 : Mô hình xử lý cho việc thực hiện quy trình của sinh viên
Lập sai
Nhận biết sai
Phát sinh các hợp đồng
và hóa đơn thuộc tình
huống
Nhận biết hợp đồng
Tìm hóa đơn
Thực hiện lại
Nhận biết đúng
Lập các sổ chi tiết công
nợ phải thu và phải trả
Thực hiện lại
Lập đúng
Lập các dự kiến
phải thu và phải trả
Lập sai
Lập đúng
Thực hiện lại
Đem kế toán trưởng
kiểm tra và ký duyệt
Trình Giám đốc ký
duyệt
Bắt đầu
59
Cập nhật các sổ chi tiết
công nợ phải thu và
phải trả
Thực hiện lại
Lập đúng
Lập sai
Thực hiện lại
Lập báo cáo công nợ
phải thu và phải trả
Lập sai
Lập đúng
Đem cho kế toán
trưởng kiểm tra
Đem cho Giám
đốc ký duyệt
Chuyển báo cáo
cho bộ phận kế
toán thanh toán
Kết thúc
Thu thập các chứng từ
mới phát sinh
Nhận biết các chứng
từ mới phát sinh
60
III.3 Phân tích thiết kế hệ thống ở mức vật lý
III.3.1 Thành phần dữ liệu mức vật lý
a) Mô tả các bảng
Bảng III.1 : SoCongNo
Bảng III.2 : BaoCaoDuKienPhaiThu
Bảng III.3 : BaoCaoDuKienPhaiTra
Bảng III.4 : BaoCaoPhaiThu
61
Bảng III.5 : BaoCaoPhaiTra
Bảng III.6 : BieuMau
Bảng III.7 : ChiTietBieuMau
Bảng III.8 : ChiTietCongNo
62
Bảng III.9 : ChiTietDKThu
Bảng III.10 : ChiTietDKTra
Bảng III.11 : ChiTietPhaiThu
63
Bảng III.12 : ChiTietPhaiTra
Bảng III.13 : ChucDanh
Bảng III.14 : DeBai
Bảng III.15 : DeBai_HopDong
Bảng III.16 : DuLieu
64
Bảng III.17 : GiaoVien
Bảng III.18 : HopDong
Bảng III.19 : KhachHang
Bảng III.20 : LoaiBieuMau
65
b) Mô tả các mối kết hợp
* Mối kết hợp có thuộc tính
- Kết hợp 2 thực thể BieuMau va DuLieu
-Kết hợp 2 thực thể DeBai va HopDong
* Mối kết hợp không có thuộc tính
- Kết hợp 2 thực thể BaoCaoDuKienPhaiThu và ChiTietDKThu
- Kết hợp 2 thực thể BaoCaoDuKienPhaiTra và ChiTietDKTra
66
- Kết hợp 2 thực thể BaoCaoPhaiTra và ChiTietPhaiTra
- Kết hợp 2 thực thể BaoCaoPhaiThu và ChiTietPhaiThu
- Kết hợp 2 thực thể SoCongNo và ChiTietCongNo
- Kết hợp 2 thực thể DeBai và GiaoVien
67
- Kết hợp 2 thực thể DeBai và BaoCaoDuKienPhaiTra
- Kết hợp 2 thực thể DeBai và BaoCaoDuKienPhaiThu
- Kết hợp 2 thực thể DeBai và BaoCaoPhaiTra
- Kết hợp 2 thực thể DeBai và BaoCaoPhaiThu
68
- Kết hợp 2 thực thể DeBai và SoCongNo
- Kết hợp 2 thực thể BieuMau và ChucDanh
- Kết hợp 2 thực thể BieuMau và HopDong
- Kết hợp 2 thực thể BieuMau và LoaiBieuMau
69
- Kết hợp 2 thực thể HopDong và KhachHang
- Kết hợp 2 thực thể KhachHang và SoCongNo
70
c) Mô hình vật lý
Hình III.1 : Mô hình vật lý
71
III.3.2 Thành phần xử lý ở mức vật lý
* Những đoạn code chính
Chúng tôi đã xây dựng 183 procedure để thực hiện các công việc giao tiếp với
cơ sỏ dữ liệu. Dưới đây là một số procedure tiêu biểu :
- Procedure dùng để hiển thị chi tiết công nợ theo mã đề bài,mã khách hàng và loại
khách hàng
Create proc [dbo].[sp_HienThiChiTietCongNo_MaDB_MaKH_Loai]
@madb int,
@makh int,
@loaikh int
as
select c.* from socongno a,khachhang b,chitietcongno c where a.madb=@madb
and a.makh=b.makh and b.makh=@makh and loaikh=@loaikh and
c.macn=a.macn
- Procedure dùng để hiển thị chứng từ theo mã đề bài và mã khách hàng
Create proc [dbo].[sp_HienThiChungTuTheoMaDB_MaKH]
@MaDB int,
@MaKH int
as
Select * from bieumau a,khachhang b,debai_hopdong c,hopdong d
where a.maloai not in (1,2)
And a.mahd=c.mahd and b.makh=d.makh and c.mahd=d.mahd
And c.madb=@MaDB and b.makh=@MaKH
- Procedure hiển thị hóa đơn theo mã đề bài và mã khách hàng
Create proc [dbo].[sp_HienThiHoaDonTheoMaDB_MaKH]
@MaDB int,
@MaKH int
as
Select * from bieumau a,khachhang b,debai_hopdong c,hopdong d
where a.maloai in (1,2)
And a.mahd=c.mahd and b.makh=d.makh and c.mahd=d.mahd
And c.madb=@MaDB and b.makh=@MaKH
- Procedure hiển thi hợp đồng theo tên khách hàng
Create proc [dbo].[sp_HienThiHopDong_TenKhachHang]
@debai int,
@htthamgia int,
@tenkh nvarchar(100)
as
if @htthamgia=3
begin
select *from khachhang a,hopdong b,debai_hopdong c where
a.tenkh=@tenkh and a.makh=b.makh
and b.mahd=c.mahd and c.madb=@debai
72
end
else
begin
select *from khachhang a,hopdong b,debai_hopdong c where
a.tenkh=@tenkh and a.makh=b.makh
and b.htthamgia=@htthamgia and b.mahd=c.mahd and c.madb=@debai
end
- Procedure hiển thị khách hàng theo loại khách hàng và mã đề bài
Create proc [dbo].[sp_HienThiKHTheoLoaiVaMaDB]
@LoaiKH int,
@MaDB int
as
select distinct a.TenKH,a.MaKH from khachhang a,hopdong b,debai_hopdong
c
where LoaiKH=@LoaiKH and MaDB=@MaDB and a.MaKH=b.makh
and b.mahd=c.mahd
- Procedure hiển thị những khách hàng có sổ chi tiết công nợ
Create proc [dbo].[sp_HTKhachHang_LamCTCN]
@madb int
as
select distinct b.makh,b.tenkh from debai_hopdong a,khachhang b ,HopDong c
where a.madb=@madb and a.mahd=c.mahd and b.makh=c.makh and b.makh
3
-Procedure dùng để lấy mã hợp đồng mới nhất
Create proc [dbo].[sp_LayMaHopDongMoi]
as
select * from HopDong where mahd =(select max(mahd) from HopDong)
* Phần code kiểm tra sinh viên cập nhật sổ chi tiết công nợ đúng hay sai
Private Sub btnLap_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnLap.Click
Dim loi As Boolean = False
Dim i As Integer = 0
Dim j As Integer = 0
Dim grid As New DataTable
grid = laygribCongNoCapNhat()
If DG_CN.RowCount - 1 = grid.Rows.Count Then
For i = 0 To grid.Rows.Count - 1
For j = 0 To DG_CN.RowCount - 2
Try
If CInt(Trim(DG_CN.Rows(j).Cells("So").Value)) =
CInt(Trim(grid.Rows(i).Item("CTCN_ChungTuSo"))) Then
Exit For
End If
73
Catch ex As Exception
loi = True
End Try
Next
If j = DG_CN.RowCount - 1 Then
loi = True
Else
Try
If CLng(Trim(DG_CN.Rows(j).Cells("No").Value))
CLng(Trim(grid.Rows(i).Item("CTCN_No"))) Then
loi = True
Exit For
End If
If CLng(Trim(DG_CN.Rows(j).Cells("Co").Value))
CLng(Trim(grid.Rows(i).Item("CTCN_Co"))) Then
loi = True
Exit For
End If
Catch ex As Exception
loi = True
End Try
End If
Next
Else
loi = True
End If
Dim loi_conlai As Boolean = False
If loi = True Then
MsgBox("Xem lại các chứng từ liên quan đi.Chi tiết công nợ này có vấn đề rồi
đó ")
DuLieuChung.LoiPhatSinh = DuLieuChung.LoiPhatSinh + 1
DuLieuChung.listboxLoi.Items.Add("- Đã từng lập chi tiết công nợ sai")
Else
Dim gt1 As Long = 0
Dim gt2 As Long = 0
Dim gt3 As Long = 0
If txtNo.Text = "" Then
gt1 = 0
Else
gt1 = CLng(Trim(txtNo.Text))
End If
If txtCo.Text = "" Then
gt2 = 0
Else
gt2 = CLng(Trim(txtCo.Text))
End If
74
If txtConLai.Text = "" Then
gt3 = 0
Else
gt3 = CLng(Trim(txtConLai.Text))
End If
If tongno gt1 Or tongco gt2 Or tongconlai gt3 Then
MsgBox("Xem lại giá trị tổng nợ, có, còn lại. Giá trị chưa chính xác")
Else
Try
For p As Integer = 0 To DG_CN.RowCount - 2
Dim _No As Long = 0
Dim _Co As Long = 0
Dim _ConLai As Long = 0
Dim Prev_ConLai As Long = 0
If Trim(DG_CN.Rows(p).Cells("No").Value).ToString = "" Then
_No = 0
Else
_No = CLng(Trim(DG_CN.Rows(p).Cells("No").Value))
End If
If Trim(DG_CN.Rows(p).Cells("Co").Value).ToString = "" Then
_Co = 0
Else
_Co = CLng(Trim(DG_CN.Rows(p).Cells("Co").Value))
End If
If Trim(DG_CN.Rows(p).Cells("ConLai").Value).ToString = "" Then
_ConLai = 0
Else
_ConLai = CLng(Trim(DG_CN.Rows(p).Cells("ConLai").Value))
End If
If loaikh = 1 Then
If p = 0 Then
If _No - _Co _ConLai Then
loi_conlai = True
Exit For
End If
Else
If Trim(DG_CN.Rows(p - 1).Cells("ConLai").Value).ToString =
""
Then
Prev_ConLai = 0
Else
Prev_ConLai = CLng(Trim(DG_CN.Rows(p –
1).Cells("ConLai").Value))
End If
If Prev_ConLai + _No - _Co _ConLai Then
loi_conlai = True
Exit For
End If
75
End If
Else
If p = 0 Then
If _Co - _No _ConLai Then
loi_conlai = True
Exit For
End If
Else
If Trim(DG_CN.Rows(p - 1).Cells("ConLai").Value).ToString = ""
Then
Prev_ConLai = 0
Else
Prev_ConLai = CLng(Trim(DG_CN.Rows(p –
1).Cells("ConLai").Value))
End If
If Prev_ConLai + _Co - _No _ConLai Then
loi_conlai = True
Exit For
End If
End If
End If
Next
Catch ex As Exception
loi_conlai = True
End Try
If loi_conlai = True Then
MsgBox("Lỗi giá trị cột còn lại")
Else
If txtBo.Text "" And txtDoiTuong.Text "" And txtDonVi.Text ""
Then
MsgBox("Đã cập nhật giảm trừ công nợ cho " + TenKhachHang)
DuLieuChung.TuFormTroGiup = 0
DuLieuChung.DayLaFormCTCN_CN = 0
Me.PicNguoiLap.Visible = True
Me.btnThoat.Enabled = True
Me.btnLap.Enabled = False
Else
MsgBox("Phải nhập đầy đủ dữ liệu ")
End If
End If
End If
End If
End Sub
* Phần code thuật toán kiểm tra việc lập sổ chi tiết công nợ của sinh viên
đúng hay sai
Dim loi As Boolean = False
Dim i As Integer = 0
Dim j As Integer = 0
76
Dim grid As New DataTable
grid = LayDuLieuChiTietSoCongNo()
If DG_CN.RowCount - 1 = grid.Rows.Count Then
For i = 0 To grid.Rows.Count - 1
For j = 0 To DG_CN.RowCount - 2
Try
If CInt(Trim(DG_CN.Rows(j).Cells("So").Value)) =
CInt(Trim(grid.Rows(i).Item("CTCN_ChungTuSo"))) Then
Exit For
End If
Catch ex As Exception
loi = True
End Try
Next
If j = DG_CN.RowCount - 1 Then
loi = True
Else
Try
If CLng(Trim(DG_CN.Rows(j).Cells("No").Value))
CLng(Trim(grid.Rows(i).Item("CTCN_No"))) Then
loi = True
Exit For
End If
If CLng(Trim(DG_CN.Rows(j).Cells("Co").Value))
CLng(Trim(grid.Rows(i).Item("CTCN_Co"))) Then
loi = True
Exit For
End If
Catch ex As Exception
loi = True
End Try
End If
Next
Else
loi = True
End If
Dim loi_conlai As Boolean = False
If loi = True Then
MsgBox("Xem lại các chứng từ liên quan đi.Chi tiết công nợ này có vấn đề rồi
đó")
DuLieuChung.LoiPhatSinh = DuLieuChung.LoiPhatSinh + 1
DuLieuChung.listboxLoi.Items.Add("- Đã từng lập chi tiết công nợ sai")
Else
Dim gt1 As Long = 0
Dim gt2 As Long = 0
Dim gt3 As Long = 0
If txtNo.Text = "" Then
77
gt1 = 0
Else
gt1 = CLng(Trim(txtNo.Text))
End If
If txtCo.Text = "" Then
gt2 = 0
Else
gt2 = CLng(Trim(txtCo.Text))
End If
If txtConLai.Text = "" Then
gt3 = 0
Else
gt3 = CLng(Trim(txtConLai.Text))
End If
If tongno gt1 Or tongco gt2 Or tongconlai gt3 Then
MsgBox("Xem lại giá trị tổng nợ, có, còn lại. Giá trị chưa chính xác")
Else
Try
For p As Integer = 0 To DG_CN.RowCount - 2
Dim _No As Long = 0
Dim _Co As Long = 0
Dim _ConLai As Long = 0
Dim Prev_ConLai As Long = 0
If Trim(DG_CN.Rows(p).Cells("No").Value) = "" Then
_No = 0
Else
_No = CLng(Trim(DG_CN.Rows(p).Cells("No").Value))
End If
If Trim(DG_CN.Rows(p).Cells("Co").Value) = "" Then
_Co = 0
Else
_Co = CLng(Trim(DG_CN.Rows(p).Cells("Co").Value))
End If
If Trim(DG_CN.Rows(p).Cells("ConLai").Value) = "" Then
_ConLai = 0
Else
_ConLai = CLng(Trim(DG_CN.Rows(p).Cells("ConLai").Value))
End If
If loaikh = 1 Then
If p = 0 Then
If _No - _Co _ConLai Then
loi_conlai = True
Exit For
End If
Else
If Trim(DG_CN.Rows(p - 1).Cells("ConLai").Value) = "" Then
Prev_ConLai = 0
78
Else
Prev_ConLai = CLng(Trim(DG_CN.Rows(p –
1).Cells("ConLai").Value))
End If
If Prev_ConLai + _No - _Co _ConLai Then
loi_conlai = True
Exit For
End If
End If
Else
If p = 0 Then
If _Co - _No _ConLai Then
loi_conlai = True
Exit For
End If
Else
If Trim(DG_CN.Rows(p - 1).Cells("ConLai").Value) = "" Then
Prev_ConLai = 0
Else
Prev_ConLai = CLng(Trim(DG_CN.Rows(p –
1).Cells("ConLai").Value))
End If
If Prev_ConLai + _Co - _No _ConLai Then
loi_conlai = True
Exit For
End If
End If
End If
Next
Catch ex As Exception
loi_conlai = True
End Try
If loi_conlai = True Then
MsgBox("Lỗi giá trị cột còn lại")
Else
If txtBo.Text "" And txtDoiTuong.Text "" And txtDonVi.Text
"" Then
MsgBox("Đã lập báo cáo chi tiết công nợ cho " + tenkhachhang)
kiemtra = True
Me.PicNguoiLap.Visible = True
Me.btnThoat.Enabled = True
Me.btnLap.Enabled = False
Else
MsgBox("Phải nhập đầy đủ dữ liệu ")
End If
End If
End If
End If
79
*Phần code thuật toán kiểm tra việc lập báo cáo của sinh viên
Private Sub btSVLap_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btSVLap.Click
Dim loi As Boolean = False
Dim solan As Integer = 0
Dim i As Integer = 0
Dim j As Integer = 0
Dim giatri1 As Double
Dim giatri2 As Double
Dim grid As New DataTable
grid = layChiTietCongNoPhaiThu()
If DG_BaoCaoThu.RowCount - 1 = grid.Rows.Count Then
For i = 0 To DG_BaoCaoThu.RowCount - 2
For j = 0 To grid.Rows.Count - 1
If DG_BaoCaoThu.Rows(j).Cells("TenKhachHang").Value =
CStr(grid.Rows(i).Item("TenKhachHang")) Then
If DG_BaoCaoThu.Rows(j).Cells("SoTienPhatSinh").Value = "" Then
giatri1 = 0
Else
giatri1 =
CDbl(DG_BaoCaoThu.Rows(j).Cells("SoTienPhatSinh").Value)
End If
If grid.Rows(i).Item("SoTienPhatSinh").ToString = "" Then
giatri2 = 0
Else
giatri2 = CDbl(grid.Rows(i).Item("SoTienPhatSinh"))
End If
If giatri1 giatri2 Then
Continue For
End If
If DG_BaoCaoThu.Rows(j).Cells("SoLuong").Value = "" Then
giatri1 = 0
Else
giatri1 = 0 'CDbl(DG_BaoCaoThu.Rows(i).Cells("SoLuong").Value)
End If
If grid.Rows(i).Item("SoDuDauKy").ToString = "" Then
giatri2 = 0
Else
giatri2 = 0 'CDbl(grid.Rows(j).Item("SoDuDauKy"))
End If
If giatri1 giatri2 Then
Continue For
End If
If DG_BaoCaoThu.Rows(j).Cells("DaThu").Value = "" Then
giatri1 = 0
Else
giatri1 = CDbl(DG_BaoCaoThu.Rows(j).Cells("DaThu").Value)
End If
80
If grid.Rows(i).Item("SoTienDaThu").ToString = "" Then
giatri2 = 0
Else
giatri2 = CDbl(grid.Rows(i).Item("SoTienDaThu"))
End If
If giatri1 giatri2 Then
Continue For
End If
If DG_BaoCaoThu.Rows(j).Cells("ConLai").Value = "" Then
giatri1 = 0
Else
giatri1 = CDbl(DG_BaoCaoThu.Rows(j).Cells("ConLai").Value)
End If
If grid.Rows(i).Item("SoTienConPhaiThu").ToString = "" Then
giatri2 = 0
Else
giatri2 = CDbl(grid.Rows(i).Item("SoTienConPhaiThu"))
End If
If giatri1 giatri2 Then
Continue For
End If
solan = solan + 1
Exit For
End If
Next
Try
Catch ex As Exception
loi = True
End Try
Next
Else
loi = True
End If
If solan = grid.Rows.Count Then
loi = False
Else
loi = True
End If
If loi = True Then
MsgBox("Xem lại các chứng từ liên quan đi.Báo cáo công nợ phải thu này có
vấn đề
rồi đó")
DuLieuChung.LoiPhatSinh = DuLieuChung.LoiPhatSinh + 1
DuLieuChung.listboxLoi.Items.Add("- Đã từng lập công nợ phải thu sai")
Me.Button1.Enabled = False
Else
Me.PicNguoiLap.Visible = True
81
MsgBox("Đã lập báo cáo công nợ phải thu của tháng này. Tiếp tục công việc
nào.")
DuLieuChung.SV_KiemTraBuoc10 = 1
DuLieuChung.XemCoCK = 0
Dim a As New LapBaoCao
a.Show()
Me.Close()
End If
End Sub
(Ghi chú : Việc kiểm tra lập báo cáo phải trả tương tự như trên)
*Phần code thuật toán kiểm tra việc lập kế hoạch thu chi
Private Sub btnLap_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
Handles btnLap.Click
Dim loi As Boolean = False
Dim loint As Boolean = False
Dim solanthay As Integer = 0
Dim i As Integer = 0
Dim j As Integer = 0
Dim grid As New DataTable
grid = laygiatriGrid()
Try
If DG_DuKienThu.RowCount - 1 = grid.Rows.Count Then
For i = 0 To DG_DuKienThu.RowCount - 2
For j = 0 To grid.Rows.Count - 1
If DG_DuKienThu.Rows(i).Cells("TenKhachHang").Value =
CStr(grid.Rows(j).Item("TenNCC")) Then
If CDbl(DG_DuKienThu.Rows(i).Cells("SoTien").Value)
CDbl(grid.Rows(j).Item("SoTien")) Then
Continue For
End If
If
CStr(Trim(DG_DuKienThu.Rows(i).Cells("NgayGiaoHang").Value))
CStr(Trim(grid.Rows(j).Item("NgayGiaoHang")))
Then
loint = True
Continue For
End If
If CStr(Trim(DG_DuKienThu.Rows(i).Cells("NgayThu").Value))
CStr(Trim(grid.Rows(j).Item("NgayThuDuKien"))) Then
loint = True
Continue For
End If
solanthay = solanthay + 1
End If
Next
Next
Else
82
loi = True
End If
Catch ex As Exception
loi = True
End Try
If solanthay = grid.Rows.Count Then
loi = False
Else
loi = True
End If
Label1.Text = CStr(solanthay)
If loint = True Then
MsgBox("Nhập sai ngày tháng.(Theo định dạng : dd/mm/yyyy. Ví dụ :
03/09/2009")
Me.btnThoat.Enabled = False
DuLieuChung.LoiPhatSinh = DuLieuChung.LoiPhatSinh + 1
DuLieuChung.listboxLoi.Items.Add("- Đã từng lập kế hoạch chi sai")
ElseIf loi = True Then
MsgBox("Xem lại đi. Lập kế hoạch thu sai rồi")
Me.btnThoat.Enabled = False
DuLieuChung.LoiPhatSinh = DuLieuChung.LoiPhatSinh + 1
DuLieuChung.listboxLoi.Items.Add("- Đã từng lập kế hoạch thu sai")
Else
Me.PicNguoiLap.Visible = True
MsgBox("Tốt lắm. Đã lập xong kế hoạch thu ")
DuLieuChung.SV_KiemTraBuoc4 = 1
Me.btnThoat.Enabled = True
Me.btnLap.Enabled = False
End If
End Sub
(Ghi chú : Việc kiểm tra lập kế hoạch chi tương tự như trên).
*Phần code kiểm tra việc nhận biết chứng từ
Private Sub btn_KiemTraBM_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_KiemTraBM.Click
loi = True
Dim ChungTuHD As New DataTable
ChungTuHD = load_ChungTu_TheoHopDong(list_HopDong.SelectedItem)
Dim tmp As Integer = 0
If list_DSBMChon.Items.Count ChungTuHD.Rows.Count Then
loi = True
Else
For i As Integer = 0 To list_DSBMChon.Items.Count - 1
For j As Integer = 0 To ChungTuHD.Rows.Count - 1
If list_DSBMChon.Items.Item(i) = ChungTuHD.Rows(j).Item("TenBM")
Then
tmp = tmp + 1
End If
83
Next
Next
End If
If tmp = ChungTuHD.Rows.Count Then
loi = False
End If
If loi = False Then
' If list_HopDong.Items.Count > 0 Then
MsgBox("Đã nhận biết đúng! Tiếp tục phân loại các chứng từ còn lại cho phù
hợp với
hợp
đồng")
list_HopDong.Items.RemoveAt(list_HopDong.SelectedIndex)
list_DSBMChon.Items.Clear()
If list_HopDong.Items.Count > 0 Then
If list_HopDong.SelectedIndex = -1 Then
list_HopDong.SelectedIndex = 0
End If
Else
GroupBox1.Enabled = False
GroupBox2.Enabled = False
GroupBox4.Enabled = False
GroupBox7.Enabled = False
GbCT_HD.Enabled = False
MsgBox("Chúng ta đã hoàn thành công việc nhận biết chứng từ! ")
End If
Else
MsgBox("Nhận biết chứng từ sai rồi")
DuLieuChung.LoiPhatSinh = DuLieuChung.LoiPhatSinh + 1
solanloi = solanloi + 1
End If
End Sub
*Phần code kiểm tra việc nhận biết hợp đồng
Private Sub btnKiemTra_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnKiemTra.Click
loiban = True
Dim i, j As Integer
Dim tmp As Integer = 0
Dim HDMua As New DataTable()
HDMua = loadHopDongMua()
Dim HDBan As New DataTable()
HDBan = loadHopDongBan()
If list_HDBan.Items.Count HDBan.Rows.Count Then
loiban = True
Else
For i = 0 To list_HDBan.Items.Count - 1
For j = 0 To HDBan.Rows.Count - 1
If list_HDBan.Items.Item(i) = HDBan.Rows(j).Item("TenHD") Then
84
tmp = tmp + 1
'Exit For
End If
Next
Next
End If
If tmp = HDBan.Rows.Count Then
loiban = False
End If
tmp = 0
If list_HDMua.Items.Count HDMua.Rows.Count Then
loimua = True
Else
For i = 0 To list_HDMua.Items.Count - 1
For j = 0 To HDMua.Rows.Count - 1
If list_HDMua.Items.Item(i) = HDMua.Rows(j).Item("TenHD") Then
tmp = tmp + 1
End If
Next
Next
End If
If tmp = HDMua.Rows.Count Then
loimua = False
End If
If loimua = True Or loiban = True Then
solanloi = solanloi + 1
MsgBox("Nhận biết hợp đồng sai rồi")
DuLieuChung.LoiPhatSinh = DuLieuChung.LoiPhatSinh + 1
Else
MsgBox("Nhận biết hợp đồng đúng rồi đó")
btnHD_Ban.Visible = True
btnHD_Mua.Visible = True
DuLieuChung.SV_KiemTraBuoc1 = 1
Me.btnKiemTra.Enabled = False
Me.btnMua.Enabled = False
Me.btnMuaAll.Enabled = False
Me.btnReMua.Enabled = False
Me.btnReMuaAll.Enabled = False
Me.btnReTra.Enabled = False
Me.btnReTraAll.Enabled = False
Me.btnTra.Enabled = False
End If
End Sub
*Phần code kiểm tra việc tìm hóa đơn theo đúng hợp đồng
Private Sub btnKiemTra_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnKiemTra.Click
loi1 = True
85
Dim HoaDon_HopDong As New DataTable
HoaDon_HopDong =
load_hoadon_TheoHopDong(LayHopDongTheoMaHD().rows(0).item("tenhd"))
Dim tmp As Integer = 0
If list_HoaDon_HopDong.Items.Count HoaDon_HopDong.Rows.Count Then
loi1 = True
Else
For i As Integer = 0 To list_HoaDon_HopDong.Items.Count - 1
For j As Integer = 0 To HoaDon_HopDong.Rows.Count - 1
If list_HoaDon_HopDong.Items.Item(i) =
HoaDon_HopDong.Rows(j).Item("TenBM") Then
tmp = tmp + 1
End If
Next
Next
End If
If tmp = HoaDon_HopDong.Rows.Count Then
loi1 = False
End If
If loi1 = False Then
MsgBox("Nhận biết hóa đơn đúng rồi.")
Me.Button1.Enabled = False
Me.Button2.Enabled = False
Me.GroupBox2.Enabled = False
Else
MsgBox("Nhận biết hóa đơn sai rồi")
DuLieuChung.LoiPhatSinh = DuLieuChung.LoiPhatSinh + 1
solanloi = solanloi + 1
End If
End Sub
86
III.3.3 Thành phần giao diện ở mức vật lý
Hình III.2 : Giao diện màn hình chính
Hình III.3 : Màn hình chọn tình huống
87
Hình III.4 : Màn hình mô phỏng mô hình công ty
Hình III.5 : Màn hình mô phỏng bàn làm việc của nhân viên kế toán
88
Hình III.6 : Màn hình mô phỏng phòng Kế toán trưởng
Hình III.7 : Màn hình mô phỏng phòng Giám Đốc
89
Hình III.8 : Màn hình mô phỏng bộ phận kế toán thanh toán
Hình III.9 : Màn hình mô phỏng bộ phận kế toán thu chi
90
Hình III.10 : Màn hình trợ giúp lập biểu mẫu
Hình III.11 : Màn hình cập nhật sổ chi tiết công nợ
91
Hình III.12 : Màn hình Lập sổ chi tiết công nợ
Hình III.13 : Màn hình lập kế hoạch thu chi
92
Hình III.14 : Màn hình lập báo cáo công nợ phải thu và báo cáo công nợ phải trả
Hình III.15 : Màn hình Chức năng quản lý tình huống của giáo viên
93
Chương IV : Giới thiệu Sản phẩm
IV.1 Các chức năng quản lý tình huống của chương trình
Quản lý tình huống là một module quan trọng của chương trình. Gồm các chức
năng thêm, sửa, xóa các nguồn dữ liệu dành cho người dùng thực hành. Chúng tôi đã
cố gắng xây dựng module quản lý này làm sao cho một cách tối ưu nhất, tiết kiệm
được thời gian và công sức của người dùng trong việc quản lý các tình huống, nhất là
trong việc tạo ra các tình huống mới cho người dùng thực hành.
Module này gồm những chức năng chính sau :
- Quản lý thông tin của các đối tượng khách hàng và nhà cung cấp. Đây là các
thông tin dùng để điền vào các biểu mẫu, chứng từ xuất hiện trong chương
trình. Chương trình sẽ tự lấy dữ liệu thông tin này để tạo ra nội dung cho các
biểu mẫu, chứng từ trong quá trình tạo tình huống mới. Người dùng sẽ không
cần phải nhập các dữ liệu này lại, giúp tiết kiệm thời gian cho người dùng trong
việc tạo tình huống.
- Tạo tình huống một cách nhanh chóng. Đây là công việc sẽ tạo ra các đáp án để
so sánh với bài thực hành của người dùng. Vì ngoài việc người dùng phải đi
đúng quy trình quản lý công nợ, người dùng phải thực hiện các công việc như
nhận biết và lập các báo cáo, đòi hỏi các báo cáo mà người dùng lập phải chính
xác. Chính vì thế việc tạo tình huống sẽ là đáp án cơ sở so sánh với những gì
người dùng làm. Công việc tạo tình huống sẽ trải qua các giai đoạn sau :
o Tạo các hợp đồng cho tình huống. Hợp đồng chính là nguồn dữ liệu đầu
vào của chương trình, là nguồn dữ liệu ban đầu cho người dùng thực
hành. Chúng tôi đã xây dựng 2 chức năng cho việc tạo ra các hợp đồng :
§ Thêm các hợp đồng đã có sẳn vào tình huống. Đây là chức năng
khá hay của chương trình, chúng ta có thể sử dụng lại các hợp
đồng đã tạo ra trước đó khi tạo các tình huống cũ. Việc tái sử
dụng các hợp đồng giúp tiết kiệm khá nhiều thời gian trong việc
tạo tình huống. Việc hoán đổi các hợp đồng và cả số lượng của
hợp đồng trong tình huống sẽ tạo ra một tình huống mới cho
người dùng thực hành, chính điều này sẽ tạo ra sự phong phú về
nguồn dữ liệu của chương trình.
§ Tạo ra các hợp đồng mới cho chương trình. Các hợp đồng mới khi
tạo ra sẽ không mất đi khi chúng ta xóa tình huống, điều này rất
có ích trong việc tái sử dụng hợp đồng như đã nói ở trên. Việc tạo
ra các hợp đồng cũng không tốn nhiều thời gian vì hầu hết các
thông tin đã được nhập vào sẳn như thông tin khách hàng, nhà
cung cấp, các điều lệ và quy định của hợp đồng, người dùng chỉ
việc tạo ra các thông tin cơ bản như loại hợp đồng mua hay bán,
thời hạn thanh toán và trị giá hợp đồng. Và đi kèm với việc tạo
hợp đồng sẽ kèm theo việc tạo thêm một bộ chứng từ đi kèm với
hợp đồng đó, từ 2 đến 3 chứng từ cho một hợp đồng tùy theo loại
94
hợp đồng như thế nào mà sẽ có loại chứng từ tương ứng. Việc tạo
các chứng từ cũng khá đơn giản như việc tạo hợp đồng, người
dùng chỉ việc chọn ngày lập và nhập số tiền.
o Lập các sổ chi tiết công nợ phải thu cho khách hàng và các sổ chi tiết
công nợ phải trả cho nhà cung cấp. Giai đoạn tiếp theo sau khi tạo các
hợp đồng cho tình huống, dựa vào số lượng đối tác qua các hợp đồng mà
sẽ có số lượng các sổ chi tiết công nợ tương ứng cho các đối tác. Giai
đoạn này chúng tôi đã xử lý tự động trong việc tạo ra các dữ liệu cho các
sổ chi tiết công nợ từ những nguồn dữ liệu khác nhau như hợp đồng, hóa
đơn đã tạo trước đó. Người dùng không phải thực hiện giai đoạn này.
Giúp người dùng tiết kiệm rất nhiều thời gian và công sức trong việc tạo
tình huống.
o Lập kế hoạch thu chi. Chúng tôi cũng đã tổng hợp dữ liệu từ nhiều
nguồn dữ liệu khác nhau đã có trước đó để xử lý và tự động sinh ra hai
báo cáo kế hoạch thu chi. Người dùng không phải thực hiện giai đoạn
này.
o Lập các báo cáo công nợ phải thu và phải trả. Chúng tôi đã tổng hợp dữ
liệu từ nhiều nguồn dữ liệu khác nhau về xử lý để có thể tự động sinh ra
các báo cáo này với đúng quy cách của nghiệp vụ kế toán. Người dùng
không phải thực hiện giai đoạn này.
- Với khả năng tự động sinh ra các báo cáo xuất hiện trong quy trình cũng là
nguồn đáp án để so sánh với bài làm của người dùng đã giúp việc tạo tình
huống trở nên đơn giản, người dùng không phải tính toán nhiều giúp tiết kiệm
khá nhiều thời gian trong việc tạo tình huống mới.
- Chương trình có chức năng chỉnh sửa các tình huống, chỉnh sửa các thông tin
của hợp đồng, các thông tin trên biểu mẫu chứng từ.
- Chương trình có chức năng xóa các tình huống, xóa các hợp đồng. Khi chúng ta
xóa hợp đồng thì sẽ xóa các chứng từ đi kèm theo hợp đồng đó, nhưng khi
chúng ta xóa các tình huống thì sẽ không xóa kèm các hợp đồng của tình huống
đó, mục đích của việc này là để giữ lại các hợp đồng đó vào việc tạo các tình
huống khác.
Với module quản lý tình huống này sẽ giúp cho chương trình có thể tạo ra một
nguồn dữ liệu phong phú để cho người dùng thực hành. Tạo ra tính phong phú cho
chương trình.
IV.2 Thực hành mô phỏng quy trình quản lý công nợ
Đây là chức năng chính của chương trình, là phần dùng để cho người dùng thực
hành.
IV.2.1 Giao diện của chương trình
Chúng tôi đã xác định đây là một chương trình mô phỏng không phải dạng
chương trình ứng dụng quản lý và đối tượng sử dụng chính là sinh viên ngành kế toán
hoặc những người học kế toán. Chính vì thế yêu cầu giao diện được đặt ra là phải thật
sinh động, mô phỏng được gần với thực tế nhất. Bên cạnh đó giao diện chương trình
phải đáp ứng được yêu cầu dễ sử dụng và không quá phức tạp. Chúng tôi đã tìm hiểu
và nghiên cứu cách thức sử dụng Flash trong việc thiết kế giao diện của chương trình.
95
Việc kết hợp flash vào môi trường VB.Net không phải là việc quá mới, nhưng chỉ
dừng lại ở mức dùng ngôn ngữ VB.Net điều khiển cho Flash chạy hoặc dừng lại. Việc
dùng flash để thực hiện ngược lại các câu lệnh của VB.Net có thể nói là khá mới mẻ.
Việc tìm hiểu và áp dụng thành công Flash làm giao diện đã làm cho chương trình trở
nên sinh động hơn, tạo ra sự thích thú cho người dùng trong việc sử dụng chương
trình.
IV.2.2 Các chức năng chính của chương trình
a) Quy trình quản lý công nợ :
Chương trình đáp ứng được các bước trong quy trình quản lý công nợ đúng với
yêu cầu nghiệp vụ kế toán. Gồm các giai đoạn sau :
- Nhận biết hợp đồng và tìm hóa đơn theo đúng hợp đồng
o Sau khi đã phân tích và tham khảo ý kiến của các giảng viên khoa Kế
toán chúng tôi đã xác định dữ liệu đầu vào để người dùng thực hành là
các hợp đồng và hoá đơn. Khi bắt đầu thực hành người dùng sẽ nhận
được một số hợp đồng và các hóa đơn tùy theo tình huống khác nhau mà
số lượng sẽ khác nhau. Công việc nhận biết hợp đồng và tìm hóa đơn là
công việc phải làm đầu tiên, khi thực hiện công việc này sẽ tập cho
người dùng kỹ năng nhận biết đâu là các hợp đồng mua hàng, đâu là các
hợp đồng bán hàng từ đó sẽ phân ra để theo dõi các khoản phải thu và
phải trả. Bên cạnh đó sẽ giúp người dùng làm quen với các mẫu hợp
đồng và hóa đơn, có thể đọc hiểu thông tin trên đó. Thực hiện xong giai
đoạn này mới có thể thực hiện tiếp giai đoạn sau.
- Lập các sổ chi tiết công nợ phải thu và các sổ chi tiết công nợ phải trả.
o Đây là loại báo cáo đầu tiên mà người dùng phải lập khi thực hành.
Chương trình đã cung cấp cho người dùng mẫu báo cáo sát với thực tế
nhất.Việc lập báo cáo chi tiết công nợ sẽ dựa vào thông tin trên hóa đơn
và hợp đồng. Sau khi người dùng nhận biết xong các hợp đồng, hóa đơn
chương trình sẽ tự động xuất hiện chúng dưới dạng đã được sắp xếp ,
tiện lợi hơn cho người dùng khi lập các báo cáo, tránh gây rối và làm
phức tạp chương trình với người dùng. Tùy theo số lượng khách hàng và
nhà cung cấp xuất hiện trong tình huống mà người dùng phải lập số
lượng sổ chi tiết công nợ tương ứng. Người dùng phải lập đúng sổ chi
tiết công nợ đã chọn mới được lập sổ khác và phải lập đúng hết các sổ
chi tiết công nợ cho tất cả đối tác mới được thực hiện tiếp quy trình.
- Lập kế hoạch thu và kế hoạch chi
o Sau khi lập xong các sổ chi tiết công nợ người dùng sẽ tiếp tục lập các kế
hoạch thu chi. Mẫu kế hoạch thu chi trong chương trình được mô phỏng
giống với mẫu kế hoạch thu chi trong thực tế. Chương trình sẽ cung cấp
các sổ chi tiết công nợ mà người dùng vừa lập ở giai đoạn trước để
người dùng có thể xem lại, vì đó chính là cơ sở để người dùng lập các kế
hoạch thu chi. Người dùng phải lập đúng và đủ 2 kế hoạch này mới được
thực hiện tiếp quy trình.
- Đem kế hoạch thu chi cho kế toán trưởng ký duyệt.
96
o Khi hoàn thành xong giai đoạn trước đó, người dùng phải di chuyển đến
phòng kế toán trưởng. Giai đoạn này sẽ thực hiện hành động ký duyệt
vào kế hoạch thu chi vừa lập. Chương trình sẽ cho xem lại các hợp đồng,
hóa đơn, các sổ chi tiết công nợ và kế hoạch thu chi để thực hiện hành
động kiểm tra của kế toán trưởng. Sau khi ký duyệt vào kế hoạch thu chi
người dùng mới có thể tiếp tục quy trình. Trường hợp người dùng chưa
lập kế hoạch thu chi mà đến phòng kế toán trưởng thì chương trình sẽ
không xuất hiện các chứng từ trước đó để kiểm tra và ký.
- Đem kế hoạch thu chi cho giám đốc ký duyệt.
o Di chuyển đến phòng giám đốc và thực hiện hành động ký duyệt vào kế
hoạch thu chi.
- Phát sinh thêm các chứng từ mới.
o Ngay sau khi thực hiện xong hành động ký duyệt của giám đốc chương
trình sẽ tự động phát sinh thêm các chứng từ mới tại phòng kế toán thu
chi.
- Thu thập các chứng từ mới phát sinh.
o Người dùng sẽ di chuyển đến bộ phận kế toán thu chi, lúc này chương
trình sẽ xuất hiện màn hình hiển thị các chứng từ mới xuất hiện để người
dùng có thể thực hiện hành động lấy chứng từ. Trường hợp không đi
đúng quy trình mà vào bộ phận này thì sẽ xuất hiện thông báo chưa có
chứng từ mới phát sinh.
- Cập nhật sổ chi tiết công nợ phải thu và phải trả.
o Sau khi lấy được các chứng từ mới phát sinh, người dùng sẽ dùng chức
năng cập nhật sổ chi tiết công nợ. Cũng giống như việc lập sổ người
dùng phải cập nhật dữ liệu đúng thì mới được cập nhật tiếp. Cập nhật tất
cả các sổ chi tiết công nợ người dùng mới tiếp tục thực hiện quy trình.
- Lập báo cáo công nợ phải thu và báo cáo công nợ phải trả.
o Sau khi cập nhật các sổ chi tiết công nợ, người dùng mới được quyền lập
các báo công nợ phải thu và phải trả. Chương trình yêu cầu người dùng
phải lập đúng dữ liệu và phải lập đủ cả 2 báo cáo mới được thực hiện
tiếp quy trình.
- Đem báo cáo công nợ phải thu và phải trả cho kế toán trưởng kiểm tra ký duyệt.
o Tương tự như giai đoạn đem kế hoạch thu chi cho kế toán trưởng kiểm
tra, tuy nhiên ở giai đoạn này chương trình sẽ cho xem lại các sổ chi tiết
công nợ đã cập nhật.
- Đem báo cáo cho giám đốc ký duyệt
o Giám đốc sẽ thực hiện hành động ký duyệt.
- Chuyển các báo cáo cho bộ phận kế toán thanh toán.
o Người dùng sẽ di chuyển đến bộ phận kế toán thanh toán và thực hiện
hành động chuyển báo cáo. Trường hợp không đi đúng quy trình mà vào
bộ phận này sẽ xuất thông báo chưa đủ báo cáo.
97
- Kết thúc quy trình.
b) Chức năng nhận biết và kiểm tra việc lập báo cáo trong
khi thực hành:
Đối với các giai đoạn mà yêu cầu người dùng nhận biết như nhận biết
hợp đồng, hóa đơn và chứng từ, chương trình sử dụng các thuật toán kiểm tra
với cơ sở dữ liệu. Đảm bảo xử lý chính xác các trường hợp lựa chọn của người
dùng.
Đối với việc lập các báo cáo chúng tôi đã sử dụng các thuật toán để lấy
dữ liệu từ cơ sở dữ liệu do giáo viên tạo ra lúc ban đầu để kiểm tra đối chiếu với
dữ liệu mà người dùng nhập vào. Đảm bảo ràng buộc hầu hết các tình huống
nhập liệu của người dùng vào form chương trình, đã bẫy lổi những trường hợp
nhập liệu sai như nhập chuỗi thay vì nhập số hay nhập giá trị rỗng.
Chương trình yêu cầu người dùng phải thực hiện đúng từng giai đoạn
mới được tiếp tục thực hiện quy trình cho nên các phần kiểm tra việc thực hành
của người dùng rất là quan trọng. Chúng tôi đã cố gắng sao cho các thuật toán
kiểm tra hoàn thiện nhất, tuy nhiên vẫn chưa lường được hết các tình huống
phát sinh, cần có nhiều thời gian để kiểm thử để có thể hoàn thiện hơn.
c) Các chức năng trợ giúp và hướng dẫn
Đây là chức năng quan trọng đối với những người dùng đang làm quen với
chương trình. Phần trợ giúp gồm :
- Trợ giúp về quy trình, cho người dùng gợi ý về giai đoạn tiếp theo phải làm gì.
- Trợ giúp trong việc lập các báo cáo, sẽ hiển thị các báo cáo đã nhập dữ liệu
đúng.
- Trợ giúp trong việc tìm hóa đơn theo đúng hợp đồng.
- Trợ giúp trong việc nhận biết chứng từ theo đúng hợp đồng.
Bên cạnh đó chương trình còn có phần hướng dẫn được đặt tại màn hình mô
phỏng các phòng ban của công ty nếu người dùng chọn phần thực hành có hướng
dẫn ở đầu chương trình. Phần này sẽ hướng dẫn người dùng phải làm những gì tiếp
theo và hướng dẫn lập các báo cáo như thế nào.
Trên đây là một số chức năng chính của chương trình, vì thời gian có hạn nên
không thể tránh khỏi các sai sót. Chương trình cần có thêm thời gian để hoàn thiện
và xử lý thêm nhiều tình huống có thể xảy ra trong thực tế. Qua đó nâng cao tính
hiệu quả và thực tiễn của chương trình hơn.
98
Kết luận
Đề tài nghiên cứu khoa học này chính là cơ hội cho chúng tôi có thể áp dụng, tổng kết
lại những kiến thức mà mình đã tích lũy trong suốt quá trình học tập. Thông qua quá
trình làm đề tài, bản thân chúng tôi cũng đã rút ra những kinh nghiệm thực tế hết sức
quý báu. Bên cạnh đó cũng tích lũy thêm được khá nhiều kiến thức cả về lĩnh vực
Công nghệ thông tin lẫn lĩnh vực kế toán mà cụ thể là kế toán công nợ.
Quy trình kế toán công nợ là một quy trình khá phức tạp, trải qua nhiều công
đoạn khác nhau trong suốt quá trình làm việc và các công việc đều có liên hệ chặt chẽ
với nhau. Chính vì thế việc mô phỏng công việc thực tế của nhân viên kế toán công nợ
gặp khá nhiều khó khăn. Khi phân tích những công việc mà nhân viên kế toán công nợ
phải làm chúng tôi phải điều chỉnh sao cho những việc đó thành một quy trình qua các
bước cụ thể. Và trong mỗi bước sẽ phải làm những công việc quy định. Chính điều đó
sẽ giúp người dùng khi thực hành có thể có một cái nhìn tổng quát về công việc. Tuy
nhiên vì thời gian có hạn và kiến thức về nghiệp vụ kế toán của chúng tôi chưa được
hoàn chỉnh nên đề tài sẽ không tránh khỏi những thiếu sót và còn nhiều hạn chế. Rất
mong nhận được ý kiến đóng góp từ các Thầy cô của khoa Công nghệ thông tin, khoa
Tài chính kế toán và những người am hiểu nghiệp vụ và công việc thực tế. Bên cạnh
đó chúng tôi cũng rất mong nhận được sự phản hồi từ người dùng chương trình để
chương trình ngày một hoàn thiện hơn.
· Những công việc đã làm được
o Mô phỏng được các công việc của kế toán công nợ thành từng bước
cụ thể, tạo thành một quy trình xuyên suốt. Giúp người dùng có thể
thực hành một cách dễ dàng và nắm bắt được công việc nhanh hơn.
o Mô phỏng được việc lập các biểu mẫu xuất hiện trong quy trình như
sổ chi tiết công nợ phải thu, sổ chi tiết công nợ phải trả, kế hoạch thu,
kế hoạch chi, báo cáo công nợ phải thu, báo cáo công nợ phải trả.Giải
quyết được các vấn đề phức tạp khi lập biểu mẫu và kiểm tra việc lập
biểu mẫu của người dùng trong chương trình. Đáp ứng được yêu cầu
của thực tế. Giúp người dùng không bỡ ngỡ khi tiếp xúc với các biểu
mẫu, chứng từ lúc đi làm sau này.
o Xây dựng được phần hướng dẫn cho người dùng thực hành khá chi
tiết.
o Xây dựng được phần trợ giúp cho người dùng thực hành.
o Xây dựng được phần quản lý tình huống với việc thêm và chỉnh sửa
các tình huống cho người dùng thực hành.Công việc thêm tình huống
của giáo viên đã được xây dựng tối ưu nhất tiết kiệm thời gian tạo
tình huống và đã hạn chế các công việc xử lý tính toán bằng tay.
o Giao diện chương trình khá sinh động phù hợp với mục tiêu đề tài và
người dùng.
· Những công việc chưa được
o Chương trình chưa đáp ứng được đầy đủ các tình huống thực tế. Vì
thực tế sẽ phát sinh các tình huống rất phong phú và đa dạng, trong
99
thời gian có hạn chương trình chỉ đáp ứng được phần nào yêu cầu
thực tế làm việc . Còn nhiều trường hợp phát sinh như :
§ Lên danh sách nợ quá hạn và xử lý nợ quá hạn
§ Khách hàng trả tiền nhiều lần, thời gian giao dịch giữa hai bên
kéo dài đã có các sổ chi tiết công nợ được lập trước đó,…
· Đề nghị hướng phát triển
o Mô phỏng đầy đủ hơn các tình huống mà thực tế phát sinh. Để
chương trình có thể đáp ứng một cách đầy đủ nhất, sát với thực tế khi
đi làm việc bên ngoài.
o Đưa vào sử dụng tại các phòng máy của nhà trường, cho phép người
dùng thực hành trên máy. Từ đó thu nhận các đóng góp, phản hồi từ
phía người dùng để chương trình ngày một hoàn thiện hơn.
o Cải tiến giao diện chương trình sao cho thân thiện với người dùng
hơn nữa.
100
Danh mục tài liệu tham khảo
Nguồn in ấn
[1] Phương Lan, Hoàng Đức Hải (2007), “Visual Basic 2005 Tập 3 – Quyển 1 : Lập
trình cơ sở dữ liệu với ADO.NET 2.0”, Nhà xuất bản Phương Đông, tr 1 - 308.
Internet
[2]
[3]
[4]
[5]
[6]
101
Phụ lục : Các mẫu biểu xuất hiện trong quy trình quản lý công nợ
102
103
104
105
106
107
Các file đính kèm theo tài liệu này:
- Bao_Cao_NCKH.pdf
- Bai_bao_NCKH.pdf