Hỏi Đáp

Welcome!

This community is for professionals and enthusiasts of our products and services.
Share and discuss the best content and new marketing ideas, build your professional profile and become a better marketer together.

0

Đếm số lượng sản phẩm đã hoàn thành cho lệnh sản xuất

Chào các bác,

Trên form danh sách lệnh sản xuất, mình muốn đếm số lượng sản phẩm đã hoàn thành cho lệnh đó thì phải làm thế nào nhỉ? Mình đã tìm thử trong các field của Lệnh sản xuất không thấy có trường nào đếm cái đấy cả.

Có lẽ phải làm một cái count từ các line với kiểu là produced product. Nhưng mình xem trong model mrp.production.product.line thì cũng ko có trường nào để mình biết đó là produced product.

Các chuyên gia cho mình ý kiến về điều này nhé.

Xin cảm ơn.

Chúc các bác những ngày 30.4 chiến đấu :)

Ảnh đại diện
Huỷ bỏ
6 Trả lời
0
Ảnh đại diện
Leo Tran
Best Answer
Thomas wrote:
Theo mình hiểu count số lượng mảng khác với sum (quantity) của stockmove. Ví dụ có 2 dòng produced product, mỗi dòng nhập 30 sp. Mình muốn hàm trả về 60 chứ ko phải 2.
Nếu vậy thì bạn thay hàm len bằng hàm sum
self.produced_product_count = sum(x.product_uom_qty for x in self.move_created_ids2)

Thân ái!
Ảnh đại diện
Huỷ bỏ
0
Ảnh đại diện
Leo Tran
Best Answer

Dear Thomas,

Thomas wrote:

À mình đã tìm thấy trường chứa danh sách các Produced Product: move_created_ids2

Nhưng vẫn chưa biết count các sản phẩm này như nào?
Để count trường move_created_ids2 bạn cần phải thêm một trường vào model mrp.production, ví dụ:
produced_product_count = fields.Integer(string="Produced Products", compute=_count_produced_product, readonly=True)

Sau đó, định nghĩa hàm _count_produced_product như sau:
def _count_produced_product(self):
    self.produced_product_count = len(self.move_created_ids2)

Tuy nhiện, bạn cần lưu ý: một Lệnh sản xuất có thể có nhiều Produced Products (bao gồm Thành phẩm A và Sản phẩm phụ A'). Lúc này, con số trên danh sách Lệnh sản xuất sẽ là con số tổng của cả A + A'.

Còn về nhu cầu hiển thị thanh progress trên listview MO thì mình không tiện post lên đây vì nó tương đối lằng nhằng.

P/S: mỗi một Consumed Product, Finished Product chính là một Stock Move bạn nhé.

Thân ái!
4 Bình luận
Ảnh đại diện
Huỷ bỏ
Ảnh đại diện
ViindooBot
-

Có cách nào để count produced products không bác?

Ảnh đại diện
ViindooBot
-

Bạn thêm một trường có thể là kiểu function hoặc kiểu boolean để chỉ ra đâu là produced product?

Ảnh đại diện
ViindooBot
-

Cảm ơn bác Leo đã trả lời,

Các dòng code trên là sửa file python hay là cấu hình ở trong setting bác nhỉ?

self.produced_product_count = len(self.move_created_ids2)

Hàm len là hàm nó nó tự sum cột quantity của cái stockmove phải không bác?

Mình chưa chọc vào code lần nào nên nếu hỏi ngu thì xin bác chỉ giáo nhá :).

Cảm ơn bác.

Ảnh đại diện
ViindooBot
-

Bạn nên viết ra 1 module riêng và các dòng code này sẽ được viết vào file python của module của bạn.
Hàm len ở đây trả về số lượng phần tử của mảng. Như vậy move_created_ids2 có bao nhiêu phần tử (bản ghi) nó sẽ trả về bấy nhiêu, đồng nghĩa với việc bạn count ra số Produced Products ( số lượng bản ghi của move_created_ids2).

0
Ảnh đại diện
Thomas
Best Answer

Cảm ơn bác Leo.

Theo mình hiểu count số lượng mảng khác với sum (quantity) của stockmove. Ví dụ có 2 dòng produced product, mỗi dòng nhập 30 sp. Mình muốn hàm trả về 60 chứ ko phải 2.

Cảm ơn bác.

Ảnh đại diện
Huỷ bỏ
0
Ảnh đại diện
Thomas
Best Answer

Chào bác,

Vì bên mình một ngày sản xuất đến cả 10 lệnh sản xuất. Nên mỗi lần cần xem lại vào một lệnh thì cũng hơi "chăm chỉ" :)

Cảm ơn bác.

Ảnh đại diện
Huỷ bỏ
0
Ảnh đại diện
Leo Tran
Best Answer

Dear Thomas,

Trên giao diện của một Lệnh sản xuất, bạn kích sang tab Finished Product sẽ nhìn thấy 2 list, một cái là Products to Produce (sản phầm còn lại cần sản xuất) và một cái là Produced Products (sản phẩm đã sản xuất xong). Cả 2 danh sách này đều có trường số lượng. Như vậy bạn hoàn toàn có thể biết được số lượng sản phẩm đã hoàn thành cũng như số lượng còn lại.

Thân ái!

1 Bình luận
Ảnh đại diện
Huỷ bỏ
Ảnh đại diện
ViindooBot
-

đấy là vào chi tiết một lệnh sản xuất bác Leo ơi.

Nhưng nhu cầu của mình là xem ngay trên form danh sách lệnh cơ.
Thực ra là mình còn muốn hiện cái progress trên ngay danh sách này: ví dụ Lệnh 1000pcs, sản xuất 500pcs, thì cái progress sẽ hiển thị thanh progress là 50%.

Cảm ơn bác.

0
Ảnh đại diện
Thomas
Best Answer

À mình đã tìm thấy trường chứa danh sách các Produced Product: move_created_ids2

Nhưng vẫn chưa biết count các sản phẩm này như nào?

Ảnh đại diện
Huỷ bỏ

Trả lời của Bạn

Vui lòng đảm bảo câu trả lời của bạn có liên quan và giải đáp đúng nội dung câu hỏi. Nếu muốn bình luận về câu hỏi hoặc câu trả lời, hãy sử dụng công cụ Bình luận. Lưu ý, bạn có thể thay đổi nội dung trả lời thay vì trả lời lại 02 lần cho cùng một câu hỏi. Đồng thời bạn có thể nhấn nút để bầu chọn câu hỏi / câu trả lời tốt nhất.