• Code chia sẽ hàng thừa
  • Code chia sẽ hàng thừa

    Phung Duc > 05-12-16, 12:24 PM

    [Hình: view?usp=sharing]
    (link Hình Ảnh bài toán)
    https://drive.google.com/file/d/0Bx9f5ZAKaPn8MERDR2FfeGpLUWM/view?usp=sharing

    Nhờ các bác giúp cho phần code của của bài toán chia sẽ hàng thừa cho các nhóm hàng thiếu
    Vi dụ: SP_A
    • Nh01: thiếu 2 cái (-2)
    • Nh04: thiếu 5 cái (-5)
    • Nh05: thiếu 3 cái (-3)
    • Nh02: thừa 3 cái (+3)
    • Nh03: thừa 8 cái (+8)
      Bài toán đặt ra là:

    • Làm sao Nh02 sẽ chuyển đến Nh05 (3 cái SP_A) (sau khi chuyển SL không thừa/thiếu hoặc Min ưu tiên trước)
    • Làm sao Nh03 sẽ chuyển đến Nh01 (2 cái SP_A) và Nh04 (5 cái SP_A)
       
      + Các Sản phẩm bao gồm SP_A, SP_B, SP_C . . . . . . SP_n
      + Các nhóm bao gồm (Nh01, Nh02, Nh03, Nh04 . . . . Nh m

    [Hình: view?usp=sharing]
    (Link Kết quả chia sẽ sản phẩm)
    https://drive.google.com/file/d/0Bx9f5ZAKaPn8V0Jid1NrblJOTUE/view?usp=sharing

    Cám ơn các bác rất nhiều

    P/s: Mình không thể copy hình Ảnh, Nhờ Admin add lên giúp

    File Access 2003 như link
    https://drive.google.com/file/d/0Bx9f5ZAKaPn8SUt6UlRNb3hpNGs/view?usp=sharing
  • RE: Code chia sẽ hàng thừa

    ongke0711 > 05-12-16, 03:53 PM

    Post lại hình ảnh đi bạn.
    Thường tôi thấy kế toán làm nghiệp vụ điều chỉnh vị trí lưu kho này thủ công thôi. Viết code cũng điên đầu lắm đó…
    Công nhận bạn có mấy bài toán ít khó thật! 007
    Bạn giải thích và ví dụ rõ hơn vụ: "Sau khi chuyển SL không thừa/thiếu hoặc Min ưu tiên trước"
  • RE: Code chia sẽ hàng thừa

    Phung Duc > 05-12-16, 04:34 PM

    Chào bạn
    Minh vẫn không attach được hinh Ảnh, Bạn có thể DownLoad từ
    Link https://drive.google.com/file/d/0Bx9f5ZAKaPn8MERDR2FfeGpLUWM/view?usp=sharing Cho y/c Cầu bài toán

    Và Link https://drive.google.com/file/d/0Bx9f5ZAKaPn8V0Jid1NrblJOTUE/view?usp=sharing Cho kết quả bài toán

    Hoặc các bạn download file Access co bang tblNhomSanPhamKetQua

    Về cái y nhĩa này "Sau khi chuyển SL không thừa/thiếu hoặc Min ưu tiên trước"

    Sẽ lựa chọn SP từ nhóm nào có số lượng thừa (gần bằng or bằng) với số lượng thiếu để ưu tiên bù vào trước
     Vi Dụ:
             Nh05 Thiếu 3 cái (-3) thì ưu tiên lấy 3 cái (+3) từ Nh02 (Thừa 3 cái) thay vì lấy 3 cái từ Nh03 (Thừa 8 cái)

    Bài toán này tôi tìm cách duyệt tất cả giá trị cùng tên sản phẩm với SL chênh lệch Min (thấp nhất)
    Đối với kế toán thì binh thường họ chỉ điều chỉnh vài SP chi và Nhóm nên co thể manual nhưng khi số lượng SP lên vài chục SP và số lượng nhóm tăng lên thì không còn tinh manual được nữa

    Các bác giúp minh với nhé. Bài toán này minh suy nghi lâu rồi nhưng vẫn chưa tim ra cách viết code
    Cám ơn nhiều
  • RE: Code chia sẽ hàng thừa

    Phung Duc > 10-12-16, 11:38 AM

    Chào các bác chuyên gia

    Nhờ các bác tư vấn code hoặc giải thuật giúp, mình chưa suy nghĩa ra giải thuật như thề nào cho phù hợp

    Cám ơn nhiều
  • RE: Code chia sẽ hàng thừa

    maidinhdan > 11-12-16, 12:36 AM

    (10-12-16, 11:38 AM)Phung Duc Đã viết: Chào các bác chuyên gia

    Nhờ các bác tư vấn code hoặc giải thuật giúp, mình chưa suy nghĩa ra giải thuật như thề nào cho phù hợp

    Cám ơn nhiều

    Tôi đọc qua 20 lần mà cũng chẳng biết bạn muốn làm gì?

    1. Khi bạn đưa ra vấn đề, bạn phải đặt câu hỏi liệu bài toán mình đưa ra nó có hợp logic không ( Tuân theo quy luật)

    2. Bạn mô tả,hoặc định nghĩa câu đó bằng lời ( Ngắn gọn, xúc tích, đầy đủ ý nghĩa)

    3. Từ cái số 2 này, bất kỳ ai cũng có thể viết hàm cho bạn. ( Chứ mô tả kiểu trêndù có gửi 100 cái hình cũng vô dung)

    Thân mến!
  • RE: Code chia sẽ hàng thừa

    ongke0711 > 12-12-16, 04:25 PM

    Bài giải cho việc điều chỉnh vị trí lưu kho của bạn đây.

    [Hình: 30751658854_0475df1cde_b.jpg]

    [Hình: 30751649134_9b80cdc719_b.jpg]

    Link file: http://www.mediafire.com/file/f849v2p47k...angHoa.mdb

    Cách tôi làm cơ bản như sau:
    - Tạo table phụ trích lọc các Sản phầm cần điều chỉnh (<>0). Từ table này mình sẽ tạo 2 recordset: 1 là recordset (A) các SP thiếu, 1 là recordset (B) các SP dư cần điều chuyển kho.
    - Xét từng SP trong recordset B tìm số “Chênh lệch” = số hàng dư để điều chuyển trước -> Cập nhật lại số chênh lệch, Append nội dung SP vừa điều chuyển vào table tblChiTietDieuChinh -> Sau đó điều chuyển cho SP nào có số lượng thiếu nhỏ nhất -> cứ vòng lặp trừ tuần tự.