Do đặc thù trong lĩnh vực sản xuất kinh doanh của công ty là sản xuất và kinh doanh các loại gạch men và gạch ốp lát, có nhiều loại hàng, nhóm hàng nên việc quản lý sản phẩm tại công ty có nhiều khó khăn. Qui trình sản xuất và kinh doanh của công ty cũng có những đặc thù riêng nên việc quản lý tiêu thụ sản phẩm của công ty được thực hiên hầu hết qua các kênh phân phối là các đại lý và các cửa hàng kinh doanh. Đề tài “phân tích và thiết kế hệ thống thông tin quản lý bán hàng tại công ty Gạch ốp lát Hà Nội” đã được khảo sát thực tế tại công ty Gạch ốp lát Hà Nội nên đã đáp ứng được các mục đích và các yêu cầu đề ra.
Chương trình đã giải quyết tốt những yêu cầu đặt ra là quản lý được các khách hàng, các sản phẩm, qui trình xuất, nhập hàng hoá vật tư, quản lý công nợ khách hàng cũng như lập được các báo cáo quản trị cần thiết theo yêu cầu của người quản lý và nhà lãnh đạo.
Trong chương trình quản lý bán hàng này ngoài việc cập nhật các chứng từ phiếu nhập hàng, phiếu thu tiền công nợ khách hàng, viết hoá đơn bán hàng cho khách hàng,. một cách nhanh chóng, thuận tiện , chương trình còn đưa ra một hệ thống các báo cáo quản trị thích hợp. Các báo cáo này đã đáp ứng được hầu hết các yêu cầu của nhà quản lý, người lãnh đạo giúp họ có được những cái nhìn tổng quan về tình hình bán hàng và hoạt động sản xuất kinh doanh của doanh nghiệp mình. Từ đó giúp họ có thể đưa ra những chính sách chiến lược, những điều chỉnh kịp thời về tình hình sản xuất kinh doanh và hoạt động bán hàng của công ty.
Ngoài ra chương trình còn có chức năng ưu điểm nữa là các phiếu xuất và hoá đơn bán hàng có thể được xuất sang Microsoft Excel. Điều này giúp cho việc kiểm tra và tổng hợp số liệu một cách chính xác và đáp ứng các yêu cầu khi cần thiết.
138 trang |
Chia sẻ: aloso | Lượt xem: 1896 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Luận văn Phân tích và thiết kế hệ thống thông tin quản lý bán hàng tại công ty Gạch ốp lát Hà Nội, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
n trình “Xử lý bán hàng”(1.0):
1.1
Tiếp nhận đơn hàng
2.0
Xử lý thu tiền
1.3
Kiểm tra khách hàng
1.4
Kiểm tra hàng tồn
1.5
Giải quyết khách hàng
1.2
Kiểm tra đơn hàng
Khách hàng
Hồ sơ thẻ kho
Danh mục khách hàng
Đơn đặt
hàng
Từ chối
Đơn hàng
Thông tin phản hồi
Thông tin về khách hàng
Hoá đơn
Đơn hàng đã kiểm tra
1.6
Xử lý yêu cầu
Danh mục đơn đặt hàng
Hoá đơn
Đơn hàng đã kiểm tra
Hình 26: Sơ đồ DFD phân rã mức 1 ứng với tiến trình “Xử lý bán hàng”(1.0)
- Sơ đồ DFD phân rã mức 1 ứng với tiến trình “Xử lý thu tiền”(2.0)
2.1
Kiểm tra hoá đơn
2.2
Cập nhật vào sổ kế toán
4.0
Xử lý giao hàng (kho)
2.3
Chuyển hoá đơn bán hàng (phiếu xuất) sang bộ phận quản lý kho
Khách hàng
Hoá đơn
Hoá đơn đã kiểm tra
Phiếu thu
Thanh toán
Hoá đơn bán hàng
Khách hàng
Hàng hóa
Hình 27: Sơ đồ DFD phân rã mức 1 ứng với tiến trình “Xử lý thu tiền”(2.0)
- Sơ đồ luồng dữ liệu mức 0 của hoạt động nhập hàng:
2.0
Lập báo cáo về đơn đặt hàng
Phiếu nhập kho
1.0
Đặt hàng
5.0
Lập báo cáo xuát nhập tồn kho
4.0
Kế toán phải trả
6.0
Lập báo cáo tổng hợp chi
3.0
Tiếp nhận hàng
Bộ phận quản lý bán hàng
Nhà cung cấp
Lãnh đạo
Lãnh đạo
Sổ sách kế toán
Hồ sơ thẻ kho
Hồ sơ đơn hàng
Yêu cầu nhập hàng
Báo cáo đơn hàng
Báo cáo tồn kho
Đơn đặt hàng
Báo cáo tổng hợp chi
Phiếu giao hàng
Hoá đơn bán hàng
Phiếu chi
Hình 28: Sơ đồ luồng dữ liệu mức 0 của hoạt động nhập hàng hàng”(1.0)
- Sơ đồ DFD phân rã mức 1 ứng với tiến trình “Tiếp nhận hàng”(3.0)
3.1
Kiểm tra phiếu giao hàng
3.2
Kiểm tra hàng nhập
3.3
Xử lý nhập kho
Nhà cung cấp
Tệp phiếu nhập kho
Hồ sơ đơn hàng
Lãnh đạo
Phiếu giao hàng
đã kiểm tra
Danh sách hàng đạt yêu cầu
Phiếu nhập kho
Phiếu giao hàng
Phiếu nhập kho
Hình 29: Sơ đồ DFD phân rã mức 1 ứng với tiến trình “Tiếp nhận hàng”(3.0)
2.4. Từ điển dữ liệu (DD)
2.4.1. Phích xử lý lô gic
Phích Xử lý lô gíc hoạt động mua hàng:
- Phích Xử lý lô gíc “Đặt hàng”:
Tên xử lý: Đặt hàng
Tiến trình: 1.3
Mô tả tiến trình: Sau khi bộ phận quản lý kho báo cáo tình hình hàng hóa thì bộ phận mua hàng sẽ xem xét để tiến hành thủ tục mua hàng.
Luồng dữ liệu vào: Yêu cầu nhập hàng
Luồng dữ liệu ra: Thông tin về đơn đặt hàng
Kho dữ liệu: Hồ sơ đơn hàng
- Phích xử lý lô gíc “Kiểm tra phiếu giao hàng”:
Tên xử lý: Kiểm tra phiếu giao hàng
Tiến trình: 3.1
Mô tả tiến trình: Khi đơn đặt hàng gửi đến nhà cung cấp được chấp nhận thì họ tiến hành thủ tục giao hàng cho bộ phận mua hàng của công ty.
Luồng dữ liệu vào: Phiếu giao hàng từ nhà cung cấp
Luồng dữ liệu ra: Danh sách hàng đạt yêu cầu
Kho dữ liệu: Hồ sơ đơn hàng
- Phích xử lý lôgíc “Xử lý nhập kho”:
Tên xử lý: Xử lý nhập kho
Tiến trình: 3.3
Mô tả tiến trình: Bộ phận quản lý kho viết phiếu nhận hàng, tìm vị trí trong kho để đặt hàng.
Luồng dữ liệu vào: Danh sách hàng đạt yêu cầu
Luồng dữ liệu ra: Phiếu nhập kho
Kho dữ liệu: Tệp phiếu nhập kho
Phích Xử lý lô gíc hoạt động bán hàng:
- Phích xử lý lôgíc “Tiếp nhận đơn hàng”:
Tên xử lý: Tiếp nhận đơn hàng
Tiến trình: 1.1
Mô tả tiến trình: Bộ phận quản lý bán hàng tiếp nhận đơn đặt hàng của khách hàng
Luồng dữ liệu vào: Đơn đặt hàng của khách hàng
Luồng dữ liệu ra: Đơn đặt hàng của khách hàng đã được chấp nhận
- Phích xử lý lôgíc “Kiểm tra đơn đặt hàng”:
Tên xử lý: Kiểm tra đơn đặt hàng
Tiến trình: 1.2
Mô tả tiến trình: Sau khi đã tiếp nhận đơn đặt hàng của khách hàng, bộ phận bán hàng sẽ kiểm tra đơn đặt hàng, nếu chấp nhận thì tiếp tục xử lý, nếu không thì trả lời khách hàng.
Luồng dữ liệu vào: Đơn đặt hàng của khách hàng đã tiếp nhận
Luồng dữ liệu ra: Đơn đặt hàng của khách hàng đã kiểm tra
Kho dữ liệu: Danh mục đơn đặt hàng
- Phích xử lý lôgíc “Kiểm tra hàng tồn”:
Tên xử lý: Kiểm tra hàng tồn
Tiến trình: 1.4
Mô tả tiến trình: Sau khi đã kiểm tra đơn đặt hàng thì tiến hành kiểm tra hàng hóa để đáp ứng yêu cầu của khách hàng.
Luồng dữ liệu vào: Đơn hàng đã kiểm tra
Luồng dữ liệu ra: Hóa đơn bán hàng
Kho dữ liệu: Hồ sơ thẻ kho
- Phích xử lý lôgíc “Xử lý thu tiền”:
Tên xử lý: Xử lý thu tiền
Tiến trình: 2.0
Mô tả tiến trình: Sau khi đáp ứng yêu cầu của khách hàng thì bộ phận quản lý bán hàng sẽ tiến hành xử lý thu tiền, nếu là khách hàng quen nợ thì sẽ ghi vào sổ công nợ khách hàng phải thu, nếu khách hàng trả ngay thì viết hóa đơn thanh toán.
Luồng dữ liệu vào: Hóa đơn bán hàng
Luồng dữ liệu ra: Phiếu xuất kho
Kho dữ liệu: Sổ ghi công nợ khách hàng
2.4.2. Phích luồng dữ liệu
- Phích luồng dữ liệu xuất bán hàng hóa:
Tên luồng dữ liệu: Hóa đơn bán hàng
Mô tả: Số HĐ + Mã KH + Ngày bán + Diễn giải +
{ds hàng hóa}= Mã hàng + Số lượng yêu cầu + Số lượng đáp ứng
Vị trí luồng dữ liệu: Phân rã mức 1 tiến trình “ Bán hàng”
- Phích luồng dữ liệu xử lý thu tiền:
Tên luồng dữ liệu: Hóa đơn thanh toán
Mô tả: Số PT + Mã KH + Ngày thu + Nội dung +
{Chi tiết phiếu thu}= Số HĐ + Số tiền phải thu + Số tiền đã thu +
+ Số tiền còn phải thu
Vị trí luồng dữ liệu: Phân rã mức 1 tiến trình “Xử lý thu tiền”
- Phích luồng dữ liệu đặt mua hàng:
Tên luồng dữ liệu: Đơn đặt mua hàng
Mô tả: Số HĐ + Mã NCC + Ngày đặt + Nội dung +
{ds hàng đặt}= Mã hàng + Số lượng yêu cầu + Số lượng nhận được
Vị trí luồng dữ liệu: DFD mức 0 hoạt động mua hàng
2.4.3. Phích kho dữ liệu
- Phích kho dữ liệu phiếu nhập kho:
Tên kho dữ liệu: Tệp phiếu nhập kho
Mô tả: Phiếu nhập kho chứa các thông tin về hàng hóa được nhập vào kho trong một lần mua
Thông số: PNK = Số PN + Mã NCC + Ngày nhập + Kho + Nội dung +
{ds hàng nhập}= Mã hàng + Đơnvị tính + Số lượng + Đơn giá
Vị trí kho: phân rã mức 1 tiến trình “Tiếp nhận hàng”
- Phích kho dữ liệu phiếu xuất kho:
Tên kho dữ liệu: Hồ sơ đơn hàng
Mô tả: Phiếu xuất kho chứa các thông tin về hàng hóa được xuất bán cho khách hàng theo hóa đơn bán hàng
Thông số: PXK = Số PX + Mã KH + Ngày xuất + Nội dung + Mã kho +
{ds hàng xuất}= Mã hàng + Đơn vị tính + Số lượng + Đơn giá
Vị trí luồng dữ liệu: DFD mức 0 hoạt động bán hàng
- Phích kho dữ liệu xử lý thu tiền:
Tên kho dữ liệu: Sổ sách kế toán
Mô tả: Sổ sách kế toán chứa các thông tin về việc quản lý công nợ khách hàng theo hóa đơn thanh toán
Thông số: PT = Số PT + Mã KH + Ngày thu + Nội dung +
{Chi tiết PT}= Số HĐ+ Đơn vị tính + Số lượng + Đơn giá
Vị trí luồng dữ liệu: Phân rã mức 1 tiến trình “Xử lý thu tiền”
2.5. Sơ đồ phân rã chức năng chương trình dự kiến sẽ thực hiện
QUẢN LÝ HÀNG HOÁ
Quản lý danh mục
Thống kê và báo cáo
Quản lý hoá đơn
Trợ giúp
Hệ thống
Tìm kiếm
III. THIẾT KẾ CHƯƠNG TRÌNH
1. Thiết kế cơ sở dữ liệu
1.1. Thiết kế cơ sở dữ liệu logic đi từ các thông tin đầu ra
1.1.1. Các bước chi tiết khi thiết kế cơ sở dữ liệu từ các thông tin ra:
Bước 1: Xác định các đầu ra
Liệt kê toàn bộ các thông tin đầu ra.
Nội dung, khối lượng, tần suất và nơi nhận của chúng.
Bước 2: Xác định các tệp cần thiết cung cấp đủ dữ liệu cho việc tạo ra từng đầu ra.
Liệt kê các phần tử thông tin trên đầu ra:
Liệt kê các thuộc tính.
Đánh dấu các thuộc tính lặp ( ký hiệu- R ) - là những thuộc tính có thể nhận nhiều giá trị dữ liệu.
Đánh dấu các thuộc tính thứ sinh ( ký hiệu – S ) - là những thuộc tính được tính toán hoặc suy ra từ các thuộc tính khác.
Gạch chân các thuộc tính khoá cho các thông tin đầu ra.
Loại bỏ những thuộc tính thứ sinh khỏi danh sách, chỉ để lại các thuộc tính cơ sở.
Sau khi liệt kê các phần tử thông tin đầu ra sẽ tiến hành thực hiện việc chuẩn hoá mức 1 ( 1.NF ), mức 2 ( 2.NF ) và mức 3 ( 3.NF ). Các qui tắc chuẩn hoá dữ liệu đã được trình bày trong chương II (xem phần IV, mục 1.3).
Bước 3: Tích hợp các tệp để chỉ tạo ra một cơ sở dữ liệu
Bước 4: Xác định khối lượng dữ liệu cho từng tệp và toàn bộ sơ đồ
Bước 5: Xác định liên hệ lôgic giữa các tệp và thiết lập sơ đồ cấu trúc dữ liệu
1.1.2. Thiết kế cơ sở dữ liệu
Liệt kê các phần tử thông tin trên đầu ra:
Từ đầu ra “Hoá đơn bán hàng” ta lập được danh sách các thuộc tính:
Số hoá đơn
Diễn giải
Mã khách hàng
Tên khách hàng
Số tài khoản
Địa chỉ
Điện thoại
Phương thức thanh toán
Số thứ tự (R)
Mã hàng (R)
Tên hàng (R)
Nơi sản xuất (R)
Ngày sản xuất (R)
Đơn vị tính (R)
Đơn giá (R)
Số lượng (R)
Thành tiền ((S), (R))
Cộng thành tiền (S)
Thuế VAT (S)
Tổng số tiền (S)
Tổng số tiền ghi bằng chữ (S)
Ngày lập hoá đơn
Người lập hóa đơn
Từ đầu ra “Phiếu nhập kho” ta lập được danh sách các thuộc tính:
Số xê-ri
Số phiếu nhập
Ngày nhập
Nhà cung cấp
Người giao hàng
Địa chỉ
Nội dung
Mã kho
Mã hàng (R)
Tên hàng (R)
Đơn vị tính (R)
Số lượng (R)
Đơn giá (R)
Thành tiền ((S), (R))
Tổng cộng (S)
Thủ kho
Kế toán trưởng
Thủ trưởng đơn vị
Từ đầu ra “Hoá đơn thanh toán” (Phiếu thu tiền) ta lập được danh sách các thuộc tính:
Số xê-ri
Số phiếu thu
Ngày
Khách hàng
Địa chỉ
Nội dung
Số hoá đơn
Số tiền
Tổng tiền (S)
Chú thích:
(R): ký hiệu các thuộc tính lặp.
(S): ký hiệu các thuộc tính thứ sinh.
Các thuộc tính gạch chân là các thuộc tính khoá.
Thực hiện việc chuẩn hoá dữ liệu
Danh sách thuộc tính
Chuẩn hoá 1.NF
Chuẩn hoá 2.NF
Chuẩn hoá 3.NF
Số hoá đơn
Diễn giải
Mã khách hàng
Tên khách hàng
Số tài khoản
Địa chỉ
Điện thoại
Phương thức thanh toán
Số thứ tự (R)
Mã hàng (R)
Tên hàng (R)
Nơi sản xuất (R)
Ngày sản xuất (R)
Đơn vị tính (R)
Đơn giá (R)
Số lượng (R)
Thành tiền ((S), (R))
Cộng thành tiền (S)
Thuế VAT (S)
Tổng số tiền (S)
Ngày lập hoá đơn
Người lập hóa đơn
Số xê-ri
Số phiếu nhập
Ngày nhập
Nhà cung cấp
Người giao hàng
Địa chỉ
Nội dung
Mã kho
Mã hàng (R)
Tên hàng (R)
Đơn vị tính (R)
Số lượng (R)
Đơn giá (R)
Thành tiền ((S), (R))
Tổng cộng (S)
Thủ kho
Kế toán trưởng
Thủ trưởng đơn vị
Số xê-ri
Số phiếu thu
Ngày
Khách hàng
Địa chỉ
Nội dung
Số hoá đơn
Số tiền
Tổng tiền (S)
Hoá đơn bán hàng
Số hoá đơn
Diễn giải
Mã khách hàng
Tên khách hàng
Số tài khoản
Địa chỉ
Điện thoại
Phương thức thanh toán
Ngày lập hoá đơn
Người lập hóa đơn
Chi tiết hoá đơn bán hàng
Số hoá đơn
Mã hàng
Tên hàng
Nơi sản xuất
Ngày sản xuất
Đơn vị tính
Đơn giá
Số lượng
Phiếu nhập
Số phiếu nhập
Ngày nhập
Nhà cung cấp
Người giao hàng
Địa chỉ
Nội dung
Thủ kho
Chi tiết phiếu nhập
Số phiếu nhập
Mã hàng
Tên hàng
Đơn vị tính
Số lượng
Đơn giá
Phiếu thu
Số phiếu thu
Số xê-ri
Ngày
Khách hàng
Địa chỉ
Nội dung
Số hoá đơn
Số tiền
Hoá đơn bán hàng
Số hoá đơn
Diễn giải
Mã khách hàng
Tên khách hàng
Số tài khoản
Địa chỉ
Điện thoại
Phương thức thanh toán
Ngày lập hoá đơn
Người lập hóa đơn
Chi tiết hoá đơn bán hàng
Số hoá đơn
Mã hàng
Số lượng
Đơn giá
Hàng hoá
Mã hàng
Tên hàng
Nơi sản xuất
Ngày sản xuất
Đơn vị tính
Đơn giá
Phiếu nhập
Số phiếu nhập
Ngày nhập
Nhà cung cấp
Người giao hàng
Địa chỉ
Nội dung
Thủ kho
Chi tiết phiếu nhập
Số phiếu nhập
Mã hàng
Số lượng
Đơn giá
Hàng hoá
Mã hàng
Tên hàng
Đơn vị tính
Mã kho
Phiếu thu
Số phiếu thu
Số xê-ri
Ngày
Khách hàng
Địa chỉ
Nội dung
Số tiền
Hoá đơn bán hàng
Số hoá đơn
Mã khách hàng
Diễn giải
Phương thức thanh toán
Ngày lập hoá đơn
Người lập hóa đơn
Khách hàng
Mã khách hàng
Tên khách hàng
Số tài khoản
Địa chỉ
Điện thoại
Chi tiết hoá đơn bán hàng
Số hoá đơn
Mã hàng
Số lượng
Đơn giá
Hàng hoá
Mã hàng
Tên hàng
Nơi sản xuất
Ngày sản xuất
Đơn vị tính
Nhà cung cấp
Mã ncc
Tên ncc
đại diện
Địa chỉ
Điện thoại
Phiếu nhập
Số phiếu nhập
Mã ncc
Ngày nhập
Nội dung
Chi tiết phiếu nhập
Số phiếu nhập
Mã hàng
Số lượng
Đơn giá
Hàng hoá
Mã hàng
Tên hàng
Đơn vị tính
Mã kho
Kho
Mã kho
Tên kho
Thủ kho
Khách hàng
Mã kh
Tên kh
Địa chỉ
Nợ đầu kỳ
Phiếu thu
Mã kh
Số phiếu thu
Số xê-ri
Ngày
Nội dung
Số tiền
Tích hợp các tệp để chỉ tạo ra một cơ sở dữ liệu
Sau khi tiến hành chuẩn hoá dữ liệu ta thấy có 2 tệp “Khách hàng”:
Khách hàng (từ đầu ra “Hoá đơn bán hàng”)
Mã khách hàng
Tên khách hàng
Số tài khoản
Địa chỉ
Điện thoại
Khách hàng (từ đầu ra “Hoá đơn thanh toán”)
Mã kh
Tên kh
Địa chỉ
- Nợ đầu kỳ
Để được một tệp cơ sở dữ liệu đầy đủ, cần tích hợp 2 tệp trên với nhau thành một tệp duy nhất sau:
Khách hàng
Mã khách hàng
Tên khách hàng
Số tài khoản
Địa chỉ
Điện thoại
- Nợ đầu kỳ
Tương tự, từ 2 tệp “Hàng hoá” trên ta tích hợp thành 1 tệp duy nhất sau:
Hàng hoá
Mã hàng
Tên hàng
Nơi sản xuất
Ngày sản xuất
Đơn vị tính
Mã kho
1.2. Các bảng và mối quan hệ giữa các bảng trong cơ sở dữ liệu
1.2.1. Cấu trúc các bảng trong cơ sở dữ liệu
Khách hàng (dmkh)
Tên trường
Kiểu dữ kiệu
Độ rộng
Mô tả
MaKH
Character
6
Mã khách hàng
TenKH
Character
30
Tên khách hàng
SoTK
Character
15
Số tài khoản
MaThue
Character
15
Mã số thuế
Diachi
Character
60
Địa chỉ
DienThoai
Character
10
Điện thoại
NoDauKy
Numeric
10
Nợ đầu kỳ
Hóa đơn bán hàng (hoadon)
Tên trường
Kiểu dữ kiệu
Độ rộng
Mô tả
MaKH
Character
6
Mã khách hàng
SOHD
Character
6
Số hoá đơn
DienGiai
Memo
50
Diễn giải
ThanhToan
Character
30
Phương thức thanh toán
NgayHD
Date
8
Ngày lập hoá đơn
NguoiLapHD
Character
30
Người lập hoá đơn
Chi tiết hoá đơn bán hàng (cthoadon)
Tên trường
Kiểu dữ kiệu
Độ rộng
Mô tả
Mahang
Character
6
Mã hàng
SoHD
Character
6
Số hoá đơn
Soluong
Numeric
10
Số lượng
Dongia
Numeric
10
Đơn giá bán
Nhóm hàng (nhomhang)
Tên trường
Kiểu dữ kiệu
Độ rộng
Mô tả
Manhom
Character
6
Mã nhóm
Tennhom
Character
30
Tên nhóm
Hàng hóa (dmhang)
Tên trường
Kiểu dữ kiệu
Độ rộng
Mô tả
Mahang
Character
6
Mã hàng
TenHang
Character
30
Tên hàng
NoiSX
Character
40
Nơi sản xuất
NgaySX
Date
8
Ngày sản xuất
KichThuoc
Character
10
Kích thước
DVTinh
Character
10
Đơn vị tính
Nhà cung cấp (dmncc)
Tên trường
Kiểu dữ kiệu
Độ rộng
Mô tả
MaNCC
Character
6
Mã nhà cung cấp
TenNCC
Character
30
Tên nhà cung cấp
Diachi
Character
60
Địa chỉ
DienThoai
Character
10
Điện thoại
Phiếu nhập (phieunhap)
Tên trường
Kiểu dữ kiệu
Độ rộng
Mô tả
Mancc
Character
6
Mã nhà cung cấp
Sopn
Character
6
Số phiếu nhập
DienGiai
Memo
50
Diễn giải
Ngaynhap
Date
8
Ngày nhập
Chi tiết phiếu nhập (ctphieunhap)
Tên trường
Kiểu dữ kiệu
Độ rộng
Mô tả
Mahang
Character
6
Mã hàng
Sopn
Character
6
Số hoá đơn
Soluong
Numeric
10
Số lượng
Dongia
Numeric
10
Đơn giá nhập
Makho
Character
6
Kho
Kho (dmkho)
Tên trường
Kiểu dữ kiệu
Độ rộng
Mô tả
Makho
Character
6
Mã kho
Tenkho
Character
30
Tên kho
Thủ kho
Character
25
Thủ kho
Tồn kho (tonkho)
Tên trường
Kiểu dữ kiệu
Độ rộng
Mô tả
Makho
Character
6
Mã kho
Mahang
Character
6
Mã hàng
Sltondk
Numeric
10
Số lượng đầu kỳ
Phiếu thu tiền (phieuthu)
Tên trường
Kiểu dữ kiệu
Độ rộng
Mô tả
MaKH
Character
6
Mã khách hàng
Sopt
Character
6
Số phiếu thu
Ngaythu
Date
8
Ngày thu
Nội dung
Character
30
Nội dung thu
Sotien
Numeric
10
Số tiền
1.2.2. Mối quan hệ giữa các bảng trong cơ sở dữ liệu
2. Thiết kế giải thuật
Trong các bước mô tả và phân tích công việc ở trên, giúp chúng ta hình dung các công việc xử lý khi xây dựng các chức năng của chương trình. Tuy nhiên để thuận lợi cho các công việc thiết kế các bước xử lý cũng như viết các module, chúng ta nên xây dựng giải thuật xử lý các công việc chính, phức tạp để thuận lợi cho việc thực hiện chương trình. Chúng ta có thể mô tả xử lý bằng lưu đồ giải thuật vì lưu đồ mang tính trực quan và dễ kiểm tra giải thuật sai. Dưới đây mô tả các lưu đồ giải thuật chính của chương trình.
Các ký hiệu thường dùng trong thiết kế giải thuật
Ký hiệu xử lý
Ký hiệu điều kiện
Ký hiệu nhập/ Xuất thông tin
2.1. Thuật toán cập nhật phiếu nhập kho
Mở Form Phiếu nhập kho
Chọn thông tin về nhà cung cấp
Thi hành đoạn chương trình tự động tăng số phiếu
Chọn thông tin về hàng hóa
Lưu các thông tin vừa nhập
Cập nhật thông tin về nhà cung cấp
Cập nhật thông tin về hàng hóa
B
E
Tiếp tục?
Đóng form Phiếu nhập kho
Yes
Yes
Yes
No
No
No
Có thông tin về nhà cung cấp?
Có thông tin về hàng hoá?
Yes
Yes
No
2.2. Thuật toán tìm và sửa bản ghi
Dò tìm trong tệp CSDL
Chuẩn bị môi trường, mở tệp CSDL, sắp xếp theo khóa hay đặt lọc
Gán các giá trị ban đầu cho các biến
Nhập các thông tin cần tìm kiếm
Thông báo không tìm thấy
B
E
Tiếp tục?
Yes
Yes
No
No
Hiển thị nội dung cần sửa đổi
Có tìm thấy không?
Có sửa đổi không?
Đặt lại cấu hình, đóng tệp CSDL
Sửa bản ghi
Yes
No
2.3. Thuật toán tìm và sửa Hóa đơn bán hàng
B
Mở form Tìm kiém hóa đơn bán hàng
Nhập mã số hóa đơn cần tìm để sửa
Tìm kiếm trong CSDL
Đưa ra thông báo
Có tìm thấy không?
No
Yes
Xuất hiện form Hóa đơn bán hàng chứa các thông tin vừa nhập để tiến hành sửa
Lưu các thông tin vừa sửa
Yes
Tiếp tục?
No
Đóng form Tìm kiếm
E
2.4. Thuật toán lập báo cáo
Yes
Chọn loại báo cáo
Tìm và lọc theo yêu cầu
Báo cáo
Thông báo
B
E
Tiếp tục?
Đóng form Phiếu nhập kho
Yes
Yes
No
No
No
Nhập khoảng thời gian lập báo cáo
Kiểm tra
đúng?
Tim thấy?
3. Thiết kế giao diện xử lý
Thiết kế giao diện xử lý là xác định hệ thống thông tin trình bày thông tin như thế nào cho người sử dụng khi nhập dữ liệu vào hệ thống hoặc đưa kết quả ra.
3.1. Thiết kế vào
Mục đích của thiết kế vào là thiết kế các thủ tục nhập dữ liệu có hiệu quả và giảm thiểu các sai sót.
Một số nguyên tắc hữu ích cho việc thiết kế màn hình nhập liệu:
Khi nhập dữ liệu từ một tài liệu gốc, khuôn dạng màn hình phải giống như tài liệu gốc.
Nên nhóm các trường trên màn hình theo một trật tự có ý nghĩa, theo trật tự tự nhiên, theo tần số sử dụng, theo chức năng hoặc theo tầm quan trọng.
Không nhập các thông tin mà hệ thống thông tin có thể tìm được từ cơ sở dữ liệu hoặc tính toán được.
Đặt tên trường ở trên hoặc trước trường nhập.
Đặt các giá trị ngầm định cho phù hợp.
Sử dụng phím Tab để chuyển trường nhập.
Dựa theo các nguyên tắc trên ta tiến hành việc thiết kế màn hình nhập liệu của chương trình. Một số màn hình nhập liệu chính như sau:
3.2. Thiết kế ra
Một số nguyên tắc cơ bản cho việc trình bày thông tin ra màn hình:
Đặt mọi thông tin gắn liền với một nhiệm vụ trên cùng một màn hình. Người sử dụng không phải nhớ thông tin từ màn hình này sang màn hình khác.
Chỉ dẫn rõ ràng cách thoát khỏi màn hình. Đặt giữa các tiêu đề và xếp đặt thông tin theo trục trung tâm.
Nếu đầu ra gồm nhiều trang màn hình thì mỗi trang phải được đánh số thứ tự. Việc này giúp người sử dụng biết mình đang ở đâu.
Viết văn bản theo quy ước chung bằng cách sử dụng chữ in hoa, in thường, chữ gạch chân… và ngắt câu hợp lý.
Đặt tên đầu cột cho mỗi cột.
Tổ chức các phần tử của danh sách theo trật tự quen thuộc trong quản lý.
Cân trái các cột văn bản và cân phải các cột số. Đảm bảo vị trí dấu thập phân thẳng hàng.
Chỉ đặt màu cho những thông tin quan trọng.
Dựa trên những nguyên tắc này tiến hành thiết kế các báo biểu là các dạng chứa thông tin ra tiêu biểu:
Hóa đơn thanh toán: Hóa đơn thanh toán dưới dạng phiếu thu dùng để thanh toán công nợ khách hàng có mẫu sau:
Cty gạch ốp lát Hà Nội Số:……………
PHIẾU THU
Ngày…tháng…năm…….
Khách hàng:……………………………………………………………………..
Địa chỉ:…………………………………………………………………………..
Lý do thu:………………………………………………………………………..
Số tiền:…………………………………………………………………………..
Ghi bằng chữ:……………………………………………………………………
Khách hàng Kế toán trưởng Thủ trưởng đơn vị
Mẫu báo cáo tổng hợp hàng hóa:
BÁO CÁO TỔNG HỢP HÀNG HÓA
Kho:…………….
Từ ngày………….Đến ngày……….
Mã hàng
Tên hàng
Tồn đầu kỳ
Nhập trong kỳ
Xuất trong kỳ
Tồn cuối kỳ
SL
TG
SL
TG
SL
TG
SL
TG
Ngày….tháng…năm…..
Người lập biểu
Mẫu báo cáo công nợ chi tiết:
BÁO CÁO CÔNG NỢ CHI TIẾT
Từ ngày………..Đến ngày…………
Khách hàng:………………………………………………………………………
Ngày
Số CT
Nợ ĐK
Nợ trong kỳ
Trả trong kỳ
Nợ CK
Ngày….tháng…..năm……..
Người lập biểu
4. Kết quả thử nghiệm chương trình
Qua quá trình thử nghiệm, chương trình đã đạt được những kết quả quan trọng sau:
4.1. Quản lý được các danh mục
Danh mục hàng hóa
Danh mục nhóm hàng
Danh mục nhà cung cấp
Danh mục khách hàng
Danh mục kho
Nhân viên bán hàng
4.2. Quản lý hóa đơn
Cập nhật phiếu nhập hàng
Lập hóa đơn bán hàng
Lập hóa đơn thanh toán
4.3. Tìm kiếm
Tìm kiếm hàng hóa
Tìm kiếm khách hàng
Tìm kiếm nhà cung cấp
Tìm kiếm phiếu nhập hàng
Tìm kiếm hóa đơn bán hàng
4.4. Thống kê và báo cáo
Thống kê danh mục
Thống kê hàng nhập
Thống kê tình hình bán hàng
Tổng hợp hàng bán
Báo cáo xuất nhập tồn
Bảng kê hóa đơn bán hàng
Tổng hợp doanh số bán hàng
Báo cáo công nợ khách hàng
4.5. Sơ đồ phân rã chức năng của chương trình đã đạt được
Thống kê tình hình bán hàng
QUẢN LÝ BÁN HÀNG
Quản lý danh mục
Thống kê và báo cáo
Quản lý hoá đơn
Tìm kiếm
Đăng ký
người dùng
Khách hàng
Nhà cung cấp
Hàng hóa
Báo cáo công nợ khách hàng
Doanh số bán hàng
Bảng kê hóa đơn bán hàng
Báo cáo xuất nhập tồn
Tổng hợp hàng bán
Thống kê hàng nhập
Thống kê danh mục
Hóa đơn thanh toán
Hóa đơn bán hàng
Phiếu nhập
Khách hàng
Hàng hóa
Hóa đơn thanh toán
Hóa đơn bán hàng
Cập nhật hang tồn
Phiếu nhập
Kho
Nhân viên
Kết thúc
Bảng kê phiếu nhập
Bảng kê phiếu thu
Hệ thống
Trợ giúp
Hướng dẫn sử dụng
Giới thiệu chương trình
5. Một số giao diện màn hình chính
5.1. Màn hình giao diện chính của chương trình
5.2. Form Giới thiệu
5.3. Form danh mục khách hàng:
Form danh mục khách hàng chứa các Textbox giúp người sử dụng có thể nhập các thông tin về khách hàng theo các tên trường ở bên phải. Việc nhập liệu được tiện hành dễ dàng nhanh chóng vì có thể thao tác chỉ cần bằng bàn phím, dùng phím Tab để chuyển trường nhập.
Các nút chức năng:
Nút Thêm: Khi người sử dụng nhấn nút này thì màn hình cho phép nhập thêm các thông tin về khách hàng mới, sau khi thêm có thể tiến hành Lưu các thông tin vừa nhập hoặc Hủy bỏ chúng.
Nút Sửa: Khi muốn sửa các thông tin về một khách hàng nào đó thì nhấn nút Sửa, sau khi sửa có thể tiến hành Lưu các thông tin vừa sửa hoặc hủy bỏ các thông tin đó.
Nút Xóa: nút này cho phép xóa các thông tin hiện thời về khách hàng đang hiện trên màn hình.
Nút Tìm: người sử dụng có thể tìm kiếm các thông tin về hàng hóa nào đó khi nhấn nút này.
Nút Xem: Cho phép xem thông tin về tất cả các khách hàng hiện có.
Nút Thoát: cho phép người sử dụng thoát khỏi màn hình nhập liệu này.
Ngoài ra còn có các nút dịch chuyển bản ghi để dịch chuyển các bản ghi trong cơ sở dữ liệu.
5.4. Form Hoá đơn bán hàng:
Trên hoá đơn bán hàng các thông tin được thực hiện hầu như tự động, người sử dụng chỉ cần tiến hành giao tác vì các thông tin đã có sẵn trong cơ sở dữ liệu và chỉ việc nhập số lượng, đơn giá của mỗi loại hàng hóa bán (nếu không biết đơn giá bán là bao nhiêu thì có thể xem trong danh mục giá bán với đơn giá của ngày bán gần đây nhất).
Số phiếu tự động tăng lên sau mỗi lần xuất bán.
Ngày lập hoá đơn bán hàng mặc định là ngày hiện thời.
Người mua hàng được lấy từ Danh mục khách hàng, các thông tin về Mã Khách hàng, Tên Khách hàng, Địa chỉ được tự động cập nhật vào Hóa đơn bán hàng. Mã hàng lấy trong danh mục vật tư hàng hóa: các thông tin liên quan như Tên hàng, Đơn vị tính được tự động cập nhật vào Hóa đơn bán hàng.
Mã kho được lấy trong danh mục kho hàng.
Trên mỗi phiếu có thể nhập được nhiều mặt hàng ở nhiều kho khác nhau.
Sau mỗi lần nhập một mặt hàng trên phiếu phải thể hiện được trị giá của mặt hàng đó ở cột Thành tiền bằng cách lấy số lượng x đơn giá của mặt hàng đó.
Nút mới: bắt đầu thực hiện việc nhập mới một Hóa đơn bán hàng.
Nút Lưu: Thực hiện việc lưu phiếu.
Nút Sửa: Để sửa lại chứng từ cũ.
Nút Xóa: Để xóa chứng từ hiện thời.
Nút Tìm: Để tìm bất cứ chứng từ nào thỏa mãn điều kiện lọc.
Nút Thoát: Thoát khỏi màn hình nhập thông tin Hóa đơn bán hàng.
5.5. Form phiếu thu:
5.6. Form Tìm kiếm hàng hóa:
5.7. Form tìm kiếm hàng nhập:
5.8. Form gọi Báo cáo hóa đơn bán hàng:
- Bảng kê hóa đơn bán hàng:
- Bảng kê hóa đơn bán hàng đã xuất sang Excel:
5.9. Phiếu thu tiền bán hàng:
5.10. Form gọi báo cáo xuất nhập tồn:
- Báo cáo xuất nhập tồn:
Báo cáo Tổng hợp hàng bán:
5.12. Form gọi các báo cáo về tình hình bán hàng:
- Báo cáo khách hàng mua hàng nhiều nhất
6. Cài đặt và bảo trì hệ thống
3.1. Cài đặt hệ thống
Sử dụng các biện pháp cài đặt thông thường là:
- Cài đặt trực tiếp.
- Cài đặt song song.
- Cài đặt thí điểm.
- Cài đặt chuyển đổi theo giai đoạn.
Đào tạo hỗ trợ người sử dụng.
- Đào tạo người sử dụng hệ thống thông tin.
- Hỗ trợ người sử dụng hệ thống thông tin.
3.2. Bảo trì hệ thống
Đây là giai đoạn chiếm chi phí lớn nhất trong chu kỳ sống của một hệ thống.
Các kiểu bảo trì:
- Bảo trì hiệu chỉnh: Giải quyết lỗi thiết kế và lỗi lập trình còn tiềm ẩn trong hệ thống sau khi cài đặt.
- Bảo trì thích nghi: Sửa đổi hệ thống để phù hợp với các thay đổi của môi trường.
- Bảo trì hoàn thiện: Cải tiến hệ thống theo nhu cầu mới.
- Bảo trì phòng ngừa: Phòng ngừa các thay đổi trong tương lai.
Quản trị bảo trì hệ thống:
- Quản trị nhân sự trong hệ thống.
- Đo lường hiệu quả bảo trì hệ thống (Số lượng lỗi, khoảng thời gian giữa các lỗi, kiểu lỗi).
- Kiểm soát các yêu cầu bảo trì.
Thiết kế công việc, kế hoạch dự án
Yêu cầubảo trì, hệ thống hiện thời
Hệ thống hiện thời, đặc tả về yêu cầu thay đổi
Hệ thống mới, tài liệu, đào tạo và hỗ trợ
Thứ hạng ưu tiên, đặc tả về yêu cầu bảo trì phân công nhân sự
1.0
Quản trị các yêu cầu bảo trì
4.0
Triển khai các thay đổi
3.0
Thiết kế các thay đổi
2.0
Chuyển đổi các yêu cầu
Hồ sơ dự án
Tài liệu về hệ thống hiện tại, các yêu cầu BT
Các đặc tả về yêu cầu
Yêu cầu thay đổi
Các bước của quá trình bảo trì hệ thống
6.3. Đánh giá sau cài đặt
- Đánh giá dự án xem có đúng thời gian, tiến độ không.
- Đánh giá hệ thống: xem xét hệ thống có đạt mục tiêu đề ra không (Đánh giá sau một thời gian hoạt động).
- Báo cáo tổng kết dự án.
- Dự án hoàn thành đúng kế hoạch, đáp ứng nhu cầu kế hoạch.
KẾT LUẬN
Do đặc thù trong lĩnh vực sản xuất kinh doanh của công ty là sản xuất và kinh doanh các loại gạch men và gạch ốp lát, có nhiều loại hàng, nhóm hàng nên việc quản lý sản phẩm tại công ty có nhiều khó khăn. Qui trình sản xuất và kinh doanh của công ty cũng có những đặc thù riêng nên việc quản lý tiêu thụ sản phẩm của công ty được thực hiên hầu hết qua các kênh phân phối là các đại lý và các cửa hàng kinh doanh. Đề tài “phân tích và thiết kế hệ thống thông tin quản lý bán hàng tại công ty Gạch ốp lát Hà Nội” đã được khảo sát thực tế tại công ty Gạch ốp lát Hà Nội nên đã đáp ứng được các mục đích và các yêu cầu đề ra.
Chương trình đã giải quyết tốt những yêu cầu đặt ra là quản lý được các khách hàng, các sản phẩm, qui trình xuất, nhập hàng hoá vật tư, quản lý công nợ khách hàng…cũng như lập được các báo cáo quản trị cần thiết theo yêu cầu của người quản lý và nhà lãnh đạo.
Trong chương trình quản lý bán hàng này ngoài việc cập nhật các chứng từ phiếu nhập hàng, phiếu thu tiền công nợ khách hàng, viết hoá đơn bán hàng cho khách hàng,... một cách nhanh chóng, thuận tiện , chương trình còn đưa ra một hệ thống các báo cáo quản trị thích hợp. Các báo cáo này đã đáp ứng được hầu hết các yêu cầu của nhà quản lý, người lãnh đạo giúp họ có được những cái nhìn tổng quan về tình hình bán hàng và hoạt động sản xuất kinh doanh của doanh nghiệp mình. Từ đó giúp họ có thể đưa ra những chính sách chiến lược, những điều chỉnh kịp thời về tình hình sản xuất kinh doanh và hoạt động bán hàng của công ty.
Ngoài ra chương trình còn có chức năng ưu điểm nữa là các phiếu xuất và hoá đơn bán hàng có thể được xuất sang Microsoft Excel. Điều này giúp cho việc kiểm tra và tổng hợp số liệu một cách chính xác và đáp ứng các yêu cầu khi cần thiết.
Tuy vậy, đề tài cũng cần được hoàn thiện ở một số khía cạnh, đó là cùng với sự phát triển của Internet và thương mại điện tử, công ty đang có phương hướng triển khai việc đặt hàng, thanh toán và thực hiện các giao dịch thông qua Internet. Vấn đề này chưa được đề cập ở đây. Đó cũng chính là vấn đề cần được hoàn thiện để giải quyết và đáp ứng các yêu cầu đặt ra.
DANH MỤC TÀI LIỆU THAM KHẢO
Giáo trình Hệ thống thông tin quản lý, TS Trương Văn Tú – TS Trần Thị Song Minh, NXB Thống kê, Hà Nội, 2000.
Sử dụng và khai thác Microsoft Visual Foxpro 6.0, Nguyễn Ngọc Minh (Chủ biên), NXB Giáo dục, 2000.
Giáo trình Cơ sở dữ liệu SQL, Access, Trần Công Uẩn, NXB Thống kê, 2000.
Phân tích và thiết kế hệ thống thông tin, Nguyễn văn Ba, NXB Đại học Quốc Gia HN, 2003 .
Những bài thực hành Visual Foxpro, VN-Guide, NXB Thống kê, 2002.
6. Giáo trình Cấu trúc dữ liệu và giải thuật, PTS Hàn Viết Thuận, NXB Thống kê -Hà nội 1999.
7. Phân tích thiết kế hệ thống thông tin quản lý, ThS Đinh Thế Hiển, NXB Thống kê.
Phân tích thiết kế các hệ thống thông tin hiện đại, Nguyễn Văn Vỵ, NXB Thống kê, 2000.
Les systèmes d’infomation de gestion, James O’ Brien, De Borck Universitè.
PHỤ LỤC
Thủ tục Startup chương trình :
SET CENTURY ON
SET CLOCK STATUS
SET ESCAPE OFF
SET EXCLUSIVE OFF
SET EXACT OFF
SET DATE TO FRENCH
SET SAFETY
SET STATUS ON
SET HEADING OFF
SET REPROCESS TO -1
SET REFRESH TO 1, 1
SET SCOREBOARD OFF
SET MULTILOCKS ON
SET STATUS BAR ON
SET TALK OFF
SET HOURS TO 24
SET DELETED ON
CLEAR WINDOW
CLEAR ALL
ON ERROR
********************8
SET DEFAULT TO c:\chuongtrinh
set talk off
set safety off
set clock off
with _screen
.icon='c:\chuongtrinh\icon\a.ico'
.caption='Chuong trinh quan ly ban hang - Cong ty gach op lat Ha noi'
.controlbox=.F.
.closable=.F.
.maxbutton=.F.
.Minbutton=.F.
.Height=600
.Width=800
.Windowstate=2
endwith
Do ReleToolbar
DO FORM c:\chuongtrinh\scx\loginht.scx
DO FORM c:\chuongtrinh\scx\Startup.scx
DO c:\chuongtrinh\menu\mainmenu.mpr
SET PATH TO c:\chuongtrinh\scx
Read event
clear event
*****************************
Procedure ReleToolbar
If wexist([Database designer])
hide wind([Database designer])
endif
If wexist([report controls])
hide wind([report controls])
endif
If wexist([report designer])
hide wind([report designer])
endif
If wexist([form controls])
hide wind([form controls])
endif
If wexist([form designer])
hide wind([form designer])
endif
If wexist([color palette])
hide wind([color palette])
endif
If wexist([layout])
hide wind([layout])
endif
If wexist([query designer])
hide wind([query designer])
endif
If wexist([view designer])
hide wind([view designer])
endif
If wexist ([standard])
hide wind([standard])
endif
If wexist ([print preview])
hide wind([print preview])
endif
return
Thủ tục Them_Click của form Danh mục vật tư:
IF this.Parent.them.Caption ="\<Thêm" then
BEGIN TRANSACTION
this.Parent.them.Caption="\<Lưu"
this.Parent.sua.Caption="\<Hủy"
this.Parent.xoa.Enabled = .F.
this.Parent.dau.Enabled = .F.
this.Parent.truoc.Enabled = .F.
this.Parent.sau.Enabled = .F.
this.Parent.cuoi.Enabled = .F.
this.Parent.thoat.Enabled = .F.
this.Parent.xem.Enabled = .F.
thisform.txtdongia.ReadOnly = .f.
thisform.txtdongia2.ReadOnly = .f.
thisform.txtdvtinh.ReadOnly = .f.
thisform.txtmahang.ReadOnly = .f.
thisform.txttenhang.ReadOnly = .f.
thisform.txtngaysx.ReadOnly = .f.
thisform.txtnoisx.ReadOnly = .f.
APPEND BLANK
ELSE
this.Parent.them.Caption="\<Thêm"
this.Parent.sua.Caption="\<Sửa"
this.Parent.xoa.Enabled = .t.
this.Parent.dau.Enabled = .t.
this.Parent.truoc.Enabled = .t.
this.Parent.sau.Enabled = .t.
this.Parent.cuoi.Enabled = .t.
this.Parent.thoat.Enabled = .t.
this.Parent.xem.Enabled = .t.
thisform.txtdongia.ReadOnly = .t.
thisform.txtdongia2.ReadOnly = .t.
thisform.txtdvtinh.ReadOnly = .t.
thisform.txtmahang.ReadOnly = .t.
thisform.txttenhang.ReadOnly = .t.
thisform.txtngaysx.ReadOnly = .t.
thisform.txtnoisx.ReadOnly = .t.
END TRANSACTION
ENDIF
thisform.txtmahang.SetFocus
thisform.Refresh
Thủ tục Sua_click của form Danh mục vật tư:
IF this.Parent.sua.Caption ="\<Sửa" then
BEGIN TRANSACTION
this.Parent.them.Caption="\<Lưu"
this.Parent.sua.Caption="\<Hủy"
this.Parent.xoa.Enabled = .F.
this.Parent.dau.Enabled = .F.
this.Parent.truoc.Enabled = .F.
this.Parent.sau.Enabled = .F.
this.Parent.cuoi.Enabled = .F.
this.Parent.thoat.Enabled = .F.
this.Parent.xem.Enabled = .F.
thisform.txtdongia.ReadOnly = .f.
thisform.txtdongia2.ReadOnly = .f.
thisform.txtdvtinh.ReadOnly = .f.
thisform.txtmahang.ReadOnly = .f.
thisform.txttenhang.ReadOnly = .f.
thisform.txtngaysx.ReadOnly = .f.
thisform.txtnoisx.ReadOnly = .f.
ELSE
this.Parent.them.Caption="\<Thêm"
this.Parent.sua.Caption="\<Sửa"
this.Parent.xoa.Enabled = .t.
this.Parent.dau.Enabled = .t.
this.Parent.truoc.Enabled = .t.
this.Parent.sau.Enabled = .t.
this.Parent.cuoi.Enabled = .t.
this.Parent.thoat.Enabled = .t.
this.Parent.xem.Enabled = .t.
thisform.txtdongia.ReadOnly = .t.
thisform.txtdongia2.ReadOnly = .t.
thisform.txtdvtinh.ReadOnly = .t.
thisform.txtmahang.ReadOnly = .t.
thisform.txttenhang.ReadOnly = .t.
thisform.txtngaysx.ReadOnly = .t.
thisform.txtnoisx.ReadOnly = .t.
ROLLBACK
IF EOF()
SKIP -1
ELSE
SKIP 1
ENDIF
ENDIF
thisform.txtmahang.SetFocus
thisform.Refresh
Thủ tuc Xoa_click của form Danhmục vật tư:
SELECT dmh
IF MESSAGEBOX("Bạn muốn xoá bản ghi này chứ?",20,"Chu y!")=6
DELETE
CLOSE TABLES ALL
SELECT 1
SET EXCLUSIVE ON
USE dmh
PACK
IF !EOF()
SKIP
ENDIF
IF EOF() AND !BOF()
SKIP -1
ENDIF
ENDIF
thisform.Refresh
Thủ tục tiến lùi các bản ghi:
Dau_click:
SELECT dmh
IF NOT BOF()
GO top
this.Parent.dau.Enabled=.f.
this.Parent.truoc.Enabled=.f.
ELSE
=MESSAGEBOX("Đã đến bản ghi đầu rồi.",20,"Thong bao")=6 then
this.Parent.dau.Enabled=.f.
this.Parent.truoc.Enabled=.f.
ENDIF
this.Parent.sau.Enabled=.t.
this.Parent.cuoi.Enabled=.t.
thisform.Refresh
Truoc_click:
SELECT dmh
IF NOT BOF()
SKIP -1
ELSE
=MESSAGEBOX("Đã đến bản ghi đầu rồi.",20,"Thong bao")=6 then
this.Parent.dau.Enabled=.f.
this.Parent.truoc.Enabled=.f.
ENDIF
this.Parent.sau.Enabled=.t.
this.Parent.cuoi.Enabled=.t.
thisform.Refresh
Sau_click:
SELECT dmh
IF NOT EOF()
SKIP 1
ELSE
=MESSAGEBOX("Đã đến bản ghi cuối rồi.",20,"Thong bao")=6 then
this.Parent.sau.Enabled=.f.
this.Parent.cuoi.Enabled=.f.
ENDIF
this.Parent.dau.Enabled=.t.
this.Parent.truoc.Enabled=.t.
thisform.Refresh
Cuoi_click:
SELECT dmh
IF NOT EOF()
GO bottom
this.Parent.sau.Enabled=.f.
this.Parent.cuoi.Enabled=.f.
ELSE
=MESSAGEBOX("Đã đến bản ghi cuối rồi.",20,"Thong bao")=6 then
this.Parent.sau.Enabled=.f.
this.Parent.cuoi.Enabled=.f.
ENDIF
this.Parent.dau.Enabled=.t.
this.Parent.truoc.Enabled=.t.
thisform.Refresh
Thủ tục Moi_click của Form Hóa đơn bán hàng:
THISFORM.txtSopx.setfocus
THISFORM.txtSopx.gotfocus
THISFORM.txtNgaypx.value=""
THISFORM.txtmakh.value=""
thisform.lbltenkh.Caption=""
thisform.lbldiachi.Caption=""
THISFORM.txtdg.value=""
*+!+*********************************
THISFORM.cmgButton.cmdLuu.Enabled= .T.
THISFORM.cmgButton.cmdMoi.Enabled= .F.
THISFORM.cmgButton.cmdxoa.Enabled= .T.
THISFORM.cmgButton.cmdSua.Enabled= .T.
THISFORM.cmgButton.cmdtim.Enabled= .T.
THISFORM.TxtSopx.Enabled= .F.
THISFORM.TxtNgaypx.Enabled= .T.
THISFORM.Txtmakh.Enabled= .T.
THISFORM.TxtDG.Enabled= .T.
THISFORM.grdpx.colMahang.text1.value=""
THISFORM.grdpx.colTenhang.text1.value=""
THISFORM.grdpx.colDvt.text1.value=""
THISFORM.grdpx.colMakho.text1.value=""
THISFORM.grdpx.colSoluong.text1.value=""
THISFORM.grdpx.coldongia.text1.value=""
*+!+*********************************
* Them dong moi vao Grid
SELECT 1
APPEND BLANK
* Tu dong tang so phieu
SELECT 0
USE [C:\chuongtrinh\dbfs\hoadon.DBF] ALIAS M_hd
GO bottom
THISFORM.TxtSopx.Value=RECNO()+1
USE
THISFORM.Refresh
THISFORM.TxtNgaypx.SetFocus
thisform.grdpx.Refresh
Thủ tục Luu_click của Form Hóa đơn bán hàng:
* Cho phep cac nut
THISFORM.cmgButton.cmdLuu.Enabled= .F.
THISFORM.cmgButton.cmdMoi.Enabled= .T.
THISFORM.cmgButton.cmdxoa.Enabled= .F.
THISFORM.cmgButton.cmdSua.Enabled= .F.
THISFORM.cmgButton.cmdtim.Enabled= .T.
**********************************
* cap nhat vao bang : hoadon.DBF
SELECT 0
USE C:\chuongtrinh\dbfs\hoadon.DBF ALIAS M_hd
APPEND BLANK
SCATTER MEMVAR
M.Sohd=THISFORM.txtSopx.Value
M.Ngayhd=THISFORM.txtNgaypx.Value
M.makh=thisform.txtmakh.Value
M.Diengiai=THISFORM.TxtDg.Value
GATHER MEMVAR
RELEASE ALL
USE
* Cap nhap vao table : cthoadon.DBF
SELECT 3
USE C:\chuongtrinh\dbfs\cthoadon.DBF ALIAS cthoadon
SCATTER MEMVAR BLANK
M.Sohd=THISFORM.TxtSopx.Value
M.Mahang=THISFORM.Grdpx.ColMahang.Text1.Value
M.SoLuong=THISFORM.Grdpx.ColSoluong.Text1.Value
M.Makho=THISFORM.Grdpx.colMakho.Text1.Value
APPEND BLANK
GATHER MEMVAR
RELEASE ALL
USE
* Xoa tat ca cac bien
RELEASE ALL
thisform.Refresh
Thủ tục Sua_click của Form Hóa đơn bán hàng:
* Cho phep
THISFORM.cmgButton.cmdLuu.Enabled= .F.
THISFORM.cmgButton.cmdMoi.Enabled= .T.
THISFORM.cmgButton.cmdxoa.Enabled= .F.
THISFORM.cmgButton.cmdSua.Enabled= .F.
THISFORM.cmgButton.cmdTim.Enabled= .T.
***********************************
thisform.txtSopx.ReadOnly=.f.
thisform.txtNgaypx.ReadOnly=.f.
thisform.txtmakh.ReadOnly=.f.
thisform.txtdg.ReadOnly=.f.
thisform.grdpx.ReadOnly = .F.
thisform.grdpx.colMahang.text1.ReadOnly = .F.
thisform.txtSopx.Enabled = .T.
thisform.txtNgaypx.Enabled = .T.
thisform.txtmakh.Enabled = .T.
thisform.txtdg.Enabled = .T.
thisform.grdpx.colMahang.text1.Enabled = .T.
thisform.grdpx.colTenhang.text1.Enabled = .T.
thisform.grdpx.colDvt.text1.Enabled = .T.
thisform.grdpx.colMakho.text1.Enabled = .T.
thisform.grdpx.colSoluong.text1.Enabled = .T.
thisform.grdpx.coldongia.text1.Enabled = .T.
thisform.grdpx.colthanhtien.text1.Enabled = .T.
thisform.txtNgaypx.SetFocus
Thủ tục Lostfocus của TxtMaKh trên Form Hóa đơn bán hàng:
ON KEY LAbEl ENTER KEYBOARD CHR(23)
SELECT 0
USE C:\chuongtrinh\dbfs\dmkh.DBF ALIAS M_dmkh
IF EMPTY(THISFORM.Txtmakh.Value) THEN
BROWSE FONT '.VnArial',10 NOMODIFY
SCATTER MEMVAR
THISFORM.Txtmakh.Value=M.makh
THISFORM.Lbltenkh.Caption=ALLTRIM(M.tenkh)
thisform.lbldiachi.Caption =ALLTRIM(M.diachi)
RELEASE ALL
ENDIF
ON KEY LABEl ENTER
USE
***********************************
Thủ tục Lostfocus cua Text Mã hàng của grid trên Form Hóa đơn bán hàng:
on key label enter keyboard chr(23)
IF EMPTY(THISFORM.GRdpx.colMahang.text1.Value)=.T. THEN
SELECT 0
USE [c:\chuongtrinh\dbfs\dmh] ALIAS M_dmh
BROWSE FONT '.VnArial',10
SCATTER MEMVAR
strma=M.mahang
* Lay tu bang vao Grid
THISFORM.GRdpx.COlMahang.TExt1.Value=strma
THISFORM.Grdpx.ColTenhang.Text1.Value=M.TenHang
THISFORM.Grdpx.ColDvt.Text1.Value=M.Dvtinh
THISFORM.Grdpx.coldongia.Text1.Value=M.Dongia2
USE
ENDIF
on key label enter
Thủ tục Lostfocus cua Text Thành tiền trong Grid trên Form Hóa đơn bán hàng:
* Cho phep nguoi dung co them mat hang trong phieu nay nua khong
IF MESSAGEBOX('Bạn muốn nhập nữa không?',4,'Thong bao!')=6 THEN
SELECT 1
APPEND BLANK
RELEASE ALL
SELECT 0
USE C:\chuongtrinh\dbfs\cthoadon.DBF ALIAS P_ctpx
SCATTER MEMVAR BLANK
M.Sohd=THISFORM.TxtSopx.Value
M.Mahang=THISFORM.Grdpx.ColMahang.Text1.Value
M.SoLuong=THISFORM.Grdpx.ColSoluong.Text1.Value
M.Makho=THISFORM.Grdpx.colMakho.Text1.Value
APPEND BLANK
GATHER MEMVAR
RELEASE ALL
USE
THISFORM.Grdpx.ColMahang.Text1.SetFocus
THISFORM.Grdpx.Refresh
ELSE
thisform.cmgButton.cmdLuu.SetFocus
ENDIF
THISFORM.Refresh
Thủ tục tìm kiếm hóa đơn bán hàng, hiện thông tin trên Form Hóa đơn bán hàng, nếu tìm thấy có thể sửa:
* Thiet lap moi truong lam viec
SET TALK OFF
SET SAFETY OFF
SET EXAC OFF
SET DELETE OFF
SET DATE FRENCH
**********************************************
* Mở bảng con : cthoadon.dbf
SELECT 0
USE C:\Chuongtrinh\dbfs\cthoadon.DBF
INDEX ON sohd TO hd_sohd
USE C:\Chuongtrinh\dbfs\cthoadon.DBF INDEX hd_sohd ALIAS P_HangXuat
**********************************************
* Mở bảng cha : hoadon.DBF
SELECT 0
USE C:\Chuongtrinh\dbfs\hoadon.DBF
INDEX ON sohd TO pnk
USE C:\Chuongtrinh\dbfs\hoadon.DBF INDEX pnk ALIAS M_pnk
* Thiet lap moi quan he
SET RELATION TO sohd INTO P_HangXuat
SELECT P_HangXuat.sohd,P_HangXuat.MaHang,P_HangXuat.SoLuong,;
M_pnk.Ngayhd, M_pnk.DienGiai,M_pnk.makh,P_HangXuat.Makho;
FROM M_pnk,P_HangXuat;
WHERE P_HangXuat.sohd=M_pnk.sohd;
INTO DBF C:\chuongtrinh\dbf_tmp\Phieu_Hang
USE
**********************************************
* Mo ket qua chung va loc theo yeu cau ngay
SELECT 0
USE C:\Chuongtrinh\dbf_tmp\Phieu_Hang.DBF
SELECT *FROM Phieu_Hang;
WHERE (Phieu_Hang.Ngayhd BETWEEN CTOD(_dTu_Ngay) AND CTOD(_dDen_Ngay));
INTO DBF C:\Chuongtrinh\dbf_tmp\HD_Theo_Ngay
USE
**********************************************
* Ket qua Duoc loc Theo Ngay
SELECT 0
USE C:\Chuongtrinh\dbf_tmp\HD_Theo_Ngay
INDEX ON Mahang TO d_Mahang
USE C:\Chuongtrinh\dbf_tmp\HD_Theo_Ngay INDEX d_Mahang ALIAS P_TheoNgay
**********************************************
* Lay: fields cua mat hang tu: dmh.dbf
SELECT 0
USE C:\chuongtrinh\dbfs\dmh.dbf
INDEX ON Mahang TO dmh_Mahang
USE C:\chuongtrinh\dbfs\dmh.dbf INDEX dmh_Mahang ALIAS M_dmh
SET RELATION TO Mahang INTO P_TheoNgay
SELECT P_TheoNgay.sohd,P_TheoNgay.Ngayhd,P_TheoNgay.makh,;
P_TheoNgay.DienGiai, P_TheoNgay.Mahang,M_dmh.TenHang,;
M_dmh.dvtinh,P_TheoNgay.Makho, P_TheoNgay.SoLuong,M_dmh.dongia2,;
P_TheoNgay.SoLuong*M_dmh.dongia2 as thanhtien;
FROM M_dmh,P_TheoNgay;
WHERE P_TheoNgay.Mahang=M_dmh.Mahang;
INTO DBF C:\chuongtrinh\dbf_tmp\KQ_CUOI.dbf
USE
**********************************************
* Lay theo :SO phieu nhap
SELECT 0
USE C:\chuongtrinh\dbf_tmp\KQ_CUOI.dbf ALIAS H_CUOI
INDEX ON sohd TO kq_sohd
SELECT *FROM H_CUOI;
WHERE VAL(ALLTRIM(sohd)) BETWEEN VAL(_strTu_so) AND VAL(_strDen_So);
INTO DBF C:\chuongtrinh\dbf_tmp\PHIEU_XUAT.dbf
USE
**********************************************
* Loc theo ma nhan vien
SELECT 0
USE C:\chuongtrinh\dbf_tmp\PHIEU_XUAT.dbf ALIAS H_PNhap
SELECT *FROM H_PNhap;
WHERE makh=UPPER(ALLTRIM(_strMa_nv));
INTO DBF C:\chuongtrinh\dbf_tmp\HD_XUAT.dbf
* BROWSE
USE
**********************************************
SELECT 0
USE C:\chuongtrinh\dbf_tmp\HD_XUAT.dbf
USE
CLOSE ALL
Thủ tục đọc số thành chữ:
*......................... Hàm đổi số ............................
* Doi so thanh chu de in chung tu
FUNCTION Docso
PARAMETER So, DonViTinh, Doc_So_Bon
* SO: So can doi
* DonViTinh: Don vi tinh khi doc thanh chu (VND, USD,...)
* Doc_So_Bon: Doc so 4 la "bon" hay "tu" , neu = [T] - [tu], nguoc lai la [bon]
PRIVATE SoChu
IF PARAMETER() < 3
Doc_So_Bon = []
ENDIF
IF PARAMETER() < 2
DonViTinh = []
ENDIF
Tu_Bon = ' bốn'
IF UPPER(Doc_So_Bon) = 'T'
Tu_Bon = ' tư'
ENDIF
DIMENSION MangChuSo( 10 )
STOR [ không] TO MangChuSo(1)
STOR [ một] TO MangChuSo(2)
STOR [ hai] TO MangChuSo(3)
STOR [ ba] TO MangChuSo(4)
STOR [ bốn] TO MangChuSo(5)
STOR [ năm] TO MangChuSo(6)
STOR [ sáu] TO MangChuSo(7)
STOR [ bảy] TO MangChuSo(8)
STOR [ tám] TO MangChuSo(9)
STOR [ chín] TO MangChuSo(10)
SoChu = []
IF So < 0
So = - So
SoChu = SoChu + " âm"
ENDIF
So_sau_dau_phay = So - INT(So)
****Doc phan nguyen truoc
So = INT(So)
&&Vi ben duoi co doan S = LEFT(ALLT(S), LEN(ALLT(S)) - 1) ;
&& cho nen phai cho so 0 vao de neu doc so 0 thi no khong bi mat chu "g"
IF So = 0
SoChu = SoChu + " " + 'không0'
ELSE
&&Cong them cac so khong vao dang truoc chuoi de duoc chan cac to hop 3 so
So = ALLT(STR(So,16))
IF MOD(LEN(So) , 3 ) = 1
So = '00' + So
ENDIF
IF MOD(LEN (So), 3 ) = 2
So = '0' + So
ENDIF
So_Nhom = LEN(So)/3
Stt_Nhom = So_Nhom
Stt_So = 1
&&Doc theo tung nhom 3 so
DO WHILE Stt_So <= (LEN(So) - 2) &&Cho den vi tri cua chu so dau tien cua nhom cuoi cung
So_Phu = SUBSTR(So, Stt_So, 3)
Stt_Nhom = ROUND((LEN(So) - Stt_So +1) / 3, 0)
IF LEN(DOI_SO_CHU_NHOM(So_Phu, Stt_Nhom, So_Nhom)) > 0
IF Stt_Nhom < 5 &&Nho hon mot ty thi phai cng them dau phay
SoChu = SoChu + DOI_SO_CHU_NHOM(So_Phu, Stt_Nhom, So_Nhom) + [,]
ELSE
SoChu = SoChu + DOI_SO_CHU_NHOM(So_Phu, Stt_Nhom, So_Nhom)
ENDIF
ELSE
SoChu = SoChu + DOI_SO_CHU_NHOM(So_Phu, Stt_Nhom, So_Nhom)
ENDIF
Stt_So = Stt_So + 3
ENDDO
ENDIF
SoChu = LEFT(ALLT(SoChu), LEN(ALLT(SoChu)) - 1)
****Doc phan thap phan
* Neu chu so dau tien sau dau phay khac khong thi doc nhu phan so nguyen
IF So_sau_dau_phay > 0
SoChu = SoChu + " phẩy"
So_sau_dau_phay = ALLTR(STR(So_sau_dau_phay, 8, 6)) &&Chi doc den 6 chu so sau dau phay
So_sau_dau_phay = SUBS(So_sau_dau_phay, 3, LEN(So_sau_dau_phay) - 2) &&Cat lay phan sau dau phay
IF LEFT(So_sau_dau_phay, 1) '0'
&&Cat nhung so 0 o ben phai do STR() di
DO WHILE RIGHT(So_sau_dau_phay, 1) = '0'
So_sau_dau_phay = LEFT(So_sau_dau_phay, LEN(So_sau_dau_phay) - 1)
ENDDO
&&Cong them cac so khong vao dang truoc chuoi de duoc chan cac to hop 3 so
IF MOD(LEN(So_sau_dau_phay) , 3 ) = 1
So_sau_dau_phay = '00' + So_sau_dau_phay
ENDIF
IF MOD(LEN(So_sau_dau_phay), 3 ) = 2
So_sau_dau_phay = '0' + So_sau_dau_phay
ENDIF
So_Nhom = ROUND(LEN(So_sau_dau_phay) / 3,0)
Stt_Nhom = So_Nhom
Stt_So = 1
&&Doc theo tung nhom 3 so
DO WHILE Stt_So <= (LEN(So_sau_dau_phay) - 2)&&Cho den vi tri cua chu so dau tien cua nhom cuoi cung
So_Phu = SUBSTR(So_sau_dau_phay, Stt_So, 3)
Stt_Nhom = ROUND ((LEN (So_sau_dau_phay) - Stt_So +1) / 3,0)
SoChu = SoChu + DOI_SO_CHU_NHOM( So_Phu, Stt_Nhom, So_Nhom)
Stt_So = Stt_So + 3
ENDDO
ELSE
* Neu chu so dau tien sau dau phay = 0 thi doc tung chu so mot
&&Cat nhung so 0 o ben phai do STR() di
DO WHILE RIGHT(So_sau_dau_phay, 1) = '0'
So_sau_dau_phay = LEFT(So_sau_dau_phay, LEN(So_sau_dau_phay) - 1)
ENDDO
&&Doc lan luot tung chu so sau dau phay
FOR i =1 TO LEN(So_sau_dau_phay)
j = SUBS(So_sau_dau_phay, i, 1)
SoChu = SoChu + MangChuSo(VAL(j) +1 )
ENDFOR
ENDIF
ENDIF
SoChu = ALLTR(UPPER(LEFT(SoChu, 1)) + SUBS(SoChu, 2) + [ ] + DonViTinh)
RETURN SoChu
*......................... Function DOI_SO_CHU_NHOM ............................
FUNCTION DOI_SO_CHU_NHOM
PARAMETER Nhom_So, Stt_Nhom, So_Nhom
* Nhom_So: Nhom 3 so can doc
* Stt_Nhom: Stt cua nhom trong tong so cac nhom
* So_Nhom: Tong so nhom cua so can doc
PRIVATE Tram, Chuc, Don_Vi, Tram_Chu, Chuc_Chu, Don_Vi_Chu, Nhom_Chu
Nhom_Chu = ''
Tram = LEFT(Nhom_So,1)
Chuc = SUBSTR(Nhom_So,2,1)
Don_Vi = RIGHT(Nhom_So,1)
Tram_Chu = MangChuSo(VAL(Tram) +1 )
Chuc_Chu = MangChuSo(VAL(Chuc) +1 )
Don_Vi_Chu = MangChuSo(VAL(Don_Vi) +1 )
IF (Tram '0') .OR. ((Stt_Nhom = 1) .AND. (Stt_Nhom < So_Nhom))
Nhom_Chu = Nhom_Chu + Tram_Chu + ' trăm'
ENDIF
IF ALLTR(Chuc_Chu) 'không'
IF ALLTR(Chuc_Chu) 'một'
Nhom_Chu = Nhom_Chu + Chuc_Chu + ' mươi'
IF ALLTR(Don_Vi_Chu) 'năm'
IF ALLTR(Don_Vi_Chu) 'không'
IF ALLTR(Don_Vi_Chu) = 'một'
Nhom_Chu = Nhom_Chu + ' mốt'
ELSE
IF (ALLTR(Don_Vi_Chu) = 'bốn') .AND. (Stt_Nhom > 1)
Nhom_Chu = Nhom_Chu + Tu_Bon
ELSE
Nhom_Chu = Nhom_Chu + Don_Vi_Chu
ENDIF
ENDIF
ENDIF
ELSE
Nhom_Chu = Nhom_Chu + ' lăm'
ENDIF
ELSE
Nhom_Chu = Nhom_Chu + ' mười'
IF ALLTR(Don_Vi_Chu) 'năm'
IF ALLTR(Don_Vi_Chu) 'không'
Nhom_Chu = Nhom_Chu + Don_Vi_Chu
ENDIF
ELSE
Nhom_Chu = Nhom_Chu + ' lăm'
ENDIF
ENDIF
ELSE
IF ALLTR(Don_Vi_Chu) 'không'
Nhom_Chu = Nhom_Chu + ' linh'
IF ALLTR(Don_Vi_Chu) 'bốn'
Nhom_Chu = Nhom_Chu + Don_Vi_Chu
ELSE
Nhom_Chu = Nhom_Chu + Tu_Bon
ENDIF
ENDIF
ENDIF
IF (Tram = '0') .AND. (Chuc = '0') .AND. (Don_Vi '0') .AND. (Stt_Nhom > 1)
Nhom_Chu = Don_Vi_Chu
ENDIF
IF (Tram = '0') .AND. (Chuc = '0') .AND. (Don_Vi '0') .AND. (So_Nhom = 1)
Nhom_Chu = Don_Vi_Chu
ENDIF
DO CASE
CASE Stt_Nhom = 2
Nhom_Chu = Nhom_Chu + ' nghìn'
CASE Stt_Nhom = 3
Nhom_Chu = Nhom_Chu + ' triệu'
CASE Stt_Nhom = 4
Nhom_Chu = Nhom_Chu + ' tỷ'
CASE Stt_Nhom = 5
Nhom_Chu = Nhom_Chu + ' nghìn'
CASE Stt_Nhom = 6
Nhom_Chu = Nhom_Chu + ' triệu'
ENDCASE
IF (Tram = '0') .AND. (Chuc = '0') .AND. (Don_Vi = '0')
Nhom_Chu = ''
ENDIF
RETURN Nhom_Chu
Nguyễn Văn Tình – Lớp Tin học 42A – Khoa Tin học Kinh Tế - ĐH KTQD
Thời điểm
Khách hàng
Quản lý bán hàng
Quản lý kho
Kế toán thu
2.2.1. Sơ đồ IFD của bộ phận bán hàng
Luận văn tốt nghiệp đại học - 58 -
Lãnh đạo
Báo cáo
In báo cáo
Đơn đặt hàng
Xét duyệt đơn đặt hàng
Lưu trữ
Xử lý
Hoá đơn bán hàng
Giao dịch
Hợp đồng
Báo cáo
Báo cáo
Hoá đơn thanh toán
Phiếu xuất
Báo cáo xuất nhập tồn
Hình 19: Sơ đồ IFD của bộ phận bán hàng
Nguyễn Văn Tình – Lớp Tin học 42A – Khoa Tin học Kinh Tế - ĐH KTQD
Thời điểm
Nhà cung cấp
Quản lý mua hàng
Quản lý kho
Kế toán chi
2.2.2. Sơ đồ IFD của bộ phận mua hàng
Luận văn tốt nghiệp đại học - 59 -
Lãnh đạo
In báo cáo
Giới thiệu hàng
Sổ đơn hàng
Xử lý
Đơn đặt hàng
Báo cáo
Đặt hàng
Hợp đồng
Báo cáo
Báo cáo
Ra quyết định mua hàng
Hoá đơn thanh toán
Phiếu nhập kho
Báo cáo Xuất nhập tồn
Đơn đặt mua hàng
Quyết định mua hàng
Hình 20: Sơ đồ IFD của bộ phận mua hàng
Nguyễn Văn Tình – Lớp Tin học 42A – Khoa Tin học Kinh Tế - ĐH KTQD
Thời điểm
Quản lý mua hàng
Quản lý kho
Quản lý bán hàng
Kế toán
2.2.3. Sơ đồ IFD của bộ phận quản lý kho
Luận văn tốt nghiệp đại học - 60 -
Lãnh đạo
Lập báo cáo
Quyết định mua hàng
Kiểm duyệt và nhận hàng
Lưu trữ
Hoá đơn bán hàng
Báo cáo xuất nhập tồn
Mua hàng
Đơn đặt hàng
Phiếu nhập hàng
Bán hàng
Nguyễn Văn Tình – Lớp Tin học 42A – Khoa Tin học Kinh Tế - ĐH KTQD
Thời điểm
Hình 21: Sơ đồ IFD của bộ phận quản lý kho
Khách hàng
Quản lý bán hàng
Quản lý kho
Kế toán thu
2.3.4. Sơ đồ IFD của bộ phận thu tiền
Chuyên đề thực tập tốt nghiệp -61-
Lãnh đạo
Lập báo cáo thu
Phiếu thu
Sổ theo dõi công nợ
Xử lý
Báo cáo
Thanh toán
Phiếu thu
Hoá đơn bán hàng
Phiếu thu
Xử lý thu tiền
Hình 22: Sơ đồ IFD của bộ phận kế toán
Các file đính kèm theo tài liệu này:
- 36205.doc