Lịch sử revision
Vị trí lưu trữ và cách sắp hàng trong kho
# Vị trí lưu trữ và cách sắp hàng trong kho Bài này dành cho thủ kho và người phụ trách sắp xếp kho: cách khai báo ô kệ, cách đặt mã cho dễ tìm, hàng được cất vào đâu và những giới hạn của phần vị trí trên phiên bản hiện tại. ## Ô kệ là đơn vị nhỏ nhất của tồn kho Hệ thống không ghi "mã hàng X còn 30 cái". Hệ thống ghi "mã hàng X còn 30 cái tại ô kệ `HCM-A1-01`". Mỗi dòng ở **Tồn kho (Inventory)** là một cặp mã hàng và một ô kệ. Cùng một mã hàng nằm ở ba ô kệ sẽ thành ba dòng, và mọi giao dịch nhập, xuất, điều chỉnh, dịch chuyển đều phải chỉ rõ ô kệ. Mỗi ô kệ có bốn thông tin nhập được trên màn hình: **Mã Vị trí / Ô kệ (Location Code)**, **Khu vực (Zone)**, **Loại Vị trí (Location Type)** và ô đánh dấu **Hoạt động**. Ô kệ luôn thuộc về đúng một kho. ## Bốn loại vị trí | Trạng thái | Ý nghĩa dễ hiểu | Ai tác động được | | --- | --- | --- | | `STORAGE` | Lưu kho tiêu chuẩn. Đây là loại mặc định khi tạo vị trí mới. | Người tạo hoặc sửa vị trí ở **Kho & Vị trí (Warehouses)** | | `RECEIVING` | Khu vực nhận hàng. | như trên | | `PACKING` | Khu vực đóng gói. | như trên | | `SHIPPING` | Khu vực xuất hàng. | như trên | Bốn loại này **chỉ là nhãn**. Hệ thống không dùng loại vị trí để chặn hay gợi ý bất cứ điều gì: cất hàng vào ô `SHIPPING` vẫn được, giữ hàng lâu dài ở ô `PACKING` vẫn được. Nếu đơn vị muốn các khu vực này có kỷ luật riêng, kỷ luật đó phải do người vận hành giữ. ## Tạo và sửa ô kệ 1. Ở thanh bên, vào **Kho & Vị trí (Warehouses)**. 2. Ở **Danh sách Kho** bên trái, chọn kho cần làm việc. Bên phải hiện **Vị trí thuộc: <tên kho>**. 3. Chọn **Thêm Vị trí**. 4. Điền **Mã Vị trí / Ô kệ (Location Code)**. Ô này tự chuyển thành chữ in hoa, gợi ý trên màn hình có dạng `HCM-ZONEA-ROW1-SHELF2`. 5. Điền **Khu vực (Zone)** nếu có, ví dụ `ZONE-A`. 6. Chọn **Loại Vị trí (Location Type)**. 7. Giữ hoặc bỏ dấu **Hoạt động**, rồi chọn **Tạo mới**. Sửa bằng biểu tượng bút chì, xoá bằng biểu tượng thùng rác. Khác với kho, **xoá một vị trí còn hàng sẽ bị chặn**: phải chuyển hết hàng khỏi ô kệ trước. ### Đặt mã ô kệ thế nào cho đỡ khổ về sau Hệ thống không tự sinh mã và không kiểm tra cách đặt tên. Vài điểm nên thống nhất trước khi tạo hàng loạt: - **Không đặt trùng mã ở hai kho khác nhau.** Mã ô kệ phải là duy nhất trong toàn bộ dữ liệu của một người bán, không chỉ trong một kho. Đặt lại mã đã dùng ở kho khác sẽ bị từ chối. Cách an toàn là bắt đầu mã bằng ký hiệu kho, ví dụ `HCM-...`, `HN-...`. - **Đặt mã theo đúng thứ tự người ta đi trong kho** (dãy, kệ, tầng). Hệ thống không có sơ đồ kho và không sắp lộ trình nhặt hàng, nên thứ tự nằm trong chính cái mã là công cụ duy nhất giúp người nhặt đi nhanh. - **Điền Khu vực (Zone)** cho mọi ô kệ. Khi cất hàng lúc nhập, danh sách chọn hiển thị dạng `mã ô kệ (khu vực)`; ô kệ bỏ trống khu vực sẽ hiện `(No Zone)`. Lưu ý về chi tiết: dữ liệu có sẵn chỗ cho dãy, kệ và tầng riêng, nhưng màn hình hiện **không có ô nhập** cho ba thứ đó nên chúng luôn trống. Toàn bộ thông tin về chỗ để hàng phải nằm trong mã ô kệ và khu vực. ## Hàng được cất vào ô kệ lúc nào Hàng vào ô kệ ở bước **Cất hàng vào vị trí (Put-away)** của luồng nhập. Chi tiết các bước nằm ở bài [Nhập kho và xuất kho](nhap-kho-va-xuat-kho.md); ở đây chỉ nêu ba điểm liên quan đến vị trí: - Trên **máy tính**, danh sách **Chọn Ô kệ cất hàng** chỉ hiện ô kệ thuộc đúng kho nhận của đơn nhập. - Trên **điện thoại**, ở màn hình **Receive**, danh sách ô kệ gồm **tất cả** vị trí của mọi kho. Hệ thống không kiểm tra ô kệ có thuộc kho nhận hay không, nên có thể ghi nhận nhập cho kho này nhưng tồn lại tăng ở kho khác. - Vị trí **Tạm khóa** vẫn nằm trong danh sách chọn và vẫn nhận hàng bình thường. Vì vậy, sau khi hoàn thành một đơn nhập, nên mở **Tồn kho (Inventory)**, lọc đúng kho và kiểm tra lượng tăng đã vào đúng ô kệ dự định. ## Sắp lại hàng trong kho Muốn dồn hàng, đổi kệ hay dọn một khu vực, dùng **Dịch chuyển hàng** ở **Tồn kho (Inventory)**: 1. Chọn **Dịch chuyển hàng**, hoặc chọn **Chuyển** trên dòng cần dời. 2. Kiểm tra **Mã SKU**. 3. Chọn **Từ vị trí nguồn** và **Đến vị trí đích**. Danh sách hiện dạng `[MÃ KHO] mã ô kệ`. 4. Nhập **Số lượng dịch chuyển** và **Ghi chú**, rồi chọn **Thực hiện chuyển**. Mỗi lần chỉ chuyển được một mã hàng, và chỉ chuyển được phần **khả dụng**: hàng đang giữ chỗ cho đơn phải ở lại ô kệ cũ vì danh sách nhặt của đơn đó đang trỏ vào đúng ô kệ đó. Trong **Lịch sử giao dịch**, một lần chuyển hiện thành hai dòng `TRANSFER` trái dấu. ## Tra cứu vị trí của một mã hàng Trên máy tính: vào **Tồn kho (Inventory)**, gõ mã hàng hoặc tên sản phẩm vào ô tìm kiếm, đọc cột **Kho Hàng** và **Vị trí (Location)**. Trên điện thoại: ở thanh dưới chọn **Lookup**, quét mã vạch sản phẩm. Màn hình hiện phần **Vị trí tồn kho (Stock Levels)** liệt kê từng ô kệ. Một chỗ dễ đọc nhầm ở màn hình **Lookup**: dòng số lớn ghi kèm chữ "khả dụng" thực chất là **tồn thực tế** của ô kệ, còn phần giữ chỗ hiện riêng bên dưới trong ngoặc. Khi cần con số khả dụng chính xác, hãy đọc trên **Tồn kho (Inventory)**. ## Vị trí trong luồng nhặt hàng Mỗi dòng của yêu cầu xuất hiện **Vị trí nhặt** để người nhặt biết đi tới đâu, cả trên máy tính lẫn trên màn hình **Pick** của điện thoại. Nhưng: - Hệ thống **không kiểm tra người nhặt lấy hàng ở đúng ô kệ**. Việc ghi nhận dựa vào mã vạch sản phẩm, không dựa vào vị trí. - Ô kệ nhặt do hệ thống chọn khi tạo yêu cầu, **không đổi được** trên màn hình. - Không có thứ tự nhặt tối ưu; các dòng hiện theo thứ tự dữ liệu, không theo đường đi trong kho. ## Những việc màn hình hiện không làm được - Không có sơ đồ kho, không có bản đồ ô kệ. - Không có sức chứa cho ô kệ, không giới hạn số mã hàng trên một ô kệ, không cảnh báo quá tải. - Không có gợi ý ô kệ nên cất khi nhập hàng. - Không in được nhãn ô kệ và không có mã vạch cho ô kệ: mọi màn hình đều chọn vị trí bằng danh sách, kể cả kiểm kho trên điện thoại. - Không tạo được nhiều ô kệ cùng lúc; mỗi ô kệ là một lần nhập tay. - Không có nhật ký riêng cho việc đổi tên hay đổi loại một ô kệ. ## Điểm cần người nghiệp vụ xác nhận - Quy ước đặt mã ô kệ của đơn vị là gì, và ai được phép tạo mới? Hệ thống nhận mọi cách đặt tên nên quy ước phải do con người giữ. - Bốn loại vị trí `STORAGE`, `RECEIVING`, `PACKING`, `SHIPPING` có được dùng đúng nghĩa trong kho thật không, khi hệ thống không ràng buộc gì? - Có cần chặn việc cất hàng vào ô kệ thuộc kho khác khi thao tác trên điện thoại không? - Vị trí đánh dấu **Tạm khóa** nên được xử lý thế nào trong thực tế, khi hệ thống vẫn cho chọn và vẫn cho cất hàng vào? - Khi hàng đã hết ở một ô kệ, đơn vị muốn giữ lại dòng trống hay xoá vị trí? Xoá được nhưng sẽ mất chỗ tham chiếu khi tra lịch sử.