Professional Documents
Culture Documents
PH M Đ C Chính - MW01
PH M Đ C Chính - MW01
LỜI CẢM ƠN
Em xin chân thành cảm ơn quý thầy, cô trong khoa CNTT, Bộ môn Tin học Mỏ
trường Đại Học Mỏ-Địa chất đã tận tình giảng dạy, truyền đạt những kiến thức quý
báu và tạo điều kiện cho em thực hiện đồ án này. Trong quá trình làm đồ án tốt
nghiệp, cũng như là trong quá trình làm bài báo cáo, khó tránh khỏi sai sót, rất
mong nhận được những ý kiến đóng góp của thầy, cô và các bạn để đồ án tốt nghiệp
của em ngày một hoàn thiện hơn.
Dưới sự hướng dẫn và chỉ đạo tận tình của thầy giáo Đặng Văn Nam đã giúp em
hoàn thành đồ án tốt nghiệp này. Trong thời gian làm việc với thầy, em không
ngừng tiếp thu thêm nhiều kiến thức bổ ích mà còn học tập được tinh thần làm việc,
thái độ nghiên cứu khoa học nghiêm túc, hiệu quả, đây là những điều rất cần thiết
cho em trong quá trình học tập và công tác sau này. Em xin chân thành cảm ơn thầy
đã chỉ bảo tận tình giúp em hoàn thành đồ án tốt nghiệp trong thời gian qua.
Xin chân thành cám ơn sự giúp đỡ của anh Đặng Văn Bắc và gia đình đã hỗ trợ,
cung cấp tài liệu liên quan và tạo điều kiện để em có thể tìm hiểu sâu sát nghiệp vụ
bán hàng nói riêng và bài toán quản lý bán hàng nói chung.
Qua đây xin chân thành cám ơn sự động viên của gia đình cũng như sự giúp đỡ tận
tình của tất cả các bạn đã tạo điều kiện thuận lợi cho tôi trong cuộc sống cũng như
trong học tập.
Sinh viên thực hiện
Vũ Văn Lịch
MỤC LỤC
LỜI CẢM ƠN....................................................................................................................- 1 -
MỤC LỤC.........................................................................................................................- 2 -
DANH MỤC BẢNG BIỂU...............................................................................................- 6 -
LỜI MỞ ĐẦU...................................................................................................................- 7 -
GIỚI THIỆU CHUNG VỀ ĐỀ TÀI (Chương 1)...............................................................- 9 -
1.1. Tổng quan về cửa hàng gia dụng Xuân Bắc. (1.1)..........................................................- 9 -
1.2. Bài toán quản lý bán hàng. (1.2).....................................................................................- 9 -
1.3. Tính cấp thiết của đề tài. (1.3).......................................................................................- 10 -
1.4. Mục tiêu của đề tài. (1.4)...............................................................................................- 10 -
1.5. Nội dung nghiên cứu. (1.5)...........................................................................................- 11 -
1.6. Phạm vi nghiên cứu. (1.6).............................................................................................- 11 -
PHÂN TÍCH THIẾT KẾ HỆ THỐNG VỀ XỬ LÝ VÀ DỮ LIỆU (Chương 2).............- 12 -
2.1. Phân tích thiết kế hệ thống về xử lý. (2.1)....................................................................- 12 -
2.1.1. Các chức năng của hệ thống. (2.1.1)....................................................................- 12 -
Chức năng 1: Đăng nhập. (a)...............................................................................- 12 -
Chức năng 2: Đăng xuất......................................................................................- 12 -
Chức năng 3: Đổi mật khẩu.................................................................................- 12 -
Chức năng 4: Thoát.............................................................................................- 12 -
Chức năng 5: Sao lưu cơ sở dữ liệu.....................................................................- 12 -
Chức năng 6: Phục hồi cơ sở dữ liệu...................................................................- 13 -
Chức năng 7: Quản lý chi tiết đơn hàng..............................................................- 13 -
Chức năng 8: Quản lý bán hàng..........................................................................- 13 -
Chức năng 9: Quản lý danh mục.........................................................................- 13 -
Chức năng 10: Quản lý công nợ..........................................................................- 13 -
Chức năng 11: Quản lý kho hàng........................................................................- 13 -
Chức năng 12: Nhập hàng...................................................................................- 13 -
Chức năng 13: Nhập hàng tồn đầu kì..................................................................- 13 -
Chức năng 14: Trả hàng......................................................................................- 14 -
Chức năng 15: Quản lý trả hàng..........................................................................- 14 -
Chức năng 16: Tra cứu sản phẩm........................................................................- 14 -
Chức năng 17: Bảo hành.....................................................................................- 14 -
Chức năng 18: Quản lý bảo hành........................................................................- 14 -
Chức năng 19: Báo cáo công nợ khách hàng......................................................- 14 -
Chức năng 20: Báo cáo hàng tồn.........................................................................- 15 -
Chức năng 21: Báo cáo thống kê hàng hết..........................................................- 15 -
Chức năng 22: Báo cáo doanh thu theo sản phẩm...............................................- 15 -
Chức năng 23: Báo cáo doanh thu theo đơn hàng...............................................- 15 -
Chức năng 24: Báo cáo doanh thu theo loại hàng...............................................- 15 -
Chức năng 25: Thông tin phần mềm...................................................................- 15 -
Chức năng 26: Trợ giúp.......................................................................................- 15 -
2.1.2. Gom nhóm chức năng. (2.1.2)..............................................................................- 15 -
Hệ thống:.............................................................................................................- 16 -
Bán hàng:.............................................................................................................- 16 -
Kho hàng:............................................................................................................- 16 -
Tra cứu sản phẩm:...............................................................................................- 16 -
Bảo hành:.............................................................................................................- 16 -
Báo cáo:...............................................................................................................- 16 -
Trợ giúp:..............................................................................................................- 16 -
2.1.3. Xây dựng biểu đồ phân cấp chức năng của hệ thống. (2.1.3)..............................- 19 -
2.2. Xây dựng biểu đồ luồng dữ liệu của hệ thống. (2.2).....................................................- 21 -
2.2.1. Xây dựng biểu đồ luồng dữ liệu mức ngữ cảnh. (2.2.1)......................................- 21 -
2.2.2. Xây dựng biểu đồ luồng dữ liệu mức đỉnh. (2.2.2)..............................................- 22 -
2.2.3. Xây dựng các biểu đồ luồng dữ liệu mức dưới đỉnh. (2.2.3)...............................- 24 -
2.3. Phân tích thiết kế hệ thống về dữ liệu. (2.3).................................................................- 29 -
2.3.1. Mô tả cơ sở dữ liệu. (2.3.1)..................................................................................- 30 -
2.3.2. Thiết kế cấu trúc cơ sở dữ liệu. (2.3.2)................................................................- 30 -
2.3.3. Xây dựng mô hình thực thể liên kết E-R. (2.3.3).................................................- 33 -
2.3.4. Hệ quản trị cơ sở dữ liệu (2.3.4)..........................................................................- 34 -
2.3.5. Xây dựng cơ sở dữ liệu. (2.3.5)............................................................................- 34 -
2.3.6. Xây dựng mối quan hệ giữa các bảng (2.3.6)......................................................- 36 -
MÔI TRƯỜNG PHÁT TRIỂN HỆ THỐNG (Chương 3)..............................................- 37 -
3.1. Giới thiệu chung về .NET. (3.1)...........................................................................- 38 -
.NET Framework.................................................................................................- 38 -
Đặc trưng của .NET.............................................................................................- 38 -
Ưu điểm của .NET...............................................................................................- 38 -
3.2. Giới thiệu chung về ngôn ngữ C#. (3.2)...............................................................- 39 -
C# là ngôn ngữ hiện đại.......................................................................................- 39 -
C# là ngôn ngữ hướng đối tượng.........................................................................- 40 -
C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo.......................................................- 40 -
C# là ngôn ngữ ít từ khóa....................................................................................- 40 -
C# là ngôn ngữ hướng module............................................................................- 41 -
C# sẽ là một ngôn ngữ phổ biến..........................................................................- 41 -
Ứng dụng và lợi ích của C#.................................................................................- 41 -
3.3. Giới thiệu về cơ sở dữ liệu SQLite. (3.3).............................................................- 41 -
Một số đặc điểm chính của SQLite.....................................................................- 41 -
Ứng dụng cơ sở dữ liệu SQLite:..........................................................................- 42 -
Một số điểm hạn chế của SQLite:.......................................................................- 43 -
Một số công cụ làm việc với SQLite:..................................................................- 43 -
3.4. Giới thiệu về Crystal Report. (3.4).......................................................................- 44 -
THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH (Chương 4).......................................- 45 -
4.1. Thiết kế chương trình. (4.1).................................................................................- 45 -
4.2. Thiết kế giao diện. (4.2).......................................................................................- 46 -
4.3. Bẫy lỗi và giải quyết. (4.3)...................................................................................- 56 -
4.4. Chạy chương trình và kiểm thử. (4.4)..................................................................- 57 -
KẾT LUẬN - HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI....................................................- 58 -
TÀI LIỆU THAM KHẢO...............................................................................................- 60 -
PHỤ LỤC........................................................................................................................- 61 -
MÃ MỘT SỐ MODULE CHÍNH CỦA CHƯƠNG TRÌNH (A)...................................- 61 -
Mã module tạo số đơn hàng (1)...........................................................................- 61 -
Mã module tính tiền đơn hàng (2).......................................................................- 61 -
Mã module sao lưu cơ sở dữ liệu (3)...................................................................- 61 -
Mã module phục hồi cơ sở dữ liệu (4).................................................................- 62 -
Mã module thanh toán đơn hàng (5)...................................................................- 62 -
Mã module thanh toán nợ (6)..............................................................................- 64 -
Mã module Update sản phẩm (7)........................................................................- 65 -
MỘT SỐ MẪU BÁO CÁO, THÔNG KÊ (B)................................................................- 69 -
Báo cáo doanh thu sản phẩm theo quý (a)...........................................................- 69 -
LỜI MỞ ĐẦU
Ra đời vào những năm 50 của thế kỷ XX máy tính và công nghệ đã có những bước
phát triển vượt bậc về cả chất lượng và số lượng. Nó đã trở thành một nhân tố
không thể thiếu trong đời sống hiện đại của nhân loại trong thời đại hiện nay- thời
đại công nghệ số.
Ngày nay cùng với sự phát triển của khoa học công nghệ, công nghệ thông tin đã
trở thành một phần không thể thiếu trong mọi lĩnh vực hoạt động đời sống của con
người. Đặc biệt tại các nước phát triển thì tin học đã được đưa vào ứng dụng trong
quản lí từ rất lâu và đúng một vai trò quan trọng trong các nghành công nghiệp và
dịch vụ, trong khi tại Việt Nam điều này vẫn còn khá mới mẻ đối với các tổ chức,
doanh nghiệp.
Trước đây, việc quản lí chủ yếu dựa trên giấy tờ sổ sách, thực hiện một cách thủ
công, mất thời gian, thiếu chính xác, gây ảnh hưởng tới việc kinh doanh, sản xuất
thì trong những năm gần đây, với sự bùng nổ công nghệ thông tin, tin học đã và
đang dần thay thế những việc làm thủ công và ngày càng khẳng định vai trò quan
trọng của mình. Với việc phát triển kinh tế như hiện nay, hàng ngày, hàng giờ các
doanh nghiệp luôn phải xử lí một khối lượng dữ liệu khổng lồ, nếu như không áp
dụng một phần mềm quản lí thì sẽ không thể đưa ra được các báo cáo chính xác và
kịp thời để hỗ trợ trong việc đưa ra các quyết định kinh doanh.
Là một sinh viên công nghệ thông tin em hiểu rất rõ vai trò của tin học trong cuộc
sống hiện nay. Đặc biệt là trong lĩnh vực tin học hóa công tác quản lý. Trong đợt
thực tập tốt nghiệp lần này em lựa chọn tìm hiểu về ngôn ngữ lập trình C#, là ngôn
ngữ thông được sử dụng rộng rãi, hỗ trợ xây dựng phần mềm quản lý được dùng
phổ biến ở các cơ quan hiện nay để quản lý các cơ sở dữ liệu, đồng thời nó cũng là
một ngôn ngữ lập trình tiện dụng.
Được sự đồng ý của trường Đại học Mỏ Địa Chất, Khoa Công nghệ thông tin, Bộ
môn Tin học mỏ, cùng sự ủng hộ, động viên và giúp đỡ tận tình của thầy giáo Đặng
Văn Nam, em đã chọn đề tài: “Xây dựng chương trình quản lý bán hàng cho cửa
hàng gia dụng Xuân Bắc”.
Chương trình này được thiết kế nhằm đáp ứng được các yêu cầu: quản lý nhập
hàng, bán hàng, báo cáo thống kê doanh thu, công nợ, quản lý công nợ…
Ngoài phần lời cảm ơn, mở đầu, kết luận và phụ lục nội dung báo cáo của em được
chia làm 4 chương:
Chương 1: GIỚI THIỆU CHUNG VỀ ĐỀ TÀI.
Chương 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG VỀ XỬ LÝ VÀ DỮ LIỆU.
1.1. Tổng quan về cửa hàng gia dụng Xuân Bắc. (1.1)
Tên cửa hàng: Cửa hàng gia dụng Xuân Bắc.
Trụ sở chính: Km3 - Đường 16 - Xuân Kỳ - Đông Xuân - Sóc Sơn - Hà Nội.
Điện thoại: 043.884 2378 – DĐ: 098 447 2651 – 01657848445.
Cửa hàng gia dụng Xuân Bắc tại Km3 - Đường 16 - Xuân Kỳ - Đông Xuân - Sóc
Sơn - Hà Nội. Cửa hàng chuyên mua bán đồ gia dụng nhà bếp của các nhà cung cấp
trong và ngoài nước. Ngoài ra cửa hàng còn cung cấp các sản phẩm điện, điện tử
phục vụ đời sống sinh hoạt.
Cửa hàng gia dụng Xuân Bắc là một cửa hàng chuyên bán tất cả các loại mặt hàng
đồ gia dụng. Hoạt động độc lập không chịu sự quản lý của công ty nào nhưng phải
dưới quyền chịu sự quản lý của nhà nước pháp luật. Chấp hành đầy đủ các loại thuế
do nhà nước qui định.
Cho phép tìm kiếm thông tin về hàng hoá một cách nhanh nhất đáp ứng nhu cầu của
người sử dụng.
Thực hiện các báo cáo - thống kê theo yêu cầu của nghiệp vụ bán hàng chính xác và
nhanh chóng như: Thống kê lượng hàng hoá tồn đọng theo mặt hàng hoặc loại hàng;
Thống kê doanh thu của cửa hàng theo theo gian
Hệ thống giúp phân quyền cho người sử dụng nên mang tính bảo mật. Tránh được
sự xâm nhập phá hoại từ bên ngoài.
Giao diện tiếng việt, trực quan đáp ứng được yêu cầu của một phần mềm ứng dụng
nói chung, chương trình hoạt động tốt, ổn định trên môi trường Windown.
Báo cáo đồ án tốt nghiệp hoàn thành đầy đủ chương, mục và các nội dung liên quan
đúng thời gian quy định và theo yêu cầu trình bày của Bộ môn Tin học Mỏ.
Phần mềm không quản lý đơn vị nhập hàng, lịch sử nhập hàng.
Phần mềm không quản lý công nợ với nhà cung cấp.
Phần mềm không thống kê sản phẩm bán chạy...
Mục đích: Quản lý việc bán lẻ thông qua mã hàng hóa. Hỗ trợ lưu đơn hàng và
thông tin thanh toán đơn hàng tự động.
Đầu vào: Mã sản phẩm, số lượng, đơn giá.
Đầu ra: Hóa đơn thanh toán, thông tin đơn hàng, thông tin khách hàng mua.
Chức năng 8: Quản lý bán hàng.
Mục đích: Quản lý thông tin đơn hàng, thông tin khách hàng mua, hỗ trợ tìm kiếm,
xem chi tiết đơn hàng theo yêu cầu hoặc ngày tháng.
Chức năng 9: Quản lý danh mục.
Mục đích: Quản lý thêm sửa xóa nhóm hàng, loại mặt hàng mà cửa hàng hiện đang
kinh doanh.
Chức năng 10: Quản lý công nợ.
Mục đích: Quản lý công nợ khách hàng, hỗ trợ tra cứu lịch sử thanh toán.
Chức năng 11: Quản lý kho hàng.
Mục đích: Quản lý kho hàng của cửa hàng, hỗ trợ tìm kiếm hàng hóa theo nhóm
hàng, theo loại sản phẩm..
Chức năng 12: Nhập hàng.
Mục đích: Nhập hàng hóa vào kho theo mã sản phẩm. Nếu hàng hóa chưa tồn tại
trong kho có thể thêm mới hàng hóa.
Đầu vào: Mã sản phẩm, số lượng sản phẩm nhập vào, giá nhập của sản phẩm.
Thông tin sản phẩm nhập sẽ được lưu trữ vào kho.
Chức năng 13: Nhập hàng tồn đầu kì.
Mục đích: Lúc ban đầu khởi tạo CSDL bán hàng hoặc trong quá trình hoạt động cửa
hàng có thể sẽ kinh doanh mặt hàng mới. Chức năng nhập hàng tồn đầu kì cho phép
người sử dụng thêm mới sản phẩm vào kho của cửa hàng.
Đầu vào: Mã sản phẩm, tên sản phẩm, số lượng, giá nhập…..
Chức năng 14: Trả hàng.
Mục đích: Những hàng hóa lỗi hoặc tồn kho quá lâu chủ cửa hàng sẽ trả lại nhà
cung cấp. Việc trả hàng dựa trên phần mềm rất đơn giản, người sử dụng chỉ cần
cung cấp mã sản phẩm và số lượng trả lại. Việc còn lại phần mềm sẽ tự động lưu trữ
cũng như trừ số lượng trong kho.
Đầu vào: Mã sản phẩm trả lại, số lượng trả lại.
Chức năng 15: Quản lý trả hàng
Mục đích: Lưu trữ thông tin trả lại sản phẩm. Hỗ trợ tìm kiếm danh sách hàng hóa
trả lại theo ngày.
Chức năng 16: Tra cứu sản phẩm.
Mục đích: Trong quá trình bán hàng chủ cửa hàng có thể không nhớ thông tin của
sản phẩm cũng như giá nhập vào, điều này gây khó khăn cho việc bán hàng. Chức
năng trên cho phép nhập vào mã sản phẩm để tra cứu thông tin sản phẩm. Phần
mềm sẽ liệt kê tất cả thông tin của sản phẩm thông qua mã sản phẩm mà người dùng
cung cấp.
Đầu vào: Mã sản phẩm.
Chức năng 17: Bảo hành.
Mục đích: Trong quá trình kinh doanh, 1 số sản phẩm khách hàng mua về sử dụng
và bị lỗi do sản phẩm. Khách hàng sẽ đem đến cửa hàng để bảo hành. Chủ cửa hàng
có nhiệm vụ tiếp nhận sản phẩm và lưu thông tin khách hàng. Chức năng trên cho
phép người dùng lưu trữ thông tin sản phẩm bảo hành cũng như thông tin khách
hàng tiện cho việc bảo hành và trả lại sản phẩm cho khách hàng khi bảo hành xong.
Đầu vào: Tên khách hàng, địa chỉ, số điện thoại, mã sản phẩm, ngày bảo hành, lỗi
sản phẩm …
Chức năng 18: Quản lý bảo hành.
Mục đích: Lưu trữ thông tin bảo hành, cho phép người dùng tra cứu thông tin bảo
hành theo ngày tháng hoặc tình trạng bảo hành. Cho phép sửa xóa cập nhật lại thông
tin bảo hành của khách hàng.
Chức năng 19: Báo cáo công nợ khách hàng.
Mục đích: Thống kê công nợ của khách hàng, hỗ trợ xuất ra word, pdf ...
Chức năng 20: Báo cáo hàng tồn.
Mục đích: Trong quá trình kinh doanh việc kiểm tra hàng hóa trong kho vô cùng
cần thiết và quan trọng. Việc tra cứu tìm kiếm hay kiểm kê thủ công mất rất nhiều
thời gian và sai sót không đáng có. Với chức năng trên quá trình kiểm kê kho vô
cùng đơn giản.
Chức năng 21: Báo cáo thống kê hàng hết.
Mục đích: Trong quá trình kinh doanh việc kiểm tra hàng hết hay sắp hết rất quan
trọng. Việc tra cứu tìm kiếm hay kiểm kê thủ công mất rất nhiều thời gian và sai sót
không đáng có.
Chức năng 22: Báo cáo doanh thu theo sản phẩm.
Mục đích: Trong quá trình kinh doanh, doanh thu của cửa hàng là yếu tố quan trọng
nhất cho sự tồn tại và phát triển của cửa hàng. Nếu chủ cửa hàng không nắm bắt
được doanh thu để điều chỉnh hoạt động kinh doanh một cách hợp lý có thể dẫn tới
thua lỗ hoặc phá sản. Với tình hình hiện tại, dựa trên việc quản lý thủ công sẽ rất
khó khăn hoặc cũng có thể không thống kê được doanh thu hàng tháng của cửa
hàng. Với chức năng trên dựa trên dữ liệu cung cấp khi nhập hàng và thông tin các
đơn hàng đã bán, phần mềm dễ dàng đưa ra doanh thu một cách chính xác và nhanh
chóng.
Chức năng 23: Báo cáo doanh thu theo đơn hàng.
Mục đích: Báo cáo doanh thu theo đơn hàng.
Chức năng 24: Báo cáo doanh thu theo loại hàng.
Mục đích: Báo cáo doanh thu theo loại hàng.
Chức năng 25: Thông tin phần mềm.
Mục đích: Cung cấp thông tin phần mềm. Thông tin tác giả.
Chức năng 26: Trợ giúp.
Mục đích: Là một file hướng dẫn sử dụng. Giúp người dùng dễ tiếp cận với các
chức năng của chương trình.
Nhóm chức năng này bao gốm các chức năng hỗ trợ người dùng thống kê báo cáo
doanh thu, hàng tồn, hàng hết…
Trợ giúp:
Nhóm chức năng này tập hợp các chức năng hướng dẫn và sử dụng phần mềm, cũng
như giới thiệu về phần mềm, tác giả, bản quyền của phần mềm…
Trong 7 nhóm chức năng của hệ thống ở trên thì ba nhóm chức năng quan trọng
nhất đó là nhóm chức năng bán hàng, nhóm chức năng kho hàng và nhóm chức
năng báo cáo . Trong đó nhóm chức năng bán hàng sẽ tập trung các chức năng trợ
giúp người dùng lưu thông tin bán hàng một cách nhanh chóng và chính xác, nhóm
chức năng kho hàng sẽ tập trung các chức năng liên quan đến quá trình lưu trữ
thông tin sản phẩm trong kho cũng như nhập hàng trả hàng của cửa hàng, còn nhóm
chức năng báo cáo sẽ tập trung các chức năng hỗ trợ người dùng xuất báo cáo
daonh thu, hàng tồn, công nợ… một cách chi tiết và khoa học. Việc gom nhóm
được minh hoạ cụ thể theo sở đồ dưới đây.
Chức năng 1
Chức năng 2
Chức năng 3 Thao tác hệ thống
Chức năng 4 Quản lý hệ thống
Chức năng 5
Thao tác cơ sở dữ liệu
Chức năng 6
Chức năng 7
Thao tác bán hàng
Chức năng 8
Chức năng 11
Chức năng 12 Quản lý kho
Chức năng 13
Quản lý kho hàng
Chức năng 14
Quản lý trả hàng
Chức năng 15
Chức năng 17
Quản lý bảo hành
Chức năng 18
Chức năng 19
Thống kê sản phẩm
Chức năng 20
Chức năng 21
Chức năng 22 Thống kê doanh thu Báo cáo thống kê
Chức năng 23
Chức năng 25
Trợ giúp
Chức năng 26
2.1.3. Xây dựng biểu đồ phân cấp chức năng của hệ thống. (2.1.3)
Từ quá trình phân tích ở trên ta xây dựng được biểu đồ phân cấp chức năng của
phần mềm quản lý bán hàng cửa hàng gia dụng Xuân Bắc như sau:
2.2.1. Xây dựng biểu đồ luồng dữ liệu mức ngữ cảnh. (2.2.1)
2.2.3. Xây dựng các biểu đồ luồng dữ liệu mức dưới đỉnh. (2.2.3)
Biểu đồ mức dưới đỉnh của chức năng hệ thống. (a)
Hình 2.4: Biểu đồ luồng dữ liệu mức dưới đỉnh của chức năng “Hệ thống”.
Hình 2.5: Biểu đồ luồng dữ liệu mức dưới đỉnh của chức năng “Bán hàng”.
Hình 2.6: Biểu đồ luồng dữ liệu mức dưới đỉnh của chức năng “Kho hàng”.
Biểu đồ mức dưới đỉnh của chức năng tra cứu sản phẩm.
Hình 2.7: Biểu đồ luồng dữ liệu mức dưới đỉnh của chức năng “Tra cứu”.
Biểu đồ mức dưới đỉnh của chức năng bảo hành.
BẢO HÀNH
NGƯỜI DÙNG
Hình 2.8: Biểu đồ luồng dữ liệu mức dưới đỉnh của chức năng “Bảo hành”.
Hình 2.9: Biểu đồ luồng dữ liệu mức dưới đỉnh của chức năng “Báo cáo”.
TRỢ GIÚP
NGƯỜI DÙNG
NGƯỜI DÙNG
Hình 2.10: Biểu đồ luồng dữ liệu mức dưới đỉnh của chức năng “Trợ giúp”.
2.3.3. Xây dựng mô hình thực thể liên kết E-R. (2.3.3)
DonHang có quan hệ 1-N với ChiTietDonHang: Mỗi một đơn hàng có thể có nhiều
chi tiết đơn hàng.
SanPham có quan hệ 1-N với TraHang: Mỗi một sản phẩm có thể cónhiều trả hàng.
DonHang có quan hệ 1-1 với KhachHangMua: Mỗi một đơn hàng có một khách
hàng mua.
DonHang có quan hệ 1-N với LichSuThanhToan: Mỗi một đơn hàng có thể thanh
toán nhiều lần.
LoaiHang có quan hệ 1-N với SanPham: Mỗi một loại hàng có nhiều sản phẩm.
LoaiHang có quan hệ 1-N với SanPham: Mỗi một loại hàng có nhiều sản phẩm.
LoaiHang có quan hệ 1-N với SanPham: Mỗi một loại hàng có nhiều sản phẩm.
LoaiHang có quan hệ 1-N với SanPham: Mỗi một loại hàng có nhiều sản phẩm.
Như đã trình bày ở những chương trước, sau khi đã lựa chọn đề tài và tiến hành
phân tích thiết kế hệ thống, xây dựng các chức năng cho hệ thống em tiến hành thảo
luận đi tới lập trình xây dựng phần mềm.
Để xây dựng 1 phần mềm ứng dụng thì có rất nhiều ngôn ngữ có thể lựa chọn như
VB 6.0, VB.Net, PHP,C++, Perl… Các ngôn ngữ trên đã được cung cấp đầy đủ
chức năng cần thiết để xây dựng 1 phần mềm ứng dụng. Nhưng trong các ngôn ngữ
trên em thấy C#.Net là phù hợp với đề tài của em nhất. Lý do em quyết định chọn
C#.NET để xây dựng phần mềm quản lý bán hàng là ngôn ngữ này là ngôn ngữ lập
trình mà em có hiểu biết nhất so với các ngôn ngữ kể trên. Nguyên nhân thứ 2 chính
là ngôn ngữ C#.NET là một ngôn ngữ dẫn xuất từ C và C++ nhưng nó lại được tạo
từ nền tảng phát triển hơn, là một ngôn ngữ đơn giản,hiện đại, hướng đối tượng,
mềm dẻo,có ít từ khóa và quan trọng là nó rất phổ biến.Xây dựng phần mềm trên
winform của C#.NET thì gần gũi, dễ dàng,có thể tùy chỉnh giao diện nhanh chóng.
Sau khi lựa ngôn ngữ C#.Net để xây dựng phần mềm thì việc còn lại là lựa chọn cơ
sở dữ liệu cho phần mềm. Với lập trình với C# ta có thể chọn SQL Server đó cũng
là một lựa chọn rất hay và phổ biến. Nhưng đề tài của em là tìm hiểu, xây dựng
phần mềm quản lý bán hàng cho của hàng Xuân Bắc là 1 cửa hàng đồ gia dụng với
quy mô nhỏ, dữ liệu cần quản lý không nhiều. Vì vậy việc sử dụng SQL Sever gây
dư thừa không cần thiết. Ngoài ra để sử dụng SQL Sever ta phải tiến hành cài đặt
SQL Sever trên máy người sử dụng, trong khi đó với SQLite ta có thể sử dụng ngay
cơ sở dữ liệu mà không cần bất bỳ yêu cầu cài đặt nào. Với sự hướng dẫn của thầy
Đặng Văn Nam em quyết định lựa chọn SQLite để quản lý dữ hiệu của phần mềm.
Với nhiều ưu điểm, do SQLite không cần phải cấu hình và dữ liệu được lưu trữ
thành các tập tin trên đĩa thật sự nên nó đang trở thành lựa chọn phổ biến cho các
phần mềm vừa và nhỏ. SQLite có thể thay thế cho các CSDL quan hệ tầm doanh
nghiệp trong một số tình huống như kiểm thử, demo minh họa,... do SQLite chạy
khá nhanh và không cần cài đặt.
Tạo ứng dụng độc lập với môi trường phần cứng bên dưới.
Cho phép viết ứng dụng bằng nhiều ngôn ngữ tương thích .NET.
Tự động quản lý tài nguyên.
Dễ dàng triển khai ứng dụng.
đặc tính được mong đợi trong một ngôn ngữ hiện đại. C# chứa tất cả những đặc tính
trên.
C# là ngôn ngữ hướng đối tượng.
Những đặc điểm chính của ngôn ngữ hướng đối tượng (Object-oriented language) là
sự đóng gói (encapsulation), sự kế thừa (inheritance), và đa hình (polymorphism).
C# hỗ trợ tất cả những đặc tính trên. Phần hướng đối tượng của C# sẽ được trình
bày chi tiết trong một chương riêng ở phần sau.
C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo.
Như đã đề cập trước, với ngôn ngữ C# chúng ta chỉ bị giới hạn ở chính bởi bản thân
hay là trí tưởng tượng của chúng ta. Ngôn ngữ này không đặt những ràng buộc lên
những việc có thể làm. C# được sử dụng cho nhiều các dự án khác nhau như là tạo
ra ứng dụng xử lý văn bản, ứng dụng đồ họa, bản tính, hay thậm chí những trình
biên dịch cho các ngôn ngữ khác.
C# là ngôn ngữ ít từ khóa.
C# là ngôn ngữ sử dụng giới hạn những từ khóa. Phần lớn các từ khóa được sử dụng
để mô tả thông tin. Chúng ta có thể nghĩ rằng một ngôn ngữ có nhiều từ khóa thì sẽ
mạnh hơn. Điều này không phải sự thật, ít nhất là trong trường hợp ngôn ngữ C#,
chúng ta có thể tìm thấy rằng ngôn ngữ này có thể được sử dụng để làm bất cứ
nhiệm vụ nào. Bảng sau liệt kê các từ khóa của ngôn ngữ C#.
Bảng 3.1: Từ khóa của ngôn ngữ C#.
abstract Default foreach object sizeof unsafe
as delegate goto operator stackalloc ushort
base do if out static using
bool double implicit override string virtual
break else in params struct volatile
enum int private switch void case
event interface protected this while catch
explicit internal public throw char extern
is readonly true checked false lock
ref try class finally long return
typeof const fixed sbyte uint continue
null short unchecked
float new sealed ulong decimal for
Mã nguồn C# có thể được viết trong những phần được gọi là những lớp, những lớp
này chứa các phương thức thành viên của nó. Những lớp và những phương thức có
thể được sử dụng lại trong ứng dụng hay các chương trình khác. Bằng cách truyền
các mẫu thông tin đến những lớp hay phương thức chúng ta có thể tạo ra những mã
nguồn dùng lại có hiệu quả.
C# sẽ là một ngôn ngữ phổ biến.
C# là một trong những ngôn ngữ lập trình mới nhất. Nhưng ngôn ngữ này có một số
lý do để trở thành một ngôn ngữ phổ biến. Một trong những lý do chính là
Microsoft và sự cam kết của .NET là Microsoft muốn ngôn ngữ C# trở nên phổ
biến. Micorosoft .NET là một lý do khác để đem đến sự thành công của C#. .NET là
một sự thay đổi trong cách tạo và thực thi những ứng dụng.
Ngoài hai lý do trên ngôn ngữ C# cũng sẽ trở nên phổ biến do những đặc tính của
ngôn ngữ này được đề cập trong mục trước như: đơn giản, hướng đối tượng, mạnh
mẽ...
Ứng dụng và lợi ích của C#
C# có thể được sử dụng để xây dựng các ứng dụng như: ứng dụng game, ứng dụng
cho doanh nghiệp, ứng dụng cho các thiết bị di động, các ứng dụng quản lý đơn
giản, các ứng dụng phân tán, phức tạp trải rộng qua nhiều thành phố và đất nước
C# hỗ trợ khả năng chuyển đổi dễ dàng giữa các ngôn ngữ, hỗ trợ các giao thức
internet chung, triển khai đơn giản, hỗ trợ các tài liêu XML
Chính vì những lý do đó mà em lựa chọn ngôn ngữ C#.NET để xây dựng chương
trình này.
bền vững (Durable) thậm chí sau khi hệ thống bị crash hoặc gặp các sự cố về nguồn
điện.
Không cần cấu hình: với SQLite chúng ta sẽ không cần phải cài đặt hay quản trị nó
SQLite có gần như toàn bộ các đặc tính phổ biến của SQL theo chuẩn SQL92. Tuy
nhiên còn một số tính năng như RIGHT OUTER JOIN, FULL OUTER JOIN, FOR
EACH STATEMENT TRIGGER,... chưa được hỗ trợ. Toàn bộ Database được lưu
trữ trong 1 tập tin trên đĩa duy nhất. Hỗ trợ CSDL lên tới hằng TetraByte, trong đó
các kiểu dữ liệu chuỗi và blobs lên tới hằng GigaByte.
Bộ thư viện quản lý rất nhỏ, gọn: dưới 500 KB cho bản đầy đủ tính năng, và có thể
ít hơn nếu loại bớt một số đặc tính. Cụ thể, kích thước phiên bản SQLite 3.7.17
(Phiên bản hiện tại, mới nhất của SQLite) ít hơn 350 KB trên hệ điều hành 32 bit và
ít hơn 409 KB trên các hệ thống 64 bit.
Hầu hết các thao tác trên dữ liệu thông thường đều chạy nhanh hơn các Database
Engine theo kiểu Client/Server phổ biến khác. Đơn giản và dễ sử dụng bộ API
tương ứng. Mã nguồn mở được viết bằng ANSI-C, được comment rất tốt và có thể
tái sử dụng với bất cứ mục đích gì.
SQLite có thể được tải về và nhúng vào các dự án khác nhau dưới hình thức một
Single ANSI-C source-code file. Tự tổ chức lưu trữ (self-contained) mà không phải
phụ thuộc vào các thư viện bên ngoài. Đây là một đặc điểm khá quan trọng khiến
SQLite trở thành CSDL phù hợp để nhúng vào các thiết bị di động hoặc tích hợp
vào các ứng dụng muốn chạy mà không cần phải điều chỉnh cấu hình hệ thống.
Trong bộ thư viện SQLite có sẵn 1 client đơn giản giao tiếp theo chế độ dòng lệnh
(Command-Line Interface – CLI) tên là sqlite3 (trên môi trường Windows là tiện
ích sqlite3.exe) để có thể được dùng để quản trị CSDL SQLite
Ứng dụng cơ sở dữ liệu SQLite:
Do đặc điểm được thiết kế của SQLite ngay từ đầu, nên CSDL nhúng này phù hợp
với một số tình huống sử dụng như sau:
SQLite có thể sử dụng như định dạng tập tin thích hợp cho các ứng dụng: trước đây
các tập tin cấu hình có thể được lưu dưới dạng file .ini, rồi sau đó là .xml,... tuy
nhiên chúng ta sẽ cần phải viết hoặc phụ thuộc vào việc sử dụng các parser phù hợp.
Sử dụng SQLite không những giúp chúng ta khắc phục được yếu điểm này mà
chương trình của chúng ta lại còn có thể chạy trên nhiều nền tảng khác nhau.
SQLite có thể sử dụng làm CSDL cho các thiết bị điện tử. Quả thật SQLite đang là
sự lựa chọn phổ biến về Database Engine cho các thiết bị điện tử như PDA, điện
thoại di động, MP3 Player, các hộp set-top box và nhiều loại thiết bị điện tử khác.
SQLite nhỏ, sử dụng bộ nhớ, không gian lưu trữ và băng thông đĩa hiệu quả, tin cậy
mà không cần phải quản trị bởi các quản trị viên chuyên nghiệp. Nếu bạn đang viết
ứng dụng trên các thiết bị chạy iOS như iPhone, iPad,... hay các thiết bị chạy
Android hoặc Windows Mobile,... thì SQLite chính là CSDL phù hợp cho các thiết
bị di động này.
SQLite có thể sử dụng như CSDL cho các website. Do SQLite không cần phải cấu
hình và dữ liệu được lưu trữ thành các tập tin trên đĩa thật sự nên nó đang trở thành
lựa chọn phổ biến cho các website vừa và nhỏ.
SQLite có thể thay thế cho các CSDL quan hệ tầm doanh nghiệp trong một số tình
huống như kiểm thử, demo minh họa,... do SQLite chạy khá nhanh và không cần cài
đặt
Một số điểm hạn chế của SQLite:
Ngoài các ưu điểm được ca tụng nhiều trên website của SQLite, nếu đem so với các
CSDL mạnh khác như Oracle Dabase, SQL Server,... thì SQLite sẽ bọc lộ một số
yếu điểm sau:
Tính đồng thời: SQLite sử dụng cơ chế khóa coarse-gained locking có thể hỗ trợ
nhiều người đọc dữ liệu, nhưng chỉ có 1 người có thể ghi dữ liệu một lúc mà thôi.
Nối kết mạng: mặc dù SQLite có thể được chia sẻ thông qua các network file
systems, tuy nhiên độ trễ giữa các hệ thống tập tin này sẽ ảnh hưởng nghiêm trọng
tới hiệu suất thực hiện của SQLite. Tệ hại hơn nữa là, các lỗ hỏng trong việc triển
khai các hệ thống tập tin trong môi trường mạng có thể gây ra nhiều lỗi do các tập
tin có thể bị mở và điểu chỉnh từ xa
Phù hợp với các ứng dụng có qui mô dữ liệu nhỏ: trong thời đại bùng nổ thông tin
như hiện nay, SQLite không phải là lựa chọn lý tưởng để đáp ứng các nhu cầu xử lý
trên 1 khối lượng dữ liệu lớn, phát sinh liên tục
Một số công cụ làm việc với SQLite:
SQLite3 (http://www.sqlite.org)
SQLite Database Browser (http://sqlitebrowser.sourceforge.net/index.html)
SQLite Expert Professional (www.sqliteexpert.com)
SharpPlus Sqlite Developer (http://www.sqlitedeveloper.com)
SQLite Man (http://www.sqliteman.com)
SQLiteManager (http://www.sqlabs.net/sqlitemanager.php)
Navicate (http://www.navicate.com)
...
Trên trang chủ của CSDL SQLite ở địa chỉ http://www.sqlite.org, các bạn có thể
tham khảo các tài liệu chính thức của SQLite và tải về mã nguồn, thư viện SQLite
đã được biên dịch cho các hệ điều hành khác nhau của SQLite.
được hiển thị qua các button. Để sử dụng các chức năng quản lý người dùng phải
đăng nhập tài khoản quản trị. Dưới đây là giao điện khi người dùng đăng nhập hệ
thống.
Hình 4.3: Giao diện của hệ thống sau khi đăng nhập.
Sau khi lựa chọn các chức năng từ thanh Menu, chương trình sẽ giao tiếp với người
sử dụng qua các form, mỗi form có nhiệm vụ và chức năng khác nhau. Dưới đây em
đưa ra một số form của chương trình.
Hình 4.16: Một số thông báo kiểm soát của chương trình.
Điều chỉnh một số chức năng cho phù hợp với yêu cầu sử dụng cho cửa hàng.
Thêm chức năng báo cáo mặt hàng bán chạy. Thêm quản lý nhà cung cấp, công nợ
nhà cung cấp khi cửa hàng mở rộng quy mô.
Thêm chức năng quản lý đổi trả Gas.
Trong khoảng thời gian thực hiện đồ án tốt nghiệp, em đã thu nhận được rất nhiều
kiến thức quý báu. Đó là những kiến thức về nghiệp vụ quản lý bán hàng, những
kiến thức về lập trình C#, cũng như quy trình xây dựng và phát triển hệ thống phần
mềm ứng dụng trong thực tế v.v. Đây là dịp để em có điều kiện tổng hợp và ôn lại
những kiến thức đã được trang bị trong suốt 5 năm qua. Kinh nghiệm mà bản thân
em thu được trong khoảng thời gian thực hiện đồ án là vô cùng quan trọng. Đó là
những kinh nghiệm đúc rút trong quá trình nghiên cứu và lập trình một phần mềm
ứng dụng, đó là những kinh nghiệm trong việc tìm kiếm và chọn lọc các tài liệu liên
quan trên mạng, trên sách báo, giáo trình.….
Để hoàn thành được đề tài và đạt được kết quả như mong muốn thì ngoài sự nỗ lực,
cố gắng của bản thân, em còn nhận được sự giúp đỡ tận tình của các thầy cô và của
các bạn sinh viên. Một lần nữa em xin chân thành cảm ơn những ý kiến đóng góp,
sự giúp đỡ nhiệt tình của thầy cô giáo và các bạn sinh viên trong suốt thời gian vừa
qua.
Hà Nội, ngày 06 tháng 06 năm 2014
Sinh viên thực hiện
Vũ Văn Lịch
PHỤ LỤC
Kt = false;
MessageBox.Show("Phục hồi dữ liệu thành công. Hệ thống sẽ tự khởi
động lại. Anh / Chị vui lòng chờ trong giây lát!");
Application.Restart();
System.IO.File.Copy(textBox1.Text, str, true);
}
Mã module thanh toán đơn hàng (5)
public void ThanhToanDH(Boolean f, string thanhtoan, string tienno, string tenkh,
string diachi, string sdt)
{
if (f == true)
{
string ngaybh1 = dateTimePicker1.Value.ToString("yyyy-MM-dd");
DonHang dh = new DonHang(labSoHoaDon.Text, ngaybh1 ,
int.Parse(ChuyenSo2(labeTongCongBHL.Text)),
int.Parse(ChuyenSo2(labeTongCongBHL.Text)), 0);
QLBLDAL.ThemDonHang(dh);
for (int i = 0; i < dataGridBanHangLe.RowCount; i++)
{
if (dataGridBanHangLe.Rows[i].Cells[1].Value != null)
{
ChiTietDonHang ct = new ChiTietDonHang(labSoHoaDon.Text,
dataGridBanHangLe.Rows[i].Cells["MaSP"].Value.ToString(),
int.Parse(dataGridBanHangLe.Rows[i].Cells["SoLuong"].Value.ToString()),
int.Parse(dataGridBanHangLe.Rows[i].Cells["DonGia"].Value.ToString()));
QLBLDAL.ThemChiTietDonHang(ct);
DataTable sp =
SanPhamDAL.GetListSPMaSP(dataGridBanHangLe.Rows[i].Cells["MaSP"].Value
.ToString());
int soluong = 0;
foreach (DataRow row in sp.Rows)
{
soluong = int.Parse(row["SoLuong"].ToString());
}
QLBLDAL.TruKhoSP((soluong -
int.Parse(dataGridBanHangLe.Rows[i].Cells["SoLuong"].Value.ToString())),
dataGridBanHangLe.Rows[i].Cells["MaSP"].Value.ToString());
}
}
if (tenkh != "")
{
if (sdt == null)
{
sdt = "0";
}
KhachHangMua kh = new KhachHangMua(labSoHoaDon.Text, tenkh,
diachi, sdt);
QLBLDAL.ThemKhachHangMua(kh);
}
TaoSoHoaDon();
HoaDonMoi();
}
else
{
string ngaybh1 = dateTimePicker1.Value.ToString("yyyy-MM-dd");
DonHang dh = new DonHang(labSoHoaDon.Text, ngaybh1,
int.Parse(ChuyenSo2(labeTongCongBHL.Text)), int.Parse(thanhtoan),
int.Parse(tienno));
QLBLDAL.ThemDonHang(dh);
for (int i = 0; i < dataGridBanHangLe.RowCount; i++)
{
if (dataGridBanHangLe.Rows[i].Cells[1].Value != null)
{
ChiTietDonHang ct = new ChiTietDonHang(labSoHoaDon.Text,
dataGridBanHangLe.Rows[i].Cells["MaSP"].Value.ToString(),
int.Parse(dataGridBanHangLe.Rows[i].Cells["SoLuong"].Value.ToString()),
int.Parse(dataGridBanHangLe.Rows[i].Cells["DonGia"].Value.ToString()));
QLBLDAL.ThemChiTietDonHang(ct);
DataTable sp =
SanPhamDAL.GetListSPMaSP(dataGridBanHangLe.Rows[i].Cells["MaSP"].Value
.ToString());
int soluong = 0;
foreach (DataRow row in sp.Rows)
{
soluong = int.Parse(row["SoLuong"].ToString());
}
QLBLDAL.TruKhoSP((soluong -
int.Parse(dataGridBanHangLe.Rows[i].Cells["SoLuong"].Value.ToString())),
dataGridBanHangLe.Rows[i].Cells["MaSP"].Value.ToString());
}
}
if (sdt == null)
{
sdt = "0";
}
KhachHangMua kh = new KhachHangMua(labSoHoaDon.Text, tenkh,
diachi, sdt);
QLBLDAL.ThemKhachHangMua(kh);
TaoSoHoaDon();
HoaDonMoi();
}
}
Mã module thanh toán nợ (6)
private void butThanhToan_Click(object sender, EventArgs e)
{
ngay1 = ngay1.Substring(6, 4) + "-" + ngay1.Substring(3, 2) + "-" +
ngay1.Substring(0, 2);
int thanhtoan = 0;
foreach (DataRow row in
QuanLyBanLeDAL.GetHoaDonMaHD(labeDonHang.Text).Rows)
{
thanhtoan = int.Parse(row["ThanhToan"].ToString());
}
QuanLyBanLeDAL n = new QuanLyBanLeDAL();
DonHang n1 = new
DonHang(labeDonHang.Text,ngay1,int.Parse(TT1),thanhtoan +
int.Parse(ChuyenSo2(txtTienThanhToan.Text)),int.Parse(ChuyenSo2(labeTienNo.T
ext)));
n.UpdateDonHang(n1);
n.ThanhToanNoDH(labeDonHang.Text,
Convert.ToDateTime(DateTime.Now.ToShortDateString()).ToString("yyyy-MM-
dd"),ChuyenSo2(txtTienThanhToan.Text),ChuyenSo2(labeTienNo.Text));
MessageBox.Show("Thanh toán thành công!");
this.Close();
}
Mã module Update sản phẩm (7)
private void butThemMoiSP_Click(object sender, EventArgs e)
{
if (TT1 == "Thêm")
{
if (txtMaSP.Text == "")
{
MessageBox.Show("Anh/Chị chưa cung cấp Mã sản phẩm!");
txtMaSP.Focus();
}
else if (txtTenSP.Text == "")
{
MessageBox.Show("Anh/Chị chưa cung cấp tên sản phẩm!");
txtTenSP.Focus();
}
else if (txtSoLuong.Text == "")
{
SanPham sp = new
SanPham(txtMaSP.Text.ToUpper(),txtTenSP.Text,richTextMoTa.Text,richTextBox
ThongSo.Text,MaNH,comboLoaiHang.SelectedValue.ToString(),int.Parse(txtSoLu
ong.Text),txtDonViTinh.Text,int.Parse(ChuyenSo2(txtGiaNhap.Text)),1);
if (n.ThemSP(sp))
{
MessageBox.Show("Thêm mới sản phẩm thành công ");
//this.Close();
}
}
}
}
else
{
if (txtTenSP.Text == "")
{
MessageBox.Show("Anh/Chị chưa cung cấp tên sản phẩm!");
txtTenSP.Focus();
}
else if (txtSoLuong.Text == "")
{
MessageBox.Show("Anh/Chị chưa điền số lượng!");
txtSoLuong.Focus();
}
else if (txtDonViTinh.Text == "")
{
MessageBox.Show("Anh/Chị chưa điền đơn vị tính!");
txtDonViTinh.Focus();
}
else if (txtGiaNhap.Text == "")
{
MessageBox.Show("Anh/Chị chưa cung cấp giá nhập của sản phẩm!");
txtGiaNhap.Focus();
}
else if (comboLoaiHang.SelectedIndex == -1)
{
Bảng 1 Báo cáo doanh thu sản phẩm theo quý (a...............................................- 69 -
Bảng 2 Báo cáo lợi nhuận theo đơn hàng............................................................- 70 -
Bảng 3 Báo cáo lợi nhuận theo loại hàng............................................................- 70 -
Bảng 4 Báo cáo nợ công khách hàng..................................................................- 72 -
Bảng 5 Báo cáo sản phẩm hết.............................................................................- 73 -