Thêm phương thức hiển thị hoặc chỉnh sửa thông qua tiện ích mở rộng trong Dynamics 365
Đã xuất bản: lúc 11:56:22 UTC 16 tháng 2, 2025
Cập nhật lần cuối: lúc 08:57:36 UTC 12 tháng 1, 2026
Trong bài viết này, tôi sẽ giải thích cách sử dụng phần mở rộng lớp để thêm phương thức hiển thị vào bảng và biểu mẫu trong Dynamics 365 for Operations, bao gồm cả các ví dụ mã X++.
Add Display or Edit Method via Extension in Dynamics 365
Mặc dù việc sử dụng các phương pháp hiển thị hoặc chỉnh sửa trong Dynamics thường khiến bạn phải cân nhắc xem liệu có thể thiết kế giải pháp theo cách khác hay không, nhưng đôi khi đó lại là cách tốt nhất.
Trong các phiên bản Dynamics và Axapta trước đây, việc tạo phương thức hiển thị hoặc chỉnh sửa trên bảng và biểu mẫu rất dễ dàng, nhưng gần đây khi tôi phải tạo phương thức chỉnh sửa đầu tiên trong Dynamics 365, tôi phát hiện ra rằng quy trình thực hiện có phần khác biệt.
Rõ ràng có một vài cách tiếp cận hợp lý, nhưng cách tôi thấy tốt nhất (cả về tính trực quan và tính thẩm mỹ của mã) là sử dụng phần mở rộng lớp. Đúng vậy, bạn có thể sử dụng phần mở rộng lớp để thêm các phương thức vào các loại phần tử khác ngoài lớp - trong trường hợp này là bảng, nhưng nó cũng hoạt động với các biểu mẫu.
Đầu tiên, hãy tạo một lớp mới. Bạn có thể đặt tên cho nó bất kỳ, nhưng vì một số lý do nào đó, nó phải có hậu tố "_Extension". Ví dụ, nếu bạn cần thêm một phương thức hiển thị vào CustTable, bạn có thể đặt tên nó là MyCustTable_Extension.
Lớp này phải được trang trí bằng từ khóa ExtensionOf để hệ thống biết bạn đang kế thừa từ cái gì, như sau:
public final class MyCustTable_Extension
{
}
Giờ đây, bạn có thể triển khai phương thức hiển thị của mình trong lớp này, giống như cách bạn đã làm trực tiếp trên bảng trong các phiên bản Dynamics trước đây - "this" thậm chí còn tham chiếu đến bảng, vì vậy bạn có thể truy cập các trường và các phương thức khác.
Ví dụ, một lớp có phương thức hiển thị đơn giản (và hoàn toàn vô dụng) chỉ trả về số tài khoản của khách hàng có thể trông như thế này:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Để thêm phương thức hiển thị vào biểu mẫu (hoặc phần mở rộng biểu mẫu, nếu bạn không thể chỉnh sửa trực tiếp biểu mẫu), bạn cần thêm trường vào biểu mẫu theo cách thủ công và đảm bảo sử dụng đúng kiểu dữ liệu (chuỗi trong ví dụ này).
Tiếp theo, trên điều khiển, bạn sẽ đặt DataSource thành CustTable (hoặc tên nguồn dữ liệu CustTable của bạn là gì đó) và DataMethod thành MyCustTable_Extension.displayAccountNum (hãy chắc chắn bao gồm tên lớp, nếu không trình biên dịch sẽ không tìm thấy phương thức).
Vậy là xong rồi :-)
Cập nhật: Hiện tại không còn cần thiết phải bao gồm tên lớp mở rộng khi thêm phương thức hiển thị vào biểu mẫu nữa, nhưng tại thời điểm xuất bản ban đầu, điều đó là cần thiết. Tôi vẫn để lại thông tin này ở đây phòng trường hợp một số độc giả vẫn đang sử dụng các phiên bản cũ hơn.
Đọc thêm
Nếu bạn thích bài viết này, bạn cũng có thể thích những gợi ý sau:
- Cập nhật giá trị chiều tài chính từ mã X++ trong Dynamics 365
- Đưa Dynamics 365 FO Virtual Machine Dev hoặc Test vào Chế độ bảo trì
- Visual Studio bị treo khi khởi động trong khi tải các dự án gần đây
