Dạ, con cám ơn thầy đã quan tâm tới bài của con.
Con xin miêu tả lại như sau ạ.
Trường hợp 1 (áp dụng chung với EAN)
Sheet Data có hai mã quan trọng là "Mã vật tư" và "EAN" là các thuộc tính của sản phẩm, dùng để vlookup đến các sheet khác (TonKho, Sale)
Đặc điểm của sản phẩm:
+ Mỗi một SP có tên-giá (không thể Vlookup), gắn liền một Mã vật tư (MVT) và một EAN;
+ Các MVT khác nhau (giá-tên có sai lệch) nhưng EAN trùng nhau vẫn xem là một SP.
Ví dụ, KH khi KH đặt EAN là: 9786042074551 thì có thể xuất một trong hai MVT như dưới đây:
Mã vật tư
|
Tên vật tư
|
Giá bán
|
Năm xuất bản
|
Tủ sách
|
EAN
|
5162210520008
|
Yu - Gi - Oh - Tập 8
|
20000
|
16
|
1052
|
9786042074551
|
6182210520008
|
Yu-Gi-Oh! Tập 8
|
22000
|
18
|
1052
|
9786042074551
|
Từ EAN của KH đặt con phải chuyển sang MVT tương ứng số tồn khả thi của từng kho (sheet TonKho) để làm phiếu xuất hàng.
Khi xuất lại phải ưu tiên xuất hàng sản xuất trước, khi không đủ số lượng khách đặt mới xuất thêm năm mới. Biết rằng năm sx là "=mid(MVT,2,2)", như ví dụ trên, con phải xuất mã "5162210520008" trước vì nó sx năm 2016, mã còn lại sx năm 2018.
(các thủ tục được làm thủ công từ bước 1-bước 6), thầy xem file giúp con ạ.
Trường hợp 2 (một nhóm SP có EAN khác nhau nhưng là cùng một SP)
Việc xác định SP giống nhau được xác định như sau:
- Với "Mã vật tư", nhóm các sản phẩm có thứ tự "=mid(MVT,4,2)"=22 thì có thể căn cứ vào 8 ký tự sau "=right(MVT,8)" nếu trùng nhau là cùng một SP.
Như vậy, đối với nhóm SP này, khi vlookup EAN (tìm các MVT tương ứng) từ file đặt hàng sẽ không dò qua hết các giá trị tồn có thể có mà phải dò kết hợp với mã MX ("Right(MVT,8)") (thực hiện tại Bước 7)
Trường hợp 3 (Hạn mức tồn)
Trường hợp này thường được làm thủ công khi lấy hạn mức tồn, với số tồn không đáp ứng đủ sẽ bị loại khỏi danh sách tồn kho (dẫn đến một vài sản phẩm còn tồn ít nhưng không có cơ hội xuất hàng)
Con xin gửi file đã làm thủ công, mong thầy xem qua giúp con ạ.