Dự án hỗ trợ thành viên số 01

tuhocvba

Administrator
Thành viên BQT
Đây là dự án hỗ trợ thành viên, có cam kết của thành viên sẽ hỗ trợ tài chính cho diễn đàn sau khi việc hỗ trợ code kết thúc.
Các thành viên không cần quan tâm tới topic này vì nội dung trong topic này chỉ có người code và người cần hỗ trợ mới hiểu được.


Giai đoạn 1: Tạo file FXC_CustomizeBOM và cập nhật file AMLDatabase.
INPUT:
CustomerBOM
OUTPUT: AMLDataBase (cập nhật nội dung file), FXC_CustomizeBOM (tạo file mới).

Khái quát chương trình:

Bạn cần đăng nhập để thấy hình ảnh


Người dùng sẽ chọn file CustomerBOM, đây là file Input.
Đồng thời người dùng chọn file AMLDatabase, đây là file thư viện đã có sẵn, file này chỉ có một sheet, sheet name = AMLDatabase. (Hãy chú ý điều kiện logic này)
Bạn cần đăng nhập để thấy hình ảnh


Logic tạo file FXC_CustomizeBOM:
Tạo ra file FXC_CustomizeBOM có một sheet, tên sheet cũng tên là FXC_CustomizeBOM.
1. Copy nội dung file CustomerBOM (Điều kiện logic: file này đảm bảo có sheet tên là CustomerBOM, không quan tâm file này có bao nhiêu sheet).
2. Nếu có dòng trống thì copy nội dung ở dòng không rỗng ngay trên nó.
Bạn cần đăng nhập để thấy hình ảnh

3. Chèn cột C có tên là : Customize Part
Thông tin cột C được xây dựng như sau:
Các Part giống nhau và có cùng Level thì sẽ tự động thêm các chữ cái A,B,C... vào phía sau.
Bạn cần đăng nhập để thấy hình ảnh


Bạn @PeterVu xác nhận nội dung trên là đúng chưa nhé. Nếu OK, mình sẽ code.
Còn phần update AMLDatabase, mình sẽ tách riêng ra ở bài viết khác.
Giao diện chương trình như trên mô tả ở trên có cần sửa gì không nhé.
 

tuhocvba

Administrator
Thành viên BQT
Nội dung thảo luận thêm với @PeterVu :
Bạn cần đăng nhập để thấy hình ảnh

Chương trình sẽ thêm cột Where User vào cả hai file AMLDataBase và FXC_CustomizeBOM. Cột Where User là cột cuối cùng bên tay phải. (Không cần quan tâm là cột nào).
Đối với file AMLDatabase, sau khi so sánh các thông tin (cột B, AL, AM) thì sẽ cập nhật thông tin vào cột Where User // Liên quan tới AMLDatabase, hiện tại chưa cần bàn tới vì đang ưu tiên tạo file FXC_CustomizeBOM.
 

PeterVu

Thành viên mới
Nội dung thảo luận thêm với @PeterVu :
Bạn cần đăng nhập để thấy hình ảnh

Chương trình sẽ thêm cột Where User vào cả hai file AMLDataBase và FXC_CustomizeBOM. Cột Where User là cột cuối cùng bên tay phải. (Không cần quan tâm là cột nào).
Đối với file AMLDatabase, sau khi so sánh các thông tin (cột B, AL, AM) thì sẽ cập nhật thông tin vào cột Where User // Liên quan tới AMLDatabase, hiện tại chưa cần bàn tới vì đang ưu tiên tạo file FXC_CustomizeBOM.
Hi Hoàng,

Xác nhận đã đúng yêu cầu.
 

tuhocvba

Administrator
Thành viên BQT
Logic tạo file FXC_CustomizeBOM:
Logic Xây dựng Customize Part:
Bạn cần đăng nhập để thấy hình ảnh


@PeterVu Bạn xác nhận xem logic trên có gì sai không nhé.
 

tuhocvba

Administrator
Thành viên BQT
Logic tạo file FXC_CustomizeBOM:
Logic cho cột thông tin BOM.Primary / Alternate ?:
Bạn cần đăng nhập để thấy hình ảnh
 

PeterVu

Thành viên mới
Mình upload các bước tiếp theo của dự án. Admin và các bạn có thời gian xem và triển khai giúp.
Trong các bước làm đã có 2 phần được thành viên @thanhphong@bvtvba code giúp 1 phần trong đó rồi.
Chỉ cần thay đổi 1 chút về vị trí dòng cột là đẹp.
Note: MasterBOM ở đây chính là FXC_CustomizeBOM ở bước trước.

Bạn cần đăng nhập để thấy hình ảnh
 

tuhocvba

Administrator
Thành viên BQT
Tạm thời mình đang lý giải đến MASTERBOM.
Có chỗ không hiểu cần xác nhận. Ngoài ra những chỗ đã hiểu, thì xem giúp mình xem mình có hiểu sai không thì phản hồi lại nhé.
Password giải nén sẽ gửi qua facebook.
Link:
 

bvtvba

Thành viên mới
Nhìn sơ đồ hoa hết cả mắt, cho nên chỉ dám đứng ngoài nhìn ngắm thôi. Mình chỉ code chương trình con vài chục tới hơn trăm dòng code thì còn được, chứ như này là phải căng não ra đọc giả thiết để hiểu được đã mất bao nhiêu thời gian rồi.
Chúc dự án của bạn sớm thành công.
 

PeterVu

Thành viên mới
Logic tạo file FXC_CustomizeBOM:
Logic Xây dựng Customize Part:
Bạn cần đăng nhập để thấy hình ảnh


@PeterVu Bạn xác nhận xem logic trên có gì sai không nhé.
Hi Hoàng,

Rất vui khi nhận được kết quả để chạy test, kết quả test sau 1 hồi thảo luận đã thành công.
Kết thúc giai đoạn 1.
Như đã cam kết ban đầu, mình đã ck ủng hộ diễn đàn.
Tiếp tục giai đoạn 2: SMT BM Specs
 
Sửa lần cuối:

PeterVu

Thành viên mới
Nhìn sơ đồ hoa hết cả mắt, cho nên chỉ dám đứng ngoài nhìn ngắm thôi. Mình chỉ code chương trình con vài chục tới hơn trăm dòng code thì còn được, chứ như này là phải căng não ra đọc giả thiết để hiểu được đã mất bao nhiêu thời gian rồi.
Chúc dự án của bạn sớm thành công.
Bạn có giúp 1 phần ở "Master BOM" rồi đó, sẽ rất thuận tiện cho Admin tham khảo để giúp mình hoàn thiện dự án. Xin cám ơn lần nữa.
 

tuhocvba

Administrator
Thành viên BQT
Nội dung thảo luận giai đoạn 2:
Bạn cần đăng nhập để thấy hình ảnh

-Người dùng chọn địa chỉ tọa độ.
Chương trình sẽ kiểm tra toàn bộ tọa độ có nằm trên cùng một file hay không, bằng cách check toàn bộ nội dung địa chỉ trước dấu chấm than ! xem chúng có giống nhau hay không? Nếu sai sẽ ra thông báo và dừng không làm việc.
- Chương trình sẽ kiểm tra các tọa độ của Desscription, config, input có nằm trên cùng một cột hay không? Nếu không cùng nằm trên một cột thì sẽ báo lỗi và dừng không làm việc.
-Chương trình nhận thức cột ngay sau cột chứa Desscription là cột làm việc đầu tiên.
-Chương trình sẽ kiểm tra các tọa độ của Qty per, GPN, MFG PN, Supplier, Conrol Des có nằm trên cùng một hàng hay không? Nếu không cùng nằm trên một hàng thì sẽ báo lỗi và dừng không làm việc.
-Chương trình nhận thức hàng ngày sau hàng chứa Qty per là hàng làm việc đầu tiên.
-Để nhận biết dòng cuối và cột cuối, yêu cầu người dùng chọn vùng range chứa cells đầu tiên bất kỳ trong hàng cuối và cells cuối cùng nằm ở hàng cuối và cột cuối.
-Chương trình nhận thức dòng không chứa GPN là dòng trống, sẽ không lấy dữ liệu trong quá trình tạo ra OUTPUT_TEMP.
 

PeterVu

Thành viên mới
Nội dung thảo luận giai đoạn 2:
Bạn cần đăng nhập để thấy hình ảnh

-Người dùng chọn địa chỉ tọa độ.
Chương trình sẽ kiểm tra toàn bộ tọa độ có nằm trên cùng một file hay không, bằng cách check toàn bộ nội dung địa chỉ trước dấu chấm than ! xem chúng có giống nhau hay không? Nếu sai sẽ ra thông báo và dừng không làm việc.
- Chương trình sẽ kiểm tra các tọa độ của Desscription, config, input có nằm trên cùng một cột hay không? Nếu không cùng nằm trên một cột thì sẽ báo lỗi và dừng không làm việc.
-Chương trình nhận thức cột ngay sau cột chứa Desscription là cột làm việc đầu tiên.
-Chương trình sẽ kiểm tra các tọa độ của Qty per, GPN, MFG PN, Supplier, Conrol Des có nằm trên cùng một hàng hay không? Nếu không cùng nằm trên một hàng thì sẽ báo lỗi và dừng không làm việc.
-Chương trình nhận thức hàng ngày sau hàng chứa Qty per là hàng làm việc đầu tiên.
-Để nhận biết dòng cuối và cột cuối, yêu cầu người dùng chọn vùng range chứa cells đầu tiên bất kỳ trong hàng cuối và cells cuối cùng nằm ở hàng cuối và cột cuối.
-Chương trình nhận thức dòng không chứa GPN là dòng trống, sẽ không lấy dữ liệu trong quá trình tạo ra OUTPUT_TEMP.
Hi Hoàng,

Xác nhận nội dung đã đúng với thỏa thuận.
 

thanhphong

Thành viên mới
Xem qua topic thì tôi thấy dự án này nhiều công đoạn. Không phù hợp để hỏi-đáp. Vì thường chuơng trình hỏi đáp là gặp bí ở chỗ nào đấy cần giải quyết, khi đó chuơng trình cũng chỉ khoảng vài chục tới hơn trăm dòng code.
Đây là dự án, là thỏa thuận giữa bạn và BQT diễn đàn, vì vậy không thích hợp để thành viên tham gia. Có tag tên thì tôi cũng chỉ xem thôi.
Và chỉ mới xem thôi cũng đã thấy hoa mắt chóng mặt vì input quá nhiều.
Không biết định dạng input có cố định hay lại bla bla thì code cũng rất mệt vì phải xử lý nhiều tình huống, đưa ra nhiều loại cảnh báo ứng với mỗi tình huống.
Chúc bạn sớm thành công, tôi không giúp gì được.
 

tuhocvba

Administrator
Thành viên BQT
Vậy là giai đoạn 2 đã khép lại, đạt được sự hài lòng từ cả hai phía, bên code và bên yêu cầu.
Bạn cần đăng nhập để thấy hình ảnh

Khối lượng công việc, nhưng cuối cùng cũng đã xong.
 

tuhocvba

Administrator
Thành viên BQT
Kết thúc giai đoạn 3.
Đã hỗ trợ sửa lại giao diện.
Bạn cần đăng nhập để thấy hình ảnh
 

PeterVu

Thành viên mới
Kết thúc giai đoạn 3.
Đã hỗ trợ sửa lại giao diện.
Bạn cần đăng nhập để thấy hình ảnh
Xin được trân trọng cảm ơn sự hợp tác và giúp đỡ nhiệt tình từ Admin Hoàng đã giúp tôi hoàn thiện dự án. Trong thời gian về nước nghỉ phép vẫn không ngừng dành thời gian nghiên cứu và phát triển tool đi theo đúng những logic kỳ vọng của người triển khai dự án. Cũng may mắn được gặp mặt trà đá vỉa hè hàn huyên nhiều điều hay lẽ phải về cuộc sống. Vì đây là lần đầu tiên triển khai 1 dự án với logic và khối lượng công việc không hề nhỏ nên đầu lúc nào cũng phải căng ra, ngày đêm chạy đi chạy lại kiểm tra từng tình huống có thể xẩy ra nên thời gian và công sức bỏ ra cũng nhiều, tính đến nay vừa tròn 1 tháng.
Thời gian là yếu tố quan trọng , nhưng nhiệt huyết để hoàn thành được dự án còn quan trọng hơn. Một lần nữa xin được gửi lời cảm ơn sâu sắc tới Admin Hoàng.
 

PeterVu

Thành viên mới
Tôi xin được post lên đây sơ đồ hoàn chỉnh của dự án để các bạn hình dung được khối lượng công việc và logic các nhánh làm việc từ khi bắt đầu đến kết thúc của chương trình. Tool này sẽ được đưa ra để đấu với Tool của bên TQ. Kết quả chỉ được chọn một.
Thắng thua không quan trọng, quan trọng là cách làm việc và kiến thức mình học được trong quá trình làm việc, vì kiến thức đó nó sinh ra do va chạm và cộng hưởng nhận thức.
Bạn cần đăng nhập để thấy hình ảnh
 

tuhocvba

Administrator
Thành viên BQT
Cảm ơn bạn.
Mong muốn về lâu dài, tuhocvba.net trở thành địa chỉ uy tín về làm Tool VBA theo yêu cầu. Đây cũng là hướng đi mà diễn đàn muốn phát triển mạnh, đáp ứng mong mỏi của những người có nhiều ý tưởng cải tiến công việc nhưng lại chưa có đủ kỹ năng code cần thiết.
Làm sao để code không chỉ đáp ứng yêu cầu ban đầu mà còn vượt qua cả kỳ vọng của người sử dụng, code không chỉ chạy đúng mà tính thẩm mỹ còn phải đẹp. Càng ngày năng lực làm Tool VBA của diễn đàn tuhocvba.net càng phải được khẳng định và được nhiều người ủng hộ, cảm ơn mọi người rất nhiều.
 
Top