Với sự đổi mới sâu sắc của cơ chế quản lý kinh tế đòi hỏi nền tài chính quốc gia phải được tiệp tục đổi mới một cách toàn diện, nhằm tạo ra sự ổn định trong môi trường kinh tế, hệ thống pháp luật tài chính. Điều đó đòi hỏi các hoạt động tài chính cần phải được quản lý bằng luật pháp, bằng các công cụ và biện pháp quản lý có hiệu lực. Kế toán hộ kinh doanh là một bộ phận cấu thành công cụ quản lý kinh tế, tài chính, nó có vai trò tích cực trong việc điều hành và kiểm soát các hoạt động kinh tế, nhằm chánh thất thoát ngân sách cho nhà nước.
Trong đề tài, Tôi đã nhận được nhiều sự giúp đỡ quý báu và nhiệt tình của Thầy giáo Bùi Thế Ngũ, anh Phùng Huy Hậu và các anh chị ở Phòng Phát triển ứng dụng - Ban QLƯD Tin học - Bộ Tài chính, đồng thời có tiếp thu và thừa kế kiến thức trong luận văn tốt nghiệp của các anh chị khoá trước. Tuy nhiên, do thời gian hạn hẹp và trình độ còn hạn chế nên mặc dù đã cố gắng tối đa nhưng đề tài vẫn không tránh khỏi những thiếu sót. Một lần nữa Tôi xin chân thành cảm ơn và mong muốn nhận được những ý kiến đóng góp quý báu của thầy giáo, các anh các chị và tất cả những ai quan tâm tới đề tài này.
117 trang |
Chia sẻ: oanh_nt | Lượt xem: 1445 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Chuyên đề Ứng dụng tin học trong công tác kế toán hộ kinh doanh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
hoá.
Bước 3: Chuẩn hoá mức 1 cho từng danh sách ở Bước 2 (1NF) là bảo đảm không được tồn tại các thuộc tính lặp trong một danh sách, vậy nếu có, phải tách chúng ra thành danh sách con, gắn cho nó một thuộc tính khoá của danh sách chung và tìm ra thuộc tính khoá riêng.
Bước 4: Chuẩn hoá mức 2 cho các danh sách ở Bước3 (2NF) là bảo đảm các thuộc tính phải phụ thuộc hoàn toàn vào thuộc tính khoá, nếu có thuộc tính phụ thuộc một phần thì tách ra thành danh sách con.
Bước 5: Chuẩn hoá mức 3 cho các danh sách ở Bước 4 (3NF) là bảo đảm các thuộc tính nếu có tính chất phụ thuộc bắc cầu với nhau thì tách ra thành danh sách con.
Bước 6: Tích hợp tất cả các danh sách cùng mô tả về một thực thể bằng cách dồn các danh sách thu được từ sau Bước 5 cho tất cả các thông tin đầu vào thành một danh sách chứa các thuộc tính chung và riêng cho nó.
Bước 7: Xác định mối quan hệ giữa các danh sách và chuyển đổi danh sách thành biểu diễn tệp CSDL ,sau đó vẽ sơ đồ cấu trúc dữ liệu.
IV.1 Liệt kê các thông tin đầu vào :
Các báo cáo được lập từ các thông tin ban đầu và chủ yếu là các chứng từ gốc. Trên cơ sở khảo sát thực tế ta đưa ra một số các thông tin đầu vào từ các chứng từ gốc như sau :
Hoá đơn bán hàng
Bảng kê thu mua nông,lâm, thuỷ sản
Mã số hoá đơn
Mã số hoá đơn
Liên
Tên cơ sở sản xuất
Ngày bán hàng
Mã cơ sở XS
Đơn vị bán hàng
Địa chỉ cơ sở
Mã đơn vị
Địa chỉ nơi mua
Địa chỉ
Người phụ chách mua
Điện thoại
Ngày mua
Số tài khoản
Họ tên người bán
Họ tên khách hàng
Địa chỉ người bán
Đơn vị khách hàng
Tên hàng hóa
Địa chỉ khách hàng
Mã hàng hoá
Mã khách hàng
Số lượng
Hình thức thanh toán
Đơn giá
Tên hàng hoá
Thành tièn
Mã hàng hoá
Tổng thành tiền
Số TT
Đơn vị tính
Số lượng
Đơn giá
Thành tiền
Tổng cộng tiền
VAT
Bảng kê bán lẻ hàng hoá dịch vụ
Phiếu xuất kho kiêm vận chuyển nội bộ
Mã số hoá đơn
Mã số chứng từ
Tên cơ sở kinh doanh
Tên hộ kinh doanh
Mã cơ sở kinh doanh
Mã hộ kinh doanh
Địa chỉ
Địa chỉ
Họ tên người bán
Ngáy xuất vật tư hàng hoá
Địa chỉ nơi bán
Diễn giải
Tên hàng hoá
Họ tên người vận chuyển
Mã hàng hoá
Địa chỉ
Đơn vị tính
Phương tiện vận chuyển
Số lượng
Xuất tại kho
Đơn giá
Nhập tại kho
Thành tiền
Tên hàng hoá
Tổng tiền bán
Số TT
Mã hàng hoá
Đơn vị tính
Số lượng nhập
Số lượng xuất
Đơn giá
Thành tiền
Tổng tiền
Phiếu xuất kho
Phiếu nhập kho
Mã số chứng từ
Mã số chứng từ
Tên hộ kinh doanh
Tên hộ kinh doanh
Mã hộ kinh doanh
Mã hộ kinh doanh
Địa chỉ hộ
Địa chỉ
Ngày xuất kho
Ngày nhập kho
Họ tên người nhận hàng
Họ tên người giao
Địa chỉ
Địa chỉ
Diễn giải
Diễn giải
Xuất tại kho
Nhập tại kho
Tên hàng hoá
Tên hàng hóa
Số TT
Mã hàng hoá
Mã hàng hoá
Số TT
Đơn vị tính
Đơn vị tính
Số lượng yêu cầu
Số lượng theo chứng từ
Số lượng xuất thực
Số lượng nhập thực
Đơn giá
Đơn giá
Thành tiền
Thành tiền
Tổng tiền
Tổng tiền
Phiếu xuất kho hàng gửi bán đại lý
Mã số chứng từ
Tên hộ kinh doanh
Mã hộ kinh doanh
Địa chỉ
Ngày xuất
Diễn giải
Họ tên người vận chuyển
Phương tiện vận chuyển
Xuất tại kho
Nhập tại kho
Tên hàng hoá
Số TT
Mã hàng hoá
Đơn vị tính
Số lượng
Đơn giá
Thành tiền
Tổng tiền
Bảng chấm công
Bảng thanh toán hàng đại lý ký gửi
Mã số chứng từ
Mã số chứng từ
Tên hộ kinh doanh
Tên hộ kinh doanh
Mã hộ kinh doanh
Mã hộ kinh doanh
Địa chỉ hộ
Địa chỉ hộ
Tháng năm
Ngày thanh toán
Ngày chấm công
Diễn giải
Họ tên công nhân
Người đại diện bên đơn vi
Mã số công nhân
Người đại diện bên đại lý
Địa chỉ công nhân
Từ ngày
Số TT
Đến ngày
Mức lương
Tên hàng hoá
Số công hưởng theo thời gian
Số TT
Số công hưởng theo sản phẩm
Mã hàng hoá
Đơn vị tính
Số lượng tồn đầu kỳ
Số lượng nhận trong kỳ
Số lượng hàng bán trong kỳ
Số lượng tồn cuối kỳ
Hoa hồng được hưởng
Tông số liền thanh toán
V.2 Chuẩn hoá các dữ liệu đầu vào
Sau khi thu thập và liệt kê các thông tin đầu vào ta tiến hành chuẩn hoá
Hoá đơn bán hàng
Chưa chuẩn hoá
1NF
2NF
3NF
Mã số hoá đơn
Mã số chứng từ
Mã số chứng từ
HD_BH
Liên
Liên
Liên
Mã số chứng từ
Ngày bán hàng
Ngày bán hàng
Ngày bán hàng
Mã khách hàng
Đơn vị bán hàng
Đơn vị bán hàng
Đơn vị bán hàng
VAT
Liên
Địa chỉ đơn vị
Địa chỉ đơn vị
Địa chỉ đơn vị
Ngày bán hàng
Điện thoại
Điện thoại
Điện thoạI
Số tài khoản
Số tài khoản
Số tài khoản
Số tài khoản
Hình thức thanh toán
Họ tên khách hàng
Họ tên khách hàng
Họ tên khách hàng
DM_KH
Đơn vị khách hàng
Đơn vị khách hàng
Đơn vị khách hàng
Mã khách hàng
Địa chỉ khách hàng
Địa chỉ khách hàng
Địa chỉ khách hàng
Tên khách hàng
Mã khách hàng
Mã khách hàng
Mã khách hàng
Địa chỉ khách hàng
Hình thức thanh toán
Hình thức thanh toán
Hình thức thanh toán
Số tài khoản
Tên hàng hoá
Mã số chứng từ
Mã số chứng từ
HANG_BAN
Mã hàng hoá
Mã hàng hoá
Mã hàng hóa
Mã số chứng từ
Số TT
Tên hàng hoá
Số lượng
Mã hàng hóa
Đơn vị tính
Số TT
Đơn giá
Số lượng
Số lượng
Đơn vị tính
Thành tiền
Đơn giá
Đơn giá
Số lượng
Số TT
Thành tềin
Thành tiền
Đơn giá
VAT
Tổng cộng tiền
Thành tiền
DM_HH
VAT
Tổng cộng tiền
Mã hàng hoá
Mã hàng hoá
VAT
Tên hàng hoá
Tên hàng hoá
Đơn vị tính
Đơn vị tính
Bảng kê thu mua nông, lâm, thuỷ sản
Chưa chuẩn hoá
1NF
2NF
3NF
Mã số chứng từ
Mã số chứng từ
Mã số chứng từ
HD_MH
Tên cơ sở sản xuất
Tên cơ sở sản xuất
Tên cơ sở sản xuất
Mã số chứng từ
Mã cơ sở XS
Mã cơ sở XS
Mã cơ sở XS
Mã cơ sở XS
Địa chỉ cơ sở
Địa chỉ cơ sở
Địa chỉ cơ sở
Địa chỉ nơi mua
Địa chỉ nơi mua
Địa chỉ nơi mua
Địa chỉ nơi mua
Người phụ chách mua
Người phụ chách mua
Người phụ chách mua
Người phụ chách mua
Ngày mua
Ngày mua
Ngày mua
Ngày mua
DM_KH
Họ tên người bán
Họ tên người bán
Họ tên người bán
Mã cơ sở XS
Địa chỉ người bán
Địa chỉ người bán
Địa chỉ người bán
Tên cơ sở sản xuất
Tên hàng hóa
Mã số chứng từ
Mã số chứng từ
Địa chỉ cơ sở
Mã hàng hoá
Mã hàng hoá
Mã hàng hoá
HANG_MUA
Số lượng
Tên hàng hoá
Số lượng
Mã số chứng từ
Đơn giá
Số lượng
Đơn giá
Mã hàng hoá
Thành tiền
Đơn giá
Thành tiền
Số lượng
Tổng thành tiền
Thành tiền
Tổng thành tiền
Đơn giá
Tổng thành tiền
Mã hàng hoá
Thành tiền
Tên hàng hoá
DM_HH
Đơn vị tính
Mã hàng hoá
Tên hàng hoá
Đơn vị tính
Bảng kê bán lẻ hàng hoá và dịch vụ
Chưa chuẩn hoá
1NF
2NF
3NF
Mã số chứng từ
Mã số chứng từ
Mã số chứng từ
HD_BL
Ngày bán
Ngày bán
Ngày bán
Mã số chứng từ
Mã công nhân
Mã công nhân
Mã công nhân
Ngày bán
Họ tên người bán
Họ tên người bán
Họ tên người bán
Địa chỉ nơi bán
Địa chỉ nơi bán
Địa chỉ nơi bán
Địa chỉ nơi bán
DM_CN
Tên hàng hoá
Mã số chứng từ
Mã số chứng từ
Mã công nhân
Mã hàng hoá
Mã hàng hoá
Mã hàng hoá
Tên công nhân
Đơn vị Týnh
Tên hàng hóa
Số lượng
HANG_BAN
Số lượng
Số lượng
Đơn giá
Mã số chứng từ
Đơn giá
Đơn giá
Thành tiền
Mã hàng hoá
Thành tiền
Đơn vị tính
Tổng tiền
Số lượng
Tổng tiền bán
Thành tiền
Mã hàng hoá
Đơn giá
Tổng tiền
Tên hàng hoá
Thành tiền
Đơn vị tính
DM_HH
Mã hàng hoá
Tên hàng hoá
Đơn vị tính
Phiếu xuất kho kiêm vận chuyển nội bộ
Chưa chuẩn hoá
1NF
2NF
3NF
Mã số chứng từ
Mã số chứng từ
Mã số chứng từ
HD_XKNB
Mã số chứng từ
Ngáy xuất vật tư hàng hoá
Ngáy xuất vật tư hàng hoá
Ngáy xuất vật tư hàng hoá
Diễn giải
Diễn giải
Diễn giải
Diễn giải
Họ tên người vận chuyển
Họ tên người vận chuyển
Họ tên người vận chuyển
Ngáy xuất vật tư hàng hoá
Địa chỉ
Địa chỉ
Địa chỉ
Xuất tại kho
Phương tiện vận chuyển
Phương tiện vận chuyển
Phương tiện vận chuyển
Nhập tại kho
Xuất tại kho
Xuất tại kho
Xuất tại kho
Phương tiện vận chuyển
Nhập tại kho
Nhập tại kho
Nhập tại kho
Mã công nhân
Tên hàng hoá
Mã số chứng tù
Mã số chứng tù
Tên công nhân
Số TT
Mã hàng hoá
Mã hàng hoá
Địa chỉ
Mã hàng hoá
Tên hàng hoá
Số lượng nhập
HANG_NKNB
Đơn vị tính
Số TT
Số lượng xuất
Mã số chứng tù
Số lượng nhập
Đơn vị tính
Đơn giá
Mã hàng hoá
Số lượng xuất
Đơn giá
Thành tiền
Số lượng nhập
Đơn giá
Số lượng nhập
Số TT
Số lượng xuất
Thành tiền
Số lượng xuất
Mã hàng hoá
Đơn giá
Tổng tiền
Thành tiền
Tên hàng hoá
Thành tiền
Tổng tiền
Đơn vị tính
DM_HH
Mã hàng hoá
Tên hàng hoá
Đơn vị tính
Phiếu xuất kho hàng gửi bán đại lý
Chưa chuẩn háo
1NF
2NF
3NF
Mã số chứng từ
Mã số chứng từ
Mã số chứng từ
HD_XK_DL
Mã số chứng từ
Ngày xuất
Ngày xuất
Ngày xuất
Ngày xuất
Diễn giải
Diễn giải
Diễn giảI
Diễn giải
Mã người vận chuyển
Mã người vận chuyển
Mã người vận chuyển
Phương tiện vận chuyển
Họ tên người vận chuyển
Họ tên người vận chuyển
Họ tên người vận chuyển
Xuất tại kho
Phương tiện vận chuyển
Phương tiện vận chuyển
Phương tiện vận chuyển
Nhập tại kho
Xuất tại kho
Xuất tại kho
Xuất tại kho
DM_CN
Nhập tại kho
Nhập tại kho
Nhập tại kho
Mã người vận chuyển
Tên hàng hoá
Mã số chứng từ
Mã số chứng từ
Họ tên người Vởn chuyển
Số TT
Mã hàng hoá
Mã hàng hoá
HANG_XKDL
Mã hàng hoá
Tên hàng hoá
Số TT
Mã số chứng từ
Đơn vị tính
Số TT
Số lượng
Mã hàng hoá
Số lượng
Đơn vị tính
Đơn giá
Số lượng
Đơn giá
Số lượng
Thành tiền
Đơn giá
Thành tiền
Đơn giá
Tổng tiền
Thành tiền
Tổng tiền
Thành tiền
Mã hàng hoá
DM_HH
Tổng tiền
Tên hàng hoá
Mã hàng hoá
Đơn vị tính
Tên hàng hoá
Đơn vị tính
Phiếu nhập kho
Chưa chuẩn hoá
1NF
2NF
3NF
Mã số chứng từ
Mã số chứng từ
Mã số chứng từ
HD_NK
Ngày nhập kho
Mã số chứng từ
Mã người giao
Ngày nhập kho
Ngày nhập kho
Ngày nhập kho
Họ tên người giao
Họ tên người giao
Họ tên người giao
Diễn giải
Địa chỉ
Địa chỉ
Địa chỉ
Nhập tại kho
Diễn giải
Diễn giải
Diễn giảI
DM_KH
Nhập tại kho
Nhập tại kho
Nhập tại kho
Mã người giao
Tên hàng hóa
Mã số chứng từ
Mã số chứng từ
Họ tên người giao
Mã hàng hoá
Mã hàng hoá
Mã hàng hoá
Địa chỉ
Số TT
Tên hàng hoá
Sô lượng theo chứng từ
HANG_NK
Đơn vị tính
Số TT
Số lượng nhập thực
Mã số chứng từ
Số lượng theo chứng từ
Đơn vị tính
Đơn giá
Mã hàng hoá
Số lượng nhập thực
Sô lượng theo chứng từ
Số TT
Sô lượng theo chứng từ
Đơn giá
Số lượng nhập thực
Thành tiền
Số lượng nhập thực
Thành tiền
Đơn giá
Tổng tiền
Đơn giá
Tổng tiền
Thành tiền
Mã hàng hoá
Thành tiền
Tổng tiền
Tên hàng hoá
DM_HH
Đơn vị tính
Mã hàng hoá
Tên hàng hoá
Đơn vị tính
Phiếu xuất kho
Chưa chuẩn hoá
1NF
2NF
3NF
Mã số chứng từ
Mã số chứng từ
Mã số chứng từ
HD_NK
Ngày xuất kho
Ngày xuất kho
Ngày xuất kho
Mã số chứng từ
Mã công nhân
Mã công nhân
Mã công nhân
Ngày xuất kho
Họ tên người nhận hàng
Họ tên người nhận hàng
Họ tên người nhận hàng
Diễn giải
Địa chỉ
Địa chỉ
Địa chỉ
Xuất tại kho
Diễn giải
Diễn giải
Diễn giải
DM_CN
Xuất tại kho
Xuất tại kho
Xuất tại kho
Mã công nhân
Tên hàng hoá
Mã số chứng từ
Mã số chứng từ
Họ tên người nhận hàng
Số TT
Mã hàng hoá
Mã hàng hoá
Địa chỉ
Mã hàng hoá
Tên hàng hoá
Số TT
HANG_XK
Đơn vị tính
Số TT
Số lượng yêu cầu
Mã số chứng từ
Số lượng yêu cầu
Đơn vị tính
Số lượng xuất thực
Mã hàng hoá
Số lượng xuất thực
Đơn giá
Đơn giá
Số lượng yêu cầu
Đơn giá
Số lượng yêu cầu
Thành tiền
Số lượng xuất thực
Thành tiền
Số lượng xuất thực
Tổng tiền
Đơn giá
Tổng tiền
Thành tiền
Mã hàng hoá
Thành tiền
Tổng tiền
Tên hàng hoá
DM_HH
Đơn vị tính
Mã hàng hoá
Tên hàng hoá
Đơn vị tính
Bảng chấm công
Chưa chuẩn hoá
1NF
2NF
3NF
Mã số chứng từ
Mã số chứng từ
Mã số chứng từ
HD_CHAM_C
Tháng năm
Tháng năm
Tháng năm
Mã số chứng từ
Ngày chấm công
Mã số chứng từ
Mã số chứng từ
Tháng năm
Họ tên công nhân
Mã số công nhân
Mã số công nhân
Mã số công nhân
Họ tên công nhân
Số TT
BANG_CHAM_CONG
Địa chỉ công nhân
Địa chỉ công nhân
Ngày chấm công
Mã số chứng từ
Số TT
Số TT
Mức lương
Mã số công nhân
Mức lương
Ngày chấm công
Số công hưởng theo thời gian
Ngày chấm công
Số công hưởng theo thời gian
Mức lương
Số công hưởng theo sản phẩm
Mức lương
Số công hưởng theo sản phẩm
Số công hưởng theo thời gian
Mã công nhân
Số công hưởng theo thời gian
Số công hưởng theo sản phẩm
Tên công nhân
Số công hưởng theo sản phẩm
Địa chỉ công nhân
DM_CN
Mã công nhân
Tên công nhân
Địa chỉ công nhân
Bảng thanh toán hàng đại lý ký gửi
Chưa chuẩn hoá
1NF
2NF
3NF
Mã số chứng từ
Mã số chứng từ
Mã số chứng từ
HD_TT_DL
Ngày thanh toán
Ngày thanh toán
Ngày thanh toán
Mã số chứng từ
Diễn giải
Diễn giảI
Diễn giải
Ngày thanh toán
Người đại diện bên đơn vi
Người đại diện bên đơn vi
Người đại diện bên đơn vi
Diễn giải
Người đại diện bên đại lý
Người đại diện bên đại lý
Người đại diện bên đại lý
Người đại diện bên đơn vi
Từ ngày
Từ ngày
Từ ngày
Người đại diện bên đại lý
Đến ngày
Đến ngày
Đến ngày
Từ ngày
Tên hàng hoá
Mã số chứng từ
Mã số chứng từ
Đến ngày
Số TT
Mã hàng hóa
Mã hàng hóa
HANG_TT_DL
Mã hàng hoá
Tên hàng hoá
Số lượng tồn đầu kỳ
Mã số chứng từ
Đơn vị tính
Đơn giá
Số lượng nhận trong kỳ
Mã hàng hóa
Số lượng tồn đầu kỳ
Đơn vị tính
Số lượng hàng bán trong kỳ
Số lượng tồn đầu kỳ
Số lượng nhận trong kỳ
Số lượng tồn đầu kỳ
Số lượng tồn cuối kỳ
Số lượng nhận trong kỳ
Số lượng hàng bán trong kỳ
Số lượng nhận trong kỳ
Đơn giá
Số lượng hàng bán trong kỳ
Số lượng tồn cuối kỳ
Số lượng hàng bán trong kỳ
Hoa hồng được hưởng
Số lượng tồn cuối kỳ
Hoa hồng được hưởng
Số lượng tồn cuối kỳ
Tông số liền thanh toán
Đơn giá
Tông số liền thanh toán
Hoa hồng được hưởng
Mã hàng hoá
Hoa hồng được hưởng
Tông số liền thanh toán
Tên hàng hoá
Tông số liền thanh toán
Đơn vị tính
DM_HH
Mã hàng hoá
Tên hàng hoá
Đơn vị tính
IV.3 Sơ đồ cấu trúc dữ liệu
Danh mục khách háng
Ma_kh
Ten_kh
Dia_chi
Dien_thoai
Hoá đơn bán hàng
So_ct
Ma_kh
Lien
Ngay_ct
So_tk
VAT
Hàng bán
So_ct
Ma_hh
Ten_hh
So_luong
Don_gia
Thanh_tien
Hàng mua
So_ct
Ma_hh
Ten_hh
So_luong
Don_gia
Thanh_tien
Danh mục hàng hoá
Ma_hh
Ten_hh
Don_vi_tinh
Hoá đơn thu mua
So_ct
Ma_kh
Ngay_ct
Noi_mua
Ten_nguoi_ban
Hoá đơn xuất kho nôi bộ
So_ct
Ngay_xuat
Kho_xuat
Kho_nhap
Ten_nguoi_vc
Hàng xuất kho nội bộ
So_ct
Ma_hh
Sl_nhap
Sl_xuat
Thanh_tien
Hoá đơn xuất kho đại lý
So_ct
Ngay_xuat
Kho_xuat
Kh_nhap
Danh mục kho
Ma_kho
Tên kho
Hàng xuất kho đại lý
So_ct
Ma_hh
Thanh_tien
Hoá đơn nhập kho
So_ct
Ngay_nhap
Kho_nhap
Nguoi_giao
Dia_chi
Hàng nhập kho
So_ct
Ma_hh
Sl_ct
Sl_nhap
Thanh_tien
Hoá đơn thanh toán đại lý
So_ct
Tu_ngay
Den_ngay
Ngay_thanh_toan
IV.4 Liệt kê các thực thể
Sau khi thiết lập được sơ đồ cấu trúc dữ liệu ta thu được các thực thể, mỗi thực thể chứa các thuộc tính.
Mỗi thực thể ứng với một bảng (Table)
Mỗi thuốc tính ứng một trường (Field)
Danh mục kho(DM_KHO)
Danh mục khách hàng (DM_KH)
Danh mục hàng hoá (DM_HH)
Danh mục công nhân (DM_CN)
Hoá đơn bán hàng (HD_BH)
Hoá đơn thu mua (HD_TM)
Háo đơn bán lẻ (HD_BL)
Hàng Bán (HANG_BAN)
Hàng mua (HANG_MUA)
Hoá đơn xuất kho nội bộ (HD_XKNB)
Hàng xuất kho nội bộ (HANG_XKNB)
Hoá đơn xuất kho đại lý(HD_XKDL)
Hàng xuất kho đại lý (HANG_XKDL)
Hoá đơn nhập kho(HD_NK)
Hàng nhập kho(HNHAP_KHO)
Hoá đơn xuất kho(HD_XK)
Hàng xuất kho (HXUAT_KHO)
Hoá đơn chấm công(HD_Cham_Cong)
Bảng chấm công(Bang_Cham_cong)
Hoá đơn thanh toán đại lý(HD_TT_DL)
Hàng thanh toán đại lý (HANG_TT_DL)
Danh mục chứng từ (DM_CT)
Danh mục tài khoản (DM_TK)
IV.5 Thiết kế cơ sở dữ liệu
Database Name: KETOAN.dbc
Database Path: C:\Tuan_kt\ketoan.dbc
DM_HH.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
Ma_hh
C(5)
Chính
2
Ten_hh
C(25)
3
Don_vi_tinh
C(6)
DM_KH.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
Ma_kh
C(5)
Chính
2
Ten_kh
C(25)
3
Dia_chi
C(30)
4
VAT
N(5)
5
So_TT
N(10)
Ngoại lai
DM_CN.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
Ma_cn
C(5)
Chính
2
Ten_cn
C(25)
3
Dia_chi
C(30)
HD_BH.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
So_chnng_tu
C(5)
Chính
2
Ma_kh
C(5)
Ngoại lai
3
Ma_don_vi
C(5)
Ngoại lai
4
Lien
N(2)
5
Ngay_ban
D(8)
6
VAT
N(5)
7
Hinh_ttt
C(20)
Ngoại lai
HD_MH.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
So_chung_tu
C(5)
Chính
2
Ma_kh
C(5)
Ngoại lai
3
Ma_cn
C(5)
Ngoại lai
4
Dia_chi_nm
C(30)
5
Ngay_mua
D(8)
6
VAT
C(5)
7
HD_BL.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
So_chung_tu
C(5)
Chính
2
Ma_don_vi
C(5)
Ngoại lai
3
Ten_nguoi_ban
C(25)
4
Ma_cn
C(5)
Ngoại lai
5
Dia_chi_nb
C(30)
HANG_BAN.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
So_chung_tu
C(5)
Ngoại lai
2
Ma_hh
C(5)
Ngoại lai
4
So_luong
N(10)
5
Don_gia
N(10)
6
Thanh_tien
N(10)
HANG_MUA.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
So_chung_tu
C(5)
Ngoại lai
2
Ma_hh
C(5)
Ngoại lai
4
So_luong
N(10)
5
Don_gia
N(10)
6
Thanh_tien
N(10)
HD_XKNB.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
So_chung_tu
C(5)
Chính
2
Ngay_xuat
D(8)
3
Dien_giai
C(30)
4
Ten_nguoi_vc
C(25)
5
Phuong_tien_vc
C(25)
6
Ma_Kho_xuat
C(5)
Ngoại lai
7
Ma_Kho_nhap
C(5)
Ngoại lai
HANG_XKNB.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
So_chung_tu
C(5)
Ngoại lai
2
Ma_hh
C(5)
Ngoại lai
3
SL_nhap
N(10)
4
SL_xuat
N(10)
5
Don_gia
N(10)
6
Thanh_tien
N(10)
HD_XKDL.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
So_chung_tu
C(5)
Chính
2
Ngay_xuat
D(8)
3
Dien_giai
C(30)
4
Ten_nguoi_vc
C(25)
5
Phuong_tien_vc
C(25)
6
Ma_Kho_xuat
C(5)
Ngoại lai
7
Ma_Kho_nhap
C(5)
Ngoại lai
HANG_XKDL.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
So_chung_tu
C(5)
Ngoại lai
2
Ma_hh
C(5)
Ngoại lai
3
So_luong
N(10)
4
Don_gia
N(10)
5
Thanh_tien
N(10)
HD_NK.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
So_chung_tu
C(5)
Chính
2
Ngay_nhap
D(8)
3
Ten_nguoi_giao
C(25)
4
Dia_chi_ng
C(30)
5
Ma_Kho_nhap
C(5)
Ngoại lai
HNHAP_KHO.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
So_chung_tu
C(5)
Ngoại lai
2
Ma_hh
C(5)
Ngoại lai
3
SL_Theo_CT
N(10)
4
SL_nhap
N(10)
5
Don_gia
N(10)
6
Thanh_tien
N(10)
HD_XK.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
So_chung_tu
C(5)
Chính
2
Ngay_xuat
D(8)
3
Ten_nguoi_nhan
C(25)
4
Dia_chi_NN
C(30)
5
Dien_giai
C(30)
6
Ma_Kho_xuat
C(5)
Ngoại lai
HXUAT_KHO.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
So_chung_tu
C(5)
Ngoại lai
2
Ma_hh
C(5)
Ngoại lai
3
SL_yeu_cua
N(10)
4
SL_xuat
N(10)
5
Don_gia
N(10)
6
Thanh_tien
N(10)
HD_CHAM_CONG.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
So_chung_tu
C(5)
Chính
2
Ngay
D(8)
BANG_CHAM_CONG.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
So_chung_tu
C(5)
ngoại lai
2
Ma_cn
C(5)
ngoại lai
3
Ngay_cham_cong
D(8)
4
Muc_Luong
N(2)
5
SC_theo_TG
N(5)
6
SC_theo_SP
N(5)
HD_TT_DL.DBF
STT
Tên trường
Khuôn dạng
Khoá
1
So_chung_tu
C(5)
chính
2
Ngay_thanh_toan
D(8)
3
Dien_giai
C(30)
4
Dai_dien_DV
C(25)
5
Dai_dien_DL
C(25)
6
Tu_ngay
D(8)
7
Den_ngay
D(8)
DM_KHO
STT
Tên trường
Khuôn dạng
Khoá
1
Ma_kho
C(5)
Chính
2
Ten_kho
C(20)
IV.6 Mô hình quan hệ gữi các thực thể
V Thiết kế chức năng
Chức năng xuất kho
Chức năng nhâp kho
Chức năng nhập, sửa danh mục hàng hoá
Chức năng nhập, sửa danh mục khách hàng
Chức năng nhập, sửa danh mục công nhân
Chức năng nhập, sửa danh mục chứng từ
Chức năng nhập số dư đầu kỳ .
Chức năng nhập liệu bán hàng theo hoá đơn
Chức năng nhập liệu mua hàng theo hoá đơn
Chức năng lên sổ nhật ký bán hàng theo định kỳ(tháng, quý, năm)
Chức năng lên sổ nhật ký chung theo định kỳ(tháng, quý, năm)
Mối quan hệ giữa chức năng - các thực thể và các đối tượng
Tên chức năng
Tên thực thể
Tên đối tượng
(Form/Report)
Chức năng nhập sủa danh mục hàng hoá
Dm_hh.dbf
Frmdmhh.scx
Chức năng nhập sủa danh mục khách hàng
Dm_kh.dbf
Frmdmkh.scx
Chức năng nhập sửa danh mục công nhân
Dm_cn.dbf
Frmdmcn.scx
Chức năng nhập sửa danh mục chứng từ
Dm_ct.dbf
Frmdmct.scx
Chức năng nhập số dư đầu kỳ
So_du.dbf
Frmsodu.scx
Chức năng nhập kho
Hd_nk.dbf
Hang_nk.dbf
Dm_hh.dbf
Dm_kho.dbf
Frmnhapkho.scx
Chức năng xuất kho
Hd_xk.dbf
Hang_xk.dbf
Dm_hh.dbf
Md_kho.dbf
Frmxuatkho.scx
Nhập liệu bán hàng theo hoá đơn
Hd_bh.dbf
Hang_ban.dbf
Dm_kh.dbf
Frmbanhang.scx
Nhập liệu mua hàng theo hoá đơn
Hd_mh.dbf
Hang_mua.dbf
Dm_kh.dbf
Frmmuahang.scx
Chức năng lên sổ nhật ký bàn hàng theo định kỳ
Dm_kh.dbf
Hd_bh.dbf
Hang_ban.dbf
Dm_ct.dbf
Frmchonky.scx
Rptsonkbh.frx
Sổ nhật ký chung theo định kỳ
Frmchonky.scx
Rptsonkchung.scx
* Sơ đồ khối thể hiện giải thuật nghệp vụ kế toán
VI Thiết kế giao diện
B
Lập báo cáo cuối kỳ ?
Chọn?
Tiếp tục ?
K
F
T
F
T
T
F
Nhập chứng từ kế toán
Tạo màn hình báo cáo
Lập báo cáo theo: tháng,quý,năm
Máy in
Tệp DL
Màn hình
Giao diện chính
Giao diện nhập liệu chứng từ bán hàng.
Báo cáo nhật ký bán hàng
Màn hình thể hiên thông tin danh mục khách hàng
Phụ lục chương trình
*****************************Procedure MAIN ********************
Clear
SET CENTURY ON
IF SET('TALK') = 'ON'
SET TALK OFF
PUBLIC gcOldTalk
gcOldTalk = 'ON'
ELSE
PUBLIC gcOldTalk
gcOldTalk = 'OFF'
ENDIF
PUBLIC gcOldDir, gcOldPath, gcOldClassLib, gcOldEscape, M_Tmp, M_ngay_ht ;
M_User_Name, M_User_Check, M_User_SuperV, M_User_Id, M_user_Dev, a_report;
Datadir
DIME a_report(1, 10)
gcOldEscape = SET('ESCAPE')
gcOldDir = FULLPATH(CURDIR())
Homedir = FULLPATH(CURDIR())
DATADIR = FULLPATH(CURDIR()) + [Data\]
gcOldPath = SET('PATH')
gcOldClassLib = SET('CLASSLIB')
M_ngay_ht = DATE()
DEFINE WINDOW M_WinBrw ;
AT 2.000, 1.000 ;
SIZE 20.000,100.000 ;
FONT "MS Sans Serif", 10 ;
FLOAT ;
SHADOW ;
ZOOM ;
MINIMIZE ;
GROW ;
NOCLOSE ;
SYSTEM
Move WIND M_WinBrw CENT
*-- Set up the path so we can instantiate the application object
IF SetPath()
PUBLIC oApp
*oApp = CREATEOBJECT("MainLib")
*IF TYPE('oApp') = "O"
*-- Release all public vars, since their values were
*-- picked up by the Environment class
Release gcOldDir, gcOldPath, gcOldClassLib, gcOldTalk, gcOldEscape
Clea
_SCREEN.BackColor = RGB(0,128,128)
*oApp.Do()
DO MENUMAIN.MPR
*ENDIF
ENDIF
Clear DLLS
Clear ALL
Release ALL EXTENDED
FUNCTION SetPath()
LOCAL lcSys16, ;
lcProgram
lcSys16 = SYS(16)
lcProgram = SUBSTR(lcSys16, AT(":", lcSys16) - 1)
CD LEFT(lcProgram, RAT("\", lcProgram))
*-- If we are running MAIN.PRG directly, then
*-- CD up to the parent directory
IF RIGHT(lcProgram, 3) = "FXP"
CD ..
ENDIF
SET PATH TO PROGS, FORMS, LIBS, ;
MENUS, DATA, OTHER, ;
*REPORTS, INCLUDE, HELP, ;
*BITMAPS, REPORTS
*SET CLASSLIB TO MAIN, TSGEN
*SET LIBR TO FoxTools.Fll ADDI
ENDFUNC
* =========================== Procedure: Dmcn ===========================*
* PROCEDURE Dmcn
* Them moi truong lam viec
SET TALK off
SET DELETE ON
close all
clear all
clear
k_bmp=[]
k_fxp = []
k_scx = []
m_font = ".Vntime"
m_fntsize = 12
m_prompt = [Danh muc công nhân ]
M_ScrRow = SROW()
M_ScrCol = SCOL()
m_user_id = 1
m_chr_err = [',"~!@#$%^&*()-+=\|`';/?: }{Ÿ] + "[]"
m_fast_ver = [Lỗi]
DEFINE WINDOW M_WinBrw FROM 02, 00 TO FLOOR(M_ScrRow) - 2, FLOOR(M_ScrCoL) COLOR SCHEME 10 ;
CLOSE FLOAT GROW MINIMIZE ZOOM SYSTEM FONT M_Font, M_FntSize - 2 ;
ICON FILE LOCFILE(K_Bmp + [Time.Ico])
* Ket thuc them moi truong lam viec
*SELECT 0
*USE Dmtk00 ORDER Tk ALIAS M_Dmtk
*SELECT 0
*USE DmNhKh00 ORDER Stt ALIAS M_DmNhKh
SELECT 0
USE "..\\tables\Dm_cn.dbf" ORDER Ma_cn ALIAS M_Dmcn
ON KEY LABEL F3 DO Dmcn_f3 WITH [S]
ON KEY LABEL F4 DO Dmcn_f3 WITH [M]
ON KEY LABEL F8 DO XOA_F8 WITH [X]
BROWSE;
FIELDS ;
ma_cn, ten_cn, dia_chi;
NOAPPEND NOMODIFY NODELETE ;
WINDOW M_WinBrw ;
FONT M_Font, M_FntSize -2;
TITLE M_Prompt + [. F3-Sua, F4-Them, F8-Xoa, Esc-Quay ra];
ON KEY LABEL F3
ON KEY LABEL F4
ON KEY LABEL F8
USE IN M_Dmcn
*USE IN M_DmNhKh
*USE IN M_Dmtk
RETURN
*............................... Procedure: Dmcn_F3 ..........................................*
* Object FORM: DmKh_F3
PROCEDURE Dmcn_F3
PARAMETER _Moi_Sua
PRIVATE m.Ma_cn, m.Ten_cn,m.dia_chi,m.dien_thoai ;
_Col,_InSELECT,_RecNo, _Prompt,;
m.ten_nh_kh1,m.ten_nh_kh2,m.ten_nh_kh3,m.Tk
_InSELECT = SELECT()
PUSH KEY CLEAR
IF _Moi_Sua=[S] AND RECNO() > RECCOUNT([M_Dmcn])
POP KEY
SELECT (_InSELECT)
RETURN
ENDIF
* DO SAVE_MEMVAR_CT WITH [M_DmKh]
SELECT M_Dmcn
IF _moi_sua = [M]
SCAT MEMVAR BLANK
ELSE
SCATTER MEMVAR
ENDIF
_RecNo = RECNO()
M.Ma_KhOld = M.Ma_cn
_Prompt = IIF(_Moi_Sua=[M], [ Them công nhân], [ Sua công nhân])
M.Nhan_Huy = 1
DO FORM "..\\forms\frmdmcn.scx"
IF _Moi_Sua = [M]
* Them kiem tra ma
APPE BLAN
GATH MEMV
ELSE
GATH MEMV
ENDIF
SELECT (_InSELECT)
POP KEY
* DO REST_MEMVAR_CT
RETURN
*............................Procedure Xoa_F8..............................
#DEFINE MSGBOX_YES 6
#DEFINE C_MSGBOX1 36
#DEFINE C_DELETE_LOC "Bạn có muốn xoá công nhân này không?"
PROCEDURE XOA_F8
PARAMETER _XOA
PRIVATE m.Ma_cn, m.Ten_cn,m.dia_chi ;
_InSELECT = SELECT()
PUSH KEY CLEAR
IF _Xoa=[X] AND RECNO() > RECCOUNT([M_Dmcn])
POP KEY
SELECT (_InSELECT)
RETURN
ENDIF
IF SELECT()=_InSELECT
IF Messagebox(C_DELETE_LOC,C_MSGBOX1) = MSGBOX_YES
DELETE
IF !EOF()
SKIP 1
ENDIF
IF EOF() AND !BOF()
SKIP -1
ENDIF
ENDIF
POP KEY
ENDIF
SELECT (_InSELECT)
RETURN
* =========================== Procedure: DmKH ===========================*
* PROCEDURE DmKh
* Them moi truong lam viec
SET TALK off
SET DELETE ON
close all
clear all
clear
k_bmp=[]
k_fxp = []
k_scx = []
m_font = ".Vntime"
m_fntsize = 12
m_prompt = [Danh mục khách hàng ]
M_ScrRow = SROW()
M_ScrCol = SCOL()
m_user_id = 1
m_chr_err = [',"~!@#$%^&*()-+=\|`';/?: }{Ÿ] + "[]"
m_fast_ver = [Lỗi]
DEFINE WINDOW M_WinBrw FROM 02, 00 TO FLOOR(M_ScrRow) - 2, FLOOR(M_ScrCoL) COLOR SCHEME 10 ;
CLOSE FLOAT GROW MINIMIZE ZOOM SYSTEM FONT M_Font, M_FntSize - 2 ;
ICON FILE LOCFILE(K_Bmp + [Time.Ico])
* Ket thuc them moi truong lam viec
*SELECT 0
*USE Dmtk00 ORDER Tk ALIAS M_Dmtk
*SELECT 0
*USE DmNhKh00 ORDER Stt ALIAS M_DmNhKh
SELECT 0
USE "..\\tables\dm_kh.dbf" ORDER Ma_kh ALIAS M_Dmkh
ON KEY LABEL F3 DO Dmkh_f3 WITH [S]
ON KEY LABEL F4 DO Dmkh_f3 WITH [M]
ON KEY LABEL F8 DO XOA_F8 WITH [X]
BROWSE;
FIELDS ;
ma_kh, ten_kh, dia_chi, dien_thoai;
NOAPPEND NOMODIFY NODELETE ;
WINDOW M_WinBrw ;
FONT M_Font, M_FntSize -2;
TITLE M_Prompt + [. F3-Sua, F4-Them, F8-Xoa, Esc-Quay ra];
ON KEY LABEL F3
ON KEY LABEL F4
ON KEY LABEL F8
USE IN M_Dmkh
*USE IN M_DmNhKh
*USE IN M_Dmtk
RETURN
*............................... Procedure: DmKh_F3 ..........................................*
* Object FORM: DmKh_F3
PROCEDURE Dmkh_f3
PARAMETER _Moi_Sua
PRIVATE m.Ma_kh,m.ten_kh,m.dia_chi, m.dien_thoai;
_Col,_InSELECT,_RecNo, _Prompt,;
m.ten_nh_kh1,m.ten_nh_kh2,m.ten_nh_kh3,m.Tk
_InSELECT = SELECT()
PUSH KEY CLEAR
IF _Moi_Sua=[S] AND RECNO() > RECCOUNT([M_Dmkh])
POP KEY
SELECT (_InSELECT)
RETURN
ENDIF
* DO SAVE_MEMVAR_CT WITH [M_DmKh]
SELECT M_Dmkh
IF _moi_sua = [M]
SCAT MEMVAR BLANK
ELSE
SCATTER MEMVAR
ENDIF
_RecNo = RECNO()
M.Ma_KhOld = M.Ma_kh
_Prompt = IIF(_Moi_Sua=[M], [ Thêm khách hàng],[Sửa khách hàng])
M.Nhan_Huy = 1
DO FORM "..\\forms\frmdmkh.scx"
IF _Moi_Sua = [M]
* Them kiem tra ma
APPE BLAN
GATH MEMV
ELSE
GATH MEMV
ENDIF
SELECT (_InSELECT)
POP KEY
* DO REST_MEMVAR_CT
RETURN
*............................Procedure Xoa_F8..............................
#DEFINE MSGBOX_YES 6
#DEFINE C_MSGBOX1 36
#DEFINE C_DELETE_LOC "Bạn có muốn xoá khách hàng này không?"
PROCEDURE XOA_F8
PARAMETER _XOA
PRIVATE m.Ma_kh, m.Ten_kh,m.dia_chi,m.dien_thoai ;
_InSELECT = SELECT()
PUSH KEY CLEAR
IF _Xoa=[X] AND RECNO() > RECCOUNT([M_Dmkh])
POP KEY
SELECT (_InSELECT)
RETURN
ENDIF
IF SELECT()=_InSELECT
IF Messagebox(C_DELETE_LOC,C_MSGBOX1) = MSGBOX_YES
DELETE
IF !EOF()
SKIP 1
ENDIF
IF EOF() AND !BOF()
SKIP -1
ENDIF
ENDIF
POP KEY
ENDIF
SELECT (_InSELECT)
RETURN
* =========================== Procedure: DmHH ===========================*
* PROCEDURE DmHH
* Them moi truong lam viec
SET TALK off
SET DELETE ON
close all
clear all
clear
k_bmp=[]
k_fxp = []
k_scx = []
m_font = ".Vntime"
m_fntsize = 12
m_prompt = [Danh mục hàng hoá ]
M_ScrRow = SROW()
M_ScrCol = SCOL()
m_user_id = 1
m_chr_err = [',"~!@#$%^&*()-+=\|`';/?: }{Ÿ] + "[]"
m_fast_ver = [Lỗi]
DEFINE WINDOW M_WinBrw FROM 02, 00 TO FLOOR(M_ScrRow) - 2, FLOOR(M_ScrCoL) COLOR SCHEME 10 ;
CLOSE FLOAT GROW MINIMIZE ZOOM SYSTEM FONT M_Font, M_FntSize - 2 ;
ICON FILE LOCFILE(K_Bmp + [Time.Ico])
* Ket thuc them moi truong lam viec
*SELECT 0
*USE Dmtk00 ORDER Tk ALIAS M_Dmtk
*SELECT 0
*USE DmNhKh00 ORDER Stt ALIAS M_DmNhKh
SELECT 0
USE "..\\tables\Dm_hh.dbf" ORDER Ma_hh ALIAS M_Dmhh
ON KEY LABEL F3 DO Dmhh_f3 WITH [S]
ON KEY LABEL F4 DO Dmhh_f3 WITH [M]
ON KEY LABEL F8 DO XOA_F8 WITH [X]
BROWSE;
FIELDS ;
ma_hh, ten_hh, don_vi_tinh ;
NOAPPEND NOMODIFY NODELETE ;
WINDOW M_WinBrw ;
FONT M_Font, M_FntSize -2;
TITLE M_Prompt + [. F3-Sua, F4-Them, F8-Xoa, Esc-Quay ra];
ON KEY LABEL F3
ON KEY LABEL F4
ON KEY LABEL F8
USE IN M_Dmhh
*USE IN M_DmNhKh
*USE IN M_Dmtk
RETURN
*............................... Procedure: DmHH_F3 ..........................................*
* Object FORM: DmHH_F3
PROCEDURE Dmhh_F3
PARAMETER _Moi_Sua
PRIVATE m.Ma_hh, m.Ten_hh,m.don_vi_tinh ;
_Col,_InSELECT,_RecNo, _Prompt,;
m.ten_nh_kh1,m.ten_nh_kh2,m.ten_nh_kh3,m.Tk
_InSELECT = SELECT()
PUSH KEY CLEAR
IF _Moi_Sua=[S] AND RECNO() > RECCOUNT([M_Dmhh])
POP KEY
SELECT (_InSELECT)
RETURN
ENDIF
SELECT M_Dmhh
IF _moi_sua = [M]
SCAT MEMVAR BLANK
ELSE
SCATTER MEMVAR
ENDIF
_RecNo = RECNO()
M.Ma_KhOld = M.Ma_hh
_Prompt = IIF(_Moi_Sua=[M], [ Thêm hàng hoá], [ Sửa háng hoá])
M.Nhan_Huy = 1
DO FORM "..\\forms\frmdmhh.scx"
IF _Moi_Sua = [M]
* Them kiem tra ma
APPE BLAN
GATH MEMV
ELSE
GATH MEMV
ENDIF
SELECT (_InSELECT)
POP KEY
* DO REST_MEMVAR_CT
RETURN
*............................Procedure Xoa_F8..............................
#DEFINE MSGBOX_YES 6
#DEFINE C_MSGBOX1 36
#DEFINE C_DELETE_LOC "Bạn có muốn xoá hàng hoá này không?"
PROCEDURE XOA_F8
PARAMETER _XOA
PRIVATE m.Ma_hh, m.Ten_hh,m.don_vi_tinh ;
_InSELECT = SELECT()
PUSH KEY CLEAR
IF _Xoa=[X] AND RECNO() > RECCOUNT([M_Dmhh])
POP KEY
SELECT (_InSELECT)
RETURN
ENDIF
IF SELECT()=_InSELECT
IF Messagebox(C_DELETE_LOC,C_MSGBOX1) = MSGBOX_YES
DELETE
IF !EOF()
SKIP 1
ENDIF
IF EOF() AND !BOF()
SKIP -1
ENDIF
ENDIF
POP KEY
ENDIF
SELECT (_InSELECT)
RETURN
* =========================== Procedure: Dmdv ===========================*
* PROCEDURE Dmdv
* Them moi truong lam viec
SET TALK off
SET DELETE ON
close all
clear all
clear
k_bmp=[]
k_fxp = []
k_scx = []
m_font = ".Vntime"
m_fntsize = 12
m_prompt = [Danh mục đơn vị ]
M_ScrRow = SROW()
M_ScrCol = SCOL()
m_user_id = 1
m_chr_err = [',"~!@#$%^&*()-+=\|`';/?: }{Ÿ] + "[]"
m_fast_ver = [Lỗi]
DEFINE WINDOW M_WinBrw FROM 02, 00 TO FLOOR(M_ScrRow) - 2, FLOOR(M_ScrCoL) COLOR SCHEME 10 ;
CLOSE FLOAT GROW MINIMIZE ZOOM SYSTEM FONT M_Font, M_FntSize - 2 ;
ICON FILE LOCFILE(K_Bmp + [Time.Ico])
* Ket thuc them moi truong lam viec
*SELECT 0
*USE Dmtk00 ORDER Tk ALIAS M_Dmtk
*SELECT 0
*USE DmNhKh00 ORDER Stt ALIAS M_DmNhKh
SELECT 0
USE Dm_dv ORDER Ma_dv ALIAS M_Dmdv
ON KEY LABEL F3 DO Dmdv_f3 WITH [S]
ON KEY LABEL F4 DO Dmdv_f3 WITH [M]
ON KEY LABEL F8 DO XOA_F8 WITH [X]
BROWSE;
FIELDS ;
ma_dv, ten_dv, dia_chi, dien_thoai;
NOAPPEND NOMODIFY NODELETE ;
WINDOW M_WinBrw ;
FONT M_Font, M_FntSize -2;
TITLE M_Prompt + [. F3-Sua, F4-Them, F8-Xoa, Esc-Quay ra];
ON KEY LABEL F3
ON KEY LABEL F4
ON KEY LABEL F8
USE IN M_Dmdv
RETURN
*............................... Procedure: DmDV_F3 ..........................................*
* Object FORM: DmDV_F3
PROCEDURE Dmdv_F3
PARAMETER _Moi_Sua
PRIVATE m.Ma_dv, m.Ten_dv,m.dia_chi,m.dien_thoai ;
_Col,_InSELECT,_RecNo, _Prompt,;
m.ten_nh_kh1,m.ten_nh_kh2,m.ten_nh_kh3,m.Tk
_InSELECT = SELECT()
PUSH KEY CLEAR
IF _Moi_Sua=[S] AND RECNO() > RECCOUNT([M_Dmdv])
POP KEY
SELECT (_InSELECT)
RETURN
ENDIF
* DO SAVE_MEMVAR_CT WITH [M_DmKh]
SELECT M_Dmdv
IF _moi_sua = [M]
SCAT MEMVAR BLANK
ELSE
SCATTER MEMVAR
ENDIF
_RecNo = RECNO()
M.Ma_KhOld = M.Ma_dv
_Prompt = IIF(_Moi_Sua=[M], [ Thêm đơn vị], [ Sửa đơn cị])
M.Nhan_Huy = 1
DO FORM "..\\forms\frmdmdv.scx"
IF _Moi_Sua = [M]
* Them kiem tra ma
APPE BLAN
GATH MEMV
ELSE
GATH MEMV
ENDIF
SELECT (_InSELECT)
POP KEY
* DO REST_MEMVAR_CT
RETURN
*............................Procedure Xoa_F8..............................
#DEFINE MSGBOX_YES 6
#DEFINE C_MSGBOX1 36
#DEFINE C_DELETE_LOC "Bạn có muốn xoá đơn vị này không?"
PROCEDURE XOA_F8
PARAMETER _XOA
PRIVATE m.Ma_dv, m.Ten_dv,m.dia_chi,m.dien_thoai ;
_InSELECT = SELECT()
PUSH KEY CLEAR
IF _Xoa=[X] AND RECNO() > RECCOUNT([M_Dmdv])
POP KEY
SELECT (_InSELECT)
RETURN
ENDIF
IF SELECT()=_InSELECT
IF Messagebox(C_DELETE_LOC,C_MSGBOX1) = MSGBOX_YES
DELETE
IF !EOF()
SKIP 1
ENDIF
IF EOF() AND !BOF()
SKIP -1
ENDIF
ENDIF
POP KEY
ENDIF
SELECT (_InSELECT)
RETURN
Thủ tục nhập hoá đơn bán hàng
*HOA DON HAN HANG
PARAMETERS M_Ma_Ct, M_SCREEN, Rpt_Stt_Rec
* Rpt_Stt_Rec = Stt_Rec cua chung tu duoc loc ra de sua, dung cho F5 tu trong report
PRIVATE M_Ma_Nt, M_Nxt, _Load, _TCOUNT, _Ngay_Ct, _Stt_Rec_Old, _Tk_Vt, _V_Chk_1st_Column
M.PhDbf = ""
M.CtDbf = ""
M_Ma_Nt = ""
M_Nxt = 1
M_Loc_NSD = 0
_V_Chk_1st_Column = .T. &&Bien nay de xac dinh co can chay Valid cua cot dau hay khong, ;
&&Vi KEYB {Enter} o cot cuoi khien cot dau tien bi Valid 2 lan
M_Mode = [B]
_Load = .T. &&Bien de hien man hinh xem khi loc ra truoc mot so ctu ngay khi chay module nay
_TCOUNT = 0
_Ngay_Ct = {}
_Stt_Rec_Old="" && Luu giu bien Stt_Rec dung khi Huy bo
_Tk_Vt=[???]
* Mo file va tao file Tmp
SELECT 0
USE "C:\tuan_kt\tables\HD_BH.dbf" ORDER so_ct ALIAS M_HDBH
*SEEK ngay_ban
*SELECT 0
*USE (K_Cod + [Dm_Tk] + M_Nam) ORDER so_Tk ALIAS M_DmTk NOUPDATE
* SET FILTER TO Loai_Tk = 1
SELECT 0
USE "c:\Tuan_kt\tables\hang_ban.dbf" ORDER ma_hh ALIAS M_hang_ban_Gd
SELECT 0
USE "c:\tuan_kt\tables\Dm_Kh.dbf" ORDER Ma_Kh ALIAS M_DmKh
SELECT 0
USE "c:\tuan_kt\tables\Dm_HH.dbf" ORDER Ma_hh ALIAS M_Dmhh
*SET RELATION TO Stt_Rec INTO K_CtTmp
*IF EMPTY(Rpt_Stt_Rec)
* DO Loc_Sl_Ct0
*ELSE
* DO Loc_Sl_Ct0 WITH Rpt_Stt_Rec
*ENDIF
M.Ngay_Ct = DATE()
WAIT CLEAR
SELECT M_HDBH
SCATTER MEMVAR
SELECT M_hang_ban_gd &&Nhat dinh phai co dong nay de nhap data vao grid
SCATTER MEMVAR
*M.Ma_Nt = IIF(EMPTY(M.Ma_Nt), M_Ma_Nt, M.Ma_Nt)
DO FORM "C:\tuan_kt\forms\frmbanhang.scx"
*NAME _FORM LINKED
RETURN
* ............................ FUNCTION V_Nhan .............................
* Nhan but toan
FUNCTION V_Nhan
M.Loai_Ct = ALLT(STR(M_Nxt))
M.Ma_Ct = M_Ma_Ct
M.Stt_Rec = K_PhTmp.Stt_Rec
M.So_Ct = PADL(ALLT(M.So_Ct),6)
* Kiem tra ngay chung tu
IF EMPTY(M.Ngay_Ct)
MessageBox("Chua vao ngay chung tu!", 0, M_Fast_Ver)
_FORM.TxtNgay_Ctu.SetFocus
RETURN .F.
ENDIF
_Stt_Rec_Old = M.Stt_Rec
* Kiem tra trong grid, neu de trang thi khong cho luu
SELECT K_CtTmp
SEEK M.Stt_Rec
REPLACE Ma_Ct WITH M.Ma_Ct, So_Ct WITH M.So_Ct, Ngay_Ct WITH M.Ngay_Ct, ;
Thue_Nt WITH IIF(T_Tien_Nt0 = 0, Thue_Nt, ROUND(T_Thue_Nt*Tien_Nt0/T_Tien_Nt0, M_Round_Nt)), ;
Thue WITH IIF(T_Tien0 = 0, THue, ROUND(T_Thue*Tien0/T_Tien0, M_Round)) ;
REST WHILE Stt_Rec = M.Stt_Rec
SEEK K_PhTmp.Stt_Rec
COUNT TO _Vt FOR !EMPTY(Ma_Vt) REST WHILE Stt_Rec = K_PhTmp.Stt_Rec
IF _Vt = 0
MessageBox([Chua vao chi tiet vat tu. Khong luu duoc!], 0, M_Fast_Ver)
_Form.txtMa_Kho.SetFocus
RETURN .F.
ENDIF
*Cap nhat vao cac file
*K_ctTmp= M_HDBH
SELECT K_CtTmp
SEEK K_PhTmp.Stt_Rec
DELETE FOR EMPTY(Ma_Vt) REST WHILE Stt_Rec = K_PhTmp.Stt_Rec
* Kiem tra so trung so chung tu, ngay chung tu
K_LuuKt = 6 && Yes
DO KtSoCt IN (K_Fxp + [SMCtLib]);
WITH M.PhDbf, [K_Ph], [Stt], [DTOS(M.Ngay_Ct) + M.So_Ct], K_LuuKt, M_Trung_So
IF K_LuuKt 6 && No: Huy bo
WAIT CLEAR
IF M_Trung_So = 0
_FORM.TxtSo_Ct.SetFocus
RETURN .F.
ENDIF
IF M_Mode = [M]
=V_Xoa1() && Xoa cac ban ghi dang co trong grid va tra lai tinh trang man hinh nhap
ENDIF
SELECT K_PhTmp
COUNT TO _MyCount FOR !DELETE()
IF _MyCount > 0
M_Mode = [X]
_FORM.CmdGroup1.CmdSua.SetFocus
ELSE
M_Mode = [B]
_FORM.CmdGroup1.CmdMoi.SetFocus
ENDIF
SELECT K_PhTmp
SEEK _Stt_Rec_Old
SCATTER MEMVAR
M_Mode = [X]
_FORM.Refresh
IF !EMPTY(Rpt_Stt_Rec)
isCancel = .T.
DO Form_Release
ENDIF
RETURN .F.
ENDIF
* Ket thuc kiem tra
DO UpDateDkList && Cong lai gia tri cac textbox Tien phia duoi grid
M.Date = Date()
M.Time = Time()
M.User_Id = M_User_Id
IF M_Mode = [M]
M.Date0 = Date()
M.Time0 = Time()
M.User_Id0 = M_User_Id
ENDIF
* Cong them 1 cho so chung tu trong Dmct
SELECT M_DmCt
IF SEEK(M_Ma_Ct) AND M_Mode = [M]
M.Ma_Ct_Me = Ma_Ct_Me
IF SEEK(M.Ma_Ct_Me)
REPLACE So_Ct WITH VAL(M.So_Ct)
ENDIF
ENDIF
M.User_Id = M_User_Id
M.Date = DATE()
M.Time = TIME()
M.Date0 = IIF(M_Mode = [M], DATE(), M.Date0)
M.Time0 = IIF(M_Mode = [M], Time(), M.Time0)
M.User_Id0 = IIF(M_Mode = [M], M_User_Id, M.User_Id0)
M.Pn_Gia_Tb = IIF(M.NhapTheoGiaTB = 1, [1], [0]) && Nhap theo gia trung binh
*Cap nhat vao file Tmp
SELECT K_PhTmp
SEEK M.Stt_Rec
SELECT K_CtTmp
* Cap nhat vao file goc
SELECT 0
USE (K_Dbf + M.PhDbf + M_Nam) ORDER Stt_Rec ALIAS K_Ph
IF M_Mode = [M]
APPEND BLANK
GATHER MEMVAR
ELSE
IF SEEK(M.Stt_Rec)
GATHER MEMVAR
ENDIF
ENDIF
SELECT 0
USE (K_Dbf + M.CtDbf + M_Nam) ORDER Stt_Rec ALIAS K_Ct
SEEK M.Stt_Rec
REPLACE Status WITH "!" REST WHILE Stt_Rec = M.Stt_Rec
SEEK M.Stt_Rec
DELETE REST WHILE Stt_Rec = M.Stt_Rec
* Cap nhat cac ban ghi hien thoi trong K_CtTmp vao K_Ct
SELECT K_CtTmp
SEEK K_PhTmp.Stt_Rec && K_PhTmp.Stt_Rec
SCAN REST WHILE Stt_Rec = M.Stt_Rec
SCATTER MEMVAR
SELECT K_Ct
APPEND BLANK
GATHER MEMVAR
SELECT K_CtTmp
ENDSCAN
SELECT K_CtTmp
SET ORDER TO TAG Stt_Rec &&Stt_Rec
WAIT WIND NOWAIT M_End_Proc
RETURN .T.
* ............................ FUNCTION V_Moi ................................
PROCEDURE V_Moi
M_Mode = [M]
*M.NhapTheoGiaTB = 0 && Khoi tao cho nhap theo gia trung binh
_Ngay_Ct = IIF(EMPTY(M.Ngay_Ct), DATE(), M.Ngay_Ct)
SELECT K_hang_ban_gd
APPEND BLANK
SCATTER MEMVAR
* Tao file Tmp, dung khi rollback
SELECT K_HDBH
_So_ct_Old = So_ct
SELECT * ;
FROM K_hang_ban_gd ;
WHERE so_ct = _So_ct_Old ;
INTO TABL (K_Tmp + [CtTmpOld])
* stt_rec=so_ct
INDEX ON So_ct TAG So_ct
M.Ngay_Ct = _Ngay_Ct
SELECT K_HDBH
APPEND BLANK
*REPLACE Ma_Ct WITH M_Ma_Ct, Ngay_Ct WITH M.Ngay_Ct
SCATTER MEMVAR
*M.Ma_Nt = _Ma_Nt
*M.Ma_gd = _Ma_Gd
SELECT K_hang_ban_gd
GATHER MEMVAR
SELECT K_HDBH
GATHER MEMVAR
*DO UpDateDkList && Cong lai cac textbox tong Tien phia duoi grid
_FORM.Refresh
_FORM.txtMa_Gd.SetFocus
RETURN .T.
* ............................ FUNCTION V_Sua ................................
FUNCTION V_Sua
SELECT K_PhTmp
SCATTER MEMVAR
_So_ct_Old = M.So_ct
SELECT K_hang_ban_gd
* Tao file Tmp dung khi update file can doi va rollback
SELECT * ;
FROM K_hang_ban_gd ;
WHERE So_ct = _So_ct_Old ;
INTO TABL (K_Tmp + [CtTmpOld])
INDEX ON So_ct TAG So_ct
SELECT K_hang_ban_gd
_FORM.Refresh
_FORM.txtMa_Gd.SetFocus
RETURN .T.
*............................. FUNCTION V_In ........................
*FUNCTION V_In
* DO (K_Fxp + [INCTV])
*RETURN .F.
*............................ FUNCTION V_Huybo ................................
FUNCTION V_Huybo
IF M_Mode = [M]
=V_Xoa1() && Xoa trong Grid
SELECT K_HDBH
COUNT TO _MyCount FOR !DELETE()
IF _MyCount > 0
M_Mode = [X]
_FORM.CmdGroup1.CmdSua.SetFocus
ELSE
M_Mode = [B]
_FORM.CmdGroup1.CmdMoi.SetFocus
ENDIF
SELECT K_hang_ban_gd
SEEK _So_ct_Old
SELECT K_HDBH
SEEK _So_ct_Old
SCATTER MEMVAR
ELSE && Sua
SELECT K_hang_ban_gd
SEEK _So_ct_Old
DELETE REST WHILE So_ct = _So_ct_Old
APPE FROM (K_Tmp + [CtTmpOld])
SELECT K_HDBH
SEEK _So_ct_Old
SCATTER MEMVAR
M_Mode = [X]
IF !EMPTY(Rpt_Stt_Rec)
isCancel = .T.
DO Form_Release
RETURN
ENDIF
ENDIF
SELECT K_hang_ban_gd
DO UpdateDkList
= SEEK(K_HDBH.So_ct, [K_hang_ban_gd])
_FORM.CmdGroup1.CmdSua.SetFocus
DO Caption_Refresh
_FORM.ReFresh
RETURN .T.
* ............................ FUNCTION V_Xoa ................................
FUNCTION V_Xoa
PRIVATE _Stt_RecX
_Ans = MessageBox(M_SureDele, 4+32+0, M_Fast_Ver)
IF _Ans 6
_FORM.CmdGroup1.CmdXoa.SetFocus
RETURN .T.
ENDIF
SELECT K_HDBH
_Stt_RecX = M.So_ct
* Xoa trong cac file Tmp
SELECT K_hang_ban_gd
SEEK M.So_ct
DELETE REST WHILE So_ct = M.So_ct
SELECT K_HDBH
DELETE
SKIP -1
IF BOF()
GO TOP
ENDIF
lcRecNo=RECNO()
COUNT TO _MyCount FOR !DELETE()
IF _MyCount > 0
GO lcRecNo
SCATTER MEMVAR
M_Mode = [X]
_FORM.CmdGroup1.CmdSua.SetFocus
ELSE
SCATTER MEMVAR
M_Mode = [B]
_FORM.CmdGroup1.CmdMoi.SetFocus
ENDIF
_FORM.ReFresh
DO UpDateDkList
DO Caption_Refresh
RETURN .T.
* ............................ FUNCTION V_Xoa1 ................................
FUNCTION V_Xoa1
SELECT K_hang_ban_gd
SEEK M.So_ct
DELETE REST WHILE So_ct = M.So_tc
SELECT K_HDBH
SEEK M.So_tc
DELETE REST WHILE So_tc = M.So_tc
RETURN .T.
* ............................ PROCEDURE UpDateDkList ....................
PROCEDURE UpDateDkList
PARAMETER _OldVal, _NewVal
LOCAL lcAlias, lcRecNo
lcAlias=ALIAS()
DO TxtRefresh
SELECT K_HDBH
*!* SEEK M.Stt_Rec
SELECT K_hang_ban_gd
IF lcRecNo<=1
GO TOP
ELSE
GO lcRecNo
ENDIF
SELECT K_HDBH
SELECT (lcAlias)
RETURN
* ............................ FUNCTION V_QuayRa ............................
* Ket thuc cap nhat chung tu
FUNCTION V_QuayRa
_Ans = MessageBox(M_End_Tran, 4+32+0, M_Fast_Ver)
IF _Ans # 6
RETURN .T.
ENDIF
_FORM.Release
RETURN
*............................. FUNCTION V_ChkMa_hh ..........................
*Valid Ma_Vv
PROCEDURE V_ChkMa_Vv
M.Ma_Vv = UPPER(M.Ma_Vv)
IF !EMPTY(M.Ma_hh) AND INLIST(M_Mode, [M] , [S])
DO V_Ma_hh WITH [M.Ma_hh] IN (K_Fxp + [ARVvLib]) &&LookUp Ma_Vv neu nhap sai
M.Ten_hh = M_Dmhh.Ten_hh
_Form.TxtTen_hh.REFRESH
ELSE
M.Ten_hh = ""
_Form.TxtTen_hh.REFRESH
ENDIF
RETURN
*.............................FUNCTION V_ChkMa_hh..........................
*Kiem tra truong Ma_hh, neu de trong thi thoat ra
PROCEDURE V_ChkMa_hh
IF M_Mode = [X] OR !_V_Chk_1st_Column
_V_Chk_1st_Column = .T.
RETURN
ENDIF
M.Ma_hh = UPPER(K_hang_ban_gd.Ma_hh)
_Ret = CHK_EMPTY_1ST_COLUMN("Ma_hh")
IF !_Ret
RETURN
ENDIF
DO V_Ma_hh IN (K_Fxp + [INVtLib])
M.Ma_hh=M_Dmhh.Ma_hh
M.Ten_hh=M_Dmhh.Ten_hh
M.don_vi_tinh=M_Dmhh.Don_vi_tinh
RETURN
*.............................FUNCTION W_So_Luong..........................
* When So_Luong
FUNCTION W_So_Luong
IF !INLIST(M_Mode, [M] , [S])
RETURN .F.
ENDIF
SELECT K_CtTmp
RETURN !EMPTY(Dvt)
* .............................FUNCTION V_So_Luong..............................
* Tinh Tien
FUNCTION V_So_Luong
IF !INLIST(M_Mode, [M] , [S])
RETURN .T.
ENDIF
SELECT K_CtTmp
IF SEEK(M.Ma_Vt, [M_DmVt])
IF M_DmVt.Gia_Ton = 3
IF So_Luong=0
= MessageBox([Vat tu tinh ton kho theo phuong phap NTXT khong duoc nhap so luong = 0], 0, M_Fast_Ver)
RETURN .F.
ENDIF
ENDIF
ENDIF
* khong co so luong thi khong co gia
IF So_Luong = 0
REPLACE Gia_Nt0 WITH 0, Gia0 WITH 0, Gia_Nt WITH 0, Gia WITH 0
ENDIF
REPLACE Tien_Nt0 WITH IIF(So_Luong*Gia_Nt0 # 0, ROUND(So_Luong*Gia_Nt0, M_Round_Nt), Tien_Nt0), ;
Tien0 WITH IIF(Tien_Nt0*Ty_Gia # 0, ROUND(Tien_Nt0*Ty_Gia, M_Round), ;
IIF(So_Luong*Gia0 # 0, ROUND(So_Luong*Gia0, M_Round), Tien0)), ;
Tien_Nt WITH Tien_Nt0 + Cp_Nt, ;
Tien WITH Tien0 + Cp, ;
Gia_Nt WITH IIF(So_luong = 0, Gia_Nt, ROUND(Tien_Nt/So_luong, M_Round_Gia_Nt)), ;
Gia WITH IIF(So_luong = 0, Gia, ROUND(Tien/So_luong, M_Round_Gia))
* Neu la vnd
IF M.Ma_Nt = M_Ma_Nt0
REPLACE Tien0 WITH ROUND(Tien_Nt0, M_Round), ;
Tien WITH Tien0 + Cp, ;
Gia WITH ROUND(Gia_Nt, M_Round_Gia)
ENDIF
RETURN .T.
* ............................ PROCEDURE Caption_Refresh .............................
* ............................ Procedure Form_Release .......................
* Dong cac file du lieu truoc khi thoat ra
PROCEDURE Form_Release
Release EnabledTxtFieldsList
IF EMPTY(Rpt_Stt_Rec)
RETURN
ENDIF
*USE IN M_DmStt
*USE IN M_DmTk
*USE IN M_DmCt
*USE IN M_DmMaGd
USE IN M_DmKh
USE IN M_Dmhh
USE IN K_HDBH
USE IN K_hang_ban_gd
_FORM.Release
RETURN
*----------------------------------------
PROCEDURE Form_Init
PARA _FORM
LOCAL _ControlSource
LOCAL lcLenArray
lcLenArray = 10
DIME EnabledFieldsList(lcLenArray)
PUBLIC EnabledTxtFieldsList(lcLenArray)
LOCAL PrefixOfText
PrefixOfText=[Txt]
EnabledFieldsList(1)="Ma_Gd"
EnabledFieldsList(2)="Ma_Kh"
EnabledFieldsList(3)="Ngay_Ct"
EnabledFieldsList(4)="So_Ct"
lcMasterAlias=[K_HDBH]
lcDetailAlias=[K_CtTmp]
FOR i=1 TO ALen(EnabledFieldsList)
EnabledTxtFieldsList(i)=PrefixOfText+EnabledFieldsList(i)
lcControlSource=lcMasterAlias+[.]+EnabledFieldsList(i)
lcVariables=[M]+[.]+EnabledFieldsList(i)
Endfor
Return
*----------------------------------- PROCEDURE Form_Refresh ------------
PROCEDURE Form_Refresh
PARA _FORM
* Neu lan dau load form thi hien man hinh brow cac ctu Init san ra
IF _Load
IF !EMPTY(Rpt_Stt_Rec)
SCATTER MEMVAR
DO Caption_Refresh
SELECT K_HDBH
ELSE
SELECT K_HDBH
SET ORDER TO
GO TOP
IF RECCOUNT() > 0
DO FORM (K_SCX + [INCTPNX])
IF LASTKEY() = 27
KEYB '{A}' PLAIN
ENDIF
ENDIF
SELECT K_HDBH
SCATTER MEMVAR
DO Caption_Refresh
ENDIF
_Load = .F.
ENDIF
lcLenArray=ALen(EnabledTxtFieldsList)
DO CASE
CASE M_Mode = [M]
_Form.GrdDkList.ReadOnly = .F.
FOR i=1 TO lcLenArray
_Form.&EnabledTxtFieldsList(i)..Enabled = .T.
Endfor
CASE M_Mode = [S]
_Form.GrdDkList.ReadOnly = .F.
FOR i=1 TO lcLenArray
_Form.&EnabledTxtFieldsList(i)..Enabled = .T.
Endfor
OTHERWISE
_Form.GrdDkList.ReadOnly = .T.
FOR i=1 TO lcLenArray
_Form.&EnabledTxtFieldsList(i)..Enabled = .F.
_Form.&EnabledTxtFieldsList(i)..Refresh
Endfor
ENDCASE
RETURN
* ............................ PROCEDURE Form_KeyPress .............................
PROCEDURE Form_KeyPress
PARA _FORM, nKEYCODE, nShiftAltCtrl
_ActCol = _FORM.GrdDkList.ActiveColumn
_ColCnt = _FORM.GrdDkList.ColumnCount
_ActRow = _FORM.GrdDkList.ActiveRow
DO CASE
* F4: de them dong moi vao grid
CASE nKEYCODE=-3 && F4: Chi hieu luc trong Grid
IF UPPER(_FORM.ACTIVECONTROL.NAME) = [GRDDKLIST]
DO Them_Item
ENDIF
* Shift+Tab de ve textbox truoc Grid
CASE nKEYCODE= 15 &&Shift+Tab
IF UPPER(_FORM.ACTIVECONTROL.NAME) = [GRDDKLIST]
Keyb '{Ctrl+Shift+Tab}'
ENDIF
* ENTER o cot cuoi, hang cuoi thi them moi, neu khong phai cot cuoi thi xuong dong
CASE nKEYCODE= 13
IF UPPER(_FORM.ACTIVECONTROL.NAME) = [GRDDKLIST]
IF _ActCol=_ColCnt &&Cot cuoi
_V_Chk_1st_Column = .F.
DO Count_Item_Ct && Dem so ban ghi o Item
IF _ActRow = _TCOUNT &&Hang cuoi
DO Them_Item
ELSE
KEYB [{DNARROW}] && DOWN ARROW
ENDIF
ENDIF
ENDIF
OTHERWISE
ENDCASE
Return .T.
* ............................ PROCEDURE Them_Item .............................
*Them ban ghi moi vao grid
PROCEDURE Them_Item
IF !INLIST(M_Mode, [M], [S])
RETURN .T.
ENDIF
SELECT K_hang_ban_gd
M.Stt_Rec0 = Get_Stt_Rec0_Ct()
Gt_Cot_Mot=_FORM.GrdDkList.Columns(1).ControlSource
SEEK M.Stt_Rec
IF !EMPTY(&Gt_Cot_Mot)
APPEND BLANK
GATHER MEMVAR FIELDS Stt_Rec, Stt_Rec0, Ma_Ct, So_Ct, Ngay_Ct
ENDIF
IF _FORM.GrdDkList.ActiveColumn > 1
_FORM.GrdDkList.Columns(1).Text1.SetFocus
ENDIF
SELECT K_hang_ban_gd
DO Count_Item_Ct && Dem so ban ghi o Item
GO BOTTOM
RETURN
* ............................ PROCEDURE TxtRefresh .............................
*Refresh cac textbox Tong ben duoi grid
PROCEDURE TxtRefresh
_FORM.TxtT_So_luong.Refresh
_FORM.TxtT_Tien_Nt0.Refresh
_FORM.TxtT_Tien0.Refresh
RETURN
Kết luận
Với sự đổi mới sâu sắc của cơ chế quản lý kinh tế đòi hỏi nền tài chính quốc gia phải được tiệp tục đổi mới một cách toàn diện, nhằm tạo ra sự ổn định trong môi trường kinh tế, hệ thống pháp luật tài chính. Điều đó đòi hỏi các hoạt động tài chính cần phải được quản lý bằng luật pháp, bằng các công cụ và biện pháp quản lý có hiệu lực. Kế toán hộ kinh doanh là một bộ phận cấu thành công cụ quản lý kinh tế, tài chính, nó có vai trò tích cực trong việc điều hành và kiểm soát các hoạt động kinh tế, nhằm chánh thất thoát ngân sách cho nhà nước.
Trong đề tài, Tôi đã nhận được nhiều sự giúp đỡ quý báu và nhiệt tình của Thầy giáo Bùi Thế Ngũ, anh Phùng Huy Hậu và các anh chị ở Phòng Phát triển ứng dụng - Ban QLƯD Tin học - Bộ Tài chính, đồng thời có tiếp thu và thừa kế kiến thức trong luận văn tốt nghiệp của các anh chị khoá trước. Tuy nhiên, do thời gian hạn hẹp và trình độ còn hạn chế nên mặc dù đã cố gắng tối đa nhưng đề tài vẫn không tránh khỏi những thiếu sót. Một lần nữa Tôi xin chân thành cảm ơn và mong muốn nhận được những ý kiến đóng góp quý báu của thầy giáo, các anh các chị và tất cả những ai quan tâm tới đề tài này.
Hà Nội
Ngày 12 tháng 05 năm 2001
Người thực hiện
Đỗ Đình Tuấn
Tài liệu tham khảo
Trần công Uẩn
Cơ sở dữ liệu
Hàn viết Thuận
Câú trúc dữ liệu
Trương văn Tú
Hệ thống thông tin quản lý
Nhà xuất bản tài chính
Hệ thống kế toán doanh nghiệp
Vụ kế toán
Chế độ sổ kế toán
Phạm thị Đông
Lý thuyết hoạch toán kế toán
Trần thị song Minh
Kế toán máy
NXB-GD
Visual Foxpro 6.0
Goerge H,Bodnar William
Accouting Information System
Robert A.Schultheis Mary Summer
Management Information System
Các file đính kèm theo tài liệu này:
- P0102.doc