RE: Chương trình quản lý kho hàng
tranthanhan1962 > 03-09-22, 06:41 PM
Bạn là một gương mặt quen thuộc của forum cũng có nhiều đóng góp với forum. Mình định không góp ý nhưng bạn cũng đã nói "các bạn dùng thử và góp ý cho mình hoàn thiện thêm", nên mình cũng có một số ý kiến mong bạn bỏ qua những gì sơ xuất. Cái mình góp ý với bạn là từ đúc kết khoảng vài trăm phần mềm đã viết cho các công ty (thương mại cũng có và sản xuất cũng có) quản lý kho là phần mềm bộ phận không thể thiếu của bất kỳ công ty nào (có thể viết riêng hoặc viết chung với các bộ phận quản lý tài chính - kế toán khác). Cái mà bạn đưa ra là một phần mềm chưa hoàn chỉnh (Bởi vì nếu hoàn chỉnh thì nagivation pane phải được ẩn chỉ khi nào shift - open mới mở được - mà cái này cũng phải được khóa shift key có mật khẩu mới mở được, ngoài ra có hệ thống ribbon đầy đủ đẻ user thực thi công việc), nhưng những cái đó có thể hoàn thiện sau, nên cũng không quan trọng lắm.
Cái mà mình muốn góp ý là cách phân tích và designe hệ thống chương trình của bạn (thú thực mình rất ngại khi đá động đến chỗ này của mọi người vì đây là chỗ tâm huyết nhất của một tác giả khi viết phần mềm). Trong phần mềm bạn đã có tương đối đầy đủ danh mục hàng hóa, danh mục khách hàng, bộ phận, bạn cũng có 2 table nhập xuất. Từ đó tạo những query tính tồn kho, nhưng cái mà bạn bỏ quên là số chứng từ (chứng từ nhập kho, xuất kho) tôi không biết Artical có phải là số chứng từ không bởi vì chỉ có trong table nhập chỉ có 2 record trùng số Article là 18091975 nhưng ngày của 2 số record này khác nhau 1 cái là 16/07/2022 và 1 cái là 28/10/2018 còn tất cả số Article khác mỗi số chỉ có 1, bạn nên nhớ rằng người ta quản lý quá trình nhâp xuất trên phiếu và tất cả hàng hóa trên phiếu nhập (xuất) này phải trùng 1 ngày (hàng hóa có trên 1 hóa đơn có thể nhập/xuất khác ngày nhưng hàng hóa trên 1 phiếu nhập [xuất] phải trong 1 ngày thì thủ kho mới chấp nhận và được quyền ký).
Vấn đề thứ 2 là bạn tách nhập xuất thành 2 table. Việc này làm bạn phải sử dụng nhiều hơn 1 query để tính tồn kho, Và nếu trường hợp bạn sử dụng union query dể gộp 2 table sẽ sai số liệu vì những record trùng field sẽ bị mất. Trong khi nếu sử dụng 1 table nhập xuất chung bạn chỉ cần dùng 1 select query xử lý total là xong. Tất nhiên khi bạn sử dung 2 table nhập xuất riên chăc chắn bạn sẽ không tính được đơn giá bình quân gia quyền khi có yêu cầu,
Kết thúc: bạn phải tạo 1 table cha thể hiện phát sinh nhập/xuất (số phiếu, ngày, đơn vị nhập/xuất) và 1 table con (tên hàng hóa, đơn giá, số lượng)rồi mới tính tiếp